/*
Theme Name: Victory Packs
Theme URI: https://victorypacks.org
Author: Victory Packs
Description: Premium custom WooCommerce theme for Victory Packs — same-day cannabis delivery, Fraser Valley BC. Anton display + Inter, black / racing-red / cream.
Template: storefront
Version: 1.0.0
*/

:root{
  --ink:#0E0E10;
  --ink-2:#17171B;
  --ink-3:#202026;
  --red:#C8102E;
  --red-dk:#A00C23;
  --cream:#F6F4EF;
  --paper:#FFFFFF;
  --muted:#8C8C93;
  --muted-d:#B9B9C0;
  --line:#E8E5DE;
  --line-dk:#2A2A30;
  --display:"Anton",Impact,sans-serif;
  --head:"Outfit",-apple-system,sans-serif;
  --body:"Inter",-apple-system,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;margin-top:0!important}
body.woocommerce-page,body{margin:0;font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none;transition:color .2s,background .2s,transform .2s}
h1,h2,h3,h4{font-family:var(--head);font-weight:700;line-height:1.05;margin:0;letter-spacing:-.01em}
.vp-display{font-family:var(--display);font-weight:400;letter-spacing:.01em;text-transform:uppercase;line-height:.95}
.vp-wrap{max-width:1240px;margin:0 auto;padding:0 28px}
.vp-eyebrow{font-family:var(--body);font-size:.74rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--red);display:inline-block;margin-bottom:1rem}
.vp-eyebrow.light{color:#fff;opacity:.7}
.vp-btn{display:inline-flex;align-items:center;gap:.55rem;padding:1rem 2.2rem;border-radius:4px;font-family:var(--head);font-weight:700;font-size:.92rem;text-transform:uppercase;letter-spacing:.06em;border:2px solid var(--red);background:var(--red);color:#fff!important;cursor:pointer}
.vp-btn:hover{background:var(--red-dk);border-color:var(--red-dk);transform:translateY(-2px)}
.vp-btn.ghost{background:transparent;border-color:#fff;color:#fff!important}
.vp-btn.ghost:hover{background:#fff;color:var(--ink)!important}
.vp-btn.dark{background:var(--ink);border-color:var(--ink)}
.vp-btn.dark:hover{background:var(--red);border-color:var(--red)}

/* ============ HEADER ============ */
.site-header,.storefront-primary-navigation,.site-branding,.main-navigation,.site-header-cart{display:none!important}
#vp-header{position:sticky;top:0;z-index:9999;background:var(--ink);color:#fff;border-bottom:1px solid var(--line-dk)}
.vp-topbar{background:#000;color:#fff;font-size:.76rem;letter-spacing:.04em}
.vp-topbar .vp-wrap{display:flex;justify-content:space-between;align-items:center;height:36px}
.vp-topbar a{color:#fff}
.vp-topbar .sep{color:var(--red);margin:0 .5rem}
.vp-topbar .right{color:var(--muted-d)}
.vp-topbar .tb-links a{color:#fff;font-weight:600}
.vp-topbar .tb-links a:hover{color:var(--red)}
.vp-mobonly{display:none}
.vp-nav{display:flex;align-items:center;gap:1.2rem;height:84px}
.vp-logo{display:flex;align-items:center;flex:0 0 auto}
.vp-logo img{height:58px;width:auto;display:block}
.vp-menu{display:flex;align-items:center;gap:.2rem;margin:0 auto;list-style:none;padding:0}
.vp-menu li{margin:0}
.vp-menu a{font-family:var(--head);font-weight:600;font-size:.84rem;text-transform:uppercase;letter-spacing:.04em;color:#fff;padding:.6rem .7rem;border-radius:4px;white-space:nowrap;display:block}
.vp-menu a:hover,.vp-menu .current-menu-item>a{color:var(--red)}
.vp-actions{display:flex;align-items:center;gap:.8rem;flex:0 0 auto}
.vp-cart{position:relative;display:flex;align-items:center;gap:.5rem;color:#fff;font-family:var(--head);font-weight:700;font-size:.85rem;padding:.55rem .9rem;border:1.5px solid var(--line-dk);border-radius:4px}
.vp-cart:hover{border-color:var(--red);color:#fff}
.vp-cart svg{width:20px;height:20px;flex:0 0 auto}
.vp-cart .vp-count{position:absolute;top:-8px;right:-8px;background:var(--red);color:#fff;min-width:20px;height:20px;border-radius:999px;font-size:.7rem;display:flex;align-items:center;justify-content:center;padding:0 5px}
.vp-cart .amt{color:var(--muted-d)}
.vp-burger{display:none;background:none;border:0;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;padding:.3rem .4rem}
/* tablet: collapse to burger before the menu can crowd the logo/cart */
@media(max-width:1040px){
  .vp-topbar{display:none}
  .vp-burger{display:block}
  .vp-nav{height:64px;justify-content:space-between}
  .vp-logo img{height:44px}
  .vp-menu{position:fixed;left:0;right:0;top:64px;bottom:auto;max-height:calc(100vh - 64px);overflow:auto;flex-direction:column;align-items:stretch;background:var(--ink);padding:.6rem;gap:.1rem;border-top:1px solid var(--line-dk);border-bottom:1px solid var(--line-dk);box-shadow:0 16px 30px rgba(0,0,0,.5);display:none;margin:0}
  .vp-menu.open{display:flex}
  .vp-menu a{width:100%;padding:.95rem 1rem;font-size:.95rem;border-radius:6px}
  .vp-menu a:hover{background:var(--ink-3)}
  .vp-mobonly{display:block;border-top:1px solid var(--line-dk);margin-top:.3rem}
}
@media(max-width:520px){
  .vp-cart .amt{display:none}
  .vp-cart{padding:.5rem .65rem}
  .vp-wrap{padding:0 18px}
}

/* ============ HERO (compact, no wasted space) ============ */
.vp-hero{position:relative;min-height:clamp(460px,60vh,600px);display:flex;align-items:center;color:#fff;overflow:hidden;background:var(--ink)}
@media(max-width:760px){.vp-hero{min-height:clamp(420px,72vh,560px)}}
.vp-hero .bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.05)}
.vp-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(8,8,10,.94) 0%,rgba(8,8,10,.74) 45%,rgba(8,8,10,.4) 100%)}
.vp-hero .vp-wrap{position:relative;z-index:2;padding-top:4rem;padding-bottom:4.2rem}
.vp-hero .vp-eyebrow{margin-bottom:.7rem}
.vp-hero h1{font-size:clamp(2.4rem,5.4vw,4.6rem);max-width:18ch;margin:.2rem 0 .9rem;line-height:1.02}
.vp-hero h1 .red{color:var(--red)}
.vp-hero p.lede{font-size:1.06rem;max-width:48ch;color:#e8e8ea;margin-bottom:1.6rem;line-height:1.5}
.vp-hero-btns{display:flex;gap:.8rem;flex-wrap:wrap}
.vp-checker{position:absolute;left:0;right:0;bottom:0;height:9px;z-index:3;background:repeating-linear-gradient(90deg,#fff 0 30px,#0E0E10 30px 60px)}
.vp-hero-stats{display:flex;gap:2rem;margin-top:1.8rem;flex-wrap:wrap}
.vp-hero-stats div{border-left:2px solid var(--red);padding-left:.9rem}
.vp-hero-stats b{font-family:var(--display);font-size:1.5rem;display:block;line-height:1}
.vp-hero-stats span{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:#cfcfd4}

/* ============ SECTIONS ============ */
.vp-sec{padding:clamp(4rem,8vw,7rem) 0}
.vp-sec.cream{background:var(--cream)}
.vp-sec.dark{background:var(--ink);color:#fff}
.vp-sec-head{text-align:center;max-width:640px;margin:0 auto 3.2rem}
.vp-sec-head h2{font-size:clamp(2.2rem,5vw,3.6rem)}
.vp-sec.dark .vp-sec-head h2{color:#fff}
.vp-sec-head p{color:var(--muted);margin-top:.8rem}

/* category grid */
.vp-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:980px){.vp-cats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.vp-cats{grid-template-columns:1fr}}
.vp-cat{position:relative;display:block;height:230px;border-radius:8px;overflow:hidden;background:var(--ink)}
.vp-cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;transition:.4s}
.vp-cat:hover img{opacity:.38;transform:scale(1.07)}
.vp-cat:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(14,14,16,.92),rgba(14,14,16,.1))}
.vp-cat .lbl{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.3rem 1.2rem}
.vp-cat .lbl h3{font-family:var(--display);text-transform:uppercase;color:#fff;font-size:1.35rem;letter-spacing:.02em}
.vp-cat .lbl span{font-size:.74rem;color:var(--muted-d);text-transform:uppercase;letter-spacing:.1em}
.vp-cat .lbl .go{color:var(--red);font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;opacity:0;transition:.3s}
.vp-cat:hover .lbl .go{opacity:1}

/* product grid (shared with shop) — equal-height flex cards */
.vp-prods,.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:20px!important;margin:0!important;padding:0!important;list-style:none!important;width:100%!important}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important;content:none!important}
@media(max-width:980px){.vp-prods,.woocommerce ul.products{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:760px){.vp-prods,.woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:460px){.vp-prods,.woocommerce ul.products{grid-template-columns:1fr!important}}
.woocommerce ul.products li.product,.vp-card{float:none!important;clear:none!important;width:auto!important;margin:0!important;padding:0!important;background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden;transition:.25s;display:flex!important;flex-direction:column!important}
.woocommerce ul.products li.product.first{clear:none!important}
.woocommerce ul.products li.product:hover,.vp-card:hover{box-shadow:0 16px 40px rgba(0,0,0,.13);transform:translateY(-4px);border-color:#dcd8cf;z-index:2}
/* the link that wraps image + title grows so price/button align across the row */
.woocommerce ul.products li.product>a,.vp-card>a{display:flex!important;flex-direction:column;flex:1 1 auto;color:inherit}
.woocommerce ul.products li.product img,.vp-card .img,.vp-card img{margin:0!important;width:100%!important;height:auto!important;aspect-ratio:1/1;object-fit:cover;display:block;background:var(--cream)}
.woocommerce ul.products li.product .woocommerce-loop-product__title,.vp-card .ttl{font-family:var(--head)!important;font-weight:600!important;font-size:.98rem!important;line-height:1.3;padding:1rem 1.1rem .3rem!important;color:var(--ink);flex:1 1 auto}
.woocommerce ul.products li.product .price,.vp-card .price{display:block;padding:.2rem 1.1rem 0;margin:0!important;color:var(--red)!important;font-weight:800!important;font-family:var(--head);font-size:1.1rem}
.woocommerce ul.products li.product .price del,.vp-card .price del{color:var(--muted)!important;font-weight:400;font-size:.9rem}
.woocommerce ul.products li.product .price ins,.vp-card .price ins{text-decoration:none}
.woocommerce ul.products li.product .button,.vp-card .button{margin:1rem 1.1rem 1.2rem!important;display:block;text-align:center;background:var(--ink)!important;color:#fff!important;border-radius:4px;font-family:var(--head);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.82rem;padding:.8rem!important;width:auto!important}
.woocommerce ul.products li.product .button:hover,.vp-card .button:hover{background:var(--red)!important}
.woocommerce ul.products li.product .star-rating{margin:.5rem 1.1rem 0!important;font-size:.8rem}
.woocommerce ul.products li.product .added_to_cart{margin:0 1.1rem 1.2rem!important;display:block;text-align:center;font-size:.8rem;color:var(--muted)}
.vp-center{text-align:center;margin-top:3rem}

/* feature row */
.vp-feats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media(max-width:880px){.vp-feats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.vp-feats{grid-template-columns:1fr}}
.vp-feat{text-align:center;padding:2rem 1.2rem;background:var(--ink-2);border-radius:8px;border:1px solid var(--line-dk)}
.vp-feat svg{width:38px;height:38px;color:var(--red);margin-bottom:1rem}
.vp-feat h3{color:#fff;font-size:1.1rem;margin-bottom:.4rem}
.vp-feat p{color:var(--muted-d);font-size:.9rem;margin:0}

/* steps */
.vp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;counter-reset:s}
@media(max-width:760px){.vp-steps{grid-template-columns:1fr}}
.vp-step{position:relative;padding:2.2rem 1.6rem;background:var(--paper);border:1px solid var(--line);border-radius:8px}
.vp-step:before{counter-increment:s;content:"0" counter(s);font-family:var(--display);font-size:2.4rem;color:var(--red);display:block;margin-bottom:.6rem}
.vp-step h3{font-size:1.2rem;margin-bottom:.4rem}
.vp-step p{color:var(--muted);margin:0;font-size:.95rem}

/* delivery band */
.vp-cities{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:2rem}
.vp-cities a{padding:.8rem 1.4rem;border:1.5px solid var(--line-dk);border-radius:999px;color:#fff;font-family:var(--head);font-weight:600;font-size:.86rem}
.vp-cities a:hover{background:var(--red);border-color:var(--red)}

/* CTA */
.vp-cta{position:relative;text-align:center;padding:clamp(4rem,8vw,6.5rem) 0;background:var(--red);color:#fff}
.vp-cta h2{font-family:var(--display);font-size:clamp(2.4rem,6vw,4.2rem);text-transform:uppercase;color:#fff}
.vp-cta p{max-width:40ch;margin:.6rem auto 2rem;color:#ffe2e6}

/* ============ FOOTER ============ */
#vp-footer{background:#000;color:#fff;padding:4.5rem 0 0}
.storefront-handheld-footer-bar,.site-footer{display:none!important}
.vp-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:3rem;border-bottom:1px solid var(--line-dk)}
@media(max-width:880px){.vp-foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.vp-foot-grid{grid-template-columns:1fr}}
.vp-foot-brand img{height:64px;margin-bottom:1.2rem}
.vp-foot-brand p{color:var(--muted-d);font-size:.92rem;max-width:34ch}
.vp-foot-col h4{font-family:var(--head);text-transform:uppercase;letter-spacing:.1em;font-size:.82rem;color:#fff;margin-bottom:1.2rem}
.vp-foot-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.7rem}
.vp-foot-col a{color:var(--muted-d);font-size:.92rem}
.vp-foot-col a:hover{color:var(--red)}
.vp-foot-contact a{display:block;color:#fff;font-weight:600;margin-bottom:.3rem}
.vp-foot-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding:1.6rem 0;font-size:.8rem;color:var(--muted)}
.vp-badge{display:inline-flex;align-items:center;gap:.5rem;border:1.5px solid var(--red);color:#fff;border-radius:999px;padding:.35rem .9rem;font-weight:700;font-size:.78rem}

/* WooCommerce page polish (shop/cart/checkout/single) */
.woocommerce .page-title,.woocommerce-products-header__title{font-family:var(--display)!important;text-transform:uppercase;font-size:clamp(2rem,5vw,3rem)}
.woocommerce-breadcrumb{font-size:.82rem;color:var(--muted)}
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--ink)!important;color:#fff!important;border-radius:4px;font-family:var(--head);text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.woocommerce #respond input#submit:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--red)!important}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--red)!important;font-family:var(--head);font-weight:800}
.woocommerce span.onsale{background:var(--red)!important;border-radius:4px}
.main-content,.content-area,#primary{padding-top:2.5rem}
.vp-page-pad{padding:3rem 0 4rem}

/* ============ VIDEO BACKGROUNDS ============ */
.vp-bgvid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;border:0}
.vp-hero .vp-bgvid{opacity:.85}
/* inner-page video banner (shop, category, single, delivery, content pages) */
.vp-banner{position:relative;min-height:40vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden;background:var(--ink)}
.vp-banner .vp-bgvid{opacity:.5}
.vp-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(8,8,10,.65),rgba(8,8,10,.85));z-index:1}
.vp-banner .vp-wrap{position:relative;z-index:2;padding:4.5rem 28px}
.vp-banner .vp-eyebrow{color:var(--red)}
.vp-banner h1{font-family:var(--display);text-transform:uppercase;font-size:clamp(2.4rem,6vw,4.5rem);color:#fff;margin:0;line-height:1}
.vp-banner p{color:#d7d7db;margin:.7rem auto 0;font-size:1.05rem;max-width:54ch}
.vp-banner .vp-checker{height:8px}

/* content/page body wrapper */
.vp-page{padding:clamp(3rem,6vw,5rem) 0}
.vp-page .vp-wrap{max-width:880px}
.vp-page h2{font-family:var(--head);font-size:clamp(1.6rem,3vw,2.2rem);margin:2rem 0 .8rem}
.vp-page h3{margin:1.6rem 0 .6rem}
.vp-page p,.vp-page li{color:#33333a;font-size:1.04rem}
.vp-page ul,.vp-page ol{padding-left:1.2rem}
.vp-page li{margin:.4rem 0}
.vp-page a:not(.vp-btn){color:var(--red);font-weight:600;border-bottom:1px solid transparent}
.vp-page a:not(.vp-btn):hover{border-color:var(--red)}
.vp-page .button,.vp-page .vp-btn{color:#fff!important}
.vp-city-list{list-style:none!important;padding:0!important;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:2rem 0}
.vp-city-list li{margin:0!important}
.vp-city-list li a{display:block;background:var(--ink);color:#fff!important;padding:18px;border-radius:8px;text-align:center;font-family:var(--head);font-weight:700;border:0!important}
.vp-city-list li a:hover{background:var(--red)}

/* hide Storefront's default page title/breadcrumb dup on woo pages (we show banner) */
.woocommerce-products-header{display:none!important}

/* ============ FORCE-LIGHT INNER CONTENT (fix black-on-black) ============ */
#content,#content.site-content,.site-content,#primary,#main,.col-full,.woocommerce,.woocommerce-page{background:transparent!important}
body,body.woocommerce,body.woocommerce-page,body.archive,body.page{background:#fff!important;color:var(--ink)!important}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering,.woocommerce-result-count,.woocommerce-ordering label{color:var(--ink)!important}
.woocommerce-ordering select,.orderby{color:var(--ink)!important;background:#fff!important;border:1px solid var(--line)!important}
.woocommerce nav.woocommerce-pagination a,.woocommerce nav.woocommerce-pagination span{color:var(--ink)!important;border-color:var(--line)!important}
.woocommerce nav.woocommerce-pagination .current{background:var(--red)!important;color:#fff!important;border-color:var(--red)!important}
.site-content,#primary{padding-top:0!important}
.woocommerce .col-full,.site-content .col-full{padding-top:2.5rem;padding-bottom:3.5rem}
/* banner is already rendered full-width (before the content wrapper) — no breakout needed */
.vp-banner{width:100%!important;margin:0!important}
.woocommerce-breadcrumb{margin-top:1.5rem!important;color:var(--muted)!important}
/* single product readability */
.woocommerce div.product .product_title,.woocommerce div.product h1{font-family:var(--display);text-transform:uppercase;color:var(--ink)!important}
.woocommerce div.product,.woocommerce div.product *{color:var(--ink)}
.single-product .vp-banner{display:none}

/* ============================================================
   READABILITY LOCK — force white content + dark text everywhere
   in the WooCommerce/content area (header/footer/hero excluded)
   ============================================================ */
html,body{background:#fff!important}
#page,.site,#content,.site-content,.col-full,#primary,#main,.content-area,.site-main,
.woocommerce,.woocommerce-page,.hentry,.type-page,.post-type-archive,.entry-content,
.woocommerce div.product,.woocommerce #content div.product,.woocommerce-tabs,.woocommerce-tabs .panel,
.related.products,.up-sells,.cart-collaterals,.woocommerce-cart-form,form.checkout,
#order_review,#order_review_heading,.woocommerce-checkout,.woocommerce-account .woocommerce{background:#fff!important}

/* all text inside the main content reads dark by default */
#main,#main p,#main li,#main td,#main th,#main dt,#main dd,#main label,#main address,
#main h1,#main h2,#main h3,#main h4,#main h5,#main span,#main strong,#main a,
#main .woocommerce-result-count,#main .woocommerce-ordering,
.entry-content,.entry-content p,.entry-content li,.entry-content h1,.entry-content h2,.entry-content h3,
.woocommerce-tabs,.woocommerce-tabs p,.woocommerce-tabs li,.woocommerce-tabs th,.woocommerce-tabs td{color:var(--ink)!important}
#main a:hover{color:var(--red)!important}
#main .woocommerce-breadcrumb,#main .woocommerce-breadcrumb a{color:var(--muted)!important}

/* re-assert brand-coloured bits */
#main .price,#main .price *,#main .woocommerce-Price-amount,.single-product div.product p.price,.single-product div.product p.price *{color:var(--red)!important}
#main .price del,#main .price del *{color:var(--muted)!important}
#main .button,#main button.button,#main input.button,#main a.button,#main #respond input#submit,
.single-product .button,.single_add_to_cart_button{background:var(--ink)!important;color:#fff!important}
#main .button:hover,.single_add_to_cart_button:hover{background:var(--red)!important;color:#fff!important}
#main span.onsale{background:var(--red)!important;color:#fff!important}

/* result count / ordering / pagination — visible */
.woocommerce-ordering select,.orderby{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line)!important;padding:.5rem .7rem;border-radius:4px}
.woocommerce nav.woocommerce-pagination ul{border:0!important}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{color:var(--ink)!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:4px;margin:0 3px}
.woocommerce nav.woocommerce-pagination ul li span.current,.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--red)!important;color:#fff!important;border-color:var(--red)!important}

/* single product — readable layout */
.single-product div.product .product_title{color:var(--ink)!important}
.single-product .quantity .qty,.woocommerce .quantity input.qty{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line)!important}
.single-product form.variations_form select,.single-product .variations select{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line)!important;padding:.6rem}
.woocommerce-tabs ul.tabs{border-bottom:1px solid var(--line)}
.woocommerce-tabs ul.tabs li{background:#f4f4f5!important;border-color:var(--line)!important}
.woocommerce-tabs ul.tabs li.active{background:#fff!important}
.woocommerce-tabs ul.tabs li a{color:var(--ink)!important}
.single-product .vp-banner{display:none!important}
.single-product #primary,.single-product #main{padding-top:2.5rem!important}

/* grid: works with or without a .woocommerce ancestor */
.vp-prods{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:20px!important}
.vp-prods .vp-card{display:flex!important;flex-direction:column!important}
@media(max-width:980px){.vp-prods{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:760px){.vp-prods{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:460px){.vp-prods{grid-template-columns:1fr!important}}

/* HERO + BANNER text brightness (grey -> bright) */
.vp-hero .vp-eyebrow,.vp-banner .vp-eyebrow{color:#fff!important;opacity:1}
.vp-hero h1,.vp-banner h1{color:#fff!important}
.vp-hero p.lede{color:#f3f3f3!important}
.vp-hero-stats b{color:#fff!important}
.vp-hero-stats span,.vp-banner p{color:#e6e6e6!important}

/* constrain shop/archive content (no .col-full wrapper exists on these pages) */
.post-type-archive-product #primary,.tax-product_cat #primary,.single-product #primary,
.woocommerce-cart #primary,.woocommerce-checkout #primary,.woocommerce-account #primary{max-width:1240px;margin:0 auto;padding:0 28px 3.5rem}
@media(max-width:520px){.post-type-archive-product #primary,.tax-product_cat #primary,.single-product #primary{padding:0 18px 3rem}}

/* ============ HERO/BANNER TEXT = WHITE (final, wins everything) ============ */
.vp-hero .vp-wrap,.vp-hero .vp-wrap *,
.vp-banner .vp-wrap,.vp-banner .vp-wrap *{color:#fff!important}
.vp-hero h1,.vp-hero h1 *,.vp-hero p.lede,.vp-hero .vp-eyebrow,
.vp-hero-stats b,.vp-hero-stats span,
.vp-banner h1,.vp-banner p,.vp-banner .vp-eyebrow{color:#fff!important}
/* keep the red accent word + button fills */
.vp-hero h1 .red,.vp-hero .red,.vp-banner .red{color:var(--red)!important}
.vp-hero .vp-btn.ghost,.vp-banner .vp-btn.ghost{color:#fff!important}
/* darken overlays so white text always reads over the video */
.vp-hero:after{background:linear-gradient(110deg,rgba(8,8,10,.92) 0%,rgba(8,8,10,.8) 50%,rgba(8,8,10,.55) 100%)!important}
.vp-banner:after{background:linear-gradient(rgba(8,8,10,.72),rgba(8,8,10,.88))!important}

/* ============ FIX: clear the floated sorting bar so grid + footer flow right ============ */
.woocommerce .woocommerce-result-count{float:left!important;margin:0 0 1.4rem!important;line-height:2.4}
.woocommerce .woocommerce-ordering{float:right!important;margin:0 0 1.4rem!important}
.woocommerce ul.products{clear:both!important}
.woocommerce nav.woocommerce-pagination{clear:both!important;margin-top:2.5rem!important}
.woocommerce .col-full::after,.site-main::after{content:"";display:table;clear:both}
#vp-footer{clear:both;position:relative;z-index:1}

/* ============================================================
   SINGLE PRODUCT — clean two-column premium layout
   ============================================================ */
.single-product #primary{max-width:1200px!important}
.single-product div.product{position:relative;display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2rem,4vw,4rem);align-items:start;background:#fff!important}
.single-product div.product>span.onsale{position:absolute!important;top:14px;left:14px;z-index:5;margin:0!important}
.single-product div.product .woocommerce-product-gallery{width:auto!important;max-width:none!important;margin:0!important;float:none!important;position:sticky;top:118px}
.single-product div.product .woocommerce-product-gallery__wrapper{margin:0}
.single-product div.product .woocommerce-product-gallery img{border-radius:12px;border:1px solid var(--line);background:var(--cream)}
.single-product div.product .summary.entry-summary{width:auto!important;margin:0!important;float:none!important}

/* title + price */
.single-product .product_title{font-family:var(--display)!important;text-transform:uppercase;font-size:clamp(1.8rem,3.6vw,2.9rem)!important;line-height:1.04;color:var(--ink)!important;margin:0 0 .5rem!important}
.single-product div.product p.price,.single-product div.product .summary .price{font-family:var(--head)!important;font-size:1.9rem!important;font-weight:800!important;color:var(--red)!important;margin:.2rem 0 1.1rem!important}
.single-product div.product p.price del{font-size:1.2rem!important;color:var(--muted)!important;font-weight:400}
.single-product .woocommerce-product-details__short-description{color:#44444c!important;font-size:1rem;line-height:1.65;border-top:1px solid var(--line);padding-top:1.2rem}

/* variations */
.single-product .variations{margin:.4rem 0 1rem!important;border:0;width:100%}
.single-product .variations th.label{text-align:left!important;font-family:var(--head);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;color:var(--ink)!important;padding:.5rem 0 .3rem;display:block}
.single-product .variations td.value{padding:0;display:block}
.single-product .variations select{width:100%;background:#fff!important;border:1.5px solid var(--line)!important;border-radius:6px;padding:.85rem 1rem!important;color:var(--ink)!important;font-size:1rem}
.single-product .reset_variations{font-size:.82rem;color:var(--muted)!important;display:inline-block;margin-top:.5rem}
.single-product .woocommerce-variation-price .price{font-size:1.6rem!important}

/* qty + add to cart */
.single-product form.cart{margin:1.3rem 0 1.4rem!important}
.single-product form.cart:not(.variations_form),
.single-product .woocommerce-variation-add-to-cart{display:flex!important;align-items:stretch;gap:.7rem;flex-wrap:wrap}
.single-product form.cart .quantity .qty{width:80px;min-height:56px;text-align:center;border:1.5px solid var(--line)!important;border-radius:6px;font-size:1.05rem;font-weight:700;background:#fff!important;color:var(--ink)!important}
.single-product .single_add_to_cart_button{flex:1 1 220px;min-height:56px;background:var(--ink)!important;color:#fff!important;border:0;border-radius:6px;font-family:var(--head);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.95rem;padding:0 2rem!important}
.single-product .single_add_to_cart_button:hover{background:var(--red)!important}

/* meta */
.single-product .product_meta{font-size:.88rem;color:var(--muted)!important;border-top:1px solid var(--line);padding-top:1.2rem;margin-top:1.4rem;clear:both}
.single-product .product_meta>span{display:block;margin-bottom:.45rem}
.single-product .product_meta a{color:var(--red)!important}

/* tabs (full width) */
.single-product .woocommerce-tabs{grid-column:1/-1;margin-top:clamp(3rem,5vw,4.5rem)!important}
.single-product .woocommerce-tabs ul.tabs{padding:0!important;border:0!important;border-bottom:2px solid var(--line)!important;display:flex;gap:.3rem;margin:0 0 1.6rem!important}
.single-product .woocommerce-tabs ul.tabs:before,.single-product .woocommerce-tabs ul.tabs li:before,.single-product .woocommerce-tabs ul.tabs li:after{display:none!important;border:0!important}
.single-product .woocommerce-tabs ul.tabs li{background:transparent!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important}
.single-product .woocommerce-tabs ul.tabs li a{font-family:var(--head)!important;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.84rem;color:var(--muted)!important;padding:.8rem 1.1rem!important;display:block;border-bottom:3px solid transparent;margin-bottom:-2px}
.single-product .woocommerce-tabs ul.tabs li.active a{color:var(--ink)!important;border-bottom-color:var(--red)!important}
.single-product .woocommerce-tabs .panel{background:#fff!important;padding:0!important;margin:0!important}
.single-product .woocommerce-tabs .panel h2{font-family:var(--head);font-size:1.3rem;margin-bottom:1rem;color:var(--ink)}
.single-product table.shop_attributes th,.single-product table.shop_attributes td{border-color:var(--line)!important;color:var(--ink)!important;padding:.7rem 1rem}

/* related (full width, uses product-card grid) */
.single-product .related.products,.single-product .up-sells.products{grid-column:1/-1;margin-top:clamp(3rem,5vw,4.5rem)!important;border-top:1px solid var(--line);padding-top:3rem}
.single-product .related.products>h2,.single-product .up-sells>h2{font-family:var(--display)!important;text-transform:uppercase;font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:2rem;text-align:center;color:var(--ink)}

@media(max-width:880px){
  .single-product div.product{grid-template-columns:1fr!important;gap:1.6rem}
  .single-product div.product .woocommerce-product-gallery{position:static!important}
}

/* ============ SINGLE PRODUCT — richer summary ============ */
.single-product .vp-pd-desc{color:#44444c;font-size:1rem;line-height:1.65;border-top:1px solid var(--line);padding-top:1.2rem;margin:.2rem 0 .4rem}
.single-product .vp-pd-desc p{margin:0}
.single-product .vp-trust{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:.4rem 0 .4rem;padding:1.1rem 0 .2rem;border-top:1px solid var(--line)}
.single-product .vp-trust div{display:flex;align-items:center;gap:.55rem;font-family:var(--head);font-weight:600;font-size:.86rem;color:var(--ink)}
.single-product .vp-trust span{font-size:1.05rem}
/* frame the gallery image nicely even if small/lazy */
.single-product .woocommerce-product-gallery__image,.single-product .woocommerce-product-gallery figure{margin:0!important}
.single-product .woocommerce-product-gallery__image img,.single-product .woocommerce-product-gallery img{width:100%!important;aspect-ratio:1/1;object-fit:cover;border-radius:12px;border:1px solid var(--line);background:var(--cream)}

/* ============ MOBILE OVERFLOW FIX ============ */
/* flex children (.vp-wrap inside hero/banner) must not expand to content max-width */
.vp-hero .vp-wrap,.vp-banner .vp-wrap{width:100%!important;min-width:0!important;max-width:1240px}
.vp-hero p.lede,.vp-hero h1,.vp-banner h1,.vp-banner p{max-width:100%;overflow-wrap:break-word}
html,body{overflow-x:hidden!important;max-width:100%}
.vp-hero,.vp-banner,.vp-sec,.vp-cta,#vp-header,#vp-footer{max-width:100vw;overflow-x:clip}
.vp-hero-btns .vp-btn{flex:0 1 auto}
img,video{max-width:100%}

/* ============ FIX: kill clearfix ::before/::after that eats the first grid cell ============ */
ul.products::before,ul.products::after,
.vp-prods::before,.vp-prods::after,
.woocommerce ul.products::before,.woocommerce ul.products::after{content:none!important;display:none!important}

/* ============================================================
   SINGLE PRODUCT — reference-style (chips, pill button, accordion)
   ============================================================ */
.single-product .woocommerce-breadcrumb{font-size:.85rem;color:var(--muted)!important;margin:0 0 1.6rem;padding-bottom:1.1rem;border-bottom:1px solid var(--line)}
.single-product .woocommerce-breadcrumb a{color:var(--ink)!important}
.single-product .woocommerce-breadcrumb a:hover{color:var(--red)!important}

/* meta row */
.single-product .vp-meta-row{display:flex;flex-wrap:wrap;gap:.5rem 1.8rem;margin:.1rem 0 1.3rem;font-size:.95rem;padding-bottom:1.3rem;border-bottom:1px solid var(--line)}
.single-product .vp-meta-row b{font-weight:500;color:var(--muted)!important}

/* spec chips */
.single-product .vp-chips{display:flex;flex-wrap:wrap;gap:.7rem;margin:0 0 1.7rem}
.single-product .vp-chip{border:1px solid var(--line);border-radius:12px;padding:.65rem 1rem;min-width:86px;background:#fff}
.single-product .vp-chip span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)!important;margin-bottom:.2rem}
.single-product .vp-chip b{font-family:var(--head);font-weight:700;font-size:.95rem;color:var(--ink)!important}

/* price big */
.single-product div.product p.price,.single-product div.product .summary>.price{font-size:2.1rem!important;margin:.5rem 0 1.4rem!important;padding-top:.4rem;border-top:1px solid var(--line)}

/* qty stepper + pill add-to-cart */
.single-product form.cart{align-items:center!important;gap:.9rem!important}
.single-product form.cart .quantity{display:inline-flex!important;align-items:center;border:1.5px solid var(--line);border-radius:14px;overflow:hidden;height:60px;background:#fff}
.single-product form.cart .quantity .vp-qbtn{width:46px;height:100%;border:0;background:#fff;font-size:1.5rem;color:var(--ink);cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;padding:0}
.single-product form.cart .quantity .vp-qbtn:hover{background:var(--cream);color:var(--red)}
.single-product form.cart .quantity input.qty{width:46px!important;min-height:0!important;height:100%;border:0!important;border-radius:0!important;text-align:center;font-size:1.05rem;font-weight:700;background:#fff!important;-moz-appearance:textfield;appearance:textfield}
.single-product form.cart .quantity input.qty::-webkit-outer-spin-button,.single-product form.cart .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.single-product .single_add_to_cart_button{height:60px;border-radius:999px!important;flex:1 1 240px!important;min-width:240px;font-size:1rem!important;letter-spacing:.04em!important}

/* tabs -> accordion */
.single-product .woocommerce-tabs{margin-top:clamp(2.5rem,4vw,4rem)!important;grid-column:1/-1;border-top:1px solid var(--line)}
.single-product .woocommerce-tabs ul.tabs{display:none!important}
.single-product .vp-acc-head{width:100%;display:flex;align-items:center;justify-content:space-between;background:#fff;border:0;border-bottom:1px solid var(--line);padding:1.4rem 0;font-family:var(--head);font-weight:700;font-size:1.15rem;color:var(--ink)!important;cursor:pointer;text-transform:none;letter-spacing:0}
.single-product .vp-acc-head i{font-style:normal;font-size:1.5rem;line-height:1;transition:transform .25s;color:var(--muted)!important}
.single-product .vp-acc-head.open i{transform:rotate(180deg)}
.single-product .vp-acc-panel,.single-product .woocommerce-Tabs-panel{display:none!important}
.single-product .vp-acc-panel.open{display:block!important;padding:.4rem 0 1.6rem!important}
.single-product .woocommerce-tabs .panel h2:first-child{display:none}
.single-product table.shop_attributes{margin-top:.4rem}

@media(max-width:560px){
  .single-product .single_add_to_cart_button{flex:1 1 100%!important;min-width:0}
  .single-product form.cart .quantity{width:100%;justify-content:space-between}
  .single-product form.cart .quantity input.qty{flex:1 1 auto;width:auto!important}
}

/* ============ NAV DROPDOWN MENUS ============ */
#vp-header{overflow:visible!important}
.vp-menu li{position:relative}
.vp-menu .sub-menu{list-style:none;margin:0;padding:.4rem 0;position:absolute;top:100%;left:0;min-width:225px;background:var(--ink);border:1px solid var(--line-dk);border-radius:8px;box-shadow:0 18px 34px rgba(0,0,0,.45);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s;z-index:200}
.vp-menu>li.menu-item-has-children:hover>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.vp-menu .sub-menu li{margin:0}
.vp-menu .sub-menu a{display:block;padding:.62rem 1.15rem;font-size:.82rem;font-weight:500;text-transform:none;letter-spacing:0;white-space:nowrap;color:#e8e8ea}
.vp-menu .sub-menu a:hover{color:var(--red);background:rgba(255,255,255,.05)}
.vp-menu>li.menu-item-has-children>a:after{content:"\2304";display:inline-block;margin-left:.35rem;font-size:.9em;opacity:.75}
.vp-menu>li.menu-item-has-children:hover>a{color:var(--red)}
@media(max-width:1040px){
  #vp-header{overflow:visible!important}
  .vp-menu .sub-menu{position:static;opacity:1;visibility:visible;transform:none;background:transparent;border:0;box-shadow:none;padding:.1rem 0 .5rem;min-width:0}
  .vp-menu .sub-menu a{padding:.65rem 1rem .65rem 2rem;color:var(--muted-d);font-size:.9rem}
  .vp-menu>li.menu-item-has-children>a:after{content:""}
}

/* ============ BIG SUBCATEGORY TILES (category archive) ============ */
.woocommerce ul.products li.product-category{background:var(--ink)!important;border:0!important;border-radius:12px;overflow:hidden;box-shadow:0 8px 22px rgba(0,0,0,.12);display:block!important}
.woocommerce ul.products li.product-category>a{display:flex!important;flex-direction:column;justify-content:flex-end;position:relative;min-height:230px;padding:0!important;height:100%}
.woocommerce ul.products li.product-category img{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover;opacity:.55;margin:0!important;border-radius:0!important;aspect-ratio:auto!important}
.woocommerce ul.products li.product-category>a:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(14,14,16,.96) 5%,rgba(14,14,16,.35) 55%,rgba(200,16,46,.30))}
.woocommerce ul.products li.product-category h2.woocommerce-loop-category__title{position:relative;z-index:2;color:#fff!important;margin:0!important;padding:1.5rem 1.4rem!important;font-family:var(--display)!important;text-transform:uppercase;font-size:1.55rem!important;letter-spacing:.02em;line-height:1.1;text-align:left}
.woocommerce ul.products li.product-category h2 .count,.woocommerce ul.products li.product-category mark.count{background:var(--red)!important;color:#fff!important;border-radius:20px;padding:1px 9px;margin-left:.5rem;font-size:.72rem;font-weight:700;float:none;display:inline-block}
.woocommerce ul.products li.product-category:hover img{opacity:.4;transform:scale(1.06);transition:transform .4s,opacity .4s}
.woocommerce ul.products li.product-category:hover{box-shadow:0 16px 34px rgba(0,0,0,.2)}

/* ============ SUBCATEGORY TEXT ROW under hero (all category pages) ============ */
.vp-subnav{display:flex;flex-wrap:wrap;gap:1.4rem 2.6rem;padding:0 0 1.5rem;margin:.5rem 0 2rem;border-bottom:1px solid var(--line)}
.vp-subnav a{display:block;line-height:1.2}
.vp-subnav .n{display:block;font-family:var(--head);font-weight:700;font-size:1.12rem;color:var(--ink)}
.vp-subnav a:hover .n{color:var(--red)}
.vp-subnav .c{display:block;color:var(--muted);font-size:.88rem;margin-top:.2rem}
@media(max-width:600px){.vp-subnav{gap:1rem 1.6rem}.vp-subnav .n{font-size:1rem}}
