/* ===================== BacVial — Lit From Within (dark) v2.1.0 ===================== */
/* v2.1: lifted three-level palette (no more near-black), unified spacing + radius scales,
   background-clip:padding-box on all bordered/rounded panels to kill corner slivers. */
:root{
 /* depth — three distinct levels, lifted out of near-black */
 --void:#081320;            /* L0 deepest: footer / spec band */
 --bg:#0c1a2b;              /* L1 page backdrop */
 --bg2:#112236;
 --panel:#16304a;           /* L2 cards — clearly lighter cool-navy */
 --panel-2:#1c3a59;         /* L3 sub-panels / inputs — brighter */
 --line:rgba(120,205,215,.16);--line2:rgba(120,205,215,.34);
 --teal:#33dcc9;--cyan:#56c9ff;--text:#eaf3f7;--muted:#a6bccb;--dim:#7191a1;
 /* radius scale */
 --r-xs:8px;--r-sm:12px;--r:16px;--r-lg:22px;--pill:999px;
 /* spacing scale (8px base) */
 --s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--s7:96px;
 --maxw:1200px;--gut:24px;
 --grad:linear-gradient(95deg,#33dcc9,#56c9ff);}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body,.site,#page{background:var(--bg)!important;color:var(--text);font-family:'Inter',system-ui,sans-serif;font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:'Space Grotesk','Inter',sans-serif;color:var(--text);letter-spacing:-.02em;line-height:1.12;font-weight:700;}
a{color:var(--teal);text-decoration:none;}a:hover{color:var(--cyan);}
p{color:var(--muted);}
.bv-wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.bv-label{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);}
/* kill 1px corner slivers: clip every bordered/rounded panel bg to the padding box */
.bv-hero,.bv-cta-band,.bv-feat,.bv-feat .ic,.woocommerce ul.products li.product,
.page:not(.home) .entry-content,.button,.woocommerce a.button,.woocommerce button.button,
.wp-block-button__link,button.single_add_to_cart_button,.wc-block-components-button,.bv-ghost,
.bv-cart,input,select,textarea,table.shop_table,table.cart,
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,
.wc-block-components-notice-banner,.woocommerce div.product .woocommerce-tabs ul.tabs li{background-clip:padding-box;}
/* full-width home — strip any wrapper border/radius/shadow so only .bv-hero defines the panel */
.home #content,.home .site-content,.home #primary,.home .entry-content,.home .site,.home #page{max-width:100%!important;width:100%!important;padding:0!important;margin:0!important;border:none!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;}
.home #content>.ast-container{max-width:100%!important;width:100%!important;padding:0!important;display:block!important;border:none!important;border-radius:0!important;box-shadow:none!important;}
.home .entry-title,.home .ast-archive-description,.home .entry-header{display:none!important;}
/* header */
#masthead,.site-header{background:rgba(8,19,32,.72)!important;backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:none!important;box-shadow:none!important;position:sticky!important;top:0;z-index:200;transition:background .25s;}
#masthead.bv-scrolled{background:rgba(8,19,32,.94)!important;}
.ast-site-identity{padding:0!important;}
.site-title{margin:0!important;line-height:1!important;}
.site-title a{font-family:'Space Grotesk',sans-serif!important;font-weight:700!important;font-size:23px!important;color:#fff!important;letter-spacing:-.02em;display:inline-flex!important;align-items:center;gap:10px;line-height:1;}
.site-title a:hover{color:#fff!important;}
.site-title a::before{content:"";width:21px;height:25px;flex:none;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2028%27%20fill%3D%27none%27%20stroke%3D%27%2333dcc9%27%20stroke-width%3D%271.7%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M8%202h8M9%202v4M15%202v4%27/%3E%3Cpath%20d%3D%27M7%206h10v15a3%203%200%200%201-3%203h-4a3%203%200%200%201-3-3V6z%27/%3E%3Cpath%20d%3D%27M7%2014c2%201%203%201%205%200s3-1%205%200%27/%3E%3C/svg%3E") center/contain no-repeat;}
#ast-desktop-header .site-primary-header-wrap{position:relative;}
#ast-desktop-header .site-header-primary-section-right{position:absolute!important;left:50%;top:50%;transform:translate(-50%,-50%)!important;margin:0!important;z-index:4;}
/* left (logo) section spans the row and was eating clicks on the centered nav — let its empty area pass clicks through, keep the logo clickable */
#ast-desktop-header .site-header-primary-section-left{position:relative;z-index:2;pointer-events:none;}
#ast-desktop-header .site-header-primary-section-left a,#ast-desktop-header .site-header-primary-section-left .ast-site-identity,#ast-desktop-header .site-header-primary-section-left .site-title{pointer-events:auto;}
#ast-desktop-header .main-header-menu,#ast-desktop-header .ast-nav-menu{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center;white-space:nowrap;background:transparent!important;}
.main-header-menu .menu-link{color:rgba(234,243,247,.8)!important;font-weight:500!important;font-size:15px!important;position:relative;}
.main-header-menu .menu-link:hover,.main-header-menu .current-menu-item .menu-link{color:#fff!important;}
.main-header-menu .menu-link::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .25s;}
.main-header-menu .menu-item:hover .menu-link::after,.main-header-menu .current-menu-item .menu-link::after{transform:scaleX(1);}
.bv-cart{position:absolute;right:26px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r-sm);color:var(--text)!important;z-index:5;transition:background .2s;}
.bv-cart:hover{background:rgba(120,205,215,.12);color:#fff!important;}
.bv-cart svg{width:23px;height:23px;}
.bv-cart-count{position:absolute;top:3px;right:1px;background:var(--teal);color:#04121a;font-size:10.5px;font-weight:700;min-width:17px;height:17px;border-radius:var(--pill);display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;font-family:'Space Mono',monospace;}
.bv-cart-count.zero{display:none;}
#ast-mobile-header .bv-cart{right:64px;}
/* buttons */
.button,.woocommerce a.button,.woocommerce button.button,.woocommerce #respond input#submit,.wp-block-button__link,button.single_add_to_cart_button,.wc-block-components-button{
 display:inline-flex!important;align-items:center;justify-content:center;gap:8px;background:var(--grad)!important;color:#04141b!important;border:none!important;border-radius:var(--r-sm)!important;
 font-family:'Inter',sans-serif!important;font-weight:700!important;padding:14px 26px!important;letter-spacing:.01em;text-decoration:none!important;
 box-shadow:0 10px 30px rgba(47,212,196,.22);transition:transform .18s,box-shadow .18s,filter .18s;position:relative;overflow:hidden;}
.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,button.single_add_to_cart_button:hover{filter:brightness(1.07);transform:translateY(-2px);box-shadow:0 16px 40px rgba(47,212,196,.4);color:#04141b!important;}
.bv-ghost{background:transparent!important;color:var(--text)!important;border:1px solid var(--line2)!important;box-shadow:none!important;}
.bv-ghost:hover{background:rgba(255,255,255,.05)!important;border-color:var(--teal)!important;color:#fff!important;}
/* hero — clean inset panel: even gaps from header + trust bar, all corners rounded */
.bv-hero{position:relative;margin:var(--s4) var(--s4) var(--s5);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
 background:radial-gradient(900px 640px at 76% 52%,rgba(47,212,196,.12),transparent 60%),linear-gradient(160deg,#0a1825 0%,#081320 55%,#060e18 100%);}
.bv-hero::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.30;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");}
.bv-hero .bv-wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.06fr .94fr;gap:var(--s5);align-items:center;padding:clamp(56px,8vw,92px) 28px;}
.bv-hero .eyebrow{margin-bottom:18px;}
.bv-hero h1{font-size:clamp(40px,5.6vw,64px);color:#fff;margin:0 0 20px;}
.bv-hero h1 .g{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
.bv-hero .lead{font-size:18.5px;color:rgba(234,243,247,.84);max-width:500px;margin:0 0 30px;}
.bv-hero .cta{display:flex;gap:14px;flex-wrap:wrap;}
.bv-hero .hero-img{position:relative;display:flex;justify-content:center;align-items:center;}
.bv-hero .hero-img::before{content:"";position:absolute;left:50%;top:53%;transform:translate(-50%,-50%);width:82%;aspect-ratio:1;z-index:0;pointer-events:none;
 background:radial-gradient(circle at 50% 50%,rgba(47,212,196,.42),rgba(47,212,196,.13) 36%,transparent 66%);filter:blur(6px);}
.bv-hero .hero-img img{position:relative;z-index:1;max-height:500px;width:auto;max-width:88%;height:auto;filter:drop-shadow(0 26px 46px rgba(0,0,0,.55));}
/* spec strip — each item is its own pill */
.bv-spec{background:var(--bg);}
.bv-spec .bv-wrap{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:var(--s5) 28px;}
.bv-spec span{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:var(--pill);padding:9px 18px;display:inline-flex;align-items:center;gap:7px;background-clip:padding-box;transition:border-color .2s,color .2s;}
.bv-spec span:hover{border-color:var(--line2);color:var(--text);}
.bv-spec b{color:var(--teal);font-weight:400;}
/* sections */
.bv-sec{padding:var(--s7) 0;position:relative;}
.bv-sec .head{margin-bottom:var(--s5);}
.bv-sec .head.center{text-align:center;max-width:680px;margin-left:auto;margin-right:auto;}
.bv-sec .head .bv-label{display:block;margin-bottom:14px;}
.bv-sec .head h2{font-size:clamp(28px,3.6vw,42px);margin:0;}
.bv-sec .head p{margin:14px 0 0;font-size:17px;}
.bv-rule{height:1px;background:linear-gradient(90deg,transparent,var(--line2),transparent);max-width:var(--maxw);margin:0 auto;}
/* product cards */
.woocommerce ul.products li.product{background:linear-gradient(180deg,#17324d,#132a40)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;padding:var(--s3)!important;transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden;}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);border-color:var(--line2)!important;box-shadow:0 24px 50px rgba(0,0,0,.5),0 0 44px rgba(47,212,196,.12);}
.woocommerce ul.products li.product a img{background:transparent!important;border-radius:var(--r-xs);margin-bottom:16px;transition:transform .4s;}
.woocommerce ul.products li.product:hover a img{transform:scale(1.04);}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:'Space Grotesk'!important;font-size:17px!important;font-weight:600!important;color:var(--text)!important;padding:0 0 6px!important;}
.woocommerce ul.products li.product .ast-woo-product-category,.woocommerce ul.products li.product .ast-woocommerce-categories{font-family:'Space Mono',monospace!important;font-size:11px!important;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)!important;}
.woocommerce ul.products li.product .price{color:#fff!important;font-weight:700!important;font-size:18px!important;font-family:'Space Mono',monospace!important;}
.woocommerce ul.products li.product .price del{color:var(--dim)!important;}
.woocommerce ul.products li.product .price ins{text-decoration:none;}
.woocommerce ul.products li.product .button{margin-top:14px!important;width:100%;}
.woocommerce ul.products li.product .star-rating{display:none;}
.woocommerce .woocommerce-result-count{color:var(--muted)!important;background:transparent!important;border:none!important;padding:0!important;}
.woocommerce .woocommerce-ordering select{color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-xs);}
/* features */
.bv-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3);}
.bv-feat{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:var(--s4);transition:transform .2s,border-color .2s;}
.bv-feat:hover{transform:translateY(-4px);border-color:var(--line2);}
.bv-feat .ic{width:46px;height:46px;border-radius:var(--r-sm);background:rgba(47,212,196,.1);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--teal);margin-bottom:20px;}
.bv-feat .ic svg{width:23px;height:23px;}
.bv-feat h3{font-size:19px;margin:0 0 9px;color:var(--text);}
.bv-feat p{font-size:15px;margin:0;line-height:1.6;}
/* lit cta */
.bv-cta-band{position:relative;border-radius:var(--r-lg);overflow:hidden;padding:clamp(40px,6vw,66px);text-align:center;border:1px solid var(--line2);
 background:radial-gradient(620px 340px at 50% -10%,rgba(47,212,196,.24),transparent 65%),linear-gradient(160deg,#123a52,#0c2238);}
.bv-cta-band .bv-label{display:block;margin-bottom:14px;}
.bv-cta-band h2{font-size:clamp(26px,3.2vw,38px);color:#fff;margin:0 0 12px;}
.bv-cta-band p{color:rgba(234,243,247,.78);max-width:480px;margin:0 auto 26px;font-size:17px;}
/* ruo */
.bv-ruoband{padding:var(--s3) 0;border-top:1px solid var(--line);}
.bv-ruoband p{font-family:'Space Mono',monospace;font-size:11.5px;letter-spacing:.05em;color:var(--dim);text-align:center;margin:0;}
/* footer */
.site-footer,#colophon{display:none!important;}
.bv-footer{background:var(--void);border-top:1px solid var(--line);color:var(--muted);padding:var(--s6) 0 30px;}
.bv-foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr 1fr;gap:var(--s4);padding-bottom:var(--s4);border-bottom:1px solid var(--line);}
.bv-foot-logo{font-family:'Space Grotesk';font-weight:700;font-size:24px;color:#fff;margin-bottom:14px;}
.bv-foot-brand p{font-size:14px;line-height:1.6;margin:0 0 12px;max-width:320px;color:var(--muted);}
.bv-foot-ruo{font-family:'Space Mono',monospace;font-size:11.5px;color:var(--dim)!important;letter-spacing:.04em;}
.bv-foot-col h4{font-family:'Space Mono',monospace;color:var(--teal);font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin:2px 0 16px;font-weight:400;}
.bv-foot-col a{display:block;color:var(--muted);margin-bottom:11px;font-size:14.5px;transition:color .2s,transform .2s;}
.bv-foot-col a:hover{color:var(--teal);transform:translateX(2px);}
.bv-foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;font-family:'Space Mono',monospace;font-size:12px;color:var(--dim);}
/* inner pages dark */
body.page:not(.home),body.woocommerce,body.archive,body.search{background:var(--bg)!important;}
.page:not(.home) .entry-title,.page:not(.home) .ast-archive-description{display:none!important;}
.page:not(.home) #primary{padding:var(--s6) 0 var(--s7)!important;}
.page:not(.home) .ast-container,.woocommerce-page:not(.home) .ast-container{max-width:960px!important;}
.page:not(.home) .entry-content{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(28px,5vw,56px);max-width:880px;margin:0 auto;position:relative;overflow:hidden;color:var(--text);}
body.page:not(.home) .entry-content::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad);}
.home .entry-content::before{display:none!important;}
.home .entry-content{position:static!important;}
.page:not(.home) .entry-content h1{font-size:clamp(30px,4.4vw,44px);color:#fff;margin:.1em 0 .6em;}
.page:not(.home) .entry-content h2{font-size:23px;color:#fff;margin:1.7em 0 .5em;padding-top:1.1em;border-top:1px solid var(--line);}
.page:not(.home) .entry-content h2:first-of-type{border-top:none;padding-top:0;}
.page:not(.home) .entry-content h3{font-size:18px;color:var(--teal);margin:1.5em 0 .35em;}
.page:not(.home) .entry-content p,.page:not(.home) .entry-content li{color:var(--muted);font-size:16.5px;line-height:1.72;}
.page:not(.home) .entry-content a{color:var(--teal);text-decoration:underline;text-underline-offset:2px;}
.page:not(.home) .entry-content em{color:var(--dim);}
/* woo single + cart/checkout dark */
.woocommerce div.product .product_title,.woocommerce-cart h1,.woocommerce-checkout h1,.entry-title{color:#fff;}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:#fff!important;font-family:'Space Mono',monospace!important;}
.woocommerce-breadcrumb,.woocommerce-breadcrumb a{color:var(--muted)!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--panel)!important;border-color:var(--line)!important;border-radius:var(--r-xs) var(--r-xs) 0 0;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--muted)!important;}
.wc-block-components-text-input input,.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.select2-container--default .select2-selection--single,.wc-blocks-components-select__container{background:var(--panel-2)!important;border:1px solid var(--line)!important;border-radius:var(--r-xs)!important;color:var(--text)!important;}
.wc-block-components-totals-item__label,.wc-block-components-product-metadata,.wc-block-cart-item__total,.wc-block-components-order-summary__content,.wc-block-components-totals-item__value,.wp-block-woocommerce-cart-order-summary-block,.wc-block-components-product-name{color:var(--text)!important;}
table.shop_table,table.cart{background:var(--panel)!important;color:var(--text);border-radius:var(--r);overflow:hidden;}
/* motion */
html.js .bv-reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.16,.8,.3,1),transform .7s cubic-bezier(.16,.8,.3,1);}
html.js .bv-reveal.is-in{opacity:1;transform:none;}
/* responsive */
@media(max-width:900px){
 .bv-hero{margin:var(--s3) var(--s3) var(--s4);}
 .bv-hero .bv-wrap{grid-template-columns:1fr;text-align:center;padding:var(--s5) 24px;gap:var(--s3);}
 .bv-hero .hero-img{order:-1;}.bv-hero .hero-img img{max-height:320px;max-width:62%;}.bv-hero .cta{justify-content:center;}.bv-hero .lead{margin-left:auto;margin-right:auto;}
 .bv-feats{grid-template-columns:1fr;}.bv-sec{padding:var(--s6) 0;}.bv-cta-band{padding:var(--s5) 24px;}
 .bv-foot-grid{grid-template-columns:1fr 1fr;}.bv-foot-brand{grid-column:1/-1;}
 #ast-desktop-header .site-header-primary-section-right{position:static;transform:none;}
 .bv-spec .bv-wrap{padding:var(--s4) 16px;gap:9px;}.bv-spec span{padding:8px 14px;font-size:11px;}
}
@media(prefers-reduced-motion:reduce){html.js .bv-reveal{opacity:1!important;transform:none!important;}html{scroll-behavior:auto;}}

/* header bar bg fix (Astra inner bars) */
.main-header-bar-wrap,.ast-main-header-wrap,#masthead .main-header-bar,#masthead .ast-primary-header-bar,#masthead .site-primary-header-wrap,.ast-primary-header-bar{background:transparent!important;border-bottom:none!important;}
.main-header-bar{box-shadow:none!important;}

/* woo notices dark */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,.wc-block-components-notice-banner,.woocommerce-store-notice{background:var(--panel)!important;color:var(--text)!important;border-top:3px solid var(--teal)!important;border-radius:var(--r-sm)!important;box-shadow:none!important;}
.woocommerce-message a,.woocommerce-info a,.wc-block-components-notice-banner a{color:var(--teal)!important;}
.woocommerce-message::before,.woocommerce-info::before{color:var(--teal)!important;}
.woocommerce-ordering select,.orderby{background:var(--panel)!important;color:var(--text)!important;border:1px solid var(--line)!important;border-radius:var(--r-xs)!important;}

/* ===== checkout fixes ===== */
/* express checkout: WC's "Express Checkout" divider heading overlapped the buttons (absolute, top:-4px,
   pushed into the button row by an inherited heading margin). The buttons + "Or continue below" divider
   make the section self-explanatory, so hide the buggy heading entirely. */
.wc-block-components-express-payment{display:flex!important;flex-direction:column!important;gap:8px!important;}
/* divider: one full-width line at the container's true vertical center, broken by the text's bg
   (flex-centering failed because WC shifts the h2 up ~16px inside the container) */
.wc-block-components-express-payment__title-container{position:relative!important;display:block!important;text-align:center!important;margin:0!important;}
.wc-block-components-express-payment__title-container::before{content:""!important;position:absolute!important;left:0!important;right:0!important;top:50%!important;height:1px!important;background:var(--line)!important;transform:translateY(-50%)!important;}
.wc-block-components-express-payment__title-container::after{display:none!important;}
.wc-block-components-express-payment__title{position:relative!important;display:inline-block!important;transform:none!important;background:var(--panel)!important;padding:0 16px!important;margin:0!important;white-space:nowrap!important;}
/* no box around the express buttons (they're already strongly styled); WC's partial 0/1/1/1 border
   looked broken and a full box looked heavy — drop it, let the buttons stand under the divider */
.wc-block-components-express-payment__content{margin-top:0!important;border:none!important;padding:0!important;}
.wc-block-components-express-payment__event-buttons{margin:0!important;}
/* country/state native select — was dark text on a dark solid border (invisible); match other fields */
.wc-blocks-components-select__select{background:var(--panel-2)!important;color:var(--text)!important;border:1px solid var(--line)!important;border-radius:var(--r-xs)!important;}
.wc-blocks-components-select__select option{background:#0d1c2b;color:var(--text);}
.wc-blocks-components-select__label,.wc-block-components-combobox-control__label,.wc-blocks-components-select label{color:var(--muted)!important;}
/* A — order summary quantity badge was white text on white bg (looked like a white dot) */
.wc-block-components-order-summary-item__quantity{background:var(--teal)!important;color:#04141b!important;border:2px solid var(--panel)!important;font-weight:700!important;box-shadow:none!important;}
/* D — order summary item layout + price contrast */
.wc-block-components-order-summary-item__description{padding-right:10px;}
.wc-block-components-order-summary-item__individual-prices,.wc-block-components-order-summary-item__total-price,.wc-block-components-order-summary-item__name{color:var(--text)!important;}
/* B — "Add a note to your order" checkbox + label readable on dark */
.wc-block-components-checkbox__input{background:var(--panel-2)!important;border:1px solid var(--line2)!important;border-radius:4px!important;}
.wc-block-components-checkbox__input:checked{background:var(--teal)!important;border-color:var(--teal)!important;}
.wc-block-components-checkbox__mark{fill:#04141b!important;color:#04141b!important;}
.wc-block-components-checkbox__label,.wc-block-components-checkout-step__description{color:var(--muted)!important;}
/* C — Stripe Payment Element appearance is auto-sampled from these selectors' bg; force them dark so the
   Card/Bank/Klarna tabs + container render dark to match (the iframe itself can't be styled directly) */
#payment-method,#payment-method .wc-block-components-radio-control-accordion-option,form.wc-block-checkout__form{background-color:var(--panel)!important;}

/* cart/checkout — hide per-item RUO short-description (kept on product pages) */
.wp-block-woocommerce-cart .wc-block-components-product-metadata__description,
.wp-block-woocommerce-checkout .wc-block-components-product-metadata__description,
.woocommerce-cart td.product-name .wc-block-components-product-metadata__description{display:none!important;}
/* quantity selector — dark, no white box */
.wc-block-components-quantity-selector{background:var(--panel-2)!important;border:1px solid var(--line)!important;border-radius:var(--r-xs)!important;overflow:hidden;}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__input,.wc-block-components-quantity-selector__button{background:transparent!important;border:none!important;color:var(--text)!important;}
/* cart totals heading carried a 39px inherited h2 margin → dropped below the Product/Total header; align them */
.wp-block-woocommerce-cart-totals-block h2,.wc-block-cart__totals-title,.wc-block-cart__sidebar h2{margin-top:0!important;}
/* checkout step headings carried the same ~39px inherited h2 margin → big dead gaps between sections */
.wc-block-components-title,.wc-block-components-checkout-step__title{margin-top:0!important;}
.wc-block-components-checkout-step{margin-bottom:20px!important;}
/* order summary names (h3.wc-block-components-product-name @18px) broke mid-word in the ~125px column */
.wc-block-components-order-summary-item__description{min-width:0!important;}
/* top-align the row; name h3 carried a 22.5px margin-top that shoved it below the image + price */
.wc-block-components-order-summary-item{align-items:flex-start!important;}
.wc-block-components-order-summary-item__image{margin-top:0!important;}
.wc-block-components-product-name{margin:0!important;word-break:normal!important;overflow-wrap:break-word!important;hyphens:none!important;font-size:15px!important;line-height:1.35!important;}
/* a touch more room for the summary sidebar on desktop */
@media(min-width:1000px){body.woocommerce-checkout .entry-content,body.woocommerce-cart .entry-content{max-width:1040px!important;}}
.wc-block-components-quantity-selector__button:hover{color:var(--teal)!important;}
.woocommerce .quantity .qty,input[type=number]{background:var(--panel-2)!important;color:var(--text)!important;border:1px solid var(--line)!important;border-radius:var(--r-xs)!important;}

/* ===== mobile header + dropdown menu (Astra) ===== */
/* dark dropdown panel */
#ast-mobile-header .ast-mobile-header-content,#ast-mobile-header .main-header-bar-navigation,#ast-mobile-header .main-navigation{background:var(--void)!important;border-top:1px solid var(--line)!important;}
/* vertical list, visible links */
#ast-mobile-header .main-header-menu,#ast-mobile-header .ast-nav-menu{display:block!important;flex-direction:column!important;width:100%!important;background:transparent!important;}
#ast-mobile-header .main-header-menu .menu-item{display:block!important;width:100%!important;float:none!important;}
#ast-mobile-header .main-header-menu .menu-link{display:block!important;background:transparent!important;color:var(--text)!important;font-size:16px!important;padding:15px 22px!important;border-bottom:1px solid var(--line)!important;white-space:normal!important;}
#ast-mobile-header .main-header-menu .menu-link:hover,#ast-mobile-header .main-header-menu .current-menu-item .menu-link{color:var(--teal)!important;background:rgba(120,205,215,.06)!important;}
#ast-mobile-header .main-header-menu .menu-link::after{display:none!important;}
#ast-mobile-header .sub-menu{background:rgba(255,255,255,.03)!important;}
/* burger icon visible on dark */
#ast-mobile-header .menu-toggle,#ast-mobile-header button.menu-toggle{background:transparent!important;color:var(--text)!important;border:1px solid var(--line)!important;border-radius:var(--r-xs)!important;}
#ast-mobile-header .menu-toggle .ast-mobile-svg,#ast-mobile-header .menu-toggle svg,#ast-mobile-header .ast-mobile-menu-buttons-minimal svg{fill:var(--text)!important;color:var(--text)!important;}
/* cart sits inline to the LEFT of the burger (its wrap is display:block by default → would stack) */
#ast-mobile-header .ast-button-wrap{display:flex!important;flex-direction:row!important;align-items:center!important;gap:6px;}
#ast-mobile-header .bv-cart{position:static!important;transform:none!important;right:auto!important;top:auto!important;width:42px;height:42px;flex:none;}

/* phones — one product per row (covers grid + legacy float markup) */
@media(max-width:600px){
 .woocommerce ul.products,.woocommerce-page ul.products{grid-template-columns:1fr!important;display:grid!important;gap:18px!important;}
 .woocommerce ul.products li.product,.woocommerce-page ul.products li.product{width:100%!important;float:none!important;margin:0!important;clear:both!important;}
 .woocommerce ul.products li.product a img{max-width:340px;margin-left:auto;margin-right:auto;}
}


/* ═══════════════════════════════════════════════════════════
   BacVial Guides v1.0 — Kro 2026-07-07
   ═══════════════════════════════════════════════════════════ */

/* Full-width overrides for Astra */
body.post-type-archive-bv_guide #content,
body.post-type-archive-bv_guide #primary,
body.post-type-archive-bv_guide .site-content,
body.post-type-archive-bv_guide .content-area,
body.post-type-archive-bv_guide .entry-content,
body.post-type-archive-bv_guide .ast-row,
body.single-bv_guide #content,
body.single-bv_guide #primary,
body.single-bv_guide .site-content,
body.single-bv_guide .content-area,
body.single-bv_guide .entry-content,
body.single-bv_guide .ast-row {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}
body.post-type-archive-bv_guide,
body.single-bv_guide { background: #091724; }

/* Tokens scoped to guide pages */
.bv-guides-page {
  --bvg-bg:     #091724;
  --bvg-surf:   #0d2035;
  --bvg-surf2:  #0f2540;
  --bvg-bdr:    rgba(255,255,255,0.07);
  --bvg-teal:   #00d9cc;
  --bvg-tdim:   rgba(0,217,204,0.10);
  --bvg-tbdr:   rgba(0,217,204,0.22);
  --bvg-white:  #ffffff;
  --bvg-muted:  rgba(255,255,255,0.52);
  --bvg-muted2: rgba(255,255,255,0.28);
  --bvg-r:      10px;
  background: var(--bvg-bg);
  color: var(--bvg-white);
}

/* Hero */
.bvg-hero {
  background: linear-gradient(155deg,#0d2035 0%,#091724 100%);
  border-bottom: 1px solid var(--bvg-bdr);
  padding: 60px 32px 68px;
  position: relative; overflow: hidden;
}
.bvg-hero::before {
  content:''; position:absolute; top:-80px; right:40px;
  width:420px; height:420px;
  background: radial-gradient(circle,rgba(0,217,204,0.055) 0%,transparent 65%);
  border-radius:50%; pointer-events:none;
}
.bvg-hero-inner { max-width:660px; margin:0 auto; position:relative; z-index:1; }
.bvg-eyebrow {
  font-family:'Courier New',monospace; font-size:11px; font-weight:700;
  letter-spacing:0.16em; text-transform:uppercase; color:var(--bvg-teal); margin-bottom:16px;
}
.bvg-title { font-size:40px; font-weight:800; color:var(--bvg-white); line-height:1.12; letter-spacing:-0.03em; margin-bottom:16px; }
.bvg-title em { font-style:normal; color:var(--bvg-teal); }
.bvg-lead { font-size:16px; color:var(--bvg-muted); line-height:1.65; max-width:480px; margin-bottom:32px; }
.bvg-stats { display:flex; gap:44px; border-top:1px solid var(--bvg-bdr); padding-top:24px; }
.bvg-num { font-family:'Courier New',monospace; font-size:26px; font-weight:700; color:var(--bvg-teal); display:block; line-height:1.1; margin-bottom:3px; }
.bvg-lbl { font-size:12px; color:var(--bvg-muted); }

/* Filter bar */
.bvg-filter-bar {
  background:var(--bvg-bg); border-bottom:1px solid var(--bvg-bdr);
  padding:0 28px; display:flex; align-items:center; gap:4px;
  height:50px; overflow-x:auto; flex-shrink:0;
}
.bvg-fpill {
  font-size:12px; font-weight:600; padding:5px 14px;
  border-radius:20px; border:1px solid transparent;
  color:var(--bvg-muted); background:none; text-decoration:none;
  transition:all 0.15s; letter-spacing:0.02em; white-space:nowrap; display:inline-block;
}
.bvg-fpill.active { background:var(--bvg-tdim); color:var(--bvg-teal); border-color:var(--bvg-tbdr); }
.bvg-fpill:hover:not(.active) { background:rgba(255,255,255,0.04); border-color:var(--bvg-bdr); color:var(--bvg-white); }

/* Hub content */
.bvg-hub-content { padding:40px 28px 64px; }
.bvg-sec-head { display:flex; align-items:baseline; gap:10px; margin-bottom:18px; }
.bvg-sec-h2 { font-size:16px; font-weight:700; color:var(--bvg-white); letter-spacing:-0.01em; }
.bvg-sec-count { font-family:'Courier New',monospace; font-size:12px; color:var(--bvg-muted2); }
.bvg-featured-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:14px; margin-bottom:40px; }
.bvg-twostack { display:flex; flex-direction:column; gap:14px; }
.bvg-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:40px; }

/* Cards */
.bvg-card {
  background:var(--bvg-surf); border:1px solid var(--bvg-bdr);
  border-radius:var(--bvg-r); overflow:hidden;
  transition:all 0.2s; display:block; text-decoration:none; color:inherit;
}
.bvg-card:hover { border-color:var(--bvg-tbdr); transform:translateY(-2px); box-shadow:0 8px 32px rgba(0,0,0,0.38); }
.bvg-card-img {
  height:130px; background:var(--bvg-surf2);
  display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
}
.bvg-card--big .bvg-card-img { height:176px; }
.bvg-ci-glow {
  position:absolute; inset:0;
  background:radial-gradient(circle at 50% 60%,rgba(0,217,204,0.07) 0%,transparent 65%);
}
.bvg-ci-icon { position:relative; z-index:1; width:44px; height:44px; }
.bvg-card--big .bvg-ci-icon { width:56px; height:56px; }
.bvg-ci-tag {
  position:absolute; top:10px; left:12px;
  font-family:'Courier New',monospace; font-size:9px; font-weight:700;
  letter-spacing:0.1em; text-transform:uppercase; color:var(--bvg-teal);
  background:rgba(0,217,204,0.09); border:1px solid rgba(0,217,204,0.18);
  padding:2px 8px; border-radius:10px;
}
.bvg-card-body { padding:15px 16px 17px; }
.bvg-card-cat { font-family:'Courier New',monospace; font-size:10px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--bvg-teal); margin-bottom:7px; }
.bvg-card-title { font-size:14px; font-weight:700; color:var(--bvg-white); line-height:1.35; margin-bottom:8px; }
.bvg-card--big .bvg-card-title { font-size:18px; }
.bvg-card-excerpt { font-size:13px; color:var(--bvg-muted); line-height:1.6; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-bottom:12px; }
.bvg-card-meta { display:flex; align-items:center; gap:8px; font-size:11px; color:var(--bvg-muted2); font-family:'Courier New',monospace; }
.bvg-card-cta { display:inline-flex; align-items:center; gap:4px; color:var(--bvg-teal); font-size:12px; font-weight:700; margin-top:8px; text-decoration:none; transition:gap 0.15s; }
.bvg-card:hover .bvg-card-cta { gap:8px; }
.bvg-empty { color:var(--bvg-muted); padding:40px 0; text-align:center; }

/* Article layout */
.bvg-article-wrap {
  display:grid; grid-template-columns:1fr 264px;
  max-width:1200px; margin:0 auto; width:100%; padding:0 32px; gap:24px;
  min-height:60vh;
}
.bvg-art-main { min-width:0; padding:28px 0; }
.bvg-art-panel {
  background:linear-gradient(180deg,#0d2035 0%,#0b1d2e 22%,#0a1b2c 55%,#091724 100%);
  border:1px solid var(--bvg-bdr); border-radius:16px; overflow:hidden;
}
.bvg-art-hero { padding:0; position:relative; overflow:hidden; }
.bvg-art-hero::after {
  content:''; position:absolute; right:48px; top:50%; transform:translateY(-50%);
  width:200px; height:200px;
  background:radial-gradient(circle,rgba(0,217,204,0.07) 0%,transparent 70%);
  pointer-events:none;
}
.bvg-art-hero-inner { padding:48px 48px 44px; position:relative; z-index:1; }
.bvg-breadcrumb {
  font-family:'Courier New',monospace; font-size:11px; color:var(--bvg-muted2);
  margin-bottom:14px; display:flex; align-items:center; gap:6px;
}
.bvg-breadcrumb a { color:var(--bvg-muted2); text-decoration:none; }
.bvg-breadcrumb a:hover { color:var(--bvg-teal); }
.bvg-breadcrumb span { color:rgba(255,255,255,0.14); }
.bvg-art-cat {
  font-family:'Courier New',monospace; font-size:10px; font-weight:700;
  letter-spacing:0.14em; text-transform:uppercase; color:var(--bvg-teal);
  border:1px solid var(--bvg-tbdr); background:var(--bvg-tdim);
  padding:3px 12px; border-radius:20px; display:inline-block; margin-bottom:14px;
}
.bvg-art-hero h1 {
  font-size:30px; font-weight:800; color:var(--bvg-white);
  line-height:1.2; letter-spacing:-0.025em; max-width:540px; margin-bottom:18px;
}
.bvg-art-meta { display:flex; align-items:center; gap:12px; font-family:'Courier New',monospace; font-size:12px; color:var(--bvg-muted2); flex-wrap:wrap; }
.bvg-art-meta-dot { width:3px; height:3px; background:var(--bvg-muted2); border-radius:50%; display:inline-block; }
.bvg-art-body { padding:40px 48px 52px; }

/* Article body typography */
.bvg-art-body p { font-size:15px; color:var(--bvg-muted); line-height:1.75; margin-bottom:14px; }
.bvg-art-body h2 {
  display:inline-flex; align-items:center;
  font-family:'Courier New',monospace; font-size:11px; font-weight:700;
  letter-spacing:0.12em; text-transform:uppercase; color:var(--bvg-teal);
  background:var(--bvg-tdim); border:1px solid var(--bvg-tbdr);
  border-radius:20px; padding:5px 16px; margin:32px 0 14px;
}
.bvg-art-body strong { color:var(--bvg-white); font-weight:700; }
.bvg-art-body ul,.bvg-art-body ol { margin:14px 0 22px 20px; }
.bvg-art-body li { font-size:15px; color:var(--bvg-muted); line-height:1.7; margin-bottom:6px; }

/* Callout boxes (authored in post HTML) */
.bvg-art-body .callout {
  background:rgba(0,217,204,0.05); border:1px solid var(--bvg-tbdr);
  border-left:3px solid var(--bvg-teal); border-radius:0 8px 8px 0;
  padding:14px 18px; margin:20px 0;
}
.bvg-art-body .callout.warn { background:rgba(245,158,11,0.05); border-color:rgba(245,158,11,0.22); border-left-color:#f59e0b; }
.bvg-art-body .callout-lbl {
  font-family:'Courier New',monospace; font-size:10px; font-weight:700;
  letter-spacing:0.12em; text-transform:uppercase; color:var(--bvg-teal); margin-bottom:5px;
}
.bvg-art-body .callout.warn .callout-lbl { color:#f59e0b; }
.bvg-art-body .callout p { font-size:14px; color:rgba(255,255,255,0.68); margin:0; line-height:1.6; padding:0; border:none; }

/* Step lists */
.bvg-art-body .steps { list-style:none; margin:14px 0 22px 0; display:flex; flex-direction:column; gap:12px; padding:0; }
.bvg-art-body .steps li { display:flex; gap:12px; align-items:flex-start; }
.bvg-art-body .snum {
  flex-shrink:0; width:25px; height:25px;
  background:var(--bvg-tdim); border:1px solid var(--bvg-tbdr);
  color:var(--bvg-teal); border-radius:50%;
  font-family:'Courier New',monospace; font-size:11px; font-weight:700;
  display:flex; align-items:center; justify-content:center; margin-top:1px;
}
.bvg-art-body .scontent p { font-size:14px; color:var(--bvg-muted); line-height:1.65; margin:0; }
.bvg-art-body .scontent strong { color:var(--bvg-white); }

/* Tables */
.bvg-art-body .table-wrap { overflow-x:auto; margin:20px 0; border-radius:8px; border:1px solid var(--bvg-bdr); }
.bvg-art-body table { width:100%; border-collapse:collapse; font-size:14px; }
.bvg-art-body th {
  background:var(--bvg-surf2); color:var(--bvg-teal);
  font-family:'Courier New',monospace; font-size:10px; font-weight:700;
  letter-spacing:0.1em; text-transform:uppercase; padding:10px 14px;
  text-align:left; border-bottom:1px solid var(--bvg-bdr);
}
.bvg-art-body td { padding:9px 14px; color:var(--bvg-muted); border-bottom:1px solid var(--bvg-bdr); }
.bvg-art-body tr:nth-child(even) td { background:rgba(255,255,255,0.02); }
.bvg-art-body tr:last-child td { border-bottom:none; }
.bvg-art-body td:first-child { color:var(--bvg-white); font-weight:600; }

/* RUO box */
.bvg-ruo-box {
  background:var(--bvg-surf); border:1px solid var(--bvg-bdr); border-radius:8px;
  padding:14px 18px; margin-top:36px;
}
.bvg-ruo-box strong {
  font-family:'Courier New',monospace; font-size:10px; font-weight:700;
  letter-spacing:0.12em; text-transform:uppercase; color:var(--bvg-teal); display:block; margin-bottom:5px;
}
.bvg-ruo-box p { font-size:12px; color:var(--bvg-muted2); line-height:1.6; margin:0; }

/* Sidebar */
.bvg-art-sidebar {
  padding:24px 20px; background:var(--bvg-bg);
  position:sticky; top:80px; align-self:start;
  max-height:calc(100vh - 80px); overflow-y:auto;
}
.bvg-sb-cta {
  background:var(--bvg-teal); border-radius:10px;
  padding:18px; color:#060f1a; text-align:center; margin-bottom:22px;
}
.bvg-sb-cta h4 { font-size:14px; font-weight:800; margin-bottom:5px; }
.bvg-sb-cta p { font-size:12px; color:rgba(0,0,0,0.52); line-height:1.5; margin-bottom:12px; }
.bvg-sb-cta a {
  display:block; background:rgba(0,0,0,0.14); color:#060f1a;
  text-decoration:none; font-size:13px; font-weight:800; padding:8px; border-radius:6px;
}
.bvg-sb-lbl {
  font-family:'Courier New',monospace; font-size:10px; font-weight:700;
  letter-spacing:0.12em; text-transform:uppercase; color:var(--bvg-muted2); margin-bottom:10px;
}
.bvg-sb-toc { margin-bottom:24px; }
.bvg-toc-item {
  font-size:12px; color:var(--bvg-muted); padding:5px 14px;
  border-radius:20px; border:1px solid transparent;
  display:block; line-height:1.4; margin-bottom:4px; transition:all 0.15s; text-decoration:none;
}
.bvg-toc-item.active { color:var(--bvg-teal); background:var(--bvg-tdim); border-color:var(--bvg-tbdr); font-weight:600; }
.bvg-toc-item:hover:not(.active) { color:var(--bvg-white); background:rgba(255,255,255,0.04); }
.bvg-rel-item {
  display:flex; align-items:flex-start; gap:10px;
  padding:9px 0; border-bottom:1px solid var(--bvg-bdr);
  text-decoration:none; color:inherit;
}
.bvg-rel-item:last-child { border-bottom:none; }
.bvg-rel-icon {
  width:32px; height:32px; background:var(--bvg-surf2);
  border:1px solid var(--bvg-bdr); border-radius:7px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.bvg-rel-icon svg { width:16px; height:16px; }
.bvg-rel-title { font-size:12px; font-weight:600; color:var(--bvg-white); line-height:1.35; }
.bvg-rel-read { font-family:'Courier New',monospace; font-size:11px; color:var(--bvg-muted2); margin-top:2px; }

/* Responsive */
@media (max-width:900px) {
  .bvg-featured-grid { grid-template-columns:1fr 1fr; }
  .bvg-featured-grid .bvg-card--big { grid-column:1 / -1; }
  .bvg-featured-grid .bvg-twostack { flex-direction:row; }
  .bvg-card-grid { grid-template-columns:1fr 1fr; }
  .bvg-article-wrap { grid-template-columns:1fr; }
  .bvg-art-sidebar { display:none; }
  .bvg-title { font-size:30px; }
}
@media (max-width:600px) {
  .bvg-hero { padding:36px 16px 44px; }
  .bvg-title { font-size:24px; }
  .bvg-lead { font-size:14px; }
  .bvg-stats { gap:20px; }
  .bvg-num { font-size:20px; }
  .bvg-filter-bar { padding:0 16px; }
  .bvg-hub-content { padding:24px 16px 48px; }
  .bvg-featured-grid { grid-template-columns:1fr; }
  .bvg-featured-grid .bvg-twostack { flex-direction:column; }
  .bvg-card-grid { grid-template-columns:1fr; }
  .bvg-article-wrap { padding:0 12px; }
  .bvg-art-main { padding:12px 0 20px; }
  .bvg-art-panel { border-radius:10px; }
  .bvg-art-hero-inner { padding:24px 18px 16px; }
  .bvg-art-hero h1 { font-size:20px; }
  .bvg-art-body { padding:20px 18px 36px; }
  .bvg-art-body h2 { font-size:10px; }
}

/* Fix: content .ast-container full-width (header .ast-container excluded) */
body.post-type-archive-bv_guide #content .ast-container,
body.post-type-archive-bv_guide #primary .ast-container,
body.single-bv_guide #content .ast-container,
body.single-bv_guide #primary .ast-container {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Match site wrapper background to guide dark */
body.post-type-archive-bv_guide .hfeed,
body.post-type-archive-bv_guide .site,
body.single-bv_guide .hfeed,
body.single-bv_guide .site { background: #091724 !important; }

/* Product description headings on dark background */
.woocommerce-Tabs-panel--description h1,
.woocommerce-Tabs-panel--description h2,
.woocommerce-Tabs-panel--description h3,
.woocommerce-Tabs-panel--description h4,
.entry-content .woocommerce-Tabs-panel h3 {
  color: #e8f0fe !important;
}

/* Hide solo Description tab nav */
.woocommerce-tabs .wc-tabs { display: none !important; }
.woocommerce-tabs .woocommerce-Tabs-panel--description { padding-top: 0 !important; border-top: none !important; }

/* Fix cart badge on mobile: .ast-button-wrap needs static cart */
.ast-button-wrap .bv-cart { position:relative !important; right:auto !important; top:auto !important; transform:none !important; }

/* Fix: needs ID+class+class to beat #ast-mobile-header .bv-cart (ID+class) static override */
#ast-mobile-header .ast-button-wrap .bv-cart { position:relative !important; right:auto !important; top:auto !important; transform:none !important; }

/* Cart page: let WC block's -20px margins bleed both sides symmetrically */
.woocommerce-cart .entry-content { overflow: visible !important; }

/* Cart: WC sets width:100%, override to stretch into both -20px margins symmetrically */
.woocommerce-cart .wp-block-woocommerce-cart { width: calc(100% + 40px) !important; }

/* Revert: overflow:visible unclips ::before teal bar from border-radius; hidden is safe since WC block fits in padding box */
.woocommerce-cart .entry-content { overflow: hidden !important; }

/* Checkout: same WC width:100% fix as cart */
.woocommerce-checkout .wp-block-woocommerce-checkout { width: calc(100% + 40px) !important; }

/* Checkout: hide order summary block so Express Checkout leads */
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block { display: none !important; }

/* Checkout/cart radio dots -> teal */
.wc-block-components-radio-control__input { accent-color: #33DCC9 !important; }

/* Checkout: reduce top gap before Express Checkout (77px -> 29px) */
.woocommerce-checkout .wp-block-woocommerce-checkout { padding-top: 0 !important; }
.woocommerce-checkout .wc-block-components-main { margin-top: -24px !important; }

/* Payment: white accordion cards so Stripe PE reads light bg + builds non-black appearance */
#payment-method .wc-block-components-radio-control-accordion-option { background-color: #ffffff !important; border-color: rgba(0,0,0,0.08) !important; border-radius: 6px !important; }
/* Labels dark on white bg */
#payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__label { color: #1a2d4a !important; }
/* Radio ring on white bg */
#payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__input { border-color: #94a3b8 !important; }
#payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__input:checked { border-color: #33DCC9 !important; }
/* Radio inner dot: teal when checked, transparent when not */
#payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__input::before { background-color: transparent !important; }
#payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__input:checked::before { background-color: #33DCC9 !important; }
/* Shipping: radio dot teal when selected */
.wc-block-checkout__shipping-option .wc-block-components-radio-control__input::before { background-color: transparent !important; }
.wc-block-checkout__shipping-option .wc-block-components-radio-control__input:checked::before { background-color: #33DCC9 !important; }

/* Payment section: white bg so Stripe PE reads light color on init (reads #payment-method before accordion options render) */
.woocommerce-checkout #payment-method { background-color: #f8fafc !important; border-radius: 8px !important; padding: 12px !important; }
/* Heading text dark on white bg */
.woocommerce-checkout #payment-method .wc-block-components-checkout-step__title { color: #1a2d4a !important; }

/* Payment: dark bg matching page, teal accents — replaces white-bg rules above */
#payment-method .wc-block-components-radio-control-accordion-option { background-color: rgba(255,255,255,0.05) !important; border-color: rgba(51,220,201,0.2) !important; border-radius: 6px !important; }
#payment-method .wc-block-components-radio-control-accordion-option:has(.wc-block-components-radio-control__input:checked) { border-color: #33DCC9 !important; background-color: rgba(51,220,201,0.08) !important; }
#payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__label { color: #e2eaf2 !important; }
#payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__input { border-color: #4a6a8a !important; }
#payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__input:checked { border-color: #33DCC9 !important; }
#payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__input::before { background-color: transparent !important; }
#payment-method .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__input:checked::before { background-color: #33DCC9 !important; }
.woocommerce-checkout #payment-method { background-color: transparent !important; border-radius: 0 !important; padding: 0 !important; }
.woocommerce-checkout #payment-method .wc-block-components-checkout-step__title { color: #e2eaf2 !important; }

/* Fix: order summary block was erroneously hidden — restore for desktop checkout sidebar */
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block { display: block !important; }

/* Center checkout + cart panels — zero entry-content padding so WC Blocks handles centering */
.woocommerce-checkout .entry-content,
.woocommerce-cart .entry-content {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Constrain + center checkout/cart panels within the now-unpadded entry-content */
.woocommerce-checkout .wp-block-woocommerce-checkout,
.woocommerce-cart .wp-block-woocommerce-cart {
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
}

/* Dark scrollbar — matches site bg, eliminates gray gutter contrast */
html { scrollbar-color: #1e3a5f #0c1a2b; scrollbar-width: thin; }
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #0c1a2b; }
::-webkit-scrollbar-thumb { background: #1e3a5f; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #33DCC9; }

/* Unify body bg with page bg to eliminate right-edge color mismatch */
body, .hfeed.site { background-color: #091724 !important; }
html { scrollbar-color: #1e3a5f #091724; scrollbar-width: thin; }
::-webkit-scrollbar-track { background: #091724 !important; }
/* v2.4.2 — hub card content max-width: center at wide viewports, eliminate asymmetric right space */
.bvg-hub-content {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* v2.4.3 — bv-guides-page must be full-width so hub margin:auto centers correctly */
.bv-guides-page { width: 100% !important; }
/* Override Astra body bg via html+page (body bg is set via CSS var that survives !important) */
html, #page { background-color: #091724 !important; }
/* v2.4.4 — center filter bar to match hub-content centering */
.bvg-filter-bar {
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
