:root{--vsf-green:#25a818;--vsf-green-dark:#14760c;--vsf-ink:#111111;--vsf-muted:#666;--vsf-soft:#f5f5f2;--vsf-line:#deded8;--vsf-white:#fff;--vsf-radius:4px;--vsf-max:1480px;--vsf-content:1280px;--vsf-shadow:0 18px 45px rgba(0,0,0,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--vsf-ink);background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}body.vsf-drawer-open{overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.vsf-container{width:min(calc(100% - 48px),var(--vsf-content));margin:auto}.vsf-container-wide{width:min(calc(100% - 48px),var(--vsf-max));margin:auto}.vsf-content-narrow{max-width:900px;padding:72px 0}.vsf-eyebrow{margin:0 0 12px;color:var(--vsf-green);font-weight:800;letter-spacing:.13em;font-size:11px;text-transform:uppercase}.vsf-text-link{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:4px}.vsf-text-link:hover{color:var(--vsf-green)}

/* Header */
.vsf-announcement{min-height:34px;background:#111;color:#fff;display:flex;align-items:center;justify-content:center;gap:42px;padding:8px 20px;font-size:10px;letter-spacing:.12em;font-weight:750;text-transform:uppercase}.site-header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--vsf-line)}.vsf-header-main{min-height:78px;display:grid;grid-template-columns:220px minmax(300px,1fr) auto;gap:36px;align-items:center}.site-branding img{max-height:52px;width:auto}.site-title{font-weight:900;font-size:20px}.vsf-desktop-search form{display:flex;width:min(100%,640px);margin:auto}.vsf-desktop-search input[type=search]{width:100%;height:44px;border:1px solid #cfcfc9;border-right:0;border-radius:2px 0 0 2px;padding:0 16px;background:#fafaf8;font-size:13px}.vsf-desktop-search button{height:44px;border:1px solid var(--vsf-ink);border-radius:0 2px 2px 0;background:var(--vsf-ink);color:#fff;padding:0 20px;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800}.vsf-header-actions{display:flex;gap:20px;align-items:center}.vsf-header-actions a,.vsf-header-actions button{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;background:none;border:0;padding:0;cursor:pointer}.vsf-search-toggle{display:none}.vsf-cart-toggle{display:flex!important;gap:7px;align-items:center}.vsf-cart-count{display:inline-grid;place-items:center;background:var(--vsf-green);color:#fff;border-radius:50%;min-width:21px;height:21px;padding:0 5px;font-size:10px}.vsf-nav-row{min-height:46px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #efefeb}.primary-navigation ul{list-style:none;margin:0;padding:0;display:flex;gap:31px;align-items:center}.primary-navigation a,.vsf-nav-account{font-size:11px;text-transform:uppercase;letter-spacing:.095em;font-weight:800}.primary-navigation a:hover,.vsf-nav-account:hover{color:var(--vsf-green)}.vsf-nav-account{border-bottom:1px solid currentColor}.vsf-menu-toggle{display:none;border:0;background:transparent;padding:5px;gap:4px;flex-direction:column}.vsf-menu-toggle span{display:block;width:22px;height:1.5px;background:var(--vsf-ink)}.vsf-search-panel{background:#fff;border-top:1px solid var(--vsf-line);padding:16px 0}.vsf-search-panel form{display:flex}.vsf-search-panel input{flex:1;border:1px solid var(--vsf-line);padding:13px}.vsf-search-panel button{border:0;background:#111;color:#fff;padding:0 22px}

/* Drawers */
.vsf-drawer-backdrop,.vsf-filter-backdrop{position:fixed;z-index:80;inset:0;background:rgba(0,0,0,.38);backdrop-filter:blur(2px)}.vsf-cart-drawer,.vsf-filter-drawer{position:fixed;z-index:90;top:0;right:0;width:min(440px,92vw);height:100dvh;background:#fff;transform:translateX(102%);transition:transform .25s ease;box-shadow:-20px 0 45px rgba(0,0,0,.14);display:flex;flex-direction:column}.vsf-cart-drawer.is-open,.vsf-filter-drawer.is-open{transform:none}.vsf-cart-drawer__header,.vsf-filter-drawer__head{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--vsf-line);font-size:18px}.vsf-cart-close,.vsf-filter-close{border:0;background:none;font-size:30px;font-weight:300;cursor:pointer}.vsf-cart-drawer__body,.vsf-filter-drawer__body{padding:22px;overflow:auto}.vsf-cart-drawer .woocommerce-mini-cart{list-style:none;margin:0;padding:0}.vsf-cart-drawer .mini_cart_item{position:relative;display:grid;grid-template-columns:82px 1fr;gap:14px;padding:16px 0!important;border-bottom:1px solid var(--vsf-line)}.vsf-cart-drawer .mini_cart_item img{width:82px!important;height:96px!important;object-fit:cover;float:none!important;margin:0!important}.vsf-cart-drawer .remove{position:absolute!important;right:0!important;top:14px!important;color:#555!important}.vsf-cart-drawer .woocommerce-mini-cart__total{display:flex;justify-content:space-between;border-top:1px solid #111;padding-top:20px}.vsf-cart-drawer .woocommerce-mini-cart__buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.vsf-cart-drawer .woocommerce-mini-cart__buttons .button{text-align:center;margin:0!important}

/* Buttons */
.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{border:1px solid var(--vsf-ink)!important;background:var(--vsf-ink)!important;color:#fff!important;border-radius:2px!important;padding:14px 20px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.075em!important;font-size:10px!important;line-height:1.25!important;transition:.15s ease}.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:#2a2a2a!important}.button.alt,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background:var(--vsf-green)!important;border-color:var(--vsf-green)!important}.button.alt:hover{background:var(--vsf-green-dark)!important;border-color:var(--vsf-green-dark)!important}

/* Home */
.vsf-commerce-hero{position:relative;min-height:690px;background:#f1f1ed;display:flex;align-items:end;overflow:hidden}.vsf-commerce-hero__media{position:absolute;inset:0}.vsf-commerce-hero__media img{width:100%;height:100%;object-fit:cover}.vsf-commerce-hero__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.74) 0%,rgba(0,0,0,.38) 44%,rgba(0,0,0,.05) 75%)}.vsf-commerce-hero__content{position:relative;z-index:2;color:#fff;padding-bottom:76px}.vsf-commerce-hero__content .vsf-eyebrow{color:#fff}.vsf-commerce-hero h1{font-size:clamp(48px,6vw,92px);line-height:.94;letter-spacing:-.052em;max-width:920px;margin:0 0 26px;font-weight:800}.vsf-commerce-hero__lede{max-width:610px;font-size:19px;margin:0;color:rgba(255,255,255,.88)}.vsf-actions{display:flex;gap:20px;flex-wrap:wrap;align-items:center;margin-top:32px}.vsf-hero-product-link{color:#fff;border-bottom:1px solid #fff;padding-bottom:4px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.vsf-benefit-strip{border-bottom:1px solid var(--vsf-line);background:#fff}.vsf-benefit-strip>div{display:grid;grid-template-columns:repeat(4,1fr)}.vsf-benefit-strip span{padding:18px 22px;text-align:center;border-right:1px solid var(--vsf-line);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.vsf-benefit-strip span:last-child{border-right:0}.vsf-section{padding:96px 0}.vsf-section--compact{padding:72px 0}.vsf-section-heading{margin-bottom:34px}.vsf-section-heading h2,.vsf-footer-newsletter h2{font-size:clamp(34px,4vw,56px);line-height:1;letter-spacing:-.042em;margin:0}.vsf-heading-row{display:flex;justify-content:space-between;align-items:end;gap:32px}.vsf-category-editorial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.vsf-editorial-cat{position:relative;min-height:460px;background:#eee;overflow:hidden}.vsf-editorial-cat img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.vsf-editorial-cat:hover img{transform:scale(1.018)}.vsf-editorial-cat:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.7))}.vsf-editorial-cat span{position:absolute;z-index:2;left:24px;right:24px;bottom:24px;color:#fff}.vsf-editorial-cat small,.vsf-editorial-cat em{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-style:normal}.vsf-editorial-cat strong{display:block;font-size:31px;line-height:1;margin:5px 0 8px}.vsf-feature-band{display:grid;grid-template-columns:42% 58%;min-height:650px;background:#111;color:#fff}.vsf-feature-band__copy{padding:90px max(40px,calc((100vw - var(--vsf-max))/2 + 24px));display:flex;flex-direction:column;justify-content:center}.vsf-feature-band__copy h2{font-size:clamp(42px,5vw,72px);line-height:.96;letter-spacing:-.05em;margin:0 0 22px}.vsf-feature-band__copy p:not(.vsf-eyebrow){color:#c8c8c4;max-width:520px;font-size:17px}.vsf-feature-band__copy .button{align-self:flex-start;margin-top:18px;background:#fff!important;border-color:#fff!important;color:#111!important}.vsf-feature-band__media img{width:100%;height:100%;object-fit:cover}.vsf-delivery-section{background:#f2f2ee}.vsf-delivery-intro{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;border-bottom:1px solid #cfcfc8;padding-bottom:48px}.vsf-delivery-intro h2{font-size:clamp(40px,5vw,68px);line-height:.95;letter-spacing:-.045em;margin:0}.vsf-delivery-intro>p:last-child{font-size:17px;color:#585858;max-width:620px}.vsf-delivery-grid{display:grid;grid-template-columns:repeat(3,1fr)}.vsf-delivery-grid>div{padding:32px 32px 0 0;border-right:1px solid #cfcfc8}.vsf-delivery-grid>div+div{padding-left:32px}.vsf-delivery-grid>div:last-child{border-right:0}.vsf-delivery-grid b{color:var(--vsf-green);font-size:11px}.vsf-delivery-grid h3{font-size:23px;margin:34px 0 8px}.vsf-delivery-grid p{color:#666;margin:0;max-width:340px}

/* Shop archive */
.vsf-shop-main{padding:40px 0 96px}.woocommerce-breadcrumb{font-size:11px;color:#777;margin-bottom:25px!important;text-transform:uppercase;letter-spacing:.06em}.vsf-breadcrumb-sep{padding:0 8px}.woocommerce-products-header__title.page-title{font-size:clamp(44px,5.3vw,74px);letter-spacing:-.052em;line-height:.96;margin:0 0 16px}.term-description{max-width:800px;color:var(--vsf-muted);font-size:16px}.vsf-category-pills{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0 18px}.vsf-category-pills a{border:1px solid var(--vsf-line);border-radius:2px;padding:10px 13px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;background:#fff}.vsf-category-pills a:hover{background:#111;color:#fff;border-color:#111}.vsf-shop-utility{margin:10px 0 22px;padding:14px 0;border-top:1px solid var(--vsf-line);border-bottom:1px solid var(--vsf-line);display:flex;align-items:center;justify-content:space-between}.vsf-shop-utility>div{display:flex;gap:10px;align-items:center}.vsf-shop-utility span{font-size:12px;color:#777}.vsf-filter-toggle{border:1px solid #111;background:#fff;border-radius:2px;padding:9px 13px;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.07em;cursor:pointer}.woocommerce .woocommerce-result-count{font-size:12px;color:var(--vsf-muted);margin-top:12px}.woocommerce .woocommerce-ordering select{border:1px solid var(--vsf-line);border-radius:2px;padding:10px 36px 10px 12px;background:#fff;font-size:12px}.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:44px 12px;margin:32px 0 0!important}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}.woocommerce ul.products li.product{float:none!important;width:auto!important;margin:0!important;position:relative}.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:block}.woocommerce ul.products li.product a img{margin:0 0 15px!important;width:100%;aspect-ratio:.88;object-fit:cover;background:#f4f4f1;border-radius:0}.vsf-card-category{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:#777;margin:0 0 4px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:15px!important;line-height:1.3;padding:0!important;margin:0 0 5px!important;font-weight:650}.woocommerce ul.products li.product .price{color:var(--vsf-ink)!important;font-size:14px!important;font-weight:800!important;margin:0!important}.woocommerce ul.products li.product .button{margin-top:12px!important;width:100%;text-align:center;background:#fff!important;color:#111!important;border-color:#111!important}.woocommerce ul.products li.product .button:hover{background:#111!important;color:#fff!important}.vsf-product-temp{position:absolute;z-index:2;top:10px;left:10px;background:#fff;border-radius:1px;padding:6px 8px;font-size:8px;text-transform:uppercase;letter-spacing:.1em;font-weight:850}.onsale{background:var(--vsf-green)!important;border-radius:1px!important;min-height:auto!important;line-height:1!important;padding:7px 8px!important;font-size:9px!important;text-transform:uppercase;letter-spacing:.07em;right:10px!important;top:10px!important;left:auto!important;margin:0!important}

/* Product detail */
.single-product .vsf-shop-main>.vsf-container{width:min(calc(100% - 48px),var(--vsf-max))}.single-product div.product{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(380px,.75fr);gap:64px;padding-top:4px;align-items:start}.single-product div.product .woocommerce-product-gallery{width:auto!important;float:none!important;margin:0!important}.woocommerce div.product div.images .woocommerce-product-gallery__wrapper{display:grid;grid-template-columns:1fr 1fr;gap:8px}.woocommerce div.product div.images .woocommerce-product-gallery__image:first-child{grid-column:1/-1}.woocommerce div.product div.images .woocommerce-product-gallery__image img{width:100%;aspect-ratio:.93;object-fit:cover;background:#f4f4f1}.woocommerce div.product div.images .woocommerce-product-gallery__image:first-child img{aspect-ratio:1.08}.single-product div.product .summary{width:auto!important;float:none!important;margin:0!important;padding:16px 0;position:sticky;top:176px}.single-product .product_title{font-size:clamp(38px,4.3vw,62px);line-height:.98;letter-spacing:-.048em;margin:0 0 18px}.single-product .summary .price{font-size:23px!important;color:#111!important;font-weight:800;margin:0 0 18px!important}.single-product .woocommerce-product-details__short-description{font-size:16px;color:#555;margin:22px 0}.single-product form.cart{padding:20px 0 22px;border-top:1px solid var(--vsf-line);border-bottom:1px solid var(--vsf-line)}.woocommerce div.product form.cart div.quantity{margin-right:8px!important}.woocommerce .quantity .qty{height:46px;border:1px solid var(--vsf-line);border-radius:2px;width:72px}.single-product .single_add_to_cart_button{height:46px;padding-left:30px!important;padding-right:30px!important}.single-product .product_meta{font-size:11px;color:#777;line-height:1.8;text-transform:uppercase;letter-spacing:.05em}.vsf-product-assurance{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:20px 0 0;border:1px solid var(--vsf-line)}.vsf-product-assurance span{padding:12px 8px;text-align:center;font-size:9px;text-transform:uppercase;letter-spacing:.06em;border-right:1px solid var(--vsf-line);font-weight:800}.vsf-product-assurance span:last-child{border-right:0}.vsf-pdp-facts{margin-top:18px;border-top:1px solid var(--vsf-line)}.vsf-pdp-facts>div{display:grid;grid-template-columns:120px 1fr;gap:20px;padding:13px 0;border-bottom:1px solid var(--vsf-line)}.vsf-pdp-facts span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#777}.vsf-pdp-facts strong{font-size:12px;font-weight:700}.woocommerce div.product .woocommerce-tabs{grid-column:1/-1;margin-top:55px;padding-top:20px;border-top:1px solid var(--vsf-line)}.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0!important;margin:0 0 24px!important;border-bottom:1px solid var(--vsf-line)}.woocommerce div.product .woocommerce-tabs ul.tabs:before{display:none!important}.woocommerce div.product .woocommerce-tabs ul.tabs li{border:0!important;background:none!important;border-radius:0!important;margin:0 28px 0 0!important;padding:0!important}.woocommerce div.product .woocommerce-tabs ul.tabs li:before,.woocommerce div.product .woocommerce-tabs ul.tabs li:after{display:none!important}.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:15px 0!important;font-size:10px;text-transform:uppercase;letter-spacing:.09em}.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{border-bottom:2px solid #111}.woocommerce div.product .woocommerce-tabs .panel{max-width:960px;padding:6px 0 36px;font-size:15px}.vsf-pdp-story{grid-column:1/-1;display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;padding:80px 0;border-top:1px solid var(--vsf-line);border-bottom:1px solid var(--vsf-line);margin-top:20px}.vsf-pdp-story__lead h2{font-size:clamp(38px,4.5vw,64px);line-height:.98;letter-spacing:-.045em;margin:0 0 22px}.vsf-pdp-story__text{font-size:17px;color:#555}.vsf-pdp-story__facts{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--vsf-line)}.vsf-pdp-story__facts>div{padding:18px 24px;border-right:1px solid var(--vsf-line)}.vsf-pdp-story__facts span{display:block;color:var(--vsf-green);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.vsf-pdp-story__facts strong{display:block;font-size:19px;line-height:1.15;margin:24px 0 12px}.vsf-pdp-story__facts p{font-size:13px;color:#666}.related.products{grid-column:1/-1;margin-top:72px}.related.products>h2{font-size:40px;letter-spacing:-.035em;margin-bottom:28px}

/* Cart / checkout / account */
.woocommerce-cart .vsf-shop-main,.woocommerce-checkout .vsf-shop-main,.woocommerce-account .vsf-shop-main{padding-top:52px}.woocommerce table.shop_table{border:1px solid var(--vsf-line)!important;border-radius:0!important;overflow:hidden;border-collapse:separate!important}.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:17px!important}.woocommerce-cart table.cart img{width:90px!important;border-radius:0}.woocommerce-cart .cart-collaterals .cart_totals{float:none!important;width:100%!important;max-width:540px;margin-left:auto;background:#f5f5f2;border:1px solid var(--vsf-line);border-radius:0;padding:26px}.woocommerce-checkout #customer_details{display:grid;grid-template-columns:1fr 1fr;gap:32px}.woocommerce-checkout #customer_details>div{width:auto!important;float:none!important}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container--default .select2-selection--single{border:1px solid #cfcfc9;border-radius:2px;padding:12px;background:#fff;min-height:46px}.woocommerce-checkout-review-order{background:#f5f5f2;border:1px solid var(--vsf-line);border-radius:0;padding:22px;margin-top:20px}.woocommerce-message,.woocommerce-info,.woocommerce-error{border:1px solid var(--vsf-line)!important;border-top:2px solid var(--vsf-green)!important;background:#fff!important;border-radius:0;padding:16px 18px 16px 50px!important}.woocommerce-account .woocommerce{display:grid;grid-template-columns:260px 1fr;gap:38px}.woocommerce-account .woocommerce-MyAccount-navigation{float:none!important;width:auto!important}.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border:1px solid var(--vsf-line)}.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:13px 15px;border-bottom:1px solid var(--vsf-line);font-size:12px;font-weight:700}.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:#111;color:#fff}.woocommerce-account .woocommerce-MyAccount-content{float:none!important;width:auto!important;min-width:0}.vsf-account-intro{background:#111;color:#fff;border-radius:0;padding:30px;margin-bottom:22px}.vsf-account-grid,.vsf-reorder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.vsf-account-card,.vsf-reorder-card{border:1px solid var(--vsf-line);border-radius:0;padding:18px;background:#fff}.vsf-reorder-card img{border-radius:0}

/* Footer */
.site-footer{background:#111;color:#fff;padding:0 0 20px}.vsf-footer-newsletter{display:grid;grid-template-columns:1fr .8fr;gap:50px;align-items:end;padding-top:62px;padding-bottom:62px;border-bottom:1px solid #343434}.vsf-footer-newsletter h2{max-width:760px}.vsf-newsletter-placeholder{display:flex}.vsf-newsletter-placeholder input{flex:1;min-width:0;height:48px;border:1px solid #666;background:transparent;color:#fff;padding:0 14px}.vsf-newsletter-placeholder button{height:48px;border:1px solid #fff;background:#fff;color:#111;padding:0 22px;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.07em}.vsf-footer-grid{display:grid;grid-template-columns:1.2fr .75fr .9fr 1fr;gap:42px;padding:48px 0}.vsf-footer-grid p,.vsf-footer-grid li{color:#b8b8b2;font-size:13px}.vsf-footer-grid ul{list-style:none;margin:10px 0 0;padding:0}.vsf-footer-grid li{margin:8px 0}.vsf-footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #343434;padding-top:18px;color:#888;font-size:11px}

.vsf-mobile-buybar{display:none}

@media(max-width:1100px){.vsf-header-main{grid-template-columns:180px 1fr auto;gap:18px}.vsf-commerce-hero{min-height:610px}.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}.single-product div.product{grid-template-columns:minmax(0,1fr) minmax(330px,.7fr);gap:32px}.single-product div.product .summary{top:165px}.vsf-pdp-story{grid-template-columns:1fr}.vsf-pdp-story__facts{border-left:0}.vsf-footer-grid{grid-template-columns:1.2fr 1fr 1fr}}

@media(max-width:860px){.vsf-announcement{gap:18px}.vsf-announcement span:nth-child(2){display:none}.vsf-header-main{grid-template-columns:auto 1fr auto;min-height:70px}.vsf-menu-toggle{display:flex}.site-branding{justify-self:center}.vsf-desktop-search{display:none}.vsf-search-toggle{display:inline-block}.vsf-nav-row{min-height:0;border:0}.primary-navigation{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid var(--vsf-line);padding:18px 24px;box-shadow:var(--vsf-shadow)}.primary-navigation.is-open{display:block}.primary-navigation ul{display:block}.primary-navigation li{border-bottom:1px solid var(--vsf-line)}.primary-navigation a{display:block;padding:14px 4px}.vsf-nav-account{display:none}.vsf-commerce-hero{min-height:560px}.vsf-commerce-hero__overlay{background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.2))}.vsf-category-editorial-grid{grid-template-columns:repeat(2,1fr)}.vsf-feature-band{grid-template-columns:1fr}.vsf-feature-band__copy{padding:70px 32px}.vsf-feature-band__media{min-height:440px}.vsf-delivery-intro{grid-template-columns:1fr;gap:18px}.vsf-footer-newsletter{grid-template-columns:1fr}.single-product div.product{display:block}.single-product div.product .summary{position:static;padding-top:28px}.woocommerce div.product div.images .woocommerce-product-gallery__wrapper{grid-template-columns:1fr 1fr}.vsf-pdp-story__facts{grid-template-columns:1fr}.vsf-pdp-story__facts>div{border-right:0;border-bottom:1px solid var(--vsf-line)}.woocommerce-account .woocommerce{grid-template-columns:1fr}.woocommerce-account .woocommerce-MyAccount-navigation ul{display:flex;overflow:auto;white-space:nowrap}.woocommerce-account .woocommerce-MyAccount-navigation li a{border-right:1px solid var(--vsf-line)}.vsf-footer-grid{grid-template-columns:1fr 1fr}}

@media(max-width:640px){.vsf-container,.vsf-container-wide{width:min(calc(100% - 28px),var(--vsf-max))}.vsf-announcement{justify-content:space-between;font-size:8px;min-height:30px}.vsf-header-main{gap:10px}.site-branding img{max-height:42px}.vsf-header-actions{gap:9px}.vsf-header-actions a{display:none}.vsf-header-actions button{font-size:0}.vsf-header-actions .vsf-cart-count{font-size:9px}.vsf-search-toggle:before{content:"⌕";font-size:21px}.vsf-cart-toggle:before{content:"Bag";font-size:10px;letter-spacing:.05em}.vsf-commerce-hero{min-height:520px;align-items:end}.vsf-commerce-hero__overlay{background:linear-gradient(180deg,rgba(0,0,0,.08) 20%,rgba(0,0,0,.78) 85%)}.vsf-commerce-hero__content{padding-bottom:38px}.vsf-commerce-hero h1{font-size:46px;max-width:95%}.vsf-commerce-hero__lede{font-size:15px}.vsf-actions{gap:14px}.vsf-benefit-strip>div{grid-template-columns:1fr 1fr}.vsf-benefit-strip span{padding:13px 8px;font-size:8px;border-bottom:1px solid var(--vsf-line)}.vsf-section{padding:66px 0}.vsf-section--compact{padding:54px 0}.vsf-heading-row{align-items:start;flex-direction:column;gap:8px}.vsf-category-editorial-grid{grid-template-columns:1fr 1fr;gap:6px}.vsf-editorial-cat{min-height:300px}.vsf-editorial-cat span{left:14px;right:14px;bottom:14px}.vsf-editorial-cat strong{font-size:20px}.vsf-editorial-cat em{display:none}.vsf-feature-band__copy{padding:54px 20px}.vsf-feature-band__media{min-height:330px}.vsf-delivery-grid{grid-template-columns:1fr}.vsf-delivery-grid>div,.vsf-delivery-grid>div+div{padding:24px 0;border-right:0;border-bottom:1px solid #cfcfc8}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 7px}.woocommerce ul.products li.product a img{aspect-ratio:.86;margin-bottom:11px!important}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:12px!important}.woocommerce ul.products li.product .price{font-size:12px!important}.woocommerce ul.products li.product .button{font-size:8px!important;padding:10px 7px!important}.vsf-card-category{font-size:8px}.vsf-shop-utility>div span{display:none}.woocommerce .woocommerce-result-count{float:none}.woocommerce .woocommerce-ordering{float:none;margin-top:10px}.single-product .vsf-shop-main>.vsf-container{width:min(calc(100% - 28px),var(--vsf-max))}.woocommerce div.product div.images .woocommerce-product-gallery__wrapper{display:block}.woocommerce div.product div.images .woocommerce-product-gallery__image{margin-bottom:6px}.woocommerce div.product div.images .woocommerce-product-gallery__image:not(:first-child){display:inline-block;width:49%;vertical-align:top}.single-product .product_title{font-size:40px}.vsf-product-assurance{grid-template-columns:1fr}.vsf-product-assurance span{border-right:0;border-bottom:1px solid var(--vsf-line)}.vsf-product-assurance span:last-child{border-bottom:0}.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;overflow:auto;white-space:nowrap}.vsf-pdp-story{padding:55px 0;gap:25px}.vsf-pdp-story__lead h2{font-size:39px}.related.products>h2{font-size:31px}.woocommerce-checkout #customer_details{grid-template-columns:1fr}.vsf-account-grid,.vsf-reorder-grid{grid-template-columns:1fr}.vsf-footer-grid{grid-template-columns:1fr;gap:20px}.vsf-footer-bottom{flex-direction:column;gap:4px}.vsf-mobile-buybar{position:fixed;z-index:75;left:0;right:0;bottom:0;background:#fff;color:#111;border-top:1px solid var(--vsf-line);padding:9px 12px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 -8px 22px rgba(0,0,0,.09)}.vsf-mobile-buybar span{display:flex;flex-direction:column}.vsf-mobile-buybar small{font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:#777}.vsf-mobile-buybar strong{font-size:13px}.vsf-mobile-buybar button{border:0;background:var(--vsf-green);color:#fff;border-radius:2px;padding:12px 18px;font-size:9px;text-transform:uppercase;font-weight:850;letter-spacing:.06em}body.single-product{padding-bottom:62px}}

/* v0.4 storefront alignment + rebuilt PDP */
.site-branding{display:flex;align-items:center;min-width:0}.vsf-brandmark{display:inline-flex;align-items:center}.vsf-brandmark img{display:block;width:150px;max-height:60px;object-fit:contain}.custom-logo-link{display:inline-flex;align-items:center}.custom-logo-link img{width:auto;max-width:170px;max-height:58px;object-fit:contain}

/* Keep every catalogue row visually aligned regardless of title length or product type. */
.woocommerce ul.products{align-items:stretch}.woocommerce ul.products li.product{display:flex!important;flex-direction:column;height:100%}.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:flex!important;flex-direction:column;flex:1;min-height:0}.woocommerce ul.products li.product .woocommerce-loop-product__title{min-height:2.65em}.woocommerce ul.products li.product .price{margin-top:auto!important;padding-top:2px}.woocommerce ul.products li.product .button{margin-top:14px!important;min-height:42px;display:flex!important;align-items:center;justify-content:center}.woocommerce ul.products li.product .star-rating{margin:5px 0 4px!important}.woocommerce ul.products li.product .vsf-card-category{min-height:1.25em}

/* Product detail page: top gallery and buying panel are their own layout, preventing WooCommerce related products/tabs from entering the top grid. */
.single-product .vsf-shop-main{padding-top:24px}.single-product .vsf-pdp{display:block!important}.single-product .vsf-pdp-top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(390px,.72fr);gap:56px;align-items:start}.single-product .vsf-pdp-gallery{min-width:0}.single-product .vsf-pdp-purchase{min-width:0}.single-product .vsf-pdp-purchase .summary{float:none!important;width:auto!important;margin:0!important;position:sticky;top:176px;padding:24px 0 0}.single-product .vsf-pdp-gallery .woocommerce-product-gallery{float:none!important;width:100%!important;margin:0!important}.single-product .vsf-pdp-gallery .woocommerce-product-gallery__wrapper{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.single-product .vsf-pdp-gallery .woocommerce-product-gallery__image:first-child{grid-column:1/-1}.single-product .vsf-pdp-gallery .woocommerce-product-gallery__image a{display:block;background:#f7f7f4}.single-product .vsf-pdp-gallery .woocommerce-product-gallery__image img{display:block;width:100%!important;height:auto!important;object-fit:contain!important;aspect-ratio:1/1;background:#f7f7f4}.single-product .vsf-pdp-gallery .woocommerce-product-gallery__image:first-child img{aspect-ratio:1.08/1}.single-product .woocommerce-product-gallery .flex-control-thumbs{display:grid!important;grid-template-columns:repeat(5,1fr);gap:6px;margin:8px 0 0!important}.single-product .woocommerce-product-gallery .flex-control-thumbs li{width:auto!important;float:none!important;margin:0!important}.single-product .woocommerce-product-gallery .flex-control-thumbs img{aspect-ratio:1;object-fit:cover}.single-product .product_title{font-size:clamp(36px,3.8vw,58px);line-height:1.01;letter-spacing:-.045em;margin-bottom:14px}.single-product .summary .price{font-size:22px!important;margin-bottom:16px!important}.single-product .vsf-pdp-intro{font-size:15px;line-height:1.6;color:#555;margin:16px 0 20px;max-width:620px}.single-product .vsf-pdp-intro p{margin:0}.single-product form.cart{margin-top:0!important;padding:20px 0 22px}.single-product form.variations_form .variations{margin-bottom:12px!important}.single-product form.variations_form .variations th,.single-product form.variations_form .variations td{display:block;width:100%;padding:0!important}.single-product form.variations_form .variations th{margin:0 0 7px}.single-product form.variations_form .variations select{width:100%!important;min-width:0!important;height:46px;border:1px solid #bbb;background:#fff;padding:0 12px}.single-product form.variations_form .reset_variations{display:inline-block;margin-top:7px;font-size:11px;color:#666}.single-product .woocommerce-variation-add-to-cart{display:flex;align-items:stretch;gap:8px}.single-product .woocommerce-variation-add-to-cart .quantity{float:none!important;margin:0!important}.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button{flex:1}.single-product .product_meta{margin-top:16px;padding-top:15px;border-top:1px solid var(--vsf-line)}

.single-product .vsf-pdp-details{clear:both;margin-top:76px;border-top:1px solid var(--vsf-line)}.single-product .vsf-pdp-details>.woocommerce-tabs{margin:0!important;padding:0!important;border-top:0!important}.single-product .vsf-pdp-details .woocommerce-tabs ul.tabs{display:flex;gap:30px;padding:0!important;margin:0!important;overflow:auto;white-space:nowrap}.single-product .vsf-pdp-details .woocommerce-tabs .panel{max-width:1050px;padding:44px 0 64px!important;margin:0!important;font-size:16px;line-height:1.72}.single-product .vsf-pdp-details .woocommerce-tabs .panel h2{font-size:clamp(28px,3vw,42px);letter-spacing:-.035em;margin:0 0 24px}.single-product .vsf-pdp-details .woocommerce-tabs .panel p{max-width:900px}.single-product .vsf-pdp-details .vsf-pdp-story{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;margin:0!important;padding:74px 0!important;border-top:1px solid var(--vsf-line);border-bottom:1px solid var(--vsf-line)}.single-product .vsf-pdp-details .upsells.products,.single-product .vsf-pdp-details .related.products{margin:72px 0 0!important;clear:both;width:100%}.single-product .vsf-pdp-details .upsells.products>h2,.single-product .vsf-pdp-details .related.products>h2{font-size:clamp(30px,3.3vw,44px);letter-spacing:-.04em;margin:0 0 30px}.single-product .vsf-pdp-details .products{width:100%;clear:both}

@media(max-width:1100px){.single-product .vsf-pdp-top{grid-template-columns:minmax(0,1fr) minmax(340px,.75fr);gap:34px}.single-product .vsf-pdp-details .vsf-pdp-story{grid-template-columns:1fr}}
@media(max-width:860px){.vsf-brandmark img{width:125px}.single-product .vsf-pdp-top{display:block}.single-product .vsf-pdp-purchase .summary{position:static;padding-top:26px}.single-product .vsf-pdp-details{margin-top:48px}.single-product .vsf-pdp-details .woocommerce-tabs .panel{padding:34px 0 48px!important}}
@media(max-width:640px){.site-branding .vsf-brandmark img,.site-branding .custom-logo-link img{max-width:112px;max-height:46px}.woocommerce ul.products li.product .woocommerce-loop-product__title{min-height:2.8em}.woocommerce ul.products li.product .button{min-height:38px}.single-product .vsf-pdp-gallery .woocommerce-product-gallery__wrapper{display:block!important}.single-product .vsf-pdp-gallery .woocommerce-product-gallery__image{margin-bottom:6px}.single-product .product_title{font-size:36px}.single-product .vsf-pdp-details .woocommerce-tabs ul.tabs{gap:22px}.single-product .vsf-pdp-details .woocommerce-tabs .panel{font-size:14px;line-height:1.65}.single-product .vsf-pdp-details .vsf-pdp-story{padding:52px 0!important;gap:24px}.single-product .vsf-pdp-details .related.products,.single-product .vsf-pdp-details .upsells.products{margin-top:54px!important}}

/* v0.5 — supplied brand assets + product-detail containment fixes */
.site-branding .vsf-brandmark picture{display:block;line-height:0}
.site-branding .vsf-brandmark img{width:190px;max-width:100%;max-height:58px;object-fit:contain;object-position:left center}
.vsf-footer-logo{width:180px;max-width:100%;height:auto;margin:0 0 22px}

/* Use the exact same desktop grid as the header so PDP media never touches the viewport edge. */
.single-product .vsf-shop-main>.vsf-container{
  width:100%!important;
  max-width:1528px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:24px!important;
  padding-right:24px!important;
}
.single-product .vsf-pdp-top{width:100%;min-width:0}
.single-product .vsf-pdp-gallery,.single-product .vsf-pdp-purchase{min-width:0}

/* Sticky belongs on the purchase COLUMN, not the summary itself. Its containing grid row therefore
   ends with the gallery and prevents the buying panel from travelling into tabs/related products. */
.single-product .vsf-pdp-purchase{position:sticky;top:176px;align-self:start}
.single-product .vsf-pdp-purchase .summary{position:static!important;top:auto!important;padding-top:24px!important}

/* Establish a hard document-flow boundary below the hero product area. */
.single-product .vsf-pdp-top{position:relative;z-index:1;margin-bottom:0}
.single-product .vsf-pdp-details{position:relative;z-index:2;background:#fff;clear:both;overflow:visible}
.single-product .vsf-pdp-details:before{content:"";display:table;clear:both}
.single-product .vsf-pdp-details .woocommerce-tabs,
.single-product .vsf-pdp-details .vsf-pdp-story,
.single-product .vsf-pdp-details .related.products,
.single-product .vsf-pdp-details .upsells.products{position:relative;z-index:1;background:#fff;clear:both}
.single-product .vsf-pdp-details .related.products,
.single-product .vsf-pdp-details .upsells.products{float:none!important;display:block!important}
.single-product .vsf-pdp-details .related.products ul.products,
.single-product .vsf-pdp-details .upsells.products ul.products{position:relative;z-index:1}

@media(max-width:860px){
  .site-branding .vsf-brandmark img{width:112px;max-height:50px;object-position:center}
  .single-product .vsf-pdp-purchase{position:static;top:auto}
  .single-product .vsf-shop-main>.vsf-container{padding-left:18px!important;padding-right:18px!important}
}
@media(max-width:640px){
  .site-branding .vsf-brandmark img{width:96px;max-height:44px}
  .single-product .vsf-shop-main>.vsf-container{padding-left:14px!important;padding-right:14px!important}
}

/* v0.5.1 — catalogue labels: visible everywhere, square-edged and aligned to card content */
.woocommerce ul.products li.product .vsf-product-labels{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:5px;
  min-height:22px;
  margin:0 0 7px;
  padding:0;
  position:static;
  width:100%;
}
.woocommerce ul.products li.product .vsf-product-labels .vsf-product-temp,
.woocommerce ul.products li.product .vsf-product-labels .vsf-product-tag{
  position:static!important;
  display:inline-flex;
  align-items:center;
  width:auto;
  max-width:100%;
  margin:0;
  padding:4px 7px;
  border:1px solid #d5d5cf;
  border-radius:1px!important;
  background:#f7f7f4;
  color:#4d4d48;
  font-size:8px;
  line-height:1.15;
  font-weight:800;
  letter-spacing:.075em;
  text-transform:uppercase;
  white-space:nowrap;
}
.woocommerce ul.products li.product .vsf-product-labels .vsf-product-temp--frozen{
  border-color:#cfd8e2;
  background:#f4f7fa;
  color:#34495e;
}
.woocommerce ul.products li.product .vsf-product-labels .vsf-product-temp--chilled{
  border-color:#d8d1e5;
  background:#f7f4fb;
  color:#5d4a78;
}
.woocommerce ul.products li.product .vsf-product-labels .vsf-product-temp--ambient{
  border-color:#d8d8d1;
  background:#f7f7f3;
  color:#55554f;
}
/* Labels are part of the text block, never image overlays. */
.woocommerce ul.products li.product>a.woocommerce-LoopProduct-link .vsf-product-labels{
  order:2;
}
.woocommerce ul.products li.product>a.woocommerce-LoopProduct-link .vsf-card-category{order:3}
.woocommerce ul.products li.product>a.woocommerce-LoopProduct-link .woocommerce-loop-product__title{order:4}
.woocommerce ul.products li.product>a.woocommerce-LoopProduct-link .price{order:5}

@media(max-width:640px){
  .woocommerce ul.products li.product .vsf-product-labels{gap:4px;min-height:20px;margin-bottom:6px}
  .woocommerce ul.products li.product .vsf-product-labels .vsf-product-temp,
  .woocommerce ul.products li.product .vsf-product-labels .vsf-product-tag{font-size:7px;padding:4px 6px}
}


/* v0.5.2 — unify commerce-page gutters with the header and rebuild account spacing */
:root{--vsf-page-gutter:24px}

/* The header, catalogue, PDP and customer portal all use one retail content grid. */
.single-product .vsf-shop-main>.vsf-container,
.woocommerce-account .vsf-commerce-page,
.woocommerce-cart .vsf-commerce-page,
.woocommerce-checkout .vsf-commerce-page{
  width:min(calc(100% - (var(--vsf-page-gutter) * 2)),var(--vsf-content))!important;
  max-width:var(--vsf-content)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* PDP: retain the high-end full-depth composition, but never run edge-to-edge beyond the header grid. */
.single-product .vsf-shop-main{padding-top:30px}
.single-product .vsf-pdp-top{gap:52px}
.single-product .vsf-pdp-details{margin-top:68px}
.single-product .vsf-pdp-details>.woocommerce-tabs,
.single-product .vsf-pdp-details>.vsf-pdp-story,
.single-product .vsf-pdp-details>.related.products,
.single-product .vsf-pdp-details>.upsells.products{width:100%;max-width:100%;margin-left:0!important;margin-right:0!important}
.single-product .vsf-pdp-details .woocommerce-tabs ul.tabs{padding-left:0!important;padding-right:0!important}
.single-product .vsf-pdp-details .woocommerce-tabs .panel{max-width:980px}

/* Do not let any legacy WooCommerce clear/float behaviour create a viewport-width detail band. */
.single-product div.product,
.single-product .vsf-pdp-details,
.single-product .vsf-pdp-details .woocommerce-tabs,
.single-product .vsf-pdp-details .woocommerce-Tabs-panel{box-sizing:border-box;max-width:100%}

/* Customer account: use the same page width as the retail header instead of the old 900px editorial wrapper. */
.woocommerce-account .vsf-commerce-page{padding-top:68px;padding-bottom:100px}
.woocommerce-account .vsf-commerce-page>article>h1{font-size:clamp(38px,4vw,56px);line-height:1;letter-spacing:-.045em;margin:0 0 42px}
.woocommerce-account .woocommerce{
  display:grid!important;
  grid-template-columns:260px minmax(0,1fr)!important;
  gap:56px!important;
  align-items:start;
  width:100%;
}
.woocommerce-account .woocommerce:before,.woocommerce-account .woocommerce:after{display:none!important}
.woocommerce-account .woocommerce-MyAccount-navigation{float:none!important;width:100%!important;margin:0!important}
.woocommerce-account .woocommerce-MyAccount-navigation ul{margin:0!important;border:1px solid var(--vsf-line)!important}
.woocommerce-account .woocommerce-MyAccount-navigation li a{padding:15px 16px!important}
.woocommerce-account .woocommerce-MyAccount-content{
  float:none!important;
  width:100%!important;
  min-width:0;
  margin:0!important;
  font-size:15px;
  line-height:1.65;
}
.woocommerce-account .woocommerce-MyAccount-content>p:first-child{margin-top:0}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address{float:none!important;width:auto!important;margin:0!important;border:1px solid var(--vsf-line);padding:24px}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table{width:100%}

/* Cart and checkout inherit the same horizontal alignment when using the core page template. */
.woocommerce-cart .vsf-commerce-page,.woocommerce-checkout .vsf-commerce-page{padding-top:60px;padding-bottom:100px}
.woocommerce-cart .vsf-commerce-page>article>h1,.woocommerce-checkout .vsf-commerce-page>article>h1{font-size:clamp(38px,4vw,56px);letter-spacing:-.045em;margin:0 0 36px}

@media(max-width:860px){
  :root{--vsf-page-gutter:18px}
  .woocommerce-account .vsf-commerce-page{padding-top:42px;padding-bottom:72px}
  .woocommerce-account .vsf-commerce-page>article>h1{margin-bottom:26px}
  .woocommerce-account .woocommerce{grid-template-columns:1fr!important;gap:28px!important}
  .woocommerce-account .woocommerce-MyAccount-navigation ul{display:flex;overflow-x:auto;white-space:nowrap;border-left:0!important;border-right:0!important}
  .woocommerce-account .woocommerce-MyAccount-navigation li{flex:0 0 auto}
  .woocommerce-account .woocommerce-MyAccount-navigation li a{border-bottom:0!important;border-right:1px solid var(--vsf-line);padding:12px 14px!important}
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses{grid-template-columns:1fr}
}
@media(max-width:640px){
  :root{--vsf-page-gutter:14px}
  .single-product .vsf-shop-main{padding-top:18px}
  .single-product .vsf-pdp-details{margin-top:42px}
  .woocommerce-account .vsf-commerce-page{padding-top:32px;padding-bottom:62px}
  .woocommerce-account .vsf-commerce-page>article>h1{font-size:36px}
}


/* v0.5.3 — explicitly align every WooCommerce catalogue/archive surface to the retail grid */
.woocommerce-shop .vsf-shop-main>.vsf-container,
.post-type-archive-product .vsf-shop-main>.vsf-container,
.tax-product_cat .vsf-shop-main>.vsf-container,
.tax-product_tag .vsf-shop-main>.vsf-container,
.woocommerce.archive .vsf-shop-main>.vsf-container,
.search-results.woocommerce .vsf-shop-main>.vsf-container{
  width:min(calc(100% - (var(--vsf-page-gutter) * 2)),var(--vsf-content))!important;
  max-width:var(--vsf-content)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box;
}

/* Keep every archive component inside that same grid rather than allowing Woo defaults to drift. */
.woocommerce-shop .woocommerce-breadcrumb,
.woocommerce-shop .woocommerce-products-header,
.woocommerce-shop .vsf-category-pills,
.woocommerce-shop .vsf-shop-utility,
.woocommerce-shop .woocommerce-notices-wrapper,
.woocommerce-shop .woocommerce-result-count,
.woocommerce-shop .woocommerce-ordering,
.woocommerce-shop ul.products,
.post-type-archive-product .woocommerce-breadcrumb,
.post-type-archive-product .woocommerce-products-header,
.post-type-archive-product .vsf-category-pills,
.post-type-archive-product .vsf-shop-utility,
.post-type-archive-product .woocommerce-notices-wrapper,
.post-type-archive-product ul.products,
.tax-product_cat .woocommerce-breadcrumb,
.tax-product_cat .woocommerce-products-header,
.tax-product_cat .vsf-category-pills,
.tax-product_cat .vsf-shop-utility,
.tax-product_cat .woocommerce-notices-wrapper,
.tax-product_cat ul.products,
.tax-product_tag .woocommerce-breadcrumb,
.tax-product_tag .woocommerce-products-header,
.tax-product_tag .vsf-category-pills,
.tax-product_tag .vsf-shop-utility,
.tax-product_tag .woocommerce-notices-wrapper,
.tax-product_tag ul.products{
  max-width:100%!important;
  box-sizing:border-box;
}

.woocommerce-shop .vsf-shop-main,
.post-type-archive-product .vsf-shop-main,
.tax-product_cat .vsf-shop-main,
.tax-product_tag .vsf-shop-main,
.woocommerce.archive .vsf-shop-main{
  padding-top:34px;
}

/* The catalogue grid should consume the full aligned content width. */
.woocommerce-shop ul.products,
.post-type-archive-product ul.products,
.tax-product_cat ul.products,
.tax-product_tag ul.products,
.woocommerce.archive ul.products{
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Remove legacy WooCommerce floats around archive controls without changing their visual hierarchy. */
.woocommerce-shop .woocommerce-result-count,
.post-type-archive-product .woocommerce-result-count,
.tax-product_cat .woocommerce-result-count,
.tax-product_tag .woocommerce-result-count{float:left!important}
.woocommerce-shop .woocommerce-ordering,
.post-type-archive-product .woocommerce-ordering,
.tax-product_cat .woocommerce-ordering,
.tax-product_tag .woocommerce-ordering{float:right!important;margin-right:0!important}

@media(max-width:860px){
  .woocommerce-shop .vsf-shop-main,
  .post-type-archive-product .vsf-shop-main,
  .tax-product_cat .vsf-shop-main,
  .tax-product_tag .vsf-shop-main,
  .woocommerce.archive .vsf-shop-main{padding-top:24px}
}
@media(max-width:640px){
  .woocommerce-shop .vsf-shop-main,
  .post-type-archive-product .vsf-shop-main,
  .tax-product_cat .vsf-shop-main,
  .tax-product_tag .vsf-shop-main,
  .woocommerce.archive .vsf-shop-main{padding-top:18px}
  .woocommerce-shop .woocommerce-result-count,
  .woocommerce-shop .woocommerce-ordering,
  .post-type-archive-product .woocommerce-result-count,
  .post-type-archive-product .woocommerce-ordering,
  .tax-product_cat .woocommerce-result-count,
  .tax-product_cat .woocommerce-ordering,
  .tax-product_tag .woocommerce-result-count,
  .tax-product_tag .woocommerce-ordering{float:none!important;width:100%;margin:8px 0!important}
}


/* v0.5.4 — hard retail-grid containment.
   These rules deliberately do not depend on WooCommerce body/archive classes: some
   installations render the Shop page through a normal Page context. */
.vsf-shop-main{
  --vsf-live-gutter:max(24px, calc((100vw - var(--vsf-content)) / 2));
  overflow:hidden;
}

/* Woo's wrapper is the primary boundary. This works for Shop, category, tag and PDP. */
.vsf-shop-main > .vsf-container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:var(--vsf-live-gutter)!important;
  padding-right:var(--vsf-live-gutter)!important;
}

/* Archive chrome and catalogue remain on exactly the same 1280px header grid. */
.vsf-shop-main .woocommerce-breadcrumb,
.vsf-shop-main .woocommerce-products-header,
.vsf-shop-main .vsf-category-pills,
.vsf-shop-main .vsf-shop-utility,
.vsf-shop-main .woocommerce-notices-wrapper,
.vsf-shop-main .woocommerce-result-count,
.vsf-shop-main .woocommerce-ordering,
.vsf-shop-main ul.products{
  box-sizing:border-box;
}
.vsf-shop-main ul.products{max-width:var(--vsf-content)!important;margin-left:auto!important;margin-right:auto!important}

/* PDP top and every lower-depth section share the same live grid even if a Woo hook
   or plugin changes the surrounding wrapper. */
.single-product .vsf-pdp-top,
.single-product .vsf-pdp-details{
  width:100%!important;
  max-width:var(--vsf-content)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.single-product .vsf-pdp-details{margin-top:76px!important}
.single-product .vsf-pdp-details > .woocommerce-tabs,
.single-product .vsf-pdp-details > .vsf-pdp-story,
.single-product .vsf-pdp-details > .related.products,
.single-product .vsf-pdp-details > .upsells.products{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Related/upsell cards must never escape the PDP content boundary. */
.single-product .related.products ul.products,
.single-product .upsells.products ul.products{
  width:100%!important;
  max-width:100%!important;
}

@media(max-width:1328px){
  .vsf-shop-main{--vsf-live-gutter:24px}
}
@media(max-width:860px){
  .vsf-shop-main{--vsf-live-gutter:18px}
}
@media(max-width:640px){
  .vsf-shop-main{--vsf-live-gutter:14px}
  .single-product .vsf-pdp-details{margin-top:42px!important}
}

/* v0.5.5 — align commerce surfaces to the WIDEST header grid and refine PDP depth. */
:root{--vsf-commerce-max:var(--vsf-max)}

/* Header uses .vsf-container-wide (1480px). Shop and PDP now use that exact boundary too. */
.vsf-shop-main{
  --vsf-live-gutter:max(24px, calc((100vw - var(--vsf-commerce-max)) / 2));
}
.vsf-shop-main > .vsf-container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:var(--vsf-live-gutter)!important;
  padding-right:var(--vsf-live-gutter)!important;
}
.vsf-shop-main .woocommerce-breadcrumb,
.vsf-shop-main .woocommerce-products-header,
.vsf-shop-main .vsf-category-pills,
.vsf-shop-main .vsf-shop-utility,
.vsf-shop-main .woocommerce-notices-wrapper,
.vsf-shop-main .woocommerce-result-count,
.vsf-shop-main .woocommerce-ordering,
.vsf-shop-main ul.products,
.single-product .vsf-pdp-top,
.single-product .vsf-pdp-details{
  width:100%!important;
  max-width:var(--vsf-commerce-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Main PDP image: let the real product artwork establish the height. No artificial beige/grey gutters. */
.single-product .vsf-pdp-gallery .woocommerce-product-gallery__image a{
  background:transparent!important;
}
.single-product .vsf-pdp-gallery .woocommerce-product-gallery__image img,
.single-product .vsf-pdp-gallery .woocommerce-product-gallery__image:first-child img{
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:unset!important;
  background:transparent!important;
}

/* The reassurance strip already says 100% vegan, so factual rows only show useful extra data. */
.single-product .vsf-pdp-facts:empty{display:none}
.single-product .vsf-pdp-facts{margin-top:14px}

/* Replace the oversized/repetitive story with a tighter premium editorial information band. */
.single-product .vsf-pdp-details .vsf-pdp-story{
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
  gap:72px!important;
  padding:58px 0!important;
  align-items:start;
}
.single-product .vsf-pdp-story__lead h2{
  max-width:650px;
  font-size:clamp(34px,3.5vw,54px)!important;
  line-height:1!important;
  margin-bottom:18px!important;
}
.single-product .vsf-pdp-story__text{
  max-width:680px;
  font-size:15px!important;
  line-height:1.65;
}
.single-product .vsf-pdp-story__facts{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  min-height:0;
}
.single-product .vsf-pdp-story__facts>div{
  padding:8px 24px 12px!important;
}
.single-product .vsf-pdp-story__facts strong{
  font-size:17px!important;
  margin:16px 0 9px!important;
}
.single-product .vsf-pdp-story__facts p{
  margin:0;
  line-height:1.55;
}

/* Product recommendation rows need deliberate breathing room before the dark footer. */
.single-product .vsf-pdp-details > .related.products:last-child,
.single-product .vsf-pdp-details > .upsells.products:last-child{
  padding-bottom:84px!important;
}
.single-product .vsf-pdp-details .related.products ul.products,
.single-product .vsf-pdp-details .upsells.products ul.products{
  margin-bottom:0!important;
}

@media(max-width:1100px){
  .single-product .vsf-pdp-details .vsf-pdp-story{gap:42px!important}
  .single-product .vsf-pdp-story__facts{grid-template-columns:1fr!important}
  .single-product .vsf-pdp-story__facts>div{border-right:0!important;border-bottom:1px solid var(--vsf-line)}
  .single-product .vsf-pdp-story__facts>div:last-child{border-bottom:0}
}
@media(max-width:860px){
  .vsf-shop-main{--vsf-live-gutter:18px}
  .single-product .vsf-pdp-details .vsf-pdp-story{grid-template-columns:1fr!important;padding:44px 0!important;gap:30px!important}
  .single-product .vsf-pdp-story__facts{border-left:0!important;border-top:1px solid var(--vsf-line)}
  .single-product .vsf-pdp-story__facts>div{padding:18px 0!important}
  .single-product .vsf-pdp-details > .related.products:last-child,
  .single-product .vsf-pdp-details > .upsells.products:last-child{padding-bottom:60px!important}
}
@media(max-width:640px){
  .vsf-shop-main{--vsf-live-gutter:14px}
}

/* v0.5.6 — exact header-grid shop layout, working native filters and fixed mini-cart footer. */

/* Use the identical container primitive as the header. Do not recreate its gutters with per-child max-widths. */
.vsf-shop-main > .vsf-container{
  width:min(calc(100% - 48px),var(--vsf-max))!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
.vsf-shop-main .woocommerce-breadcrumb,
.vsf-shop-main .woocommerce-products-header,
.vsf-shop-main .vsf-category-pills,
.vsf-shop-main .vsf-shop-utility,
.vsf-shop-main .woocommerce-notices-wrapper,
.vsf-shop-main .woocommerce-result-count,
.vsf-shop-main .woocommerce-ordering,
.vsf-shop-main ul.products,
.single-product .vsf-pdp-top,
.single-product .vsf-pdp-details{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
.vsf-shop-main{overflow:visible;padding-bottom:104px}
.woocommerce-shop .woocommerce-products-header__title.page-title,
.post-type-archive-product .woocommerce-products-header__title.page-title,
.tax-product_cat .woocommerce-products-header__title.page-title,
.tax-product_tag .woocommerce-products-header__title.page-title{margin-top:0}

/* Archive controls: one clean row and no floating elements that can escape the container. */
.vsf-shop-main .vsf-shop-utility{clear:both}
.vsf-shop-main .woocommerce-result-count,
.vsf-shop-main .woocommerce-ordering{float:none!important}
.vsf-shop-main .woocommerce-result-count{display:inline-block;margin:14px 0 0!important}
.vsf-shop-main .woocommerce-ordering{display:block;margin:-32px 0 18px auto!important;width:max-content}
.vsf-shop-main ul.products{clear:both!important}

/* Native filters */
.vsf-filter-drawer{width:min(420px,94vw)}
.vsf-filter-drawer__body{padding:0 24px 28px;overflow:auto}
.vsf-native-filters{display:block;text-align:left}
.vsf-filter-group{border:0;border-bottom:1px solid var(--vsf-line);margin:0;padding:24px 0}
.vsf-filter-group legend{width:100%;padding:0;margin:0 0 15px;font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.vsf-filter-group>label{display:flex;align-items:center;gap:10px;margin:10px 0;font-size:14px;cursor:pointer;text-align:left}
.vsf-filter-group input[type=checkbox]{width:17px;height:17px;margin:0;accent-color:var(--vsf-green)}
.vsf-price-filter{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vsf-price-filter label{display:block;font-size:11px;color:var(--vsf-muted);text-transform:uppercase;letter-spacing:.06em}
.vsf-price-filter input{width:100%;height:44px;margin-top:6px;border:1px solid var(--vsf-line);border-radius:1px;padding:0 11px;background:#fff;color:var(--vsf-ink)}
.vsf-filter-actions{position:sticky;bottom:-28px;background:#fff;border-top:1px solid var(--vsf-line);padding:18px 0 28px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}
.vsf-filter-actions .button{width:100%;margin:0!important}
.vsf-filter-clear{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;text-decoration:underline;text-underline-offset:4px}
.vsf-widget-filters{padding-top:8px}
.vsf-filter-backdrop[hidden]{display:none!important}

/* Mini-cart: products scroll independently; subtotal/actions are permanently anchored at drawer bottom. */
.vsf-cart-drawer__body{
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  padding:0 24px 24px!important;
  overflow:hidden!important;
  text-align:left!important;
}
.vsf-cart-drawer .woocommerce-mini-cart{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  margin:0 -4px 0 0!important;
  padding:8px 4px 18px 0!important;
}
.vsf-cart-drawer .mini_cart_item{
  grid-template-columns:78px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:start;
  padding:16px 26px 16px 0!important;
  text-align:left!important;
}
.vsf-cart-drawer .mini_cart_item>a:not(.remove){
  display:block!important;
  text-align:left!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:750!important;
}
.vsf-cart-drawer .mini_cart_item img{
  width:78px!important;
  height:88px!important;
  object-fit:contain!important;
  background:#fff!important;
  float:left!important;
  margin:0 14px 0 0!important;
}
.vsf-cart-drawer .mini_cart_item .quantity,
.vsf-cart-drawer .mini_cart_item .variation,
.vsf-cart-drawer .mini_cart_item .variation *{
  text-align:left!important;
}
.vsf-cart-drawer .mini_cart_item .quantity{
  display:block!important;
  margin-top:7px!important;
  color:#555!important;
  font-size:12px!important;
}
.vsf-cart-drawer .mini_cart_item .variation{margin:6px 0 0!important;font-size:11px!important}
.vsf-cart-drawer .mini_cart_item .variation dt,
.vsf-cart-drawer .mini_cart_item .variation dd{float:none!important;display:inline!important;margin:0!important;padding:0!important}
.vsf-cart-drawer .woocommerce-mini-cart__total{
  flex:0 0 auto;
  margin:0!important;
  padding:18px 0 12px!important;
  border-top:1px solid #111!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  text-align:left!important;
}
.vsf-cart-drawer .woocommerce-mini-cart__total strong{font-size:14px}
.vsf-cart-drawer .woocommerce-mini-cart__buttons{
  flex:0 0 auto;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
}
.vsf-cart-drawer .woocommerce-mini-cart__buttons .button{display:flex!important;align-items:center;justify-content:center;min-height:44px}
.vsf-cart-drawer .woocommerce-mini-cart__empty-message{margin:auto 0;text-align:left!important;color:var(--vsf-muted)}

@media(max-width:860px){
  .vsf-shop-main > .vsf-container{width:min(calc(100% - 36px),var(--vsf-max))!important}
  .vsf-shop-main .woocommerce-ordering{margin:10px 0 18px!important;width:100%}
  .vsf-shop-main .woocommerce-ordering select{width:100%}
}
@media(max-width:640px){
  .vsf-shop-main > .vsf-container{width:min(calc(100% - 28px),var(--vsf-max))!important}
  .vsf-shop-main{padding-bottom:72px}
  .vsf-price-filter{grid-template-columns:1fr}
}


/* v0.5.8 — catalogue card rhythm + mini-cart alignment polish. */
/* Keep every archive card on a predictable vertical grid without oversized empty media rows. */
.vsf-shop-main ul.products{
  align-items:start!important;
  row-gap:56px!important;
}
.vsf-shop-main ul.products li.product{
  min-width:0!important;
  align-self:start!important;
}
.vsf-shop-main ul.products li.product>a.woocommerce-LoopProduct-link{
  width:100%!important;
  align-items:stretch!important;
}
.vsf-shop-main ul.products li.product a img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1 / 1!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
  margin-bottom:16px!important;
}
/* Product labels belong to the left edge of the copy block — never centred. */
.vsf-shop-main ul.products li.product .vsf-product-labels{
  align-self:stretch!important;
  justify-content:flex-start!important;
  text-align:left!important;
  width:100%!important;
}
.vsf-shop-main ul.products li.product .vsf-product-labels .vsf-product-temp,
.vsf-shop-main ul.products li.product .vsf-product-labels .vsf-product-tag{
  align-self:flex-start!important;
  margin-left:0!important;
  margin-right:0!important;
}
/* Text and CTAs all share the same left edge and buttons remain at the bottom of each card. */
.vsf-shop-main ul.products li.product .vsf-card-category,
.vsf-shop-main ul.products li.product .woocommerce-loop-product__title,
.vsf-shop-main ul.products li.product .price{text-align:left!important;width:100%!important}
.vsf-shop-main ul.products li.product .button{margin-top:14px!important}

/* Mini-cart: one clean left-aligned product row, with image as a fixed lead column. */
.vsf-cart-drawer .mini_cart_item{
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:14px!important;
  row-gap:4px!important;
  align-items:start!important;
  padding:18px 28px 18px 0!important;
}
.vsf-cart-drawer .mini_cart_item>a:not(.remove){
  grid-column:1 / -1!important;
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:start!important;
  width:100%!important;
  margin:0!important;
  text-align:left!important;
}
.vsf-cart-drawer .mini_cart_item>a:not(.remove) img{
  grid-column:1!important;
  grid-row:1!important;
  float:none!important;
  width:72px!important;
  height:82px!important;
  margin:0!important;
  object-fit:contain!important;
}
.vsf-cart-drawer .mini_cart_item .quantity{
  grid-column:2!important;
  grid-row:2!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}
.vsf-cart-drawer .mini_cart_item .variation{grid-column:2!important;text-align:left!important}
.vsf-cart-drawer .remove{right:0!important;top:18px!important}
/* Bottom checkout block remains genuinely anchored to the drawer edge. */
.vsf-cart-drawer .woocommerce-mini-cart__total{margin-top:auto!important}
.vsf-cart-drawer .woocommerce-mini-cart__buttons{padding-bottom:max(0px,env(safe-area-inset-bottom))!important}

@media(max-width:640px){
  .vsf-shop-main ul.products{row-gap:36px!important}
  .vsf-shop-main ul.products li.product a img{aspect-ratio:1 / 1!important}
}

/* v0.5.9 — one canonical commerce grid + refined mini-cart.
   IMPORTANT: Shop, PDP, related products, cart and checkout now use the exact
   same .vsf-container-wide primitive as the header. No separate max-width math. */
.vsf-shop-main > .vsf-commerce-shell{
  width:min(calc(100% - 48px),var(--vsf-max))!important;
  max-width:none!important;
  margin-inline:auto!important;
  padding-inline:0!important;
}

/* Remove historic nested width overrides that caused Shop/PDP to oscillate
   between edge-to-edge and too narrow across releases. */
.vsf-shop-main > .vsf-commerce-shell > *,
.single-product .vsf-pdp-top,
.single-product .vsf-pdp-details,
.single-product .vsf-pdp-details > *,
.vsf-shop-main .woocommerce-products-header,
.vsf-shop-main .vsf-category-pills,
.vsf-shop-main .vsf-shop-utility,
.vsf-shop-main .woocommerce-notices-wrapper,
.vsf-shop-main .woocommerce-result-count,
.vsf-shop-main .woocommerce-ordering,
.vsf-shop-main ul.products{
  max-width:none!important;
}
.single-product .vsf-shop-main > .vsf-commerce-shell{
  width:min(calc(100% - 48px),var(--vsf-max))!important;
  max-width:none!important;
  margin-inline:auto!important;
  padding-inline:0!important;
}
.single-product .vsf-pdp-top,
.single-product .vsf-pdp-details{
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Catalogue: keep the whole merchandising stack on that canonical grid. */
.woocommerce-shop .vsf-shop-main,
.post-type-archive-product .vsf-shop-main,
.tax-product_cat .vsf-shop-main,
.tax-product_tag .vsf-shop-main{padding-top:42px}
.vsf-shop-main .woocommerce-products-header__title.page-title{margin:0 0 28px!important}
.vsf-shop-main .vsf-category-pills{margin-bottom:18px!important}
.vsf-shop-main .vsf-shop-utility{margin-bottom:26px!important}
.vsf-shop-main .woocommerce-result-count{margin-top:4px!important}
.vsf-shop-main .woocommerce-ordering{margin-top:-26px!important}
.vsf-shop-main ul.products{margin-top:28px!important;margin-bottom:88px!important}

/* Product detail: image + purchase panel stay inside the same header grid. */
.single-product .vsf-pdp-top{padding-top:34px}
.single-product .vsf-pdp-details{margin-top:72px}
.single-product .vsf-pdp-details .related.products,
.single-product .vsf-pdp-details .upsells.products{padding-bottom:88px!important}

/* Cart drawer — closer to the retail reference: structured product area,
   large breathing room, and a fixed stacked checkout panel at the bottom. */
.vsf-cart-drawer{width:min(430px,94vw)!important}
.vsf-cart-drawer__header{height:64px!important;padding:0 26px!important;font-size:16px!important}
.vsf-cart-drawer__body{padding:0 26px 24px!important}
.vsf-cart-drawer .woocommerce-mini-cart{
  padding:12px 0 24px!important;
  margin:0!important;
}
.vsf-cart-drawer .mini_cart_item{
  grid-template-columns:64px minmax(0,1fr)!important;
  padding:18px 28px 20px 0!important;
  border-bottom:1px solid var(--vsf-line)!important;
}
.vsf-cart-drawer .mini_cart_item>a:not(.remove){
  grid-template-columns:64px minmax(0,1fr)!important;
  gap:14px!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.3!important;
}
.vsf-cart-drawer .mini_cart_item>a:not(.remove) img{
  width:64px!important;
  height:72px!important;
  object-fit:contain!important;
  background:#fff!important;
}
.vsf-cart-drawer .mini_cart_item .quantity{
  grid-column:2!important;
  margin-top:7px!important;
  font-size:12px!important;
  color:#555!important;
}
.vsf-cart-drawer .mini_cart_item .variation{
  grid-column:2!important;
  margin-top:5px!important;
}
.vsf-cart-drawer .remove{right:0!important;top:18px!important;color:#a00!important;font-size:18px!important}
.vsf-cart-drawer .woocommerce-mini-cart__total{
  margin-top:auto!important;
  padding:20px 0 16px!important;
  border-top:1px solid #222!important;
  border-bottom:0!important;
  font-size:15px!important;
}
.vsf-cart-drawer .woocommerce-mini-cart__buttons{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  padding:0 0 max(0px,env(safe-area-inset-bottom))!important;
}
.vsf-cart-drawer .woocommerce-mini-cart__buttons .button{
  width:100%!important;
  min-height:46px!important;
  margin:0!important;
}
.vsf-cart-drawer .woocommerce-mini-cart__buttons .button:first-child{
  background:#fff!important;
  color:#111!important;
  border:1px solid #111!important;
}
.vsf-cart-drawer .woocommerce-mini-cart__buttons .checkout{
  background:#111!important;
  color:#fff!important;
  border-color:#111!important;
}

@media(max-width:860px){
  .vsf-shop-main > .vsf-commerce-shell,
  .single-product .vsf-shop-main > .vsf-commerce-shell{width:min(calc(100% - 36px),var(--vsf-max))!important}
  .vsf-shop-main .woocommerce-ordering{margin-top:12px!important}
}
@media(max-width:640px){
  .vsf-shop-main > .vsf-commerce-shell,
  .single-product .vsf-shop-main > .vsf-commerce-shell{width:min(calc(100% - 28px),var(--vsf-max))!important}
  .woocommerce-shop .vsf-shop-main,.post-type-archive-product .vsf-shop-main,.tax-product_cat .vsf-shop-main,.tax-product_tag .vsf-shop-main{padding-top:28px}
  .vsf-shop-main ul.products{margin-bottom:64px!important}
  .single-product .vsf-pdp-top{padding-top:20px}
}

/* v0.6.0 — align all commerce pages to the visible header content edges. */
.vsf-shop-main > .vsf-commerce-shell,
.single-product .vsf-shop-main > .vsf-commerce-shell{
  width:min(calc(100% - 48px),var(--vsf-content))!important;
  max-width:var(--vsf-content)!important;
  margin-inline:auto!important;
  padding-inline:0!important;
}
.vsf-shop-main > .vsf-commerce-shell > *,
.single-product .vsf-pdp-top,
.single-product .vsf-pdp-details,
.single-product .vsf-pdp-details > .woocommerce-tabs,
.single-product .vsf-pdp-details > .vsf-pdp-story,
.single-product .vsf-pdp-details > .related.products,
.single-product .vsf-pdp-details > .upsells.products,
.vsf-shop-main ul.products{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
@media(max-width:860px){
  .vsf-shop-main > .vsf-commerce-shell,
  .single-product .vsf-shop-main > .vsf-commerce-shell{width:min(calc(100% - 36px),var(--vsf-content))!important}
}
@media(max-width:640px){
  .vsf-shop-main > .vsf-commerce-shell,
  .single-product .vsf-shop-main > .vsf-commerce-shell{width:min(calc(100% - 28px),var(--vsf-content))!important}
}


/* v0.6.1 — canonical commerce boundary.
   This is intentionally identical to the visible header content width:
   1280px maximum, 24px desktop gutters. The WooCommerce wrapper is now
   rendered directly by woocommerce.php, so it cannot be bypassed by a
   template hook or page context. */
.vsf-shop-main > .vsf-commerce-shell{
  width:min(calc(100% - 48px),1280px)!important;
  max-width:1280px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}
.vsf-shop-main > .vsf-commerce-shell > .woocommerce,
.vsf-shop-main > .vsf-commerce-shell > .product,
.vsf-shop-main > .vsf-commerce-shell > *{
  max-width:100%!important;
  box-sizing:border-box!important;
}
/* WooCommerce-generated top-level archive/PDP sections must never use viewport
   width or negative margins. */
.vsf-commerce-shell .woocommerce-products-header,
.vsf-commerce-shell .woocommerce-notices-wrapper,
.vsf-commerce-shell .vsf-category-pills,
.vsf-commerce-shell .vsf-shop-utility,
.vsf-commerce-shell .woocommerce-result-count,
.vsf-commerce-shell .woocommerce-ordering,
.vsf-commerce-shell ul.products,
.vsf-commerce-shell .vsf-pdp,
.vsf-commerce-shell .vsf-pdp-top,
.vsf-commerce-shell .vsf-pdp-details,
.vsf-commerce-shell .woocommerce-tabs,
.vsf-commerce-shell .vsf-pdp-story,
.vsf-commerce-shell .related.products,
.vsf-commerce-shell .upsells.products{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
@media(max-width:860px){
  .vsf-shop-main > .vsf-commerce-shell{width:calc(100% - 36px)!important}
}
@media(max-width:640px){
  .vsf-shop-main > .vsf-commerce-shell{width:calc(100% - 28px)!important}
}

/* v0.6.2 — one visible retail frame, corrected drawers, upgraded mini-cart. */
:root{--vsf-retail-frame:1360px}

/* Header and commerce use one exact frame so their edges cannot drift apart. */
.vsf-header-main.vsf-container-wide,
.vsf-nav-row.vsf-container-wide,
.vsf-shop-main > .vsf-commerce-shell{
  width:min(calc(100% - 48px),var(--vsf-retail-frame))!important;
  max-width:var(--vsf-retail-frame)!important;
  margin-inline:auto!important;
  box-sizing:border-box!important;
}

/* Drawers are fixed UI, never children of the commerce width system. */
.vsf-commerce-shell .vsf-filter-drawer,
.vsf-filter-drawer{
  position:fixed!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:auto!important;
  width:min(420px,94vw)!important;
  max-width:420px!important;
  height:100dvh!important;
  margin:0!important;
  z-index:100!important;
  transform:translateX(102%)!important;
}
.vsf-commerce-shell .vsf-filter-drawer.is-open,
.vsf-filter-drawer.is-open{transform:translateX(0)!important}
.vsf-commerce-shell .vsf-filter-backdrop,
.vsf-filter-backdrop{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  max-width:none!important;
  height:100dvh!important;
  margin:0!important;
  z-index:95!important;
}
.vsf-filter-drawer__body{width:100%!important;max-width:none!important;overflow-y:auto!important}
.vsf-native-filters,.vsf-widget-filters{width:100%!important;max-width:none!important}

/* Mini-cart: larger product visual, clear hierarchy, unit price + real qty stepper. */
.vsf-cart-drawer .mini_cart_item{
  display:grid!important;
  grid-template-columns:82px minmax(0,1fr)!important;
  column-gap:18px!important;
  row-gap:8px!important;
  align-items:start!important;
  padding:22px 30px 24px 0!important;
}
.vsf-cart-drawer .mini_cart_item>a:not(.remove){
  grid-column:1 / -1!important;
  display:grid!important;
  grid-template-columns:82px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:start!important;
  text-align:left!important;
  font-size:14px!important;
  line-height:1.28!important;
  font-weight:750!important;
}
.vsf-cart-drawer .mini_cart_item>a:not(.remove) img{
  width:82px!important;
  height:92px!important;
  object-fit:contain!important;
  margin:0!important;
  background:#fff!important;
}
.vsf-cart-drawer .vsf-mini-cart-controls{
  grid-column:2!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:10px!important;
  margin-top:0!important;
}
.vsf-mini-cart-price{
  display:block!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:800!important;
  color:#111!important;
}
.vsf-mini-cart-stepper{
  display:grid!important;
  grid-template-columns:36px 42px 36px!important;
  height:38px!important;
  border:1px solid #deded8!important;
  background:#f7f7f5!important;
}
.vsf-mini-cart-stepper button,
.vsf-mini-cart-stepper span{
  display:grid!important;
  place-items:center!important;
  border:0!important;
  background:transparent!important;
  color:#222!important;
  min-width:0!important;
  padding:0!important;
  font-size:15px!important;
}
.vsf-mini-cart-stepper button{cursor:pointer!important;font-size:18px!important}
.vsf-mini-cart-stepper button:hover{background:#ededE8!important}
.vsf-mini-cart-stepper.is-loading{opacity:.5;pointer-events:none}
.vsf-cart-drawer .mini_cart_item>.quantity{display:none!important}

/* Keep the bottom order actions visually anchored and readable. */
.vsf-cart-drawer__body{display:flex!important;flex-direction:column!important;min-height:0!important;height:calc(100dvh - 64px)!important;overflow:hidden!important}
.vsf-cart-drawer .woocommerce-mini-cart{overflow:auto!important;min-height:0!important;flex:1 1 auto!important;padding-bottom:18px!important}
.vsf-cart-drawer .woocommerce-mini-cart__total{flex:0 0 auto!important;font-size:16px!important;font-weight:800!important}
.vsf-cart-drawer .woocommerce-mini-cart__buttons{flex:0 0 auto!important}

/* Category cards always reserve a proper photo surface even when a category has no set thumbnail. */
.vsf-editorial-cat{background:#f4f4f1!important}
.vsf-editorial-cat>img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}

@media(max-width:860px){
  .vsf-header-main.vsf-container-wide,
  .vsf-nav-row.vsf-container-wide,
  .vsf-shop-main > .vsf-commerce-shell{width:calc(100% - 36px)!important}
}
@media(max-width:640px){
  .vsf-header-main.vsf-container-wide,
  .vsf-nav-row.vsf-container-wide,
  .vsf-shop-main > .vsf-commerce-shell{width:calc(100% - 28px)!important}
  .vsf-cart-drawer .mini_cart_item{grid-template-columns:70px minmax(0,1fr)!important}
  .vsf-cart-drawer .mini_cart_item>a:not(.remove){grid-template-columns:70px minmax(0,1fr)!important}
  .vsf-cart-drawer .mini_cart_item>a:not(.remove) img{width:70px!important;height:82px!important}
}


/* v0.6.3 — commerce pages intentionally use the slightly wider homepage frame.
   Header remains on the 1360px navigation frame; Shop/PDP use the homepage 1480px frame. */
.vsf-shop-main > .vsf-commerce-shell{
  width:min(calc(100% - 48px),var(--vsf-max))!important;
  max-width:var(--vsf-max)!important;
  margin-inline:auto!important;
}
@media(max-width:860px){
  .vsf-shop-main > .vsf-commerce-shell{width:calc(100% - 36px)!important;max-width:none!important}
}
@media(max-width:640px){
  .vsf-shop-main > .vsf-commerce-shell{width:calc(100% - 28px)!important;max-width:none!important}
}

/* v0.6.4 — temperature badges: theme-aligned, compact and left aligned. */
.woocommerce ul.products li.product .vsf-product-labels,
.wc-block-grid__products .wc-block-grid__product .vsf-product-labels{
  display:flex!important;
  width:100%!important;
  justify-content:flex-start!important;
  align-items:center!important;
  align-self:stretch!important;
  text-align:left!important;
  margin-left:0!important;
  margin-right:0!important;
}
.woocommerce ul.products li.product .vsf-product-labels .vsf-product-temp,
.woocommerce ul.products li.product .vsf-product-labels .vsf-product-tag,
.wc-block-grid__products .wc-block-grid__product .vsf-product-labels .vsf-product-temp,
.wc-block-grid__products .wc-block-grid__product .vsf-product-labels .vsf-product-tag{
  display:inline-flex!important;
  width:auto!important;
  align-self:flex-start!important;
  margin-left:0!important;
  margin-right:auto!important;
  border-radius:3px!important;
  padding:5px 8px!important;
}

/* v0.6.5 — archive infinite scroll + compact, vertically aligned mini-cart row. */
.woocommerce nav.woocommerce-pagination{display:none!important}
.vsf-infinite-sentinel{height:1px;width:100%;grid-column:1/-1}
.vsf-infinite-status{grid-column:1/-1;text-align:center;padding:28px 0 8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#777}

.vsf-cart-drawer .mini_cart_item{
  grid-template-columns:76px minmax(0,1fr)!important;
  column-gap:16px!important;
  row-gap:4px!important;
  align-items:center!important;
  padding:18px 28px 18px 0!important;
}
.vsf-cart-drawer .mini_cart_item>a:not(.remove){
  grid-column:1/-1!important;
  grid-template-columns:76px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:center!important;
  min-height:84px!important;
  margin:0!important;
}
.vsf-cart-drawer .mini_cart_item>a:not(.remove) img{
  width:76px!important;
  height:84px!important;
  object-fit:contain!important;
  align-self:center!important;
}
.vsf-cart-drawer .vsf-mini-cart-controls{
  grid-column:2!important;
  gap:7px!important;
  margin:-3px 0 0!important;
  align-self:start!important;
}
.vsf-mini-cart-price{
  font-size:17px!important;
  line-height:1.1!important;
  margin:0!important;
}
.vsf-cart-drawer .mini_cart_item .variation{margin:0!important}
@media(max-width:640px){
  .vsf-cart-drawer .mini_cart_item{grid-template-columns:66px minmax(0,1fr)!important}
  .vsf-cart-drawer .mini_cart_item>a:not(.remove){grid-template-columns:66px minmax(0,1fr)!important;min-height:74px!important}
  .vsf-cart-drawer .mini_cart_item>a:not(.remove) img{width:66px!important;height:74px!important}
}

/* v0.6.6 — widen the desktop header to the same 1480px frame used by Shop/PDP/homepage content. */
@media(min-width:861px){
  .vsf-header-main.vsf-container-wide,
  .vsf-nav-row.vsf-container-wide{
    width:min(calc(100% - 48px),var(--vsf-max))!important;
    max-width:var(--vsf-max)!important;
    margin-inline:auto!important;
  }
}

/* v0.6.7 — functional commerce controls: sticky shop tools, refined filters,
   smart search, working mini-cart stepper and back-to-top. */

/* Sticky catalogue navigation / filters sit directly below the sticky site header. */
.vsf-shop-sticky-tools{
  position:sticky;
  top:var(--vsf-sticky-header,158px);
  z-index:45;
  margin:20px 0 30px;
  padding:0 0 12px;
  background:rgba(255,255,255,.98);
  border-bottom:1px solid var(--vsf-line);
  backdrop-filter:blur(10px);
}
.vsf-shop-sticky-tools .vsf-category-pills{
  margin:0!important;
  padding:12px 0 10px;
  border:0!important;
}
.vsf-shop-sticky-tools .vsf-shop-utility{
  margin:0!important;
  padding:12px 0!important;
  border-top:1px solid var(--vsf-line)!important;
  border-bottom:0!important;
}
.vsf-shop-sort-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:46px;
  padding-top:10px;
  border-top:1px solid var(--vsf-line);
}
.vsf-shop-sticky-tools .woocommerce-result-count,
.vsf-shop-sticky-tools .woocommerce-ordering{
  float:none!important;
  display:block!important;
  width:auto!important;
  margin:0!important;
  position:static!important;
  clear:none!important;
}
.vsf-shop-sticky-tools .woocommerce-result-count{font-size:12px;color:var(--vsf-muted)}
.vsf-shop-sticky-tools .woocommerce-ordering select{
  min-width:190px;
  height:38px;
  border:1px solid var(--vsf-line);
  border-radius:2px;
  background:#fff;
  padding:0 34px 0 12px;
  font-size:12px;
  color:var(--vsf-ink);
}

/* Filter drawer — sharp, editorial and consistent with the retail theme. */
.vsf-filter-drawer{
  width:min(430px,94vw)!important;
  max-width:430px!important;
  background:#fff!important;
}
.vsf-filter-drawer__head{
  height:66px!important;
  padding:0 26px!important;
  font-size:16px!important;
  font-weight:800!important;
  border-bottom:1px solid var(--vsf-line)!important;
}
.vsf-filter-drawer__body{padding:0 26px 26px!important;background:#fff!important}
.vsf-native-filters{width:100%!important}
.vsf-filter-group{padding:22px 0!important;border-bottom:1px solid var(--vsf-line)!important}
.vsf-filter-group legend{
  margin:0 0 14px!important;
  font-size:10px!important;
  line-height:1.2!important;
  letter-spacing:.12em!important;
  font-weight:850!important;
  text-transform:uppercase!important;
  color:var(--vsf-ink)!important;
}
.vsf-filter-options{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.vsf-filter-options--scroll{display:block;max-height:230px;overflow:auto;padding-right:4px}
.vsf-filter-group>label,
.vsf-filter-options>label{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:36px!important;
  margin:0!important;
  font-size:13px!important;
  line-height:1.3!important;
  cursor:pointer!important;
}
.vsf-filter-group input[type=checkbox]{
  appearance:none;
  width:17px!important;
  height:17px!important;
  flex:0 0 17px;
  border:1px solid #aaa!important;
  border-radius:2px!important;
  background:#fff!important;
  display:grid;
  place-items:center;
}
.vsf-filter-group input[type=checkbox]:checked{background:var(--vsf-green)!important;border-color:var(--vsf-green)!important}
.vsf-filter-group input[type=checkbox]:checked:after{content:"✓";color:#fff;font-size:11px;font-weight:900;line-height:1}
.vsf-price-filter{gap:12px!important}
.vsf-price-filter input{height:42px!important;border-radius:2px!important;background:#fafaf8!important}
.vsf-filter-actions{
  bottom:-26px!important;
  padding:16px 0 26px!important;
  grid-template-columns:1fr auto!important;
  gap:14px!important;
}
.vsf-filter-actions .button{height:42px!important;border-radius:2px!important}
.vsf-filter-clear{white-space:nowrap!important}
.vsf-widget-filters{display:none!important}

/* Mini-cart row: title aligns to image; price and quantity follow immediately below. */
.vsf-cart-drawer .mini_cart_item{
  display:grid!important;
  grid-template-columns:78px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  column-gap:16px!important;
  row-gap:3px!important;
  align-items:center!important;
  padding:18px 30px 18px 0!important;
}
.vsf-cart-drawer .mini_cart_item>a:not(.remove){
  grid-column:1 / -1!important;
  display:grid!important;
  grid-template-columns:78px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:center!important;
  min-height:82px!important;
  margin:0!important;
  font-size:14px!important;
  line-height:1.3!important;
  font-weight:800!important;
}
.vsf-cart-drawer .mini_cart_item>a:not(.remove) img{
  width:78px!important;
  height:82px!important;
  object-fit:contain!important;
  margin:0!important;
  float:none!important;
}
.vsf-cart-drawer .vsf-mini-cart-controls{
  grid-column:2!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:10px 14px!important;
  margin:-8px 0 0!important;
}
.vsf-mini-cart-price{font-size:18px!important;font-weight:850!important;line-height:1!important;margin:0!important}
.vsf-mini-cart-stepper{height:36px!important;grid-template-columns:34px 38px 34px!important;background:#f7f7f4!important}
.vsf-cart-drawer .remove{top:18px!important;right:0!important}

/* Smart search dropdown. */
.site-header form.woocommerce-product-search.vsf-smart-search{position:relative!important}
.vsf-smart-search-results{
  position:absolute;
  z-index:120;
  top:calc(100% + 7px);
  left:0;
  right:0;
  max-height:min(590px,70vh);
  overflow:auto;
  background:#fff;
  border:1px solid var(--vsf-line);
  box-shadow:0 22px 48px rgba(0,0,0,.13);
  text-align:left;
}
.vsf-smart-search-results[hidden]{display:none!important}
.vsf-search-result{
  display:grid;
  grid-template-columns:56px minmax(0,1fr) auto;
  gap:13px;
  align-items:center;
  min-height:76px;
  padding:10px 14px;
  border-bottom:1px solid #ecece8;
  background:#fff;
}
.vsf-search-result:hover{background:#f7f7f4}
.vsf-search-result img{width:56px;height:56px;object-fit:contain;background:#fff}
.vsf-search-result__copy{min-width:0;display:block}
.vsf-search-result__copy strong{display:block;font-size:13px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vsf-search-result__meta{display:flex;gap:7px;margin-top:5px}
.vsf-search-result__meta em{font-size:9px;font-style:normal;text-transform:uppercase;letter-spacing:.07em;color:var(--vsf-green);font-weight:800}
.vsf-search-result>b{font-size:13px;white-space:nowrap}
.vsf-search-loading,.vsf-search-empty{padding:18px;font-size:12px;color:var(--vsf-muted)}
.vsf-search-view-all{display:block;padding:13px 14px;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;border-top:1px solid var(--vsf-line)}
.vsf-search-view-all:hover{color:var(--vsf-green)}

/* Back to top for long, infinite-scroll catalogue pages. */
.vsf-back-to-top{
  position:fixed;
  z-index:55;
  right:28px;
  bottom:88px;
  width:44px;
  height:44px;
  border:1px solid #111;
  border-radius:2px;
  background:#fff;
  color:#111;
  display:grid;
  place-items:center;
  font-size:21px;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:.18s ease;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
}
.vsf-back-to-top.is-visible{opacity:1;visibility:visible;transform:none}
.vsf-back-to-top:hover{background:#111;color:#fff}

@media(max-width:860px){
  .vsf-shop-sticky-tools{top:var(--vsf-sticky-header,112px);margin-top:14px}
  .vsf-shop-sort-row{align-items:stretch;flex-direction:column;gap:8px}
  .vsf-shop-sticky-tools .woocommerce-ordering,.vsf-shop-sticky-tools .woocommerce-ordering select{width:100%!important}
  .vsf-filter-options{grid-template-columns:1fr}
  .vsf-search-result{grid-template-columns:48px minmax(0,1fr)}
  .vsf-search-result img{width:48px;height:48px}
  .vsf-search-result>b{grid-column:2}
  .vsf-back-to-top{right:16px;bottom:82px;width:42px;height:42px}
}

/* =========================================================
   VSF RETAIL INFORMATION PAGES — v0.6.8
   ========================================================= */
.vsf-content-frame,.vsf-commerce-frame{width:min(calc(100% - 48px),var(--vsf-max));margin-inline:auto}
.vsf-info-page{background:#fff;color:#111}
.vsf-info-title{padding:92px 0 54px;text-align:center}
.vsf-info-title .vsf-eyebrow,.vsf-info-hero .vsf-eyebrow,.vsf-story-grid .vsf-eyebrow,.vsf-stockist-card .vsf-eyebrow{color:var(--vsf-green);font-size:11px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.vsf-info-title h1{font-size:clamp(42px,5vw,72px);line-height:.98;letter-spacing:-.055em;margin:9px 0 16px}
.vsf-info-title>p:last-child{max-width:720px;margin:0 auto;color:var(--vsf-muted);font-size:16px;line-height:1.6}

.vsf-info-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(460px,.9fr);min-height:660px;border-bottom:1px solid var(--vsf-line);align-items:stretch}
.vsf-info-hero__copy{padding:104px 8% 100px 0;align-self:center}
.vsf-info-hero h1{font-size:clamp(54px,6.5vw,104px);line-height:.89;letter-spacing:-.065em;margin:15px 0 28px;max-width:760px}
.vsf-info-lead{font-size:18px;line-height:1.6;max-width:680px;color:#444}
.vsf-info-actions{display:flex;align-items:center;gap:24px;margin-top:36px}
.vsf-info-hero__image{display:block;min-height:660px;background:#f6f6f3;overflow:hidden}
.vsf-info-hero__image img{width:100%;height:100%;object-fit:cover;display:block}
.vsf-info-statbar{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--vsf-line)}
.vsf-info-statbar>div{padding:34px 30px;border-right:1px solid var(--vsf-line)}.vsf-info-statbar>div:first-child{padding-left:0}.vsf-info-statbar>div:last-child{border-right:0}
.vsf-info-statbar strong{display:block;font-size:19px;margin-bottom:4px}.vsf-info-statbar span{font-size:13px;color:var(--vsf-muted)}
.vsf-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding-block:110px;border-bottom:1px solid var(--vsf-line)}
.vsf-story-grid h2{font-size:clamp(42px,4.5vw,70px);line-height:.96;letter-spacing:-.055em;margin:13px 0 0;max-width:650px}.vsf-story-copy{font-size:17px;line-height:1.75;color:#333;align-self:center}.vsf-story-copy p+p{margin-top:20px}
.vsf-editorial-images{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding-block:16px 110px}.vsf-editorial-images a{aspect-ratio:1/1;overflow:hidden;background:#f4f4f1}.vsf-editorial-images img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.vsf-editorial-images a:hover img{transform:scale(1.025)}
.vsf-info-cta{background:#111;color:#fff;padding:90px 0}.vsf-info-cta h2{font-size:clamp(44px,6vw,86px);letter-spacing:-.06em;line-height:.95;margin:8px 0 28px}.vsf-info-cta .button{background:#fff!important;color:#111!important;border-color:#fff!important}

.vsf-contact-layout{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.35fr);gap:96px;padding:30px 0 90px;border-top:1px solid var(--vsf-line)}
.vsf-contact-details,.vsf-contact-form-wrap{padding-top:42px}.vsf-contact-details h2,.vsf-contact-form-wrap h2{font-size:30px;letter-spacing:-.035em;margin-bottom:15px}.vsf-contact-details>p{color:var(--vsf-muted);line-height:1.6}.vsf-contact-details dl{margin:34px 0}.vsf-contact-details dt{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.1em;margin-top:20px;color:#777}.vsf-contact-details dd{margin:5px 0 0;font-size:15px}.vsf-contact-details dd a{text-decoration:underline;text-underline-offset:3px}
.vsf-outline-button{display:inline-flex;min-height:44px;padding:0 20px;align-items:center;justify-content:center;border:1px solid #111;border-radius:2px;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;background:#fff;color:#111}.vsf-outline-button:hover{background:#111;color:#fff}
.vsf-contact-form{display:grid;gap:19px}.vsf-contact-form .vsf-form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.vsf-contact-form label{display:grid;gap:7px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.vsf-contact-form input,.vsf-contact-form textarea,.vsf-contact-form select{width:100%;border:1px solid #d8d8d3;border-radius:2px;background:#fff;min-height:50px;padding:12px 14px;font:inherit;font-size:14px;text-transform:none;letter-spacing:0}.vsf-contact-form textarea{resize:vertical}.vsf-contact-form .button{justify-self:start;min-width:170px}.vsf-form-notice{padding:12px 14px;margin-bottom:20px;border:1px solid #d1a1a1;background:#fff7f7;font-size:13px}.vsf-form-notice.is-success{border-color:#a8cfaa;background:#f5fbf5}
.vsf-map-band{padding-bottom:100px}.vsf-map-band iframe{display:block;width:100%;height:520px;border:0;filter:saturate(.9)}

.vsf-faq-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:76px;padding:20px 0 110px}.vsf-faq-aside{align-self:start;position:sticky;top:170px;background:#f5f5f2;padding:34px}.vsf-faq-aside h2{font-size:26px;margin:0 0 12px}.vsf-faq-aside p{color:var(--vsf-muted);line-height:1.6}.vsf-faq-aside a{display:flex;margin-top:10px;width:100%}.vsf-faq-group{margin-bottom:46px}.vsf-faq-group h2{font-size:28px;margin:0 0 12px;letter-spacing:-.03em}.vsf-faq-item{border-top:1px solid var(--vsf-line)}.vsf-faq-item:last-child{border-bottom:1px solid var(--vsf-line)}.vsf-faq-item summary{list-style:none;cursor:pointer;padding:18px 42px 18px 0;font-size:15px;font-weight:750;position:relative}.vsf-faq-item summary::-webkit-details-marker{display:none}.vsf-faq-item summary:after{content:'+';position:absolute;right:5px;top:14px;font-size:22px;font-weight:400}.vsf-faq-item[open] summary:after{content:'–'}.vsf-faq-item>div{padding:0 54px 19px 0;color:#555;font-size:14px;line-height:1.65}

.vsf-track-card{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:1px;background:var(--vsf-line);margin-bottom:110px;border:1px solid var(--vsf-line)}.vsf-track-inner,.vsf-track-help{background:#fff;padding:48px}.vsf-track-inner .woocommerce-form-track-order{margin:0!important}.vsf-track-inner .form-row{float:none!important;width:100%!important;margin:0 0 18px!important}.vsf-track-inner label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.vsf-track-inner input{width:100%;height:52px;border:1px solid #d8d8d3!important;border-radius:2px!important;padding:0 14px!important}.vsf-track-inner button{width:100%;height:50px;border-radius:2px!important;background:#111!important;color:#fff!important}.vsf-track-help{display:flex;flex-direction:column;justify-content:center}.vsf-track-help strong{font-size:20px}.vsf-track-help p{color:var(--vsf-muted);line-height:1.55;margin:10px 0 22px}

.vsf-location-card{display:grid;grid-template-columns:360px minmax(0,1fr);border:1px solid var(--vsf-line);margin:20px auto 34px;min-height:570px}.vsf-location-details{padding:48px;align-self:center}.vsf-location-details h2{font-size:30px;margin:8px 0 18px}.vsf-location-details p{font-size:14px;line-height:1.6}.vsf-muted{color:var(--vsf-muted)!important}.vsf-location-card iframe{width:100%;height:100%;min-height:570px;border:0}.vsf-location-links{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--vsf-line);margin-bottom:110px;border:1px solid var(--vsf-line)}.vsf-location-links a{background:#fff;padding:26px 30px;display:flex;justify-content:space-between;align-items:center}.vsf-location-links span{font-size:12px;color:var(--vsf-muted)}.vsf-location-links strong{font-size:14px}

.vsf-stockist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:46px 24px;padding:20px 0 110px}.vsf-stockist-card{min-width:0}.vsf-stockist-card__media{aspect-ratio:4/3;background:#f4f4f1;overflow:hidden}.vsf-stockist-card__media img{width:100%;height:100%;object-fit:cover}.vsf-stockist-own{display:grid;place-items:center}.vsf-stockist-own img{object-fit:contain;width:48%;height:48%}.vsf-stockist-card__body{padding-top:20px}.vsf-stockist-card h2{font-size:21px;letter-spacing:-.025em;margin:6px 0 12px}.vsf-stockist-card__body>p,.vsf-stockist-card__body .entry-content{font-size:13px;color:#555;line-height:1.6}.vsf-stockist-actions{display:flex;align-items:center;gap:18px;margin-top:20px}.vsf-stockist-card--cta{background:#111;color:#fff;display:flex;align-items:center;min-height:100%}.vsf-stockist-card--cta .vsf-stockist-card__body{padding:40px}.vsf-stockist-card--cta p{color:#ccc}.vsf-stockist-card--cta .button{background:#fff!important;color:#111!important;border-color:#fff!important}.vsf-page-extra{padding:60px 0 100px;border-top:1px solid var(--vsf-line)}

@media(max-width:900px){
 .vsf-content-frame,.vsf-commerce-frame{width:min(100% - 32px,var(--vsf-max))}
 .vsf-info-title{padding:62px 0 38px}.vsf-info-hero{grid-template-columns:1fr;min-height:0}.vsf-info-hero__copy{padding:66px 16px 55px}.vsf-info-hero__image{min-height:460px}.vsf-info-statbar{grid-template-columns:1fr 1fr}.vsf-info-statbar>div:first-child{padding-left:24px}.vsf-info-statbar>div:nth-child(2){border-right:0}.vsf-story-grid{grid-template-columns:1fr;gap:32px;padding:70px 16px}.vsf-editorial-images{grid-template-columns:1fr 1fr;padding:10px 16px 70px}.vsf-editorial-images a:last-child{display:none}
 .vsf-contact-layout{grid-template-columns:1fr;gap:18px;padding-bottom:70px}.vsf-contact-form .vsf-form-row{grid-template-columns:1fr}.vsf-map-band{padding-bottom:70px}.vsf-map-band iframe{height:380px}
 .vsf-faq-layout{grid-template-columns:1fr;gap:40px}.vsf-faq-aside{position:static}.vsf-track-card{grid-template-columns:1fr}.vsf-track-inner,.vsf-track-help{padding:30px}.vsf-location-card{grid-template-columns:1fr}.vsf-location-details{padding:34px}.vsf-location-card iframe{min-height:420px}.vsf-location-links{grid-template-columns:1fr;margin-bottom:70px}.vsf-stockist-grid{grid-template-columns:1fr 1fr;gap:36px 16px}
}
@media(max-width:600px){.vsf-info-hero h1{font-size:52px}.vsf-info-hero__image{min-height:360px}.vsf-info-statbar{grid-template-columns:1fr}.vsf-info-statbar>div{border-right:0!important;border-bottom:1px solid var(--vsf-line);padding-left:16px!important}.vsf-info-statbar>div:last-child{border-bottom:0}.vsf-editorial-images{grid-template-columns:1fr}.vsf-editorial-images a:nth-child(2){display:none}.vsf-stockist-grid{grid-template-columns:1fr}.vsf-location-links a{align-items:flex-start;gap:20px}.vsf-info-actions{align-items:flex-start;flex-direction:column}}

/* =========================================================
 * v0.6.9 — Split retail hero / square product media
 * ========================================================= */
.vsf-commerce-hero--split{
  min-height:0;
  background:#111;
  display:block;
  color:#fff;
  overflow:hidden;
}
.vsf-commerce-hero__frame{
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(440px,.96fr);
  min-height:620px;
  align-items:stretch;
}
.vsf-commerce-hero__copy{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:74px 72px 74px 0;
  background:#111;
}
.vsf-commerce-hero__copy .vsf-eyebrow{color:#fff}
.vsf-commerce-hero--split h1{
  font-size:clamp(52px,5.25vw,84px);
  line-height:.94;
  letter-spacing:-.052em;
  max-width:760px;
  margin:0 0 26px;
  font-weight:800;
}
.vsf-commerce-hero--split .vsf-commerce-hero__lede{
  max-width:610px;
  font-size:18px;
  line-height:1.55;
  margin:0;
  color:rgba(255,255,255,.78);
}
.vsf-commerce-hero--split .vsf-commerce-hero__media{
  position:relative;
  display:block;
  align-self:center;
  width:100%;
  aspect-ratio:1/1;
  max-height:620px;
  background:#f4f4f1;
  overflow:hidden;
}
.vsf-commerce-hero--split .vsf-commerce-hero__media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}
.vsf-commerce-hero__fade{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,#111 0%,rgba(17,17,17,.72) 7%,rgba(17,17,17,.22) 18%,rgba(17,17,17,0) 34%);
}
.vsf-commerce-hero--split .vsf-actions{margin-top:32px}
.vsf-commerce-hero--split .vsf-hero-product-link{max-width:430px;white-space:normal;line-height:1.5}

@media(max-width:1100px){
  .vsf-commerce-hero__frame{grid-template-columns:minmax(0,1fr) minmax(390px,.85fr);min-height:560px}
  .vsf-commerce-hero__copy{padding:60px 44px 60px 0}
  .vsf-commerce-hero--split .vsf-commerce-hero__media{max-height:560px}
}
@media(max-width:860px){
  .vsf-commerce-hero--split{background:#111}
  .vsf-commerce-hero__frame{display:flex;flex-direction:column-reverse;width:100%;min-height:0}
  .vsf-commerce-hero--split .vsf-commerce-hero__media{width:100%;max-height:none;aspect-ratio:1/1}
  .vsf-commerce-hero__fade{background:linear-gradient(180deg,rgba(17,17,17,0) 55%,#111 100%)}
  .vsf-commerce-hero__copy{padding:38px max(20px,calc((100vw - min(calc(100% - 40px),1480px))/2)) 52px}
}
@media(max-width:640px){
  .vsf-commerce-hero--split h1{font-size:44px;max-width:100%}
  .vsf-commerce-hero--split .vsf-commerce-hero__lede{font-size:15px}
  .vsf-commerce-hero__copy{padding:32px 18px 44px}
}

/* v0.7.0 — refined cold-chain explainer */
.vsf-delivery-section{background:#f3f3ef;padding-top:104px;padding-bottom:104px}
.vsf-delivery-intro{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.5fr);gap:90px;align-items:start;border-bottom:0;padding-bottom:58px}
.vsf-delivery-intro__label{padding-top:9px}
.vsf-delivery-intro__label .vsf-eyebrow{margin-bottom:28px}
.vsf-delivery-kicker{max-width:330px;margin:0;color:#686864;font-size:15px;line-height:1.65}
.vsf-delivery-intro__copy{max-width:880px}
.vsf-delivery-intro__copy h2{font-size:clamp(48px,5vw,76px);line-height:.93;letter-spacing:-.052em;margin:0 0 28px;max-width:800px}
.vsf-delivery-intro__copy>p{font-size:18px;line-height:1.6;color:#5e5e5a;max-width:720px;margin:0}
.vsf-delivery-links{display:flex;gap:30px;align-items:center;margin-top:28px}
.vsf-delivery-links .vsf-text-link{font-size:10px}
.vsf-delivery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:0}
.vsf-delivery-card{position:relative;background:#fff;border:1px solid #d9d9d3;padding:34px 34px 32px;min-height:280px;display:flex;flex-direction:column;transition:border-color .2s ease,transform .2s ease}
.vsf-delivery-card:hover{border-color:#aaa9a2;transform:translateY(-2px)}
.vsf-delivery-card__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:54px}
.vsf-delivery-icon{font-size:10px;line-height:1;font-weight:850;letter-spacing:.08em;color:var(--vsf-green)}
.vsf-delivery-symbol{display:grid;place-items:center;width:36px;height:36px;border:1px solid #d4d4ce;font-size:16px;line-height:1;color:#151515}
.vsf-delivery-card h3{font-size:25px;line-height:1.05;letter-spacing:-.025em;margin:0 0 13px}
.vsf-delivery-card p{font-size:15px;line-height:1.55;color:#666661;margin:0;max-width:390px}
.vsf-delivery-card__link{margin-top:auto;padding-top:24px;color:#111;text-decoration:none;text-transform:uppercase;font-size:9px;font-weight:850;letter-spacing:.08em;border-bottom:1px solid #111;align-self:flex-start}
@media(max-width:980px){.vsf-delivery-intro{grid-template-columns:1fr;gap:24px}.vsf-delivery-intro__label{display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:start}.vsf-delivery-kicker{max-width:520px}.vsf-delivery-grid{grid-template-columns:1fr 1fr}.vsf-delivery-card:last-child{grid-column:1/-1}.vsf-delivery-card{min-height:240px}}
@media(max-width:640px){.vsf-delivery-section{padding-top:64px;padding-bottom:64px}.vsf-delivery-intro{padding-bottom:36px}.vsf-delivery-intro__label{display:block}.vsf-delivery-intro__label .vsf-eyebrow{margin-bottom:14px}.vsf-delivery-intro__copy h2{font-size:43px}.vsf-delivery-intro__copy>p{font-size:15px}.vsf-delivery-links{gap:20px;flex-wrap:wrap}.vsf-delivery-grid{grid-template-columns:1fr;gap:8px}.vsf-delivery-card:last-child{grid-column:auto}.vsf-delivery-card{min-height:auto;padding:25px}.vsf-delivery-card__top{margin-bottom:34px}.vsf-delivery-card h3{font-size:22px}}


/* =========================================================
 * v0.7.1 — Light editorial hero for mixed product photography
 * Keeps catalogue shots at their natural visual proportions and
 * avoids harsh seams when source images have white backgrounds.
 * ========================================================= */
.vsf-commerce-hero--split{
  background:#fff;
  color:#111;
  border-bottom:1px solid var(--vsf-line);
}
.vsf-commerce-hero__frame{
  background:#fff;
  grid-template-columns:minmax(0,1.02fr) minmax(440px,.98fr);
  min-height:620px;
}
.vsf-commerce-hero__copy{
  background:#fff;
  color:#111;
  padding-right:78px;
}
.vsf-commerce-hero__copy .vsf-eyebrow{color:var(--vsf-green)}
.vsf-commerce-hero--split .vsf-commerce-hero__lede{color:#5e5e5a}
.vsf-commerce-hero--split .vsf-hero-product-link{
  color:#111;
  border-bottom-color:#111;
}
.vsf-commerce-hero--split .vsf-commerce-hero__media{
  background:#fff;
  aspect-ratio:1/1;
}
.vsf-commerce-hero--split .vsf-commerce-hero__media img{
  object-fit:contain;
  object-position:center;
  background:#fff;
}
.vsf-commerce-hero__fade{
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 4%,rgba(255,255,255,.86) 11%,rgba(255,255,255,.38) 21%,rgba(255,255,255,0) 34%);
}
.vsf-commerce-hero--split .button.alt{
  background:#111!important;
  border-color:#111!important;
  color:#fff!important;
}
.vsf-commerce-hero--split .button.alt:hover{
  background:var(--vsf-green)!important;
  border-color:var(--vsf-green)!important;
}
@media(max-width:860px){
  .vsf-commerce-hero--split{background:#fff}
  .vsf-commerce-hero__frame{background:#fff}
  .vsf-commerce-hero__fade{background:linear-gradient(180deg,rgba(255,255,255,0) 62%,#fff 100%)}
  .vsf-commerce-hero__copy{background:#fff}
}

/* v0.7.2 hero flash prevention */
.vsf-commerce-hero--split.vsf-hero-dynamic-pending [data-vsf-hero-image]{opacity:0}
.vsf-commerce-hero--split [data-vsf-hero-image]{transition:opacity .18s ease}
.vsf-commerce-hero--split.vsf-hero-dynamic-ready [data-vsf-hero-image]{opacity:1}
.vsf-commerce-hero--split.vsf-hero-dynamic-pending [data-vsf-hero-link]{visibility:hidden}


/* =========================================================
 * v0.7.3 — Unified retail page width + full-bleed hero media
 * ========================================================= */
@media (min-width:861px){
  /* Keep the copy on the 1480px retail grid while allowing the
     product image field to continue cleanly to the viewport edge. */
  .vsf-commerce-hero--split .vsf-commerce-hero__frame{
    width:100%;
    max-width:none;
    margin:0;
    grid-template-columns:minmax(0,1fr) minmax(520px,1fr);
    min-height:0;
  }
  .vsf-commerce-hero--split .vsf-commerce-hero__copy{
    padding-left:max(24px,calc((100vw - var(--vsf-max))/2 + 24px));
    padding-right:72px;
  }
  .vsf-commerce-hero--split .vsf-commerce-hero__media{
    width:100%;
    max-height:none;
    align-self:stretch;
    aspect-ratio:1 / 1;
    background:#fff;
  }
  .vsf-commerce-hero--split .vsf-commerce-hero__media img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center right;
    background:#fff;
  }
  .vsf-commerce-hero__fade{
    left:-1px;
    right:auto;
    width:38%;
    background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.96) 10%,rgba(255,255,255,.55) 48%,rgba(255,255,255,0) 100%);
  }
}

/* All dedicated retail information pages use the same 1480px
   body frame chosen for Shop and product pages. */
.vsf-info-page .vsf-content-frame,
.vsf-info-page .vsf-commerce-frame{
  width:min(calc(100% - 48px),var(--vsf-max));
  margin-inline:auto;
}
@media(max-width:900px){
  .vsf-info-page .vsf-content-frame,
  .vsf-info-page .vsf-commerce-frame{width:min(calc(100% - 32px),var(--vsf-max))}
}
@media(max-width:600px){
  .vsf-info-page .vsf-content-frame,
  .vsf-info-page .vsf-commerce-frame{width:calc(100% - 28px)}
}

/* =========================================================
 * v0.7.4 — Navigation dropdowns + stockist feature row
 * ========================================================= */
.primary-navigation .vsf-nav-dropdown{position:relative;display:flex;align-items:center;gap:5px}
.primary-navigation .vsf-submenu-toggle{border:0;background:transparent;padding:2px 0 2px 1px;font:inherit;font-size:12px;line-height:1;color:#555;cursor:pointer}
.primary-navigation .sub-menu{position:absolute;z-index:90;top:calc(100% + 13px);left:-18px;min-width:190px;padding:10px;background:#fff;border:1px solid var(--vsf-line);box-shadow:0 12px 26px rgba(0,0,0,.07);display:none;gap:0}
.primary-navigation .sub-menu:before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.primary-navigation .sub-menu li{display:block;border:0}
.primary-navigation .sub-menu a{display:block;padding:10px 10px;font-size:10px;white-space:nowrap}
.primary-navigation .vsf-nav-dropdown:hover>.sub-menu,.primary-navigation .vsf-nav-dropdown:focus-within>.sub-menu,.primary-navigation .vsf-nav-dropdown.is-open>.sub-menu{display:block}

.vsf-stockist-feature-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:24px;padding:20px 0 54px}
.vsf-stockist-feature-row .vsf-stockist-card{min-height:100%;border:1px solid var(--vsf-line)}
.vsf-stockist-feature-row .vsf-stockist-card--own{background:#fff}
.vsf-stockist-feature-row .vsf-stockist-card--own .vsf-stockist-card__media{aspect-ratio:4/3;border-bottom:1px solid var(--vsf-line)}
.vsf-stockist-feature-row .vsf-stockist-card--own .vsf-stockist-card__body{padding:22px 24px 26px}
.vsf-stockist-feature-row .vsf-stockist-card--cta{min-height:100%;background:#111;display:flex;align-items:center}
.vsf-stockist-feature-row .vsf-stockist-card--cta .vsf-stockist-card__body{padding:clamp(42px,6vw,78px)}
.vsf-stockist-feature-row .vsf-stockist-card--cta h2{font-size:clamp(38px,4.3vw,64px);line-height:.98;letter-spacing:-.045em;max-width:760px;margin:8px 0 22px}
.vsf-stockist-feature-row .vsf-stockist-card--cta p:not(.vsf-eyebrow){font-size:16px;line-height:1.65;max-width:690px;color:#c9c9c5}
.vsf-stockist-cta-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px}
.vsf-stockist-cta-link{color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:850;border-bottom:1px solid #fff;padding-bottom:3px}
.vsf-stockist-grid--partners{padding-top:0}

@media(max-width:860px){
  .primary-navigation .vsf-nav-dropdown{display:block}
  .primary-navigation .vsf-nav-dropdown>a{padding-right:42px}
  .primary-navigation .vsf-submenu-toggle{position:absolute;right:2px;top:8px;width:34px;height:34px;border:1px solid var(--vsf-line);display:grid;place-items:center}
  .primary-navigation .sub-menu{position:static;box-shadow:none;border:0;border-top:1px solid var(--vsf-line);padding:0 0 0 16px;min-width:0;background:#fafaf8}
  .primary-navigation .sub-menu:before{display:none}
  .primary-navigation .vsf-nav-dropdown:hover>.sub-menu{display:none}
  .primary-navigation .vsf-nav-dropdown.is-open>.sub-menu{display:block}
  .primary-navigation .sub-menu a{padding:12px 6px}
  .vsf-stockist-feature-row{grid-template-columns:1fr;gap:14px}
}
@media(max-width:600px){
  .vsf-stockist-feature-row .vsf-stockist-card--cta .vsf-stockist-card__body{padding:36px 24px}
  .vsf-stockist-feature-row .vsf-stockist-card--cta h2{font-size:38px}
}
