
/* VOREVIA V6.4.1 — PHONE ONLY. Loaded only at max-width 767px. */

html,body{overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
.vv-mobile-only{display:block!important}

@media(max-width:767px){

  body{font-size:14px;line-height:1.4}
  .vv-wrap{width:92vw!important;max-width:none!important}

  /* Utility bar */
  .vv-topbar{height:24px!important;min-height:24px!important}
  .vv-topbar .vv-wrap{justify-content:center!important}
  .vv-top-left{
    width:100%;text-align:center;font-size:7px!important;
    letter-spacing:.035em!important;white-space:nowrap
  }
  .vv-top-center,.vv-top-right{display:none!important}

  /* Header */
  .vv-header{height:64px!important;min-height:64px!important}
  .vv-header .vv-wrap{
    width:100%!important;height:64px!important;padding:0 14px!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) 42px!important;
    gap:8px!important;align-items:center!important
  }
  .vv-logo{min-width:0!important;overflow:visible!important}
  .vv-logo img{
    width:min(218px,calc(100vw - 78px))!important;height:auto!important;
    max-height:55px!important;object-fit:contain!important;object-position:left center!important
  }
  .vv-nav,.vv-actions{display:none!important}

  /* Mobile hamburger */
  .vv-mobile-menu-wrap{position:relative;justify-self:end}
  .vv-mobile-menu-toggle{position:absolute;opacity:0;pointer-events:none}
  .vv-mobile-menu-btn{
    width:44px;height:44px;border:1px solid #c8cdd0;background:#fff;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer
  }
  .vv-mobile-menu-btn span{display:block;width:18px;height:2px;background:#0a141b}
  .vv-mobile-panel{
    position:absolute;right:-14px;top:52px;width:min(300px,88vw);
    background:#fff;border:1px solid #d8dcde;box-shadow:0 14px 30px rgba(0,0,0,.15);
    z-index:9999;max-height:0;opacity:0;overflow:hidden;pointer-events:none;
    transition:max-height .2s ease,opacity .15s ease
  }
  .vv-mobile-menu-toggle:checked ~ .vv-mobile-panel{
    max-height:520px;opacity:1;pointer-events:auto
  }
  .vv-mobile-panel a{
    display:block;padding:13px 16px;border-bottom:1px solid #eceeef;
    color:#0b1319;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.035em
  }

  /* Home: concise hero */
  .vv-hero .vv-wrap{grid-template-columns:1fr!important;min-height:0!important}
  .vv-hero-copy{padding:22px 18px 18px!important}
  .vv-hero .vv-kicker{font-size:8px!important;letter-spacing:.14em!important;margin-bottom:7px!important}
  .vv-hero h1{font-size:28px!important;line-height:1.01!important;margin:0 0 10px!important;max-width:300px!important}
  .vv-hero-rule{width:58px!important;margin:0 0 10px!important}
  .vv-hero-copy>p{font-size:10.5px!important;line-height:1.42!important;margin:0 0 14px!important;max-width:320px!important}
  .vv-hero-buttons{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-bottom:0!important}
  .vv-btn{width:100%!important;min-height:44px!important;padding:8px!important;font-size:8px!important}
  .vv-trust{display:none!important}
  .vv-hero-image{min-height:180px!important;max-height:180px!important;background-position:center!important}

  /* Featured products */
  .vv-featured{padding-top:15px!important}
  .vv-featured-head{margin-bottom:8px!important}
  .vv-featured-head .vv-kicker{font-size:7px!important;margin-bottom:3px!important}
  .vv-featured-head h2{font-size:18px!important;margin:0!important}
  .vv-head-rule{width:42px!important;margin-top:6px!important}
  .vv-products{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important}
  .vv-product{
    display:flex!important;flex-direction:column!important;min-height:325px!important;
    padding:0 8px 12px!important;border-right:1px solid #e2e5e7!important;border-bottom:1px solid #e2e5e7!important
  }
  .vv-product:nth-child(even){border-right:0!important}
  .vv-product-image{height:138px!important;min-height:138px!important;display:flex!important;align-items:center!important;justify-content:center!important}
  .vv-product-image img{width:100%!important;height:132px!important;max-height:132px!important;object-fit:contain!important}
  .vv-product-meta{font-size:6.5px!important;line-height:1.2!important;min-height:18px!important}
  .vv-product h3{font-size:12px!important;line-height:1.15!important;min-height:31px!important;margin:4px 0!important}
  .vv-price{font-size:15px!important;margin:0 0 4px!important}
  .vv-stock{font-size:8px!important;min-height:20px!important}
  .vv-product-actions{margin-top:auto!important;grid-template-columns:1fr!important}
  .vv-product-actions>a:first-child{
    min-height:44px!important;background:#0a141b!important;color:#fff!important;
    border:1px solid #0a141b!important;font-size:8px!important
  }
  .vv-product-actions .vv-cart{display:none!important}

  /* Shop */
  .vv-commerce-nav .vv-wrap{min-height:38px!important;padding:6px 0!important}
  .vv-commerce-trail{font-size:8px!important}
  .vv-back-shop{font-size:8px!important;padding:6px 8px!important}
  .vv-shop-intro .vv-wrap{padding:15px 0 10px!important}
  .vv-shop-kicker{font-size:7px!important}
  .vv-shop-intro h1{font-size:22px!important;margin:4px 0 7px!important}
  .vv-shop-intro p{font-size:10px!important;line-height:1.4!important}
  .vv-shop-filterbar .vv-wrap{padding:8px 0!important}
  .vv-shop-filters{
    display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;
    gap:6px!important;padding:0 0 3px!important;scrollbar-width:none
  }
  .vv-shop-filters::-webkit-scrollbar{display:none}
  .vv-filter{flex:0 0 auto!important;min-height:30px!important;padding:7px 10px!important;font-size:7px!important;white-space:nowrap!important}
  .vv-shop-count{font-size:8px!important;margin-top:5px!important}

  .vv-catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important}
  .vv-catalogue-card{
    min-height:325px!important;padding:10px 8px 12px!important;
    border-right:1px solid #e0e3e5!important;border-bottom:1px solid #e0e3e5!important
  }
  .vv-catalogue-card:nth-child(even){border-right:0!important}
  .vv-catalogue-image{height:140px!important;min-height:140px!important}
  .vv-catalogue-image img{width:100%!important;height:136px!important;max-height:136px!important;object-fit:contain!important}
  .vv-catalogue-meta{font-size:6.5px!important;min-height:18px!important}
  .vv-catalogue-card h2,.vv-catalogue-card h3{font-size:12px!important;line-height:1.15!important;min-height:31px!important;margin:4px 0 6px!important}
  .vv-catalogue-price{font-size:15px!important}
  .vv-catalogue-stock{font-size:8px!important}
  .vv-catalogue-actions{grid-template-columns:1fr!important}
  .vv-catalogue-actions>a:first-child{
    min-height:36px!important;background:#0a141b!important;color:#fff!important;
    border:1px solid #0a141b!important;font-size:8px!important
  }
  .vv-catalogue-cart{display:none!important}

  /* Individual product */
  .vv-product-breadcrumb .vv-wrap{padding:7px 0 8px!important}
  .vv-product-breadcrumb .trail{font-size:7.5px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .vv-product-breadcrumb .back{font-size:8px!important;padding:6px 8px!important;margin-top:6px!important}
  .vv-product-shell{width:92vw!important;grid-template-columns:1fr!important;gap:10px!important;padding:12px 0 18px!important}
  .vv-product-visual{width:100%!important;min-height:220px!important;height:220px!important;background:#fff!important}
  .vv-product-visual img{width:100%!important;height:210px!important;max-height:210px!important;object-fit:contain!important}
  .vv-product-category{font-size:7px!important;margin-bottom:3px!important}
  .vv-product-info h1,.vv-product-summary h1{font-size:22px!important;line-height:1.05!important;margin:0 0 6px!important}
  .vv-product-price{font-size:22px!important;margin:0 0 7px!important}
  .vv-product-summary{font-size:9.5px!important;line-height:1.4!important;margin-bottom:7px!important}
  .vv-product-stock{font-size:9px!important;margin:6px 0 8px!important}
  .vv-buy-row,.vv-buy-row form.cart{display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;gap:6px!important;width:100%!important}
  .vv-buy-row .quantity,.vv-buy-row .quantity input.qty{width:72px!important}
  .vv-buy-row .quantity input.qty,.vv-buy-row .single_add_to_cart_button,.vv-buy-row button.button{height:42px!important;min-height:42px!important}
  .vv-buy-row .single_add_to_cart_button,.vv-buy-row button.button{width:100%!important;font-size:11px!important}
  .vv-product-meta{font-size:7px!important;padding:9px 0!important}
  .vv-assurance-row{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .vv-assurance-item{padding:7px 2px!important;text-align:center!important}
  .vv-assurance-item strong{font-size:6.3px!important}
  .vv-assurance-item small{display:none!important}
  .vv-product-tabs{font-size:8px!important;gap:14px!important}
  .vv-product-description{font-size:9px!important;line-height:1.45!important}

  /* QA */
  .vv-inner-nav .vv-wrap{padding:7px 0!important;gap:6px!important}
  .vv-inner-crumbs{font-size:8px!important}
  .vv-inner-actions{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:4px!important}
  .vv-nav-button{min-height:30px!important;padding:6px 5px!important;font-size:7px!important}
  .vv-qa-hero .vv-wrap{grid-template-columns:1fr!important;width:100%!important}
  .vv-qa-hero-copy{padding:20px 16px 16px!important}
  .vv-qa-hero .vv-qa-kicker{font-size:7px!important;letter-spacing:.15em!important}
  .vv-qa-hero h1{font-size:23px!important;line-height:1!important;margin-bottom:9px!important}
  .vv-qa-hero-copy p{font-size:9.5px!important;line-height:1.4!important}
  .vv-qa-hero-features{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:5px!important;margin-top:12px!important}
  .vv-qa-hero-feature{display:block!important;text-align:center!important}
  .vv-qa-hero-feature-icon{width:24px!important;height:24px!important;margin:0 auto 4px!important}
  .vv-qa-hero-feature strong{font-size:6px!important}
  .vv-qa-hero-feature small{display:none!important}
  .vv-qa-hero-visual{min-height:155px!important}
  .vv-qa-intro{padding:24px 0!important}
  .vv-qa-intro-grid,.vv-qa-docs-grid{grid-template-columns:1fr!important;gap:12px!important}
  .vv-qa-section-label{font-size:7px!important}
  .vv-qa-intro h2,.vv-qa-process h2,.vv-qa-docs h2{font-size:19px!important;line-height:1.05!important}
  .vv-qa-intro-copy{font-size:9.5px!important;line-height:1.5!important}
  .vv-qa-principles .vv-wrap{grid-template-columns:repeat(2,1fr)!important}
  .vv-qa-principle{min-height:125px!important;padding:15px 10px!important}
  .vv-qa-principle h3{font-size:8px!important}
  .vv-qa-principle p{font-size:8px!important;line-height:1.4!important}

  /* Footer */
  .vv-footer-grid{grid-template-columns:1fr 1fr!important;gap:18px 14px!important}
  .vv-footer-brand,.vv-footer-research{grid-column:1/-1!important}
  .vv-footer-col a{font-size:10px!important}
}


/* =========================================================
   V6.4.2 — MOBILE PRODUCT CARD DENSITY
   Tightens excess vertical whitespace only.
   Desktop/tablet remain untouched.
   ========================================================= */
@media(max-width:767px){

  /* Home featured cards */
  .vv-product{
    min-height:270px!important;
    padding:0 8px 10px!important;
  }
  .vv-product-image{
    height:120px!important;
    min-height:120px!important;
    margin-bottom:4px!important;
  }
  .vv-product-image img{
    height:116px!important;
    max-height:116px!important;
  }
  .vv-product-meta{
    min-height:14px!important;
    margin:0 0 2px!important;
  }
  .vv-product h3{
    min-height:27px!important;
    margin:2px 0 2px!important;
  }
  .vv-price{
    margin:0 0 2px!important;
  }
  .vv-stock{
    min-height:16px!important;
    margin:0 0 5px!important;
  }
  .vv-product-actions{
    margin-top:4px!important;
  }

  /* Shop catalogue cards */
  .vv-catalogue-card{
    min-height:268px!important;
    padding:8px 8px 10px!important;
  }
  .vv-catalogue-image{
    height:120px!important;
    min-height:120px!important;
    margin-bottom:4px!important;
  }
  .vv-catalogue-image img{
    height:116px!important;
    max-height:116px!important;
  }
  .vv-catalogue-meta{
    min-height:14px!important;
    margin:0 0 2px!important;
  }
  .vv-catalogue-card h2,
  .vv-catalogue-card h3{
    min-height:27px!important;
    margin:2px 0 4px!important;
  }
  .vv-catalogue-price{
    margin-bottom:2px!important;
  }
  .vv-catalogue-stock{
    margin-bottom:5px!important;
  }
  .vv-catalogue-actions{
    margin-top:4px!important;
  }

  /* Keep cards aligned even with longer product names */
  .vv-product,
  .vv-catalogue-card{
    justify-content:flex-start!important;
  }
}


/* =========================================================
   V6.4.3 — MOBILE ABOVE-THE-FOLD REFINEMENT
   Desktop/tablet remain untouched.
   ========================================================= */
@media(max-width:767px){

  /* Header logo/tagline: slightly smaller so tagline stays on one line */
  .vv-logo img{
    width:min(204px,calc(100vw - 78px))!important;
    max-height:52px!important;
  }

  /* Home: remove large Retatrutide banner image on mobile */
  .vv-hero-image{
    display:none!important;
  }

  /* Keep hero compact after image removal */
  .vv-hero-copy{
    padding-bottom:16px!important;
  }

  /* Shop: remove redundant secondary Home button */
  body.woocommerce-shop .vv-back-shop{
    display:none!important;
  }

  /* Shop hero/title: much smaller and more compact */
  body.woocommerce-shop .vv-shop-intro .vv-wrap{
    padding:12px 0 8px!important;
  }
  body.woocommerce-shop .vv-shop-kicker{
    font-size:6.5px!important;
    margin-bottom:2px!important;
  }
  body.woocommerce-shop .vv-shop-intro h1{
    font-size:18px!important;
    line-height:1!important;
    margin:2px 0 6px!important;
  }
  body.woocommerce-shop .vv-shop-intro-rule{
    display:none!important;
  }
  body.woocommerce-shop .vv-shop-intro p{
    font-size:9px!important;
    line-height:1.35!important;
    margin:0!important;
  }

  /* Mobile gets short description only */
  .vv-shop-copy-desktop{
    display:none!important;
  }
  .vv-shop-copy-mobile{
    display:inline!important;
  }

  /* Remove research-category buttons on All Products mobile view */
  body.woocommerce-shop .vv-shop-filterbar{
    display:none!important;
  }

  /* Bring first row of vials immediately upward */
  body.woocommerce-shop .vv-catalogue{
    padding-top:0!important;
  }
  body.woocommerce-shop .vv-catalogue .vv-wrap{
    padding-top:0!important;
  }
  body.woocommerce-shop .vv-catalogue-grid{
    margin-top:0!important;
  }

  /* Breadcrumb becomes compact single row */
  body.woocommerce-shop .vv-commerce-nav .vv-wrap{
    min-height:32px!important;
    padding:4px 0!important;
  }
  body.woocommerce-shop .vv-commerce-trail{
    font-size:7px!important;
  }
}

/* Desktop/tablet keep original full shop description */
@media(min-width:768px){
  .vv-shop-copy-mobile{display:none!important}
  .vv-shop-copy-desktop{display:inline!important}
}


/* =========================================================
   V6.4.4 — MOBILE/TABLET SPACING REFINEMENT
   Desktop remains unchanged.
   ========================================================= */

/* TABLET SHOP ONLY */
@media(min-width:768px) and (max-width:1024px){
  body.woocommerce-shop .vv-catalogue .vv-wrap{
    width:94vw!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.woocommerce-shop .vv-catalogue-grid{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:0!important;
    row-gap:0!important;
  }

  body.woocommerce-shop .vv-catalogue-card{
    min-height:410px!important;
    padding:16px 18px 18px!important;
  }

  body.woocommerce-shop .vv-catalogue-image{
    height:175px!important;
    min-height:175px!important;
    margin-bottom:6px!important;
  }

  body.woocommerce-shop .vv-catalogue-image img{
    height:168px!important;
    max-height:168px!important;
    width:100%!important;
    object-fit:contain!important;
  }

  body.woocommerce-shop .vv-catalogue-meta{
    margin-top:4px!important;
    margin-bottom:2px!important;
  }

  body.woocommerce-shop .vv-catalogue-card h2,
  body.woocommerce-shop .vv-catalogue-card h3{
    margin:3px 0 6px!important;
  }

  body.woocommerce-shop .vv-catalogue-price{
    margin-bottom:3px!important;
  }

  body.woocommerce-shop .vv-catalogue-stock{
    margin-bottom:7px!important;
  }

  body.woocommerce-shop .vv-catalogue-actions{
    margin-top:4px!important;
  }
}

/* PHONE */
@media(max-width:767px){

  /* Mobile home headline: reduce significantly */
  .vv-hero h1{
    font-size:22px!important;
    line-height:1.02!important;
    max-width:270px!important;
    letter-spacing:0!important;
  }

  .vv-hero-copy{
    padding-top:18px!important;
  }

  /* Shop margins equal left/right */
  body.woocommerce-shop .vv-catalogue .vv-wrap{
    width:92vw!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.woocommerce-shop .vv-catalogue-grid{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  /* Tighten product cards further */
  body.woocommerce-shop .vv-catalogue-card{
    min-height:236px!important;
    padding:7px 7px 9px!important;
  }

  body.woocommerce-shop .vv-catalogue-image{
    height:102px!important;
    min-height:102px!important;
    margin-bottom:2px!important;
  }

  body.woocommerce-shop .vv-catalogue-image img{
    height:98px!important;
    max-height:98px!important;
  }

  body.woocommerce-shop .vv-catalogue-meta{
    min-height:12px!important;
    margin:0 0 1px!important;
  }

  body.woocommerce-shop .vv-catalogue-card h2,
  body.woocommerce-shop .vv-catalogue-card h3{
    min-height:24px!important;
    margin:1px 0 3px!important;
  }

  body.woocommerce-shop .vv-catalogue-price{
    margin:0 0 1px!important;
  }

  body.woocommerce-shop .vv-catalogue-stock{
    margin:0 0 4px!important;
  }

  body.woocommerce-shop .vv-catalogue-actions{
    margin-top:2px!important;
  }

  /* Individual product pages: smaller image */
  .vv-product-visual{
    height:175px!important;
    min-height:175px!important;
  }

  .vv-product-visual img{
    height:165px!important;
    max-height:165px!important;
  }

  /* Remove redundant back-to-shop button under breadcrumb */
  .vv-product-breadcrumb .back{
    display:none!important;
  }

  .vv-product-breadcrumb .vv-wrap{
    padding:6px 0!important;
  }

  .vv-product-shell{
    padding-top:8px!important;
  }
}

@media(max-width:390px){
  .vv-hero h1{
    font-size:20px!important;
    max-width:245px!important;
  }

  body.woocommerce-shop .vv-catalogue-card{
    min-height:228px!important;
  }

  body.woocommerce-shop .vv-catalogue-image{
    height:96px!important;
    min-height:96px!important;
  }

  body.woocommerce-shop .vv-catalogue-image img{
    height:92px!important;
    max-height:92px!important;
  }

  .vv-product-visual{
    height:160px!important;
    min-height:160px!important;
  }

  .vv-product-visual img{
    height:150px!important;
    max-height:150px!important;
  }
}


/* =========================================================
   V6.4.5 — SHOP CARD GEOMETRY + STOCK CLEANUP
   Desktop unchanged.
   ========================================================= */

/* TABLET: shop catalogue only */
@media(min-width:768px) and (max-width:1024px){

  body.woocommerce-shop .vv-catalogue{
    padding:12px 0 22px!important;
  }

  body.woocommerce-shop .vv-catalogue .vv-wrap{
    width:96vw!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:10px!important;
    padding-right:10px!important;
    box-sizing:border-box!important;
  }

  body.woocommerce-shop .vv-catalogue-grid{
    width:100%!important;
    margin:0!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:0!important;
    row-gap:0!important;
    box-sizing:border-box!important;
  }

  body.woocommerce-shop .vv-catalogue-card{
    min-height:0!important;
    height:auto!important;
    display:grid!important;
    grid-template-rows:155px auto!important;
    padding:10px 16px 14px!important;
    align-content:start!important;
  }

  body.woocommerce-shop .vv-catalogue-image{
    height:155px!important;
    min-height:155px!important;
    max-height:155px!important;
    margin:0 0 4px!important;
  }

  body.woocommerce-shop .vv-catalogue-image img{
    width:100%!important;
    height:148px!important;
    max-width:100%!important;
    max-height:148px!important;
    object-fit:contain!important;
  }

  body.woocommerce-shop .vv-catalogue-card > div:last-child{
    align-self:start!important;
  }

  body.woocommerce-shop .vv-catalogue-meta{
    margin:0 0 2px!important;
    min-height:12px!important;
  }

  body.woocommerce-shop .vv-catalogue-card h2,
  body.woocommerce-shop .vv-catalogue-card h3{
    min-height:30px!important;
    margin:2px 0 4px!important;
  }

  body.woocommerce-shop .vv-catalogue-price{
    margin:0 0 2px!important;
  }

  body.woocommerce-shop .vv-catalogue-stock{
    margin:0 0 6px!important;
  }

  body.woocommerce-shop .vv-catalogue-actions{
    margin:2px 0 0!important;
  }

  /* Individual product: keep only the green-dot stock line */
  .vv-product-page .vv-buy-row .stock,
  .vv-product-page .vv-buy-row p.stock,
  .vv-product-page form.cart .stock{
    display:none!important;
  }
}

/* PHONE */
@media(max-width:767px){

  body.woocommerce-shop .vv-catalogue{
    padding:8px 0 16px!important;
  }

  body.woocommerce-shop .vv-catalogue .vv-wrap{
    width:94vw!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:6px!important;
    padding-right:6px!important;
    box-sizing:border-box!important;
  }

  body.woocommerce-shop .vv-catalogue-grid{
    width:100%!important;
    margin:0!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:0!important;
    row-gap:0!important;
    box-sizing:border-box!important;
  }

  body.woocommerce-shop .vv-catalogue-card{
    min-height:0!important;
    height:auto!important;
    display:grid!important;
    grid-template-rows:92px auto!important;
    padding:7px 7px 9px!important;
    align-content:start!important;
  }

  body.woocommerce-shop .vv-catalogue-image{
    height:92px!important;
    min-height:92px!important;
    max-height:92px!important;
    margin:0 0 2px!important;
  }

  body.woocommerce-shop .vv-catalogue-image img{
    width:100%!important;
    height:88px!important;
    max-width:100%!important;
    max-height:88px!important;
    object-fit:contain!important;
  }

  body.woocommerce-shop .vv-catalogue-card > div:last-child{
    align-self:start!important;
  }

  body.woocommerce-shop .vv-catalogue-meta{
    min-height:11px!important;
    margin:0 0 1px!important;
  }

  body.woocommerce-shop .vv-catalogue-card h2,
  body.woocommerce-shop .vv-catalogue-card h3{
    min-height:23px!important;
    margin:1px 0 3px!important;
  }

  body.woocommerce-shop .vv-catalogue-price{
    margin:0 0 1px!important;
  }

  body.woocommerce-shop .vv-catalogue-stock{
    margin:0 0 4px!important;
  }

  body.woocommerce-shop .vv-catalogue-actions{
    margin:1px 0 0!important;
  }

  /* Individual product: remove WooCommerce's duplicate text-only stock line */
  .vv-product-page .vv-buy-row .stock,
  .vv-product-page .vv-buy-row p.stock,
  .vv-product-page form.cart .stock{
    display:none!important;
  }
}


/* V6.4.6 responsive corrections */
body.woocommerce-shop .vv-catalogue-actions{margin-bottom:5px!important;}
body.woocommerce-shop .vv-catalogue-stock{margin-top:0!important;}

@media(min-width:768px) and (max-width:1024px){
 body.woocommerce-shop .vv-catalogue{width:100%!important;margin:0!important;padding:10px 18px 20px!important;box-sizing:border-box!important;}
 body.woocommerce-shop .vv-catalogue .vv-wrap{width:100%!important;max-width:none!important;margin:0 auto!important;padding:0!important;box-sizing:border-box!important;}
 body.woocommerce-shop .vv-catalogue-grid{width:100%!important;margin:0!important;}
 body.woocommerce-shop .vv-catalogue-card{padding-left:18px!important;padding-right:18px!important;}
 .vv-product-page form.cart{display:flex!important;flex-wrap:wrap!important;width:100%!important;max-width:100%!important;gap:8px!important;}
 .vv-product-page form.cart .quantity{flex:0 0 96px!important;width:96px!important;margin:0!important;}
 .vv-product-page form.cart .single_add_to_cart_button{flex:1 1 190px!important;width:auto!important;min-width:150px!important;max-width:100%!important;margin:0!important;}
 .vv-product-page .vv-product-stock{display:block!important;width:100%!important;margin:8px 0 0!important;clear:both!important;}
}
@media(max-width:767px){
 body.woocommerce-shop .vv-catalogue{width:100%!important;margin:0!important;padding:7px 10px 16px!important;box-sizing:border-box!important;}
 body.woocommerce-shop .vv-catalogue .vv-wrap{width:100%!important;max-width:none!important;margin:0 auto!important;padding:0!important;box-sizing:border-box!important;}
 body.woocommerce-shop .vv-catalogue-grid{width:100%!important;margin:0!important;}
 body.woocommerce-shop .vv-catalogue-card{padding-left:8px!important;padding-right:8px!important;}
 .vv-product-page .vv-wrap{width:100%!important;max-width:100%!important;margin:0 auto!important;padding-left:12px!important;padding-right:12px!important;box-sizing:border-box!important;}
 .vv-product-page form.cart{display:grid!important;grid-template-columns:88px minmax(0,1fr)!important;gap:8px!important;width:100%!important;max-width:100%!important;margin:8px 0 0!important;box-sizing:border-box!important;overflow:visible!important;}
 .vv-product-page form.cart .quantity{grid-column:1!important;width:88px!important;min-width:0!important;max-width:88px!important;margin:0!important;}
 .vv-product-page form.cart .quantity input.qty{width:100%!important;max-width:100%!important;box-sizing:border-box!important;}
 .vv-product-page form.cart .single_add_to_cart_button{grid-column:2!important;display:block!important;visibility:visible!important;opacity:1!important;position:static!important;float:none!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;padding-left:8px!important;padding-right:8px!important;white-space:normal!important;box-sizing:border-box!important;}
 .vv-product-page .vv-product-stock{display:block!important;width:100%!important;margin:8px 0 0!important;clear:both!important;}
}


/* =========================================================
   V6.4.7 — INDIVIDUAL PRODUCT PURCHASE CONTROLS
   All Products pages unchanged.
   ========================================================= */

@media(min-width:768px) and (max-width:1024px){
  .vv-product-page .vv-buy-row{
    display:block!important;
    width:100%!important;
    margin:10px 0 0!important;
  }

  .vv-product-page .vv-buy-row form.cart{
    display:grid!important;
    grid-template-columns:96px minmax(220px,1fr)!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    box-sizing:border-box!important;
  }

  .vv-product-page .vv-buy-row .quantity{
    width:96px!important;
    min-width:96px!important;
    max-width:96px!important;
    margin:0!important;
  }

  .vv-product-page .vv-buy-row .quantity input.qty{
    width:96px!important;
    min-width:96px!important;
    max-width:96px!important;
    height:50px!important;
    box-sizing:border-box!important;
  }

  .vv-product-page .vv-buy-row .single_add_to_cart_button{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:50px!important;
    margin:0!important;
    padding:0 14px!important;
    box-sizing:border-box!important;
    visibility:visible!important;
    opacity:1!important;
    position:static!important;
    float:none!important;
  }

  .vv-product-page .vv-product-stock{
    display:block!important;
    width:100%!important;
    margin:8px 0 14px!important;
    clear:both!important;
  }
}

@media(max-width:767px){
  .vv-product-page .vv-buy-row{
    display:block!important;
    width:100%!important;
    margin:8px 0 0!important;
  }

  .vv-product-page .vv-buy-row form.cart{
    display:grid!important;
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
  }

  .vv-product-page .vv-buy-row .quantity{
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
    margin:0!important;
  }

  .vv-product-page .vv-buy-row .quantity input.qty{
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
    height:42px!important;
    box-sizing:border-box!important;
  }

  .vv-product-page .vv-buy-row .single_add_to_cart_button{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:42px!important;
    margin:0!important;
    padding:0 8px!important;
    box-sizing:border-box!important;
    visibility:visible!important;
    opacity:1!important;
    position:static!important;
    float:none!important;
    white-space:nowrap!important;
    font-size:10px!important;
  }

  .vv-product-page .vv-product-stock{
    display:block!important;
    width:100%!important;
    margin:7px 0 12px!important;
    clear:both!important;
    font-size:9px!important;
  }
}


/* =========================================================
   V6.4.11 — ALL PRODUCTS TRUE CENTERED GUTTERS
   Only tablet/mobile All Products outer geometry changes.
   ========================================================= */

/* TABLET — 20px physical gutter each side of the catalogue grid */
@media(min-width:768px) and (max-width:1024px){
  body.woocommerce-shop .vv-catalogue{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:12px 0 20px!important;
    box-sizing:border-box!important;
  }

  body.woocommerce-shop .vv-catalogue > .vv-wrap{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
  }

  body.woocommerce-shop #vv-catalogue-grid{
    width:calc(100% - 40px)!important;
    max-width:calc(100% - 40px)!important;
    margin-left:20px!important;
    margin-right:20px!important;
    box-sizing:border-box!important;
  }

  body.woocommerce-shop .vv-catalogue-note{
    width:calc(100% - 40px)!important;
    max-width:calc(100% - 40px)!important;
    margin-left:20px!important;
    margin-right:20px!important;
    box-sizing:border-box!important;
  }
}

/* MOBILE — 10px physical gutter each side of the catalogue grid */
@media(max-width:767px){
  body.woocommerce-shop .vv-catalogue{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:8px 0 16px!important;
    box-sizing:border-box!important;
  }

  body.woocommerce-shop .vv-catalogue > .vv-wrap{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
  }

  body.woocommerce-shop #vv-catalogue-grid{
    width:calc(100% - 20px)!important;
    max-width:calc(100% - 20px)!important;
    margin-left:10px!important;
    margin-right:10px!important;
    box-sizing:border-box!important;
  }

  body.woocommerce-shop .vv-catalogue-note{
    width:calc(100% - 20px)!important;
    max-width:calc(100% - 20px)!important;
    margin-left:10px!important;
    margin-right:10px!important;
    box-sizing:border-box!important;
  }
}


/* =========================================================
   V6.4.13 — CATALOGUE STRUCTURE FIX
   Tablet/mobile only. Desktop untouched.
   ========================================================= */

@media(min-width:768px) and (max-width:1024px){

  body.woocommerce-shop .vv-catalogue{
    width:100%!important;
    margin:0!important;
    padding:12px 18px 20px!important;
    box-sizing:border-box!important;
  }
  body.woocommerce-shop .vv-catalogue > .vv-wrap{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
  }
  body.woocommerce-shop #vv-catalogue-grid{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    box-sizing:border-box!important;
  }

  body.woocommerce-shop .vv-catalogue-card{
    padding-left:12px!important;
    padding-right:12px!important;
    text-align:center!important;
  }

  body.woocommerce-shop .vv-catalogue-image{
    height:150px!important;
    min-height:150px!important;
    max-height:150px!important;
    margin:0 0 6px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  body.woocommerce-shop .vv-catalogue-image picture{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:142px!important;
    height:142px!important;
  }
  body.woocommerce-shop .vv-catalogue-image picture img{
    width:142px!important;
    height:142px!important;
    max-width:142px!important;
    max-height:142px!important;
    object-fit:contain!important;
    margin:0 auto!important;
  }

  /* Remove the category line squeezed between vial and product title */
  body.woocommerce-shop .vv-catalogue-meta{
    display:none!important;
  }

  /* Same inner content width for every card, including CJC/IPA */
  body.woocommerce-shop .vv-catalogue-info{
    width:250px!important;
    max-width:100%!important;
    margin:0 auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    box-sizing:border-box!important;
  }
  body.woocommerce-shop .vv-catalogue-info h2,
  body.woocommerce-shop .vv-catalogue-info h3{
    width:100%!important;
    max-width:250px!important;
    min-height:36px!important;
    margin:0 0 6px!important;
    text-align:center!important;
    line-height:1.18!important;
    overflow-wrap:anywhere!important;
  }
  body.woocommerce-shop .vv-catalogue-price,
  body.woocommerce-shop .vv-catalogue-stock{
    width:100%!important;
    text-align:center!important;
  }
  body.woocommerce-shop .vv-catalogue-actions{
    width:122px!important;
    min-width:122px!important;
    max-width:122px!important;
    margin:3px auto 5px!important;
  }
  body.woocommerce-shop .vv-catalogue-actions>a:first-child{
    width:122px!important;
    min-width:122px!important;
    max-width:122px!important;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    white-space:nowrap!important;
  }
}

@media(max-width:767px){

  body.woocommerce-shop .vv-catalogue{
    width:100%!important;
    margin:0!important;
    padding:8px 8px 16px!important;
    box-sizing:border-box!important;
  }
  body.woocommerce-shop .vv-catalogue > .vv-wrap{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
  }
  body.woocommerce-shop #vv-catalogue-grid{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    box-sizing:border-box!important;
  }

  body.woocommerce-shop .vv-catalogue-card{
    padding-left:6px!important;
    padding-right:6px!important;
    text-align:center!important;
  }

  body.woocommerce-shop .vv-catalogue-image{
    height:118px!important;
    min-height:118px!important;
    max-height:118px!important;
    margin:0 0 4px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  body.woocommerce-shop .vv-catalogue-image picture{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:112px!important;
    height:112px!important;
  }
  body.woocommerce-shop .vv-catalogue-image picture img{
    width:112px!important;
    height:112px!important;
    max-width:112px!important;
    max-height:112px!important;
    object-fit:contain!important;
    margin:0 auto!important;
  }

  body.woocommerce-shop .vv-catalogue-meta{
    display:none!important;
  }

  body.woocommerce-shop .vv-catalogue-info{
    width:150px!important;
    max-width:100%!important;
    margin:0 auto!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    box-sizing:border-box!important;
  }
  body.woocommerce-shop .vv-catalogue-info h2,
  body.woocommerce-shop .vv-catalogue-info h3{
    width:100%!important;
    max-width:150px!important;
    min-height:34px!important;
    margin:0 0 5px!important;
    text-align:center!important;
    line-height:1.14!important;
    overflow-wrap:anywhere!important;
  }
  body.woocommerce-shop .vv-catalogue-price,
  body.woocommerce-shop .vv-catalogue-stock{
    width:100%!important;
    text-align:center!important;
  }
  body.woocommerce-shop .vv-catalogue-actions{
    width:112px!important;
    min-width:112px!important;
    max-width:112px!important;
    margin:2px auto 5px!important;
  }
  body.woocommerce-shop .vv-catalogue-actions>a:first-child{
    width:112px!important;
    min-width:112px!important;
    max-width:112px!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    white-space:nowrap!important;
  }
}


/* =========================================================
   V6.4.14 — FINAL RESPONSIVE CATALOGUE GEOMETRY
   Explicit centred grid, equal gutters and clean image/title separation.
   Desktop and individual product pages are not touched.
   ========================================================= */

/* TABLET ALL PRODUCTS */
@media (min-width:768px) and (max-width:1024px){

  body.woocommerce-shop .vv-catalogue{
    width:100%!important;
    margin:0!important;
    padding:14px 0 22px!important;
    box-sizing:border-box!important;
  }

  body.woocommerce-shop .vv-catalogue > .vv-wrap{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
  }

  /* The grid itself is deliberately narrower than the page:
     7% gutter on each side, guaranteed equal. */
  body.woocommerce-shop #vv-catalogue-grid{
    width:86%!important;
    max-width:86%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:0!important;
    row-gap:0!important;
    box-sizing:border-box!important;
  }

  body.woocommerce-shop .vv-catalogue-card{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:18px 12px 20px!important;
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-rows:136px auto!important;
    justify-items:center!important;
    align-items:start!important;
    text-align:center!important;
    overflow:hidden!important;
  }

  /* Dedicated fixed image zone with a real gap before the product title */
  body.woocommerce-shop .vv-catalogue-image{
    width:136px!important;
    height:126px!important;
    min-width:136px!important;
    max-width:136px!important;
    min-height:126px!important;
    max-height:126px!important;
    margin:0 auto 10px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  body.woocommerce-shop .vv-catalogue-image picture{
    width:118px!important;
    height:118px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:0!important;
  }

  body.woocommerce-shop .vv-catalogue-image picture img{
    width:118px!important;
    height:118px!important;
    min-width:118px!important;
    max-width:118px!important;
    min-height:118px!important;
    max-height:118px!important;
    object-fit:contain!important;
    object-position:center!important;
    margin:0!important;
    padding:0!important;
  }

  body.woocommerce-shop .vv-catalogue-info{
    width:240px!important;
    max-width:92%!important;
    min-width:0!important;
    margin:0 auto!important;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    box-sizing:border-box!important;
  }

  body.woocommerce-shop .vv-catalogue-meta{
    display:none!important;
  }

  body.woocommerce-shop .vv-catalogue-info h2,
  body.woocommerce-shop .vv-catalogue-info h3{
    width:100%!important;
    min-height:48px!important;
    max-height:none!important;
    margin:0 0 8px!important;
    padding:0!important;
    font-size:14px!important;
    line-height:1.22!important;
    text-align:center!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
  }

  /* Long CJC/IPA name uses exactly the same inner width, just slightly smaller text. */
  body.woocommerce-shop .vv-catalogue-card[data-sku="VOR-CJCI-10"] h2,
  body.woocommerce-shop .vv-catalogue-card[data-sku="VOR-CJCI-10"] h3{
    font-size:12px!important;
    line-height:1.18!important;
  }

  body.woocommerce-shop .vv-catalogue-price{
    width:100%!important;
    margin:0 0 8px!important;
    font-size:18px!important;
    text-align:center!important;
  }

  body.woocommerce-shop .vv-catalogue-actions{
    width:126px!important;
    min-width:126px!important;
    max-width:126px!important;
    margin:0 auto 7px!important;
    padding:0!important;
  }

  body.woocommerce-shop .vv-catalogue-actions > a:first-child{
    width:126px!important;
    min-width:126px!important;
    max-width:126px!important;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    padding:0 5px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    white-space:nowrap!important;
    box-sizing:border-box!important;
    font-size:8px!important;
  }

  body.woocommerce-shop .vv-catalogue-stock{
    width:100%!important;
    margin:0!important;
    font-size:8px!important;
    text-align:center!important;
  }

  body.woocommerce-shop .vv-catalogue-note{
    width:86%!important;
    max-width:86%!important;
    margin:16px auto 0!important;
    box-sizing:border-box!important;
  }
}

/* MOBILE ALL PRODUCTS */
@media (max-width:767px){

  body.woocommerce-shop .vv-catalogue{
    width:100%!important;
    margin:0!important;
    padding:10px 0 18px!important;
    box-sizing:border-box!important;
  }

  body.woocommerce-shop .vv-catalogue > .vv-wrap{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
  }

  /* Equal 4% gutter each side. */
  body.woocommerce-shop #vv-catalogue-grid{
    width:92%!important;
    max-width:92%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:0!important;
    row-gap:0!important;
    box-sizing:border-box!important;
  }

  body.woocommerce-shop .vv-catalogue-card{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:14px 6px 16px!important;
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-rows:106px auto!important;
    justify-items:center!important;
    align-items:start!important;
    text-align:center!important;
    overflow:hidden!important;
  }

  body.woocommerce-shop .vv-catalogue-image{
    width:108px!important;
    height:98px!important;
    min-width:108px!important;
    max-width:108px!important;
    min-height:98px!important;
    max-height:98px!important;
    margin:0 auto 8px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  body.woocommerce-shop .vv-catalogue-image picture{
    width:92px!important;
    height:92px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:0!important;
  }

  body.woocommerce-shop .vv-catalogue-image picture img{
    width:92px!important;
    height:92px!important;
    min-width:92px!important;
    max-width:92px!important;
    min-height:92px!important;
    max-height:92px!important;
    object-fit:contain!important;
    object-position:center!important;
    margin:0!important;
    padding:0!important;
  }

  body.woocommerce-shop .vv-catalogue-info{
    width:145px!important;
    max-width:94%!important;
    min-width:0!important;
    margin:0 auto!important;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    box-sizing:border-box!important;
  }

  body.woocommerce-shop .vv-catalogue-meta{
    display:none!important;
  }

  body.woocommerce-shop .vv-catalogue-info h2,
  body.woocommerce-shop .vv-catalogue-info h3{
    width:100%!important;
    min-height:42px!important;
    margin:0 0 6px!important;
    padding:0!important;
    font-size:11px!important;
    line-height:1.18!important;
    text-align:center!important;
    overflow-wrap:anywhere!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
  }

  body.woocommerce-shop .vv-catalogue-card[data-sku="VOR-CJCI-10"] h2,
  body.woocommerce-shop .vv-catalogue-card[data-sku="VOR-CJCI-10"] h3{
    font-size:9.5px!important;
    line-height:1.15!important;
  }

  body.woocommerce-shop .vv-catalogue-price{
    width:100%!important;
    margin:0 0 6px!important;
    font-size:15px!important;
    text-align:center!important;
  }

  body.woocommerce-shop .vv-catalogue-actions{
    width:112px!important;
    min-width:112px!important;
    max-width:112px!important;
    margin:0 auto 6px!important;
    padding:0!important;
  }

  body.woocommerce-shop .vv-catalogue-actions > a:first-child{
    width:112px!important;
    min-width:112px!important;
    max-width:112px!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    padding:0 4px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    white-space:nowrap!important;
    box-sizing:border-box!important;
    font-size:7.5px!important;
  }

  body.woocommerce-shop .vv-catalogue-stock{
    width:100%!important;
    margin:0!important;
    font-size:8px!important;
    text-align:center!important;
  }

  body.woocommerce-shop .vv-catalogue-note{
    width:92%!important;
    max-width:92%!important;
    margin:14px auto 0!important;
    box-sizing:border-box!important;
  }
}


/* =========================================================
   V6.4.15 — TRUE CARD CONTENT CENTERING
   Tablet/mobile All Products only.
   ========================================================= */

@media(min-width:768px) and (max-width:1024px){

  body.woocommerce-shop .vv-catalogue-card{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    text-align:center!important;
  }

  body.woocommerce-shop .vv-catalogue-card > *{
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.woocommerce-shop .vv-catalogue-image{
    flex:0 0 126px!important;
    width:136px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.woocommerce-shop .vv-catalogue-info{
    width:240px!important;
    max-width:92%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    align-items:center!important;
    text-align:center!important;
  }

  body.woocommerce-shop .vv-catalogue-info > *{
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }

  body.woocommerce-shop .vv-catalogue-actions{
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.woocommerce-shop .vv-catalogue-stock{
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
}

@media(max-width:767px){

  body.woocommerce-shop .vv-catalogue-card{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    text-align:center!important;
  }

  body.woocommerce-shop .vv-catalogue-card > *{
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.woocommerce-shop .vv-catalogue-image{
    flex:0 0 98px!important;
    width:108px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.woocommerce-shop .vv-catalogue-info{
    width:145px!important;
    max-width:94%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    align-items:center!important;
    text-align:center!important;
  }

  body.woocommerce-shop .vv-catalogue-info > *{
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }

  body.woocommerce-shop .vv-catalogue-actions{
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.woocommerce-shop .vv-catalogue-stock{
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
}

/* V6.17.13 — visible mobile basket button + count */
@media(max-width:767px){
  .vv-header .vv-wrap{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .vv-mobile-menu-wrap{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    justify-self:end!important;
  }
  .vv-mobile-direct-cart{
    position:relative;
    width:44px;
    height:44px;
    border:1px solid #c8cdd0;
    background:#fff;
    display:flex!important;
    align-items:center;
    justify-content:center;
    color:#0a141b;
    text-decoration:none;
    flex:0 0 44px;
  }
  .vv-mobile-direct-cart-icon{font-size:18px;line-height:1}
  .vv-mobile-direct-cart-count{
    position:absolute;
    top:-7px;
    right:-7px;
    min-width:18px;
    height:18px;
    padding:0 5px;
    border-radius:9px;
    background:#071c28;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:10px;
    font-weight:700;
    line-height:18px;
  }
  .vv-mobile-added-message{
    margin-top:10px;
    padding:9px 11px;
    border:1px solid #d8dcde;
    background:#f7f8f8;
    color:#0a141b;
    font-size:12px;
    font-weight:700;
  }
}


/* =========================================================
   V6.17.22 — phone action-row override.
   mobile.css loads after style.css, so keep these as the final phone rules.
   ========================================================= */
.vv-product-actions,
.vv-catalogue-actions{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 42px !important;
  gap:6px !important;
  width:100% !important;
  align-items:stretch !important;
}
.vv-product-actions>a:first-child,
.vv-catalogue-actions>a:first-child{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-width:0 !important;
  min-height:36px !important;
  padding:0 6px !important;
  background:#0a141b !important;
  color:#fff !important;
  border:1px solid #0a141b !important;
  font-size:8px !important;
}
.vv-product-actions .vv-cart,
.vv-catalogue-actions .vv-catalogue-cart{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  position:static !important;
  align-items:center !important;
  justify-content:center !important;
  width:42px !important;
  min-width:42px !important;
  max-width:42px !important;
  min-height:36px !important;
  margin:0 !important;
  padding:0 !important;
  background:#071c28 !important;
  color:#fff !important;
  border:1px solid #071c28 !important;
  font-size:14px !important;
}
body.woocommerce-cart .vv-cart-continue-shopping{
  display:block !important;
  width:100% !important;
  margin:14px 0 10px !important;
}
body.woocommerce-cart .vv-cart-continue-shopping a{
  display:flex !important;
  width:100% !important;
  min-height:52px !important;
  padding:0 16px !important;
  align-items:center !important;
  justify-content:center !important;
  background:#071c28 !important;
  color:#fff !important;
  border:2px solid #071c28 !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.09em !important;
  text-transform:uppercase !important;
}


/* =========================================================
   V6.17.24 — PHONE SHOP / CART FOLLOW-THROUGH
   mobile.css loads after style.css, so these are the final phone rules.
   ========================================================= */
@media(max-width:767px){
  /* Keep mobile shop copy intentionally short and prevent duplicated text. */
  .vv-shop-copy-desktop{display:none !important;}
  .vv-shop-copy-mobile{display:inline !important;}

  /* Matched square artwork, uniform visual box and clean title spacing. */
  body.woocommerce-shop .vv-catalogue-image{
    width:108px !important;
    height:104px !important;
    min-width:108px !important;
    max-width:108px !important;
    min-height:104px !important;
    max-height:104px !important;
    margin:0 auto 8px !important;
  }
  body.woocommerce-shop .vv-catalogue-image picture,
  body.woocommerce-shop .vv-catalogue-image picture img{
    width:98px !important;
    height:98px !important;
    min-width:98px !important;
    max-width:98px !important;
    min-height:98px !important;
    max-height:98px !important;
    object-fit:contain !important;
    object-position:center !important;
  }
  body.woocommerce-shop .vv-catalogue-info h2,
  body.woocommerce-shop .vv-catalogue-info h3{
    height:auto !important;
    min-height:42px !important;
    max-height:none !important;
    overflow:visible !important;
    line-height:1.18 !important;
  }

  /* Active basket: buttons remain separate and use equal vertical height. */
  body.woocommerce-cart .woocommerce-cart-form td.actions > button[name="update_cart"],
  body.woocommerce-cart .woocommerce-cart-form td.actions > .button[name="update_cart"]{
    min-height:52px !important;
    height:52px !important;
  }
  body.woocommerce-cart .vv-cart-continue-shopping{
    margin-top:14px !important;
  }
  body.woocommerce-cart .vv-cart-continue-shopping a{
    min-height:52px !important;
    height:52px !important;
  }
}

/* =========================================================
   V6.17.25 — FINAL PHONE SHOP ACTIONS
   Loaded with filemtime cache-busting from functions.php.
   ========================================================= */
@media(max-width:767px){
  body.woocommerce-shop .vv-catalogue-actions,
  .vv-featured .vv-product-actions{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 42px !important;
    column-gap:10px !important;
    row-gap:0 !important;
    width:100% !important;
    align-items:stretch !important;
    background:transparent !important;
  }
  body.woocommerce-shop .vv-catalogue-actions > a:first-child,
  .vv-featured .vv-product-actions > a:first-child{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-width:0 !important;
    height:42px !important;
    min-height:42px !important;
    padding:0 4px !important;
    box-sizing:border-box !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
    font-size:8px !important;
    line-height:1 !important;
    letter-spacing:.035em !important;
  }
  body.woocommerce-shop .vv-catalogue-actions .vv-catalogue-cart,
  .vv-featured .vv-product-actions .vv-cart{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    position:static !important;
    width:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    height:42px !important;
    min-height:42px !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }
}

/* =========================================================
   V6.17.26 — MOBILE VIEW PRODUCT LABEL FIT
   Keep the proven cart action unchanged; give the text action
   a little more usable width and guarantee centred full label.
   ========================================================= */
@media(max-width:767px){
  body.woocommerce-shop .vv-catalogue-actions,
  .vv-featured .vv-product-actions{
    grid-template-columns:minmax(0,1fr) 38px !important;
    column-gap:6px !important;
  }
  body.woocommerce-shop .vv-catalogue-actions > a:first-child,
  .vv-featured .vv-product-actions > a:first-child{
    min-width:0 !important;
    padding:0 1px !important;
    overflow:hidden !important;
    white-space:nowrap !important;
    text-align:center !important;
    font-size:7.5px !important;
    line-height:1 !important;
    letter-spacing:0 !important;
  }
  body.woocommerce-shop .vv-catalogue-actions .vv-catalogue-cart,
  .vv-featured .vv-product-actions .vv-cart{
    width:38px !important;
    min-width:38px !important;
    max-width:38px !important;
  }
}

/* V6.17.29 — persistent mobile account/login access */
@media(max-width:767px){
  .vv-mobile-direct-account{
    width:44px;
    height:44px;
    border:1px solid #c8cdd0;
    background:#fff;
    display:flex!important;
    align-items:center;
    justify-content:center;
    color:#0a141b;
    text-decoration:none;
    flex:0 0 44px;
    font-size:20px;
    line-height:1;
  }
  .vv-mobile-direct-account:hover,
  .vv-mobile-direct-account:focus-visible{
    background:#f3f5f6;
  }
}

/* V6.17.48 — common mobile hero headline scale */
@media(max-width:767px){
  .vv-hero h1,.vv-page-hero h1{font-size:27px!important;line-height:1.01!important;letter-spacing:0!important}
  .vv-hero h1{max-width:320px!important}
}
@media(max-width:390px){
  .vv-hero h1,.vv-page-hero h1{font-size:26px!important}
}


/* V6.18.3 — accessibility touch targets; dimensions only, no design restyle. */
@media(max-width:767px){
  .vv-mobile-menu-btn,
  .vv-mobile-direct-account,
  .vv-mobile-direct-cart{min-width:44px!important;min-height:44px!important;}
  .vv-hero-buttons .vv-btn,
  .vv-product-actions>a:first-child,
  .vv-catalogue-actions>a:first-child,
  .vv-product-actions .vv-cart,
  .vv-catalogue-actions .vv-catalogue-cart,
  .vv-filter,
  .vv-back-shop{min-height:44px!important;}
  .vv-product-actions .vv-cart,
  .vv-catalogue-actions .vv-catalogue-cart{width:44px!important;min-width:44px!important;max-width:44px!important;}
}

/* =========================================================
   V6.18.4 — MOBILE UX CORRECTION
   Restores the homepage hero artwork on portrait phones and
   enlarges/separates high-value touch targets without altering
   desktop layout or the established two-column product grid.
   ========================================================= */
@media(max-width:767px){
  /* Homepage hero artwork: previous mobile build deliberately hid it.
     Restore the full approved artwork at its native aspect ratio so
     the vial is never cropped or distorted on portrait phones. */
  .vv-hero .vv-wrap{
    width:92vw!important;
    max-width:none!important;
  }
  .vv-hero-image{
    display:block!important;
    width:100vw!important;
    max-width:none!important;
    aspect-ratio:806 / 385!important;
    min-height:0!important;
    max-height:none!important;
    height:auto!important;
    margin-left:-4vw!important;
    margin-right:-4vw!important;
    background-image:url('../images/v613-hero.webp')!important;
    background-size:100% auto!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    background-color:#020405!important;
  }

  /* Primary hero actions: materially larger hit areas and more separation. */
  .vv-hero-buttons{
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin-bottom:0!important;
  }
  .vv-hero-buttons .vv-btn{
    min-height:52px!important;
    padding:10px 14px!important;
    font-size:9px!important;
    line-height:1.2!important;
    letter-spacing:.035em!important;
  }

  /* Header controls: 48px touch targets with clear separation. */
  .vv-mobile-menu-wrap{gap:10px!important;}
  .vv-mobile-menu-btn,
  .vv-mobile-direct-account,
  .vv-mobile-direct-cart{
    width:48px!important;
    min-width:48px!important;
    max-width:48px!important;
    height:48px!important;
    min-height:48px!important;
    flex-basis:48px!important;
  }
  .vv-mobile-panel a{min-height:48px!important;display:flex!important;align-items:center!important;}

  /* Featured/Shop purchase actions: larger targets with a deliberate gap.
     Keep both actions visible so View Product and Add to Basket remain
     separate, obvious choices. */
  body.woocommerce-shop .vv-catalogue-actions,
  .vv-featured .vv-product-actions{
    grid-template-columns:minmax(0,1fr) 50px!important;
    column-gap:10px!important;
    row-gap:0!important;
  }
  body.woocommerce-shop .vv-catalogue-actions > a:first-child,
  .vv-featured .vv-product-actions > a:first-child{
    height:50px!important;
    min-height:50px!important;
    padding:0 5px!important;
    font-size:8.5px!important;
    line-height:1.1!important;
    letter-spacing:.01em!important;
  }
  body.woocommerce-shop .vv-catalogue-actions .vv-catalogue-cart,
  .vv-featured .vv-product-actions .vv-cart{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    width:50px!important;
    min-width:50px!important;
    max-width:50px!important;
    height:50px!important;
    min-height:50px!important;
    font-size:17px!important;
  }

  /* Filter controls should also be comfortably tappable. */
  .vv-filter,.vv-back-shop{min-height:46px!important;}
}

@media(max-width:430px){
  /* Preserve logo breathing room after enlarging the three header controls. */
  .vv-logo img{
    width:min(190px,calc(100vw - 190px))!important;
    max-height:50px!important;
  }
}

/* =========================================================
   V6.18.5 — MOBILE CONVERSION UX
   Portrait: stack View Product and Add to Basket as two full-width
   controls. Product detail: persistent Return to Shop CTA.
   ========================================================= */
.vv-cart-label{display:none;}

@media(max-width:767px) and (orientation:portrait){
  body.woocommerce-shop .vv-catalogue-actions,
  .vv-featured .vv-product-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
  }
  body.woocommerce-shop .vv-catalogue-actions > a:first-child,
  .vv-featured .vv-product-actions > a:first-child,
  body.woocommerce-shop .vv-catalogue-actions .vv-catalogue-cart,
  .vv-featured .vv-product-actions .vv-cart{
    width:100%!important;
    min-width:100%!important;
    max-width:none!important;
    height:52px!important;
    min-height:52px!important;
    padding:0 12px!important;
    font-size:10px!important;
    font-weight:800!important;
    letter-spacing:.045em!important;
  }
  body.woocommerce-shop .vv-catalogue-actions .vv-catalogue-cart,
  .vv-featured .vv-product-actions .vv-cart{
    gap:8px!important;
  }
  .vv-cart-label{display:inline!important;}
  .vv-cart-icon{font-size:16px!important;line-height:1!important;}
}

.vv-product-return-shop{
  margin:18px 0 4px;
}
.vv-product-return-shop a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 22px;
  border:1px solid #071c28;
  background:#fff;
  color:#071c28!important;
  text-decoration:none!important;
  font-size:11px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.vv-product-return-shop a:hover,
.vv-product-return-shop a:focus-visible{
  background:#071c28;
  color:#fff!important;
}
@media(max-width:767px){
  .vv-product-return-shop{margin:16px 0 8px!important;}
  .vv-product-return-shop a{
    width:100%!important;
    min-height:52px!important;
    background:#fff!important;
    color:#071c28!important;
    border:2px solid #071c28!important;
  }
}

/* =========================================================
   V6.18.6 — FINAL MOBILE / LANDSCAPE UX ALIGNMENT
   - Shop portrait actions match Featured Products full-card CTAs.
   - Short-landscape hero artwork stretches to the same bottom edge as copy.
   - Short-landscape product actions use equal-width controls.
   ========================================================= */
@media(max-width:767px) and (orientation:portrait){
  body.woocommerce-shop .vv-catalogue-actions{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  body.woocommerce-shop .vv-catalogue-actions > a:first-child,
  body.woocommerce-shop .vv-catalogue-actions .vv-catalogue-cart{
    width:100%!important;
    min-width:100%!important;
    max-width:none!important;
    height:52px!important;
    min-height:52px!important;
  }
}

@media (orientation:landscape) and (max-height:520px) and (min-width:768px) and (max-width:1180px){
  .vv-hero .vv-wrap{
    align-items:stretch!important;
  }
  .vv-hero-image{
    height:auto!important;
    min-height:0!important;
    align-self:stretch!important;
    background-size:cover!important;
    background-position:center center!important;
  }

  .vv-featured .vv-product-actions,
  body.woocommerce-shop .vv-catalogue-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    width:100%!important;
  }
  .vv-featured .vv-product-actions > a:first-child,
  body.woocommerce-shop .vv-catalogue-actions > a:first-child,
  .vv-featured .vv-product-actions .vv-cart,
  body.woocommerce-shop .vv-catalogue-actions .vv-catalogue-cart{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:48px!important;
    min-height:48px!important;
    padding:0 12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .vv-featured .vv-product-actions .vv-cart,
  body.woocommerce-shop .vv-catalogue-actions .vv-catalogue-cart{
    gap:8px!important;
  }
  .vv-cart-label{display:inline!important;}
}


/* V6.18.61 — ensure homepage research topic navigation remains visible on mobile */
.vv-research-link-network{display:block!important;visibility:visible!important;opacity:1!important;}
.vv-research-link-network .vv-wrap{display:block!important;}
.vv-research-network-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
.vv-research-network-links a{display:flex!important;width:100%!important;min-height:46px!important;align-items:center!important;justify-content:space-between!important;white-space:normal!important;}
@media(max-width:430px){.vv-research-network-links{grid-template-columns:1fr!important;}}


/* V6.18.62 standalone research topic navigation */
.vv-research-link-network-standalone{display:block!important;visibility:visible!important;opacity:1!important;}
.vv-research-link-network-standalone .vv-wrap{display:block!important;}
.vv-research-link-network-standalone .vv-research-network-links{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
.vv-research-link-network-standalone .vv-research-network-links a{display:flex!important;width:100%!important;min-height:46px!important;}


/* V6.18.63 — portrait consistency for Research Topics */
@media (max-width:767px) and (orientation:portrait){
  .vv-research-link-network-standalone .vv-research-network-links,
  .vv-research-network-links,
  .vv-hub-topic-grid{grid-template-columns:1fr!important;}
  .vv-research-network-links a{grid-column:auto!important;}
  .vv-hub-topic-card{grid-column:auto!important;width:100%!important;}
}
