:root{color-scheme:dark;--surface:#0e0c15;--surface-2:#100d18;--surface-3:#171121;--onyx:#0e0c15;--ink:#fffaf7;--charcoal:#ddd3df;--blush:#ffd7e9;--rose:#ff4f9a;--deep:#c52f83;--champagne:#e9a6ce;--text:#fffaf7;--muted:#b9adc4;--line:#33263f;background:var(--surface);color:var(--text)}
body{background:radial-gradient(circle at 80% 4%,#28132c 0,transparent 30%),var(--surface);color:var(--text)}
.announcement{background:linear-gradient(90deg,#511735,#2b1334);color:#fff7fb}.announcement a{display:block;color:inherit;text-decoration:none}
.site-header{background:#08070df2;border-color:var(--line);backdrop-filter:blur(14px)}
.button.primary{color:#fff;background:linear-gradient(135deg,#ff65a7,#e03791 52%,#9f4ee9);box-shadow:0 12px 34px #ec3e9128}
.button.secondary{color:#ffd5e8;border-color:#8f4669;background:#ff4f9a0b}
.card,.bundle-new,.play-way,.privacy-item,.email-panel,.gift-flow,.game-landing-card{background:linear-gradient(145deg,#1b1425,#100d18);border-color:var(--line);color:var(--text)}
.home-v2 .home-hero{background:linear-gradient(110deg,#08070d,#100b17 55%,#25132a)!important}
.home-v2 .home-hero h1,.hero-price,.hero-product-visual figcaption{color:var(--text)!important}.home-v2 .home-hero .lede,.hero-trust{color:var(--muted)!important}
.hero-product-visual{background:#f5eef2!important;border-color:#573349!important;box-shadow:0 28px 80px #0008!important}.hero-product-image{mix-blend-mode:normal!important;object-fit:contain!important}
.hero-trust span{background:#171121!important;border-color:var(--line)!important}.section,.trust-strip{border-color:var(--line)}
.product-card{background:#15101e}.product-card .product-art{aspect-ratio:4/5;background:#f7f2f5;border-color:#3b2a40}.product-card .card-product-photo{object-fit:contain;background:#f7f2f5;padding:.5rem}.product-info{color:var(--text)}
.gallery-main{background:#f7f2f5!important;border-color:#5e3850!important;box-shadow:none!important}.gallery-main img{object-fit:contain!important;background:#f7f2f5!important}.gallery-thumbs,.gallery-thumbs button{background:#171121!important}
.field,.bundle-option,.swatch-option{background:#171121;color:var(--text);border-color:var(--line)}
.site-footer{background:#09070d;border-color:var(--line)}.cart-drawer{background:#100d18}.mobile-bar{background:#100d18f5;border-color:var(--line)}
.age-gate{background:#08070df2}.gate-panel{background:#14101d;border-color:#553249}
.pending-price{color:var(--rose)}.product-card[data-pending=true] [data-add]{pointer-events:none;opacity:.55}.product-card[data-pending=true] .price{color:var(--rose)}
@media(max-width:850px){.home-v2 .home-hero{min-height:auto}.home-v2 .home-hero .hero-grid{padding-top:2rem}.hero-product-visual{order:-1}.product-card .product-art{aspect-ratio:4/5}}

/* Full homepage dark theme — the "editorial" section design below hardcoded light colors
   directly instead of using the theme variables above, so every section past the hero
   still rendered as a light page. Re-dark each one here, grouped by section. */
.home-v2{background:var(--surface);color:var(--text)}
.home-v2 main p{color:var(--muted)!important}
.home-v2 main .eyebrow{color:var(--rose)!important}
.home-v2 main .button.primary{background:linear-gradient(135deg,#ff65a7,#e03791 52%,#9f4ee9)!important;color:#fff!important;border-color:transparent!important}
.home-v2 main .button.primary::before{background:transparent!important}
.home-v2 main .button.secondary{color:var(--text)!important;border-color:#5a4a63!important}
.home-v2 main .button.secondary:hover{color:#fff!important;background:#ff4f9a14!important;border-color:var(--rose)!important}
.numbered-section::before,.numbered-section::after{display:none!important}
.bundle-grid{align-items:stretch!important}
.bundle-new{display:flex;flex-direction:column;height:100%}
.bundle-featured{margin-top:0!important}
.bundle-copy{display:flex;flex-direction:column;flex:1}
.privacy-grid{gap:clamp(1.25rem,2.5vw,2.5rem)!important}
.line-icon{margin-bottom:1rem!important}
.play-way{padding:1.75rem 1.6rem 2rem!important;min-height:0!important;display:flex;flex-direction:column}
.play-way .line-icon{color:var(--rose)}
.play-ways{align-items:stretch}
.gift-section .designed-heading{padding-left:0!important;margin-inline:auto}
.gift-section .designed-heading>.section-number{position:static!important;display:block;margin:0 auto .3rem}
.gift-flow article{display:flex;flex-direction:column;align-items:center}
.gift-flow .line-icon{color:var(--rose)}
.editorial-card .line-icon{color:var(--rose);margin-bottom:1.1rem}
.editorial-card .category-tag{margin-bottom:.6rem;display:inline-block}
.home-v2 .section{background:transparent!important}
.home-v2 .numbered-section::before{border-color:var(--line)!important}
.designed-heading h2,.compact-heading h2,.email-copy h2,.pull-quote{color:var(--text)!important}
.trust-strip{background:transparent!important}
.trust-stats{color:var(--text)!important}
.bundle-new{background:linear-gradient(145deg,#1b1425,#100d18)!important;border-color:var(--line)!important}
.bundle-featured{background:#0d0812!important;color:var(--text)!important}
.bundle-featured p,.bundle-featured .eyebrow{color:var(--muted)!important}
.bundle-image{background:var(--surface-3)!important}
.app-section{background:transparent!important}
.play-way{background:linear-gradient(145deg,#1b1425,#100d18)!important;border-color:var(--line)!important}
.way-number{color:var(--surface-3)!important;-webkit-text-stroke-color:var(--rose)!important}
.privacy-section{background:transparent!important}
.line-icon{border-color:var(--line)!important;color:var(--rose)!important}
.gift-flow article{background:#171121e8!important}
.gift-flow article>span{background:var(--surface-3)!important;border-color:var(--rose)!important;color:var(--rose)!important}
.ribbon-path{stroke:#5a2f47!important}
.distance-section{background:var(--surface-3)!important}
.device{background:#171121!important;border-color:#3b2a44!important;color:var(--text)!important}
.guide-art{background:var(--surface-3)!important}
.guide-date::before,.guide-date::after{border-color:var(--rose)!important}
.guide-first::before{background:var(--surface-2)!important;border-color:var(--rose)!important}
.guide-first::after{background:var(--text)!important}
.guide-apart::before,.guide-apart::after{background:var(--surface-2)!important;border-color:var(--rose)!important}
.email-panel{background:linear-gradient(145deg,#241332,#140d1d)!important}
.email-panel .field{background:var(--surface-3)!important;border-color:#4a3556!important;color:var(--text)!important}
.email-form .button{white-space:nowrap;flex:0 0 auto}
.faq-section .faq-question{color:var(--text)!important}
.faq-section .faq-answer{color:var(--muted)!important}
.faq-section .accordion,.faq-section .faq-item{border-color:var(--line)!important}
.home-v2 .site-footer{background:var(--surface-2)!important;color:var(--muted)!important}
.home-v2 .site-footer .brand,.home-v2 .site-footer a,.home-v2 .site-footer strong{color:var(--text)!important}
.faq-layout{grid-template-columns:minmax(0,1fr)!important;max-width:880px;margin-inline:auto}
.answer-first{background:linear-gradient(145deg,#1b1425,#100d18)!important;border-color:var(--line)!important}
.answer-first dl>div{border-color:var(--line)!important}

/* Sitewide (shop / product / other pages) — a separate "v42 premium light theme" pass in
   brand.css, plus product-depth.css, hardcoded light colors outside the home-v2 scope,
   so shop.html and product pages still rendered light past the header. */
.section:nth-of-type(even){background:transparent!important}
.hero{background:var(--surface)!important}
.flagship-shop,.flagship-compact,.high-ticket{background:var(--surface-2)!important}
.flagship-grid{background:var(--surface-2)!important;border-color:var(--line)!important}
.flagship-art{background:var(--surface-3)!important}
.flagship-bundle{background:var(--surface-3)!important;color:var(--text)!important}
.product-card .product-art{background:#f7f2f5!important}
.quick-view{background:var(--surface-3)!important;color:var(--text)!important;border-color:var(--line)!important}
.toast{background:linear-gradient(135deg,#ff65a7,#e03791 52%,#9f4ee9)!important;color:#fff!important}
.onyx-sticky-cart{background:#100d18f2!important;border-color:var(--line)!important}
.product-detail .buy-box{background:var(--surface-2)!important;border-color:var(--line)!important}
.product-detail .gallery-thumbs button{background:var(--surface-3)!important;color:var(--muted)!important;border-color:var(--line)!important}
.product-detail .product-trust{background:var(--surface-2)!important;border-color:var(--line)!important}
.product-detail .onyx-benefits li{background:var(--surface-3)!important;border-color:var(--line)!important}
.pairs-well{background:transparent!important}
.flagship-art{aspect-ratio:1;min-height:0!important;overflow:hidden}
.flagship-art img{width:100%!important;height:100%!important;object-fit:cover!important;display:block}

/* Current page in the main nav — brand.css only drew a 1px dark underline, invisible on dark. */
.nav-links a[aria-current=page]{color:#fff!important;font-weight:600}
.nav-links a[aria-current=page]::after{right:0!important;height:2px!important;bottom:-.45rem!important;border-radius:2px;background:linear-gradient(90deg,#ff65a7,#b44fe0)!important}

/* Shop: products above the fold — compact title bar instead of a full hero, no section rules/gaps. */
.shop-page main>.section{border:0!important}
.shop-page .shop-head{padding:clamp(1.1rem,2.2vw,1.75rem) 0 .4rem!important}
.shop-head .breadcrumbs{display:flex;gap:.45rem;align-items:center;font-size:.85rem;color:var(--muted);margin:0 0 .5rem}
.shop-head .breadcrumbs a{color:var(--muted);text-decoration:none}
.shop-head .breadcrumbs a:hover{color:var(--text)}
.shop-head .breadcrumbs [aria-current=page]{color:#ff8fc0;font-weight:600}
.shop-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:.5rem 1.5rem;flex-wrap:wrap}
.shop-title-row h1{font-size:clamp(2.1rem,3.6vw,3rem)!important;line-height:1;margin:0}
.shop-sub{color:var(--muted);margin:.4rem 0 0;font-size:.98rem}
.shop-count{color:var(--muted);margin:0;font-size:.9rem;white-space:nowrap}
.shop-page .shop-main{padding:.9rem 0 clamp(3rem,6vw,5rem)!important}
.shop-page .personalized{padding:clamp(2rem,4vw,3.5rem) 0!important}

/* Product cards: every card in a row is the same height, buttons line up at the bottom. */
.grid.products{align-items:stretch!important}
.product-card{display:flex!important;flex-direction:column;height:100%}
.product-card .product-image-stack{flex:0 0 auto}
.product-card .product-art{aspect-ratio:1/1!important}
.product-card .product-info{flex:1 1 auto;display:flex;flex-direction:column}
.product-card .product-meta{display:block!important}
.product-card .product-meta h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.15;min-height:2.3em;margin:0}
.product-card .product-meta .colourway{display:block;margin-top:.3rem;font-size:.85rem;color:#ff8fc0}
.product-card .product-actions{margin-top:auto!important;padding-top:1rem}
.product-card .card-variant-toggle{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:.45rem;margin:.1rem 0 0}
.product-card .card-variant-toggle button{min-height:40px;background:var(--surface-3)!important;border:1px solid #4a3556!important;color:var(--text)!important;font-weight:600;border-radius:999px}
.product-card .card-variant-toggle button:hover{border-color:#ff65a7!important}
.product-card .card-variant-toggle .selected{background:#c42f86!important;border-color:#c42f86!important;color:#fff!important}

/* Flagship as a full-width banner inside the grid — sized to fit one screen. */
.shop-page .grid-feature{grid-column:1/-1;margin:.5rem 0}
.grid-feature.flagship-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important;gap:clamp(1.25rem,3.5vw,3rem)!important;padding:clamp(1rem,2.4vw,2rem)!important;align-items:center}
.grid-feature .flagship-art{width:min(100%,400px);justify-self:center}
.grid-feature .flagship-copy h2{font-size:clamp(1.9rem,3.2vw,2.9rem)!important;line-height:1.02;margin:.2rem 0 .6rem}
.grid-feature .flagship-copy .lede{font-size:1rem;margin:0 0 .6rem}
.grid-feature .benefit-list{margin:.5rem 0 .9rem}
.grid-feature .flagship-bundles{margin:0 0 1rem}
@media(max-width:850px){.grid-feature.flagship-grid{grid-template-columns:1fr!important}.grid-feature .flagship-art{width:min(100%,300px)}}
.mobile-bar a[aria-current=page]{color:#ff8fc0!important;font-weight:700;box-shadow:inset 0 -2px 0 #ff65a7;border-radius:10px}

/* Category guide links: one quiet scrollable pill row instead of wrapping underlined text. */
.shop-page .category-links{display:flex;gap:.45rem;overflow-x:auto;flex-wrap:nowrap;margin:.1rem 0 1rem;padding-bottom:.2rem;scrollbar-width:none}
.shop-page .category-links::-webkit-scrollbar{display:none}
.shop-page .category-links a{flex:0 0 auto;white-space:nowrap;font-size:.82rem;color:var(--muted);text-decoration:none;padding:.35rem .75rem;border:1px dashed #4a3556;border-radius:999px}
.shop-page .category-links a:hover{color:var(--text);border-color:#ff65a7}

@media(max-width:700px){
 .shop-page .shop-head{padding:.9rem 0 .2rem!important}
 .shop-head .breadcrumbs{margin-bottom:.3rem}
 .shop-sub{display:none}
 .shop-title-row{align-items:baseline}
 .shop-title-row h1{font-size:2rem!important}
 .shop-page .shop-main{padding-top:.5rem!important}
 .shop-page .shop-controls{grid-template-columns:minmax(0,1fr) 8.5rem!important}
 .shop-page .shop-controls .field{min-height:2.6rem}
}
.shop-page .chips{scrollbar-width:none}.shop-page .chips::-webkit-scrollbar{display:none}

/* Show the "Onyx Bunny" wordmark next to the logo (brand.css had font-size:0 hiding it). */
.site-header .brand,.site-footer .brand{font:600 1.3rem/1 Fraunces,var(--serif),serif!important;color:var(--text)!important;gap:.55rem;letter-spacing:-.01em}
.site-header .brand svg,.site-header .brand img{flex:0 0 auto}
@media(max-width:560px){.site-header .brand{font-size:1.05rem!important;gap:.4rem}}
