/* Layout: marketplace grid from the reference — header + game nav, hero pair, category rail, product rows, bento promos, wide service banner. Light = Nathan's white logo, dark = his navy social profile. */
:root{
  --bg:#ffffff; --surface:#f4f7f9; --tile:#eef3f6; --line:#e2e9ee;
  --fg:#16212e; --muted:#5f7186; --soft:#95a3b5;
  --holo:#127a90; --holo-2:#22c7e6; --hero:#e11d48; --star:#fde68a;
  --ink-on-accent:#ffffff;
  --navy:#141c2e;
  --display:"Poppins",ui-sans-serif,system-ui,sans-serif;
  --body:"Nunito Sans",ui-sans-serif,system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --r-lg:18px; --r-md:12px; --r-sm:8px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#121a2b; --surface:#18223a; --tile:#1d2944; --line:#27344f;
  --fg:#eaf1f8; --muted:#9fb0c6; --soft:#6f819a;
  --holo:#22d3ee; --holo-2:#67e8f9; --hero:#fb7185; --star:#fde68a;
  --ink-on-accent:#0d1424; --navy:#0b1120; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#121a2b; --surface:#18223a; --tile:#1d2944; --line:#27344f;
  --fg:#eaf1f8; --muted:#9fb0c6; --soft:#6f819a;
  --holo:#22d3ee; --holo-2:#67e8f9; --hero:#fb7185; --star:#fde68a;
  --ink-on-accent:#0d1424; --navy:#0b1120; color-scheme:dark}

*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font:15px/1.5 var(--body);margin:0}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--holo);outline-offset:2px;border-radius:6px}
.wrap{max-width:1240px;margin:0 auto;padding-inline:clamp(16px,3vw,32px)}
h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;letter-spacing:-.01em}
.mono{font-family:var(--mono);font-size:.72rem;letter-spacing:.02em}


/* header */
.top{background:var(--bg)}
.subnav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
.subnav.stuck{box-shadow:0 6px 20px rgba(15,25,40,.08)}
.bar{display:flex;align-items:center;gap:20px;padding-block:14px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;flex:none}
.logo svg{width:38px;height:40px}
.word{display:flex;flex-direction:column;line-height:1}
.word b{font:700 1.3rem/1 var(--display);letter-spacing:-.01em}
.word b .h{color:var(--holo)} .word b .a{color:var(--soft);font-weight:600} .word b .r{color:var(--hero)}
.word small{font:600 .58rem/1 var(--display);letter-spacing:.32em;color:var(--soft);margin-top:5px}
.search{flex:1 1 320px;display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 6px 6px 16px;min-width:0}
.search input{flex:1;min-width:0;border:0;background:none;font:inherit;color:var(--fg);outline:none}
.search input::placeholder{color:var(--soft)}
.search .go{width:34px;height:34px;border-radius:50%;border:0;background:var(--holo);color:var(--ink-on-accent);display:grid;place-items:center;flex:none}
.meta{display:flex;align-items:center;gap:18px;font-size:.82rem;color:var(--muted)}
.meta .ship{display:flex;gap:8px;align-items:center;line-height:1.2}
.meta .ship strong{display:block;color:var(--fg);font-weight:700}
.meta a{display:flex;gap:6px;align-items:center;color:var(--fg);font-weight:600}
.cart{position:relative}
.cart i{position:absolute;top:-6px;left:10px;background:var(--hero);color:#fff;font:700 10px/16px var(--body);width:16px;height:16px;border-radius:50%;text-align:center;font-style:normal}
.ico{width:20px;height:20px;flex:none}
.nav{display:flex;align-items:center;gap:6px;padding-block:8px 12px;overflow-x:auto;scrollbar-width:none;font-size:.84rem}
.nav a{padding:6px 10px;border-radius:999px;color:var(--muted);white-space:nowrap;font-weight:600}
.nav a:hover{background:var(--surface);color:var(--fg)}
.nav .all{background:var(--surface);color:var(--fg);display:flex;gap:6px;align-items:center}
.nav .sp{flex:1}
.nav .pre{color:var(--holo)} .nav .rep{color:var(--hero)}

main.home{display:flex;flex-direction:column;gap:56px;padding-block:24px 64px}

/* hero */
.hero{display:grid;grid-template-columns:2fr 1fr;gap:16px}
.slide{border-radius:var(--r-lg);overflow:hidden;position:relative;min-height:320px;display:flex;align-items:center;padding:clamp(24px,4vw,48px)}
.slide.main{background:radial-gradient(120% 140% at 85% 30%,#1fb6d6 0%,#127a90 40%,#0d2a43 100%);color:#fff}
.slide.main .copy{max-width:52%;position:relative;z-index:2;display:flex;flex-direction:column;gap:10px}
.eyebrow{font:600 .7rem/1 var(--display);letter-spacing:.24em;text-transform:uppercase;opacity:.85}
.slide.main h1{font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.08;font-weight:700}
.slide.main p{margin:0;opacity:.85;font-size:.92rem;max-width:34ch}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:10px 20px;font:600 .85rem/1 var(--display);border:0;width:max-content}
.btn.light{background:#fff;color:#0d2a43}
.btn.dark{background:var(--navy);color:#fff}
.btn.hero{background:var(--hero);color:#fff}
.fan{position:absolute;right:4%;top:50%;transform:translateY(-50%);width:48%;max-width:420px;aspect-ratio:1/1}
.fan .c{position:absolute;width:44%;aspect-ratio:63/88;border-radius:10px;left:28%;top:12%;box-shadow:0 20px 40px rgba(0,0,0,.35);background:linear-gradient(135deg,#fde68a,#f9a8d4 35%,#67e8f9 65%,#a7f3d0);border:5px solid #f7f7f2}
.fan .c:nth-child(1){transform:rotate(-18deg) translateX(-38%);background:linear-gradient(160deg,#fb7185,#fdba74 60%,#fde68a)}
.fan .c:nth-child(2){transform:rotate(16deg) translateX(38%);background:linear-gradient(160deg,#22d3ee,#818cf8 60%,#c4b5fd)}
.fan .c:nth-child(3){z-index:2;transform:translateY(-4%)}
.fan .c::after{content:"";position:absolute;inset:8% 8% 42%;border-radius:4px;background:rgba(255,255,255,.35)}
.fan .c::before{content:"";position:absolute;left:8%;right:8%;bottom:10%;height:22%;border-radius:3px;background:repeating-linear-gradient(transparent 0 5px,rgba(255,255,255,.45) 5px 7px)}
.slide.side{background:linear-gradient(160deg,#ffe4ea,#fff4d6);color:#3a1020;flex-direction:column;align-items:flex-start;justify-content:space-between}
.side .big{font:800 clamp(2.6rem,5vw,3.6rem)/.9 var(--display);color:#e11d48;letter-spacing:-.03em}
.side .big small{display:block;font-size:.3em;letter-spacing:.2em;font-weight:700;margin-bottom:6px;color:#3a1020}
.side p{margin:0;font-size:.9rem;max-width:22ch}
.sleeves{position:absolute;right:-14px;bottom:-10px;width:56%;aspect-ratio:1}
.sleeves span{position:absolute;width:55%;aspect-ratio:3/4;border-radius:8px;background:#e11d48;box-shadow:0 10px 24px rgba(120,10,40,.25)}
.sleeves span:nth-child(1){left:6%;top:20%;transform:rotate(-14deg);background:#127a90}
.sleeves span:nth-child(2){left:24%;top:12%;transform:rotate(-2deg);background:#fbbf24}
.sleeves span:nth-child(3){left:42%;top:18%;transform:rotate(12deg)}
.dots{display:flex;gap:6px;justify-content:center;margin-top:14px}
.dots i{width:7px;height:7px;border-radius:99px;background:var(--line)} .dots i:first-child{width:22px;background:var(--fg)}

/* section heads */
.head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px}
.head h2{font-size:clamp(1.2rem,2vw,1.45rem);font-weight:600}
.head a{font-size:.82rem;color:var(--holo);font-weight:700;white-space:nowrap}

/* category rail */
.rail{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:14px}
.cat{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;font:600 .84rem/1.2 var(--display)}
.cat .disc{width:100%;max-width:120px;aspect-ratio:1;border-radius:50%;background:var(--tile);display:grid;place-items:center;transition:transform .2s}
.cat:hover .disc{transform:translateY(-3px)}
.cat svg{width:52%;height:52%}

/* product rows */
.row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.p{display:flex;flex-direction:column;gap:8px;min-width:0}
.p .img{position:relative;background:var(--tile);border-radius:var(--r-md);aspect-ratio:1;display:grid;place-items:center}
.p .img svg{width:58%;height:58%}
.p .heart{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;background:var(--bg);border:1px solid var(--line);display:grid;place-items:center;color:var(--soft)}
.p .flag{position:absolute;left:10px;top:10px;font:700 .66rem/1 var(--display);letter-spacing:.06em;text-transform:uppercase;padding:5px 8px;border-radius:6px;background:var(--hero);color:#fff}
.p .flag.pre{background:var(--holo);color:var(--ink-on-accent)}
.p h3{font:500 .88rem/1.35 var(--body);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.p .sub{display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:var(--muted)}
.chip{font:600 .68rem/1 var(--mono);padding:4px 6px;border-radius:5px;border:1px solid var(--line);color:var(--muted)}
.chip.nm{border-color:transparent;background:color-mix(in srgb,var(--holo) 14%,transparent);color:var(--holo)}
.chip.lp{border-color:transparent;background:color-mix(in srgb,#f59e0b 18%,transparent);color:#b45309}
.price{display:flex;align-items:baseline;gap:8px;font-variant-numeric:tabular-nums}
.price b{font:700 1rem/1 var(--display)} .price s{color:var(--soft);font-size:.8rem}
.stock{font-size:.75rem;color:var(--hero);font-weight:700}

/* promo trio */
.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.promo{border-radius:var(--r-lg);min-height:300px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;position:relative;overflow:hidden}
.promo h3{font-size:1.5rem;line-height:1.1;font-weight:700;max-width:14ch}
.promo p{margin:6px 0 0;font-size:.88rem;max-width:26ch;opacity:.85}
.promo .art{position:absolute;right:-8%;bottom:-6%;width:62%;aspect-ratio:1;opacity:.95}
.promo .art svg{width:100%;height:100%}
.pr1{background:#e11d48;color:#fff}
.pr2{background:#cfeef6;color:#0d2a43}
.pr3{background:#fde68a;color:#3b2a05}

/* game stores */
.games{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.g{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg);transition:border-color .2s}
.g:hover{border-color:var(--holo)}
.g .badge{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font:700 .8rem/1 var(--display);color:#fff;flex:none}
.g b{display:block;font:600 .92rem/1.2 var(--display)}
.g span{font-size:.75rem;color:var(--muted)}

/* bento */
.bento{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:14px;min-height:380px}
.b{border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.b h3{font-size:1.25rem;line-height:1.15;font-weight:700;max-width:16ch}
.b p{margin:6px 0 0;font-size:.85rem;opacity:.85;max-width:28ch}
.b1{grid-row:1/3;background:linear-gradient(150deg,#0d2a43,#127a90);color:#fff}
.b1 h3{font-size:clamp(1.5rem,2.6vw,2rem)}
.b2{background:#ede9fe;color:#2e1065}
.b3{background:#dcfce7;color:#052e16}
.b4{grid-row:1/3;grid-column:3;background:linear-gradient(170deg,#ffe4ea,#ffd1dc);color:#4c0519}
.b .art{position:absolute;right:-6%;bottom:-8%;width:55%;aspect-ratio:1}
.b .art svg{width:100%;height:100%}
.b2 p,.b3 p{max-width:15ch}
.b1 .art{width:50%}
.mini{font:600 .72rem/1 var(--display);padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.9);color:#16212e;width:max-content}

/* repairs banner */
.repairs{border-radius:var(--r-lg);background:var(--navy);color:#eaf1f8;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:24px;padding:clamp(24px,4vw,48px);overflow:hidden;position:relative}
.repairs h2{font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.1;font-weight:700}
.repairs h2 em{font-style:normal;color:#fb7185}
.repairs p{color:#a9b8cc;max-width:42ch;margin:12px 0 20px}
.repairs ul{list-style:none;padding:0;margin:0 0 22px;display:flex;flex-wrap:wrap;gap:8px}
.repairs li{font:600 .75rem/1 var(--display);padding:8px 12px;border-radius:999px;border:1px solid #2c3a57;color:#cfe0f0}
.repairs .phone{justify-self:center;width:min(240px,70%);aspect-ratio:9/17;border-radius:34px;background:#0b1120;border:8px solid #2a3550;position:relative;box-shadow:0 30px 60px rgba(0,0,0,.4)}
.repairs .phone::before{content:"";position:absolute;inset:0;border-radius:26px;background:linear-gradient(140deg,transparent 40%,rgba(34,211,238,.25) 41%,transparent 43%,transparent 55%,rgba(251,113,133,.25) 56%,transparent 58%),radial-gradient(circle at 50% 40%,#127a90,#0b1120 70%)}
.repairs .phone svg{position:absolute;inset:28% 22%;width:56%;height:44%}

/* trust strip */
.trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.t{display:flex;gap:12px;align-items:flex-start;padding:18px;background:var(--surface);border-radius:var(--r-md)}
.t svg{width:26px;height:26px;color:var(--holo);flex:none}
.t b{display:block;font:600 .9rem/1.25 var(--display)}
.t span{font-size:.8rem;color:var(--muted)}

footer{background:var(--surface);border-top:1px solid var(--line);padding-block:40px;font-size:.85rem;color:var(--muted)}
.foot{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:28px}
.foot h4{font:600 .8rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--fg);margin:0 0 12px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.foot .pay{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}
.foot .pay span{font:600 .7rem/1 var(--display);padding:6px 9px;border-radius:6px;background:var(--bg);border:1px solid var(--line);color:var(--fg)}


@media (max-width:1000px){
  .rail{grid-template-columns:repeat(4,minmax(0,1fr))}
  .row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .row .p:nth-child(n+4){display:none}
  .games{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trust{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot{grid-template-columns:1fr 1fr}
  .meta .ship{display:none}
}
@media (max-width:760px){
  .hero,.trio,.repairs{grid-template-columns:1fr}
  .slide.main .copy{max-width:60%}
  .bento{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .b1{grid-row:auto;grid-column:1/3;min-height:240px}
  .b4{grid-row:auto;grid-column:1/3;min-height:200px}
  .b2,.b3{min-height:180px}
  .repairs .phone{display:none}
}
@media (max-width:520px){
  .row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .row .p:nth-child(n+3){display:none}
  .rail{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
  .cat{font-size:.72rem}
  .slide.main .copy{max-width:100%}
  .slide.main .fan{opacity:.35;width:70%}
  .games,.trust{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr}
  .bento{grid-template-columns:1fr}
  .b1,.b4{grid-column:auto}
  .meta{gap:12px}
  .meta .sign span{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ==========================================================================
   Holo and Hero theme additions (WordPress, WooCommerce, ACF-driven homepage)
   ========================================================================== */
html{-webkit-text-size-adjust:100%}
body.hh{overflow-x:hidden}
img,svg{max-width:100%}
img{height:auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:8px;background:var(--fg);color:var(--bg);padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
.muted{color:var(--muted)} .small{font-size:.82rem}
.ico{display:inline-block;vertical-align:middle}
[hidden]{display:none!important}

/* header details */
.top{border-bottom:0}
.bar{row-gap:12px}
.cart i,.hh-cart-count{position:absolute;top:-6px;left:10px;background:var(--hero);color:#fff;font:700 10px/16px var(--body);min-width:16px;height:16px;padding:0 4px;border-radius:99px;text-align:center;font-style:normal}
.meta a{position:relative}
.nav a[aria-current="page"]{background:var(--surface);color:var(--fg)}
.nav .pre,.nav .rep{font-weight:700}

/* hero carousel */
.slides{display:grid;border-radius:var(--r-lg);overflow:hidden;min-width:0}
.slides .slide.main{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s;border-radius:0}
.slides .slide.main.is-active{opacity:1;visibility:visible}
.slide.main.s-navy{background:radial-gradient(120% 140% at 85% 30%,#2b4a8a 0%,#1a2748 45%,#0b1120 100%)}
.slide.main.s-red{background:radial-gradient(120% 140% at 85% 30%,#fb7185 0%,#be123c 45%,#4c0519 100%)}
.slide.main h1,.slide.main .h1{font-family:var(--display);font-size:clamp(1.7rem,3.4vw,2.6rem);line-height:1.08;font-weight:700;margin:0}
.slide.main .btn.light{background:#fff;color:#0d2a43}
.fan.svgart{display:grid;place-items:center}
.fan.svgart svg{width:100%;height:100%;filter:drop-shadow(0 20px 30px rgba(0,0,0,.35))}
.slide.side{text-decoration:none}
.dots button{width:7px;height:7px;padding:0;border:0;border-radius:99px;background:var(--line);cursor:pointer;transition:width .2s,background .2s}
.dots button[aria-selected="true"]{width:22px;background:var(--fg)}
.dots{display:flex;gap:6px;justify-content:center;margin-top:14px}
.dots i{display:none}
.hero>*{min-width:0}

/* product tiles */
.p .img{overflow:hidden}
.p .img img{width:100%;height:100%;object-fit:contain;display:block}
.p .img .ph{width:58%;height:58%}
.p h3 a:hover{color:var(--holo)}
.p .flag.out{background:var(--soft);color:#fff}
.p--out .img img{opacity:.55}
.chip{display:inline-block}
.chip.mp{border-color:transparent;background:color-mix(in srgb,#ea580c 16%,transparent);color:#c2410c}
.chip.hp{border-color:transparent;background:color-mix(in srgb,#dc2626 14%,transparent);color:#b91c1c}
.chip.dmg{border-color:transparent;background:color-mix(in srgb,#64748b 20%,transparent);color:#475569}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .chip.lp{color:#fbbf24}:root:not([data-theme="light"]) .chip.mp{color:#fb923c}:root:not([data-theme="light"]) .chip.hp{color:#f87171}:root:not([data-theme="light"]) .chip.dmg{color:#cbd5e1}}
.price .from{font:600 .72rem/1 var(--body);color:var(--muted)}
.price .woocommerce-Price-amount{font:inherit}
.price s .woocommerce-Price-amount{font:400 .8rem var(--body)}
.stock{font-size:.75rem;color:var(--hero);font-weight:700}

/* generic product grid (archives, related) */
.grid.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (min-width:640px){.grid.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media (min-width:1000px){.grid.products{grid-template-columns:repeat(4,minmax(0,1fr))}}
.related .grid.products,.upsells .grid.products{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:640px){.related .grid.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1000px){.related .grid.products{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* footer */
.site-footer .logo{margin-bottom:6px}
.site-footer .blurb{max-width:34ch;margin:14px 0 0}
.site-footer a:hover{color:var(--holo)}
.foot-base{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;margin-top:32px;padding-top:20px;border-top:1px solid var(--line);font-size:.8rem}
.foot-base .links{display:flex;gap:18px}

/* generic pages */
.page-main{padding-block:28px 72px}
.page-head{margin-bottom:22px}
.page-head h1{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700}
.prose{max-width:74ch;line-height:1.65}
.prose h2{font-size:1.35rem;margin:1.8em 0 .5em}
.prose h3{font-size:1.1rem;margin:1.4em 0 .4em}
.prose a{color:var(--holo);text-decoration:underline;text-underline-offset:2px}
.prose ul,.prose ol{padding-left:1.2em}
.prose .btn{color:#fff;text-decoration:none}
.prose table{border-collapse:collapse;width:100%;font-size:.92rem}
.prose th,.prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.prose th{font:600 .72rem/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.prose details{border:1px solid var(--line);border-radius:var(--r-md);padding:12px 16px;margin:10px 0;background:var(--surface)}
.prose summary{cursor:pointer;font-weight:700;font-family:var(--display)}
.prose details[open] summary{margin-bottom:8px}
.placeholder-note{border:1.5px dashed var(--hero);border-radius:var(--r-md);padding:12px 16px;background:color-mix(in srgb,var(--hero) 7%,transparent);font-size:.9rem}
.placeholder-note b{color:var(--hero)}
.cond-grid{display:grid;gap:12px;grid-template-columns:1fr}
@media (min-width:700px){.cond-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cond-card{border:1px solid var(--line);border-radius:var(--r-md);padding:16px;background:var(--surface)}
.cond-card h3{margin:0 0 6px!important;display:flex;gap:10px;align-items:center}
.cond-card p{margin:.3em 0}
.split{display:grid;gap:28px;grid-template-columns:1fr}
@media (min-width:900px){.split{grid-template-columns:1.1fr 1fr;align-items:start}}

/* buttons: one look for theme buttons and WooCommerce buttons */
.btn,.button,button.button,input.button,.wc-block-components-button,a.button.alt,button.alt,#place_order{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 22px;
  font:600 .88rem/1 var(--display);border:0;cursor:pointer;text-decoration:none;width:max-content;max-width:100%}
.btn.hero,.button.alt,button.alt,#place_order,.single_add_to_cart_button,.checkout-button{background:var(--hero);color:#fff}
.btn.dark,.button{background:var(--navy);color:#fff}
.button:hover,.btn:hover{filter:brightness(1.08)}
.button.disabled,.button:disabled,button.disabled,.single_add_to_cart_button.disabled,.single_add_to_cart_button:disabled{opacity:.45;cursor:not-allowed;filter:none}
:root[data-theme="dark"] .btn.dark,:root[data-theme="dark"] .button{background:#2a3a5c}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn.dark,:root:not([data-theme="light"]) .button{background:#2a3a5c}}

/* forms */
.hh-form,.woocommerce form .form-row{max-width:640px}
.hh-form .field{margin:0 0 14px}
.hh-form label,.woocommerce form .form-row label{display:block;font:600 .82rem/1.3 var(--display);margin-bottom:6px;color:var(--fg)}
.hh-form .req,.woocommerce form .required{color:var(--hero);text-decoration:none}
input[type="text"],input[type="email"],input[type="tel"],input[type="number"],input[type="password"],input[type="search"],input[type="url"],textarea,select,.select2-container .select2-selection{
  width:100%;background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:10px;padding:11px 14px;font:inherit;min-height:44px}
textarea{min-height:120px;resize:vertical}
input:focus,textarea:focus,select:focus{outline:2px solid var(--holo);outline-offset:1px;border-color:var(--holo)}
.search input{border:0;background:none;padding:0;min-height:0;width:auto}
.search input:focus{outline:none}
.hh-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.notice{border-radius:var(--r-md);padding:14px 16px;margin:0 0 18px;border:1px solid var(--line);background:var(--surface)}
.notice.ok{border-color:#16a34a;background:color-mix(in srgb,#16a34a 10%,transparent)}
.notice.err{border-color:var(--hero);background:color-mix(in srgb,var(--hero) 10%,transparent)}

/* WooCommerce notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;margin:0 0 18px;padding:14px 16px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.woocommerce-message{border-color:#16a34a;background:color-mix(in srgb,#16a34a 9%,transparent)}
.woocommerce-error{border-color:var(--hero);background:color-mix(in srgb,var(--hero) 9%,transparent)}
.woocommerce-message .button,.woocommerce-info .button{order:2;margin-left:auto}
.woocommerce-notices-wrapper{margin-bottom:6px}

/* shop archive */
.shop-main{padding-block:20px 72px}
.crumbs{font-size:.8rem;color:var(--muted);margin-bottom:12px}
.crumbs a:hover{color:var(--holo)}
.shop-main .woocommerce-products-header{margin-bottom:14px}
.shop-main .woocommerce-products-header__title,.shop-main h1.page-title{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;margin-bottom:6px}
.term-description{color:var(--muted);max-width:70ch}
.subcats{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 14px}
.subcats a{padding:8px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font:600 .84rem/1 var(--display)}
.subcats a:hover{border-color:var(--holo)}
.subcats a.is-here{background:var(--holo);border-color:var(--holo);color:var(--ink-on-accent)}
.subcats a.is-here .count{color:inherit;opacity:.8}
.subcats .count{color:var(--soft);font-weight:500;margin-left:4px}
.shop-main .woocommerce-result-count{margin:0;color:var(--muted);font-size:.85rem}
.shop-main .woocommerce-ordering{margin:0}
.shop-main .woocommerce-ordering select{width:auto;padding:8px 12px;min-height:40px;border-radius:999px}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.shop-main > .woocommerce-result-count{float:left;line-height:40px}
.shop-main > .woocommerce-ordering{float:right}
.shop-main > .filters,.shop-main > .grid{clear:both}
.filters{clear:both;margin:12px 0 18px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}
.filters>summary{cursor:pointer;padding:12px 16px;font:600 .88rem/1 var(--display);display:flex;gap:8px;align-items:center;list-style:none}
.filters>summary::-webkit-details-marker{display:none}
.filters__body{padding:4px 16px 16px;display:grid;gap:14px;border-top:1px solid var(--line);padding-top:14px}
.fgroup{display:grid;gap:8px}
.flabel{font:600 .72rem/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.fchips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fchip{padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:var(--bg);font:600 .8rem/1 var(--display);color:var(--fg)}
.fchip:hover{border-color:var(--holo)}
.fchip.is-on{background:var(--holo);border-color:var(--holo);color:var(--ink-on-accent)}
.fchip.clear{border-style:dashed;color:var(--hero)}
.fprice input{width:100px;min-height:38px;padding:8px 12px;border-radius:999px}
.fprice .btn{padding:10px 16px}
.woocommerce-pagination{margin-top:28px}
.woocommerce-pagination ul{display:flex;gap:6px;flex-wrap:wrap;list-style:none;padding:0;margin:0;justify-content:center;border:0!important}
.woocommerce-pagination li{border:0!important;overflow:visible!important}
.woocommerce-pagination a,.woocommerce-pagination span{display:grid;place-items:center;min-width:40px;height:40px;padding:0 12px;border-radius:999px;border:1px solid var(--line);font-weight:700}
.woocommerce-pagination .current{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.woocommerce-no-products-found{margin:30px 0}

/* single product */
.single-product div.product{display:grid;gap:24px 40px;grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.single-product div.product{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}
  .single-product div.product .woocommerce-tabs,.single-product div.product .related,.single-product div.product .upsells{grid-column:1/-1}}
.woocommerce-product-gallery{position:relative;background:var(--tile);border-radius:var(--r-lg);overflow:hidden;margin:0}
.woocommerce-product-gallery__wrapper{margin:0}
.woocommerce-product-gallery__image img{width:100%;max-height:560px;object-fit:contain;display:block}
.woocommerce-product-gallery__trigger{position:absolute;top:12px;right:12px;z-index:5;width:34px;height:34px;border-radius:50%;background:var(--bg);display:grid;place-items:center;font-size:0}
.woocommerce-product-gallery__trigger::before{content:"+";font:700 18px/1 var(--display);color:var(--fg)}
.flex-control-thumbs{display:flex;gap:8px;list-style:none;margin:0;padding:10px}
.flex-control-thumbs img{width:64px;border-radius:8px;opacity:.6;cursor:pointer}
.flex-control-thumbs img.flex-active{opacity:1}
.summary.entry-summary{min-width:0}
.summary .product_title{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:700;line-height:1.15;margin-bottom:8px}
.pmeta{color:var(--muted);font-size:.88rem;margin:0 0 12px}
.pmeta a:hover{color:var(--holo)}
.summary .price{font-size:1.5rem;margin:6px 0 14px}
.summary .price .woocommerce-Price-amount{font:700 1.5rem var(--display)}
.summary .woocommerce-product-details__short-description{color:var(--muted);margin-bottom:14px}
.pnotes{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:8px;font-size:.88rem;color:var(--muted)}
.pnotes li{padding-left:22px;position:relative}
.pnotes li::before{content:"";position:absolute;left:0;top:.45em;width:10px;height:10px;border-radius:50%;background:var(--holo)}
.pnotes li.warn{color:var(--hero);font-weight:700}
.pnotes li.warn::before{background:var(--hero)}
.pnotes a{color:var(--holo);text-decoration:underline}
.summary .stock,.summary .hh-preorder{font-weight:700;font-size:.85rem;margin:0 0 10px}
.summary .in-stock{color:#15803d}
.summary .in-stock.low,.summary .hh-preorder{color:var(--hero)}
.summary .out-of-stock{color:var(--muted)}
.summary form.cart{margin:0}
.summary .quantity{display:inline-block;margin-right:10px}
.summary .quantity input.qty{width:80px;text-align:center;border-radius:999px;min-height:46px}
.summary .woocommerce-variation-add-to-cart,.summary form.cart:not(.variations_form){display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.single_add_to_cart_button{padding:15px 28px!important}
.single_variation_wrap{margin-top:14px}
.single_variation .woocommerce-variation-price .price{font-size:1.25rem}
.single_variation .woocommerce-variation-availability{margin-top:6px}
.product_meta{display:none}
.woocommerce-tabs ul.tabs{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 16px;border-bottom:1px solid var(--line);overflow-x:auto}
.woocommerce-tabs ul.tabs li{margin:0}
.woocommerce-tabs ul.tabs a{display:block;padding:10px 14px;font:600 .9rem/1 var(--display);color:var(--muted)}
.woocommerce-tabs ul.tabs li.active a{color:var(--fg);box-shadow:inset 0 -2px 0 var(--holo)}
.woocommerce-Tabs-panel h2{font-size:1.1rem;margin-bottom:10px}
.woocommerce-product-attributes{border-collapse:collapse;width:100%;max-width:520px}
.woocommerce-product-attributes th,.woocommerce-product-attributes td{text-align:left;padding:10px 0;border-bottom:1px solid var(--line);font-weight:400}
.woocommerce-product-attributes th{color:var(--muted);width:40%}
.woocommerce-product-attributes p{margin:0}
.related>h2,.upsells>h2{font:600 1.3rem var(--display);margin:20px 0 16px}

/* variation picker */
.hh-picker{border:0;margin:0 0 12px;padding:0;display:grid;gap:8px}
.hh-picker legend{font:600 .72rem/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;padding:0}
.hh-opt{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px 14px;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--bg);cursor:pointer;transition:border-color .15s,background .15s;position:relative}
.hh-opt:hover{border-color:var(--holo)}
.hh-opt input{position:absolute;opacity:0;pointer-events:none}
.hh-opt:has(input:checked){border-color:var(--holo);background:color-mix(in srgb,var(--holo) 8%,var(--bg));box-shadow:0 0 0 1px var(--holo)}
.hh-opt:has(input:focus-visible){outline:2px solid var(--holo);outline-offset:2px}
.hh-opt__main{display:flex;gap:10px;align-items:center;grid-column:1/3;min-width:0;flex-wrap:wrap}
.hh-opt__label{font:600 .92rem/1.2 var(--display)}
.hh-opt__price{text-align:right;grid-column:3;grid-row:1}
.hh-opt__price b{font:700 1.05rem var(--display)}
.hh-opt__price s{color:var(--soft);font-size:.8rem;margin-right:6px}
.hh-opt__stock{grid-column:1/-1;font-size:.78rem;font-weight:700;color:var(--hero)}
.hh-opt.is-out{opacity:.5;cursor:not-allowed}
.hh-opt.is-out .hh-opt__stock{color:var(--muted)}
@media (min-width:520px){.hh-opt{grid-template-columns:1fr auto auto}.hh-opt__main{grid-column:1}.hh-opt__price{grid-column:2}.hh-opt__stock{grid-column:3;grid-row:1;min-width:64px;text-align:right}}

/* cart, checkout, account */
.woocommerce-cart .page-head,.woocommerce-checkout .page-head,.woocommerce-account .page-head{margin-bottom:14px}
.page-main .prose,.woocommerce-cart .prose,.woocommerce-checkout .prose,.woocommerce-account .prose{max-width:none}
.woocommerce table.shop_table{width:100%;border-collapse:collapse;border:0}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:14px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.woocommerce table.shop_table th{font:600 .72rem/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.woocommerce table.cart img{width:72px;border-radius:10px;background:var(--tile)}
.woocommerce table.cart .product-name a{font-weight:700}
.woocommerce table.cart td.product-remove a{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--line);color:var(--muted);font-size:18px;line-height:1}
.woocommerce table.cart td.product-remove a:hover{color:var(--hero);border-color:var(--hero)}
.woocommerce table.cart td.actions{padding-top:18px}
.woocommerce table.cart td.actions .coupon{display:flex;gap:8px;flex-wrap:wrap;float:left}
.woocommerce table.cart td.actions .coupon input{width:180px}
.woocommerce table.cart td.actions>.button{float:right}
.woocommerce .quantity .qty{width:70px;text-align:center;border-radius:999px}
.woocommerce-cart .cart-collaterals{display:grid;gap:20px;margin-top:22px}
@media (min-width:900px){.woocommerce-cart .cart-collaterals{grid-template-columns:1fr 420px}.woocommerce-cart .cart_totals{grid-column:2}}
.cart_totals{background:var(--surface);border-radius:var(--r-lg);padding:20px}
.cart_totals h2,#order_review_heading,.woocommerce-billing-fields h3,.woocommerce-shipping-fields h3,.woocommerce-additional-fields h3{font:600 1.1rem var(--display);margin:0 0 12px}
.cart_totals table th{text-transform:none;letter-spacing:0;font:600 .9rem var(--body);color:var(--fg)}
.cart_totals .order-total .amount,.woocommerce-checkout-review-order .order-total .amount{font:700 1.2rem var(--display)}
.wc-proceed-to-checkout{margin-top:14px}
.wc-proceed-to-checkout .checkout-button{width:100%;padding:16px}
#shipping_method{list-style:none;margin:0;padding:0;display:grid;gap:6px}
#shipping_method li{display:flex;gap:8px;align-items:center}
#shipping_method label{margin:0;font-weight:600}
.includes_tax{display:block;color:var(--muted);font-size:.78rem}
.shipbar{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 16px;margin-bottom:18px}
.shipbar__text{font-size:.88rem;margin-bottom:8px}
.shipbar__track{height:8px;border-radius:99px;background:var(--line);overflow:hidden}
.shipbar__track span{display:block;height:100%;background:linear-gradient(90deg,var(--holo),var(--holo-2));border-radius:99px;transition:width .3s}
.hh-dispatch td{color:var(--muted);border-bottom:0!important}
form.woocommerce-checkout{display:grid;gap:24px;grid-template-columns:minmax(0,1fr)}
@media (min-width:960px){form.woocommerce-checkout{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-rows:auto auto 1fr;align-items:start}
  form.woocommerce-checkout #customer_details{grid-column:1;grid-row:1/span 3}
  form.woocommerce-checkout #order_review_heading,form.woocommerce-checkout #order_review{grid-column:2}
  form.woocommerce-checkout #order_review{position:sticky;top:76px}
  .woocommerce-checkout .shipbar{grid-column:2}}
#customer_details .col-1,#customer_details .col-2{float:none;width:auto;max-width:none}
.woocommerce-checkout #order_review,.woocommerce-checkout-payment{background:var(--surface);border-radius:var(--r-lg);padding:20px}
.woocommerce-checkout-payment{margin-top:16px;padding:0;background:none}
#payment ul.payment_methods{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:8px}
#payment .payment_box{background:var(--bg);border-radius:var(--r-sm);padding:12px;font-size:.88rem;color:var(--muted)}
#payment #place_order{width:100%;padding:16px}
.woocommerce-checkout .form-row{margin:0 0 12px}
.woocommerce-checkout .form-row-first,.woocommerce-checkout .form-row-last{width:100%}
@media (min-width:520px){.woocommerce-checkout .form-row-first,.woocommerce-checkout .form-row-last{width:calc(50% - 6px);display:inline-block;vertical-align:top}.woocommerce-checkout .form-row-first{margin-right:8px}}
.woocommerce-account .woocommerce{display:grid;gap:22px}
@media (min-width:860px){.woocommerce-account .woocommerce{grid-template-columns:220px minmax(0,1fr);align-items:start}}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap}
@media (min-width:860px){.woocommerce-MyAccount-navigation ul{flex-direction:column}}
.woocommerce-MyAccount-navigation a{display:block;padding:10px 14px;border-radius:999px;border:1px solid var(--line);font:600 .85rem/1 var(--display)}
.woocommerce-MyAccount-navigation .is-active a{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.woocommerce-form-login,.woocommerce-form-register,.woocommerce form.login,.woocommerce form.register{border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;background:var(--surface);max-width:480px}
.woocommerce-account .u-columns{display:grid;gap:20px}
@media (min-width:860px){.woocommerce-account:not(.logged-in) .u-columns{grid-template-columns:1fr 1fr}.woocommerce-account:not(.logged-in) .woocommerce{display:block}}
.woocommerce-account .u-column1,.woocommerce-account .u-column2{float:none;width:auto}
.woocommerce-order-received .woocommerce-order{max-width:760px}

/* coming-soon/maintenance and misc */
.hh-quote-hero{display:grid;gap:18px;padding:22px;border-radius:var(--r-lg);background:var(--navy);color:#eaf1f8;margin-bottom:28px}
.hh-quote-hero p{color:#a9b8cc;margin:0}
.hh-quote-hero ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.hh-quote-hero li{font:600 .75rem/1 var(--display);padding:8px 12px;border-radius:999px;border:1px solid #2c3a57;color:#cfe0f0}
.prose .hh-quote-hero a{color:#22d3ee}

@media (max-width:760px){
  .bar{gap:12px 16px}
  .search{order:3;flex-basis:100%}
  .meta{margin-left:auto}
}
@media (max-width:520px){
  main.home{gap:44px;padding-block:18px 48px}
  .slide.main{min-height:300px;padding:24px}
  .slide.side{min-height:220px}
  .hh-opt__price b{font-size:1rem}
}
@media (prefers-reduced-motion:reduce){.slides .slide.main{transition:none}}
.slide.side>*{position:relative;z-index:2}.slide.side .sleeves{z-index:1}

/* ---- WooCommerce base (the plugin's own stylesheets are disabled) ---- */
del{opacity:.6}
ins{text-decoration:none;background:none}
.woocommerce-product-gallery img{max-width:100%}
.woocommerce-product-gallery__wrapper{margin:0;padding:0}
.woocommerce-product-gallery .flex-viewport{border-radius:var(--r-lg);overflow:hidden}
.woocommerce-product-gallery__image a{display:block}
.single_variation .woocommerce-variation-price,.single_variation .woocommerce-variation-description{display:none}
.woocommerce-variation-availability p{margin:0}
.woocommerce-tabs .panel{margin:0}
.woocommerce-tabs .wc-tabs{display:flex}
.woocommerce form .form-row-wide{clear:both}
.woocommerce form .form-row .woocommerce-input-wrapper{display:block}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{width:100%}
.woocommerce form .form-row .select2-container{width:100%!important}
.select2-container .select2-selection--single{height:auto;min-height:44px;display:flex;align-items:center}
.select2-container--default .select2-selection--single .select2-selection__rendered{padding-left:0;line-height:1.4;color:var(--fg)}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:100%}
.select2-dropdown{background:var(--bg);color:var(--fg);border:1px solid var(--line)}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{width:auto;float:none}
.woocommerce-checkout #ship-to-different-address label{display:flex;gap:8px;align-items:center;font-weight:600}
.woocommerce-form__label-for-checkbox{display:flex;gap:8px;align-items:center}
input[type="checkbox"],input[type="radio"]{accent-color:var(--holo);width:auto;min-height:0}
.woocommerce-Addresses{display:grid;gap:16px}
@media (min-width:700px){.woocommerce-Addresses{grid-template-columns:1fr 1fr}}
.woocommerce-Address{border:1px solid var(--line);border-radius:var(--r-md);padding:16px}
.woocommerce-order-overview{list-style:none;padding:0;display:grid;gap:8px}
.woocommerce-checkout-review-order-table .product-name{font-weight:600}
.woocommerce-checkout-review-order-table .variation{margin:4px 0 0;font-size:.8rem;color:var(--muted);display:grid;grid-template-columns:auto 1fr;gap:0 6px}
.woocommerce-checkout-review-order-table .variation dd,.woocommerce-checkout-review-order-table .variation dt{margin:0}
.woocommerce-checkout-review-order-table .variation p{margin:0}
.woocommerce table.cart .variation{margin:4px 0 0;font-size:.8rem;color:var(--muted);display:grid;grid-template-columns:auto 1fr;gap:0 6px}
.woocommerce table.cart .variation dd,.woocommerce table.cart .variation dt{margin:0}
.woocommerce table.cart .variation p{margin:0}
.woocommerce a.remove{color:var(--muted)}
.blockUI.blockOverlay{background:var(--bg)!important;opacity:.5!important}
.woocommerce-privacy-policy-text{font-size:.8rem;color:var(--muted)}
@media (max-width:768px){
  /* Stack WooCommerce's responsive tables (cart, orders). */
  table.shop_table_responsive thead{display:none}
  table.shop_table_responsive tbody tr,table.shop_table_responsive tfoot tr{display:block;border-bottom:1px solid var(--line);padding:10px 0}
  table.shop_table_responsive td,table.shop_table_responsive th{display:flex!important;justify-content:space-between;align-items:center;gap:12px;border:0!important;padding:6px 0!important;text-align:right!important}
  table.shop_table_responsive td::before{content:attr(data-title);font:600 .72rem/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left}
  table.shop_table_responsive td.product-remove::before,table.shop_table_responsive td.product-thumbnail::before,table.shop_table_responsive td.actions::before{display:none}
  table.shop_table_responsive td.product-thumbnail{justify-content:flex-start}
  table.shop_table_responsive td.actions{display:block!important;text-align:left!important}
  .woocommerce table.cart td.actions .coupon{float:none;display:grid;gap:8px}
  .woocommerce table.cart td.actions .coupon input{width:100%}
  .woocommerce table.cart td.actions>.button{float:none;margin-top:10px;width:100%}
  .cart_totals table.shop_table_responsive tr{display:flex;justify-content:space-between;align-items:center;gap:12px}
  .cart_totals table.shop_table_responsive td{display:block!important}
  .cart_totals table.shop_table_responsive td::before{display:none}
  .woocommerce-checkout-review-order-table td,.woocommerce-checkout-review-order-table th{display:table-cell!important;text-align:left!important}
}
@media (max-width:520px){.slide.main .fan{opacity:.22}}

/* ---- polish pass ---- */
.placeholder-note{margin-bottom:22px}
.prose a.button,.prose a.btn,.woocommerce a.button{color:#fff;text-decoration:none}
.woocommerce-cart .woocommerce-message .button.wc-forward{display:none}
#ship-to-different-address{font:600 1rem/1.3 var(--display);margin:6px 0 14px}
.hh-quote-hero>div:first-child{font:700 1.2rem/1.2 var(--display)}
@media (max-width:768px){
  /* Cart rows become cards: thumbnail left, details right. */
  .woocommerce table.cart tr.cart_item{display:grid!important;grid-template-columns:72px minmax(0,1fr) auto;grid-template-areas:"thumb name remove" "thumb price price" "thumb qty sub";gap:4px 14px;align-items:center;padding:14px 0}
  .woocommerce table.cart td.product-thumbnail{grid-area:thumb;display:block!important}
  .woocommerce table.cart td.product-name{grid-area:name;display:block!important;text-align:left!important}
  .woocommerce table.cart td.product-remove{grid-area:remove;display:block!important}
  .woocommerce table.cart td.product-price{grid-area:price}
  .woocommerce table.cart td.product-quantity{grid-area:qty;justify-content:flex-start}
  .woocommerce table.cart td.product-subtotal{grid-area:sub}
  .woocommerce table.cart td.product-name::before,.woocommerce table.cart td.product-thumbnail::before,.woocommerce table.cart td.product-remove::before{display:none!important}
  .woocommerce table.cart td.product-price::before{content:""}
  .woocommerce table.cart .quantity .qty{width:64px}
  .woocommerce table.cart td.product-name .variation{text-align:left}
  .woocommerce table.cart td.product-name .variation dd{text-align:left}
}
@media (max-width:768px){
  .woocommerce table.cart td.product-thumbnail{align-self:start}
  .woocommerce table.cart td.product-remove{align-self:start;justify-self:end}
}
.woocommerce-cart .woocommerce-error .button.wc-forward{display:none}
.woocommerce-checkout-review-order .includes_tax .amount,.cart_totals .includes_tax .amount{font:inherit}
form.woocommerce-checkout{row-gap:14px}
#order_review_heading{margin:0}
.prose .p a{color:inherit;text-decoration:none}.prose .p h3{margin:0}.prose .p h3 a:hover{color:var(--holo)}

/* "Price coming soon": catalogue cards with no price or stock yet */
.hh-price-pending{font:600 .8rem/1.2 var(--body);color:var(--muted)}
.p .price b .hh-price-pending{font:600 .8rem/1.2 var(--body)}
.summary .hh-price-pending{display:inline-block;font:700 1.15rem/1.2 var(--display);color:var(--fg)}
.hh-pending-note{margin:16px 0;padding:14px 16px;border:1.5px dashed var(--line);border-radius:var(--r-md);background:var(--surface)}
.hh-pending-note p{margin:0 0 6px;color:var(--muted);font-size:.92rem}
.hh-pending-note p:first-child{color:var(--fg);font-size:1rem}
.hh-pending-note a{color:var(--holo);font-weight:600}

/* ===== Hero v2: real cards, holo foil (2026-10-08) ===== */
.hero{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px}
.slides{min-height:420px}
.slide.main{min-height:420px;isolation:isolate;padding:clamp(28px,4.5vw,56px)}
.slide.main.s-teal{background:radial-gradient(90% 120% at 78% 40%,#1a9fbb 0%,#0f5f78 38%,#0a2236 78%,#081827 100%)}
.slide.main.s-navy{background:radial-gradient(90% 120% at 78% 40%,#3b4fa8 0%,#1d2a5c 40%,#0c1226 80%,#080d1c 100%)}
.slide.main.s-red{background:radial-gradient(90% 120% at 78% 40%,#e2365c 0%,#8f1235 42%,#3a0718 82%,#25040f 100%)}
.slide.main::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.22;background-image:radial-gradient(rgba(255,255,255,.55) 1px,transparent 1.2px);background-size:18px 18px;-webkit-mask-image:linear-gradient(100deg,transparent 30%,#000 75%);mask-image:linear-gradient(100deg,transparent 30%,#000 75%)}
.slide.main .aurora{position:absolute;z-index:-1;right:-10%;top:-30%;width:70%;aspect-ratio:1;border-radius:50%;filter:blur(60px);opacity:.55;background:conic-gradient(from 0deg,#22d3ee,#a78bfa,#f472b6,#fde68a,#34d399,#22d3ee);animation:hh-spin 18s linear infinite}
.slide.main.s-red .aurora{opacity:.4}
@keyframes hh-spin{to{transform:rotate(360deg)}}
.slide.main .copy{max-width:50%;gap:16px}
.eyebrow.pill{display:inline-flex;align-items:center;gap:8px;width:max-content;max-width:100%;padding:7px 12px 7px 10px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(6px);font-size:.66rem;letter-spacing:.18em;opacity:1}
.eyebrow.pill svg{width:13px;height:13px;color:#fde68a;flex:none}
.slide.main h1,.slide.main .h1{font-size:clamp(1.9rem,3.7vw,3.05rem);line-height:1.04;font-weight:800;letter-spacing:-.025em}
.foil-text{background:linear-gradient(100deg,#fde68a 0%,#f9a8d4 22%,#a5f3fc 44%,#c4b5fd 62%,#fde68a 84%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:hh-foil 6s ease-in-out infinite alternate}
@keyframes hh-foil{to{background-position:100% 0}}
.slide.main p{font-size:1rem;opacity:.82;max-width:40ch}
.cta-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:4px}
.btn svg{width:16px;height:16px}
.slide.main .btn.light{padding:13px 22px;font-size:.9rem;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:transform .2s,box-shadow .2s}
.slide.main .btn.light:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(0,0,0,.3)}
.count{font-size:.82rem;opacity:.8}.count b{font:700 1rem var(--display);opacity:1}

/* card deck */
.deck{position:absolute;right:3%;top:50%;width:min(50%,470px);aspect-ratio:1.15;transform:translateY(-50%);perspective:1100px;--rx:0deg;--ry:0deg}
.deck .tcg{position:absolute;top:50%;left:50%;width:44%;aspect-ratio:63/88;border-radius:4.2%/3%;overflow:hidden;background:#111;box-shadow:0 30px 60px -12px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.08);transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.deck .tcg img{width:100%;height:100%;object-fit:cover;display:block}
.deck .n0{transform:translate(-118%,-46%) rotate(-14deg) rotateY(var(--ry)) rotateX(var(--rx));z-index:1}
.deck .n1{transform:translate(-50%,-56%) rotateY(var(--ry)) rotateX(var(--rx)) scale(1.12);z-index:3}
.deck .n2{transform:translate(18%,-46%) rotate(14deg) rotateY(var(--ry)) rotateX(var(--rx));z-index:2}
.deck:hover .n0{transform:translate(-128%,-48%) rotate(-18deg) rotateY(var(--ry)) rotateX(var(--rx))}
.deck:hover .n2{transform:translate(28%,-48%) rotate(18deg) rotateY(var(--ry)) rotateX(var(--rx))}
.tcg .sheen{position:absolute;inset:0;mix-blend-mode:color-dodge;opacity:.38;background:linear-gradient(115deg,transparent 20%,rgba(255,119,198,.7) 36%,rgba(134,239,255,.7) 46%,rgba(253,230,138,.7) 56%,transparent 72%);background-size:250% 250%;background-position:var(--mx,30%) var(--my,30%);animation:hh-sheen 7s ease-in-out infinite alternate}
.tcg .glare{position:absolute;inset:0;background:radial-gradient(circle at var(--gx,30%) var(--gy,20%),rgba(255,255,255,.35),transparent 45%);mix-blend-mode:overlay}
.deck .n1 .sheen{opacity:.5}
@keyframes hh-sheen{0%{background-position:0% 0%}100%{background-position:100% 100%}}
.spark{position:absolute;color:#fde68a;filter:drop-shadow(0 0 8px rgba(253,230,138,.8));animation:hh-twinkle 3.2s ease-in-out infinite}
.spark.s1{width:22px;height:22px;top:6%;left:16%}
.spark.s2{width:14px;height:14px;bottom:10%;right:8%;animation-delay:1.1s}
.spark.s3{width:10px;height:10px;top:14%;right:14%;animation-delay:2s;color:#a5f3fc}
@keyframes hh-twinkle{0%,100%{opacity:.2;transform:scale(.7) rotate(0)}50%{opacity:1;transform:scale(1) rotate(25deg)}}
.slides .slide.main .deck .tcg{opacity:0;transition:opacity .6s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.slides .slide.main.is-active .deck .tcg{opacity:1}
.slides .slide.main.is-active .deck .n0{transition-delay:.08s}.slides .slide.main.is-active .deck .n2{transition-delay:.16s}

/* side promo: real card in a toploader */
.slide.side{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;padding:clamp(24px,3vw,34px);background:radial-gradient(120% 90% at 100% 100%,#ffd0dc 0%,#fff1e6 55%,#fff8ee 100%);color:#3a1020;min-height:420px;transition:transform .25s}
.slide.side:hover{transform:translateY(-3px)}
.side-copy{display:flex;flex-direction:column;gap:10px;position:relative;z-index:2;max-width:60%}
.side-copy .eyebrow{font:700 .64rem/1.2 var(--display);letter-spacing:.22em;text-transform:uppercase;color:#9f1239}
.side .big{font:800 clamp(2.2rem,3.6vw,3.2rem)/.92 var(--display);color:#e11d48;letter-spacing:-.035em}
.side-copy p{margin:0;font-size:.9rem;color:#5b2333;max-width:24ch}
.side-copy .btn.hero{margin-top:6px}
.case{position:absolute;right:-4%;bottom:-6%;width:62%;aspect-ratio:.8}
.case .sl{position:absolute;width:58%;aspect-ratio:66/91;border-radius:7px;box-shadow:0 14px 30px rgba(120,10,40,.22)}
.case .sl1{left:4%;top:22%;transform:rotate(-16deg);background:linear-gradient(160deg,#1aa3bf,#0e6b82)}
.case .sl2{left:18%;top:14%;transform:rotate(-6deg);background:linear-gradient(160deg,#fcd34d,#f59e0b)}
.toploader{position:absolute;left:34%;top:6%;width:60%;aspect-ratio:76/104;transform:rotate(9deg);border-radius:6px;padding:6%;background:linear-gradient(135deg,rgba(255,255,255,.75),rgba(255,255,255,.35));box-shadow:0 26px 50px -10px rgba(120,10,40,.45),inset 0 0 0 1.5px rgba(255,255,255,.9),inset 0 0 0 3px rgba(186,230,253,.6);backdrop-filter:blur(2px);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.slide.side:hover .toploader{transform:rotate(4deg) translateY(-6px)}
.toploader img{width:100%;height:100%;object-fit:cover;border-radius:3.5%/2.5%;display:block}
.toploader .lip{position:absolute;left:0;right:0;top:0;height:7%;border-radius:6px 6px 0 0;background:linear-gradient(rgba(255,255,255,.9),rgba(255,255,255,.4))}
.toploader .shine{position:absolute;inset:0;border-radius:6px;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.55) 42%,transparent 52%);pointer-events:none}

@media (max-width:1000px){
  .slide.main .copy{max-width:56%}
  .deck{width:46%;right:1%}
}
@media (max-width:760px){
  .hero{grid-template-columns:1fr}
  .slides,.slide.main{min-height:0}
  .slide.main{flex-direction:column;align-items:flex-start;padding-bottom:0}
  .slide.main .copy{max-width:100%}
  .deck{position:relative;right:auto;top:auto;transform:none;width:min(100%,380px);margin:8px auto -6%;align-self:center}
  .slide.side{min-height:300px}
  .case{width:46%}
  .side-copy{max-width:58%}
}
@media (prefers-reduced-motion:reduce){.aurora,.foil-text,.tcg .sheen,.spark{animation:none!important}}

/* hero v2 fixes */
.slide.main .copy{max-width:min(45%,420px)}
.deck{right:1%}
.slide.main h1,.slide.main .h1{font-size:clamp(2.1rem,4.4vw,3.6rem);text-wrap:balance}
.slides{overflow:hidden}
@media (max-width:760px){
  .hero{grid-template-columns:minmax(0,1fr)}
  .slides,.slide.main,.slide.side{min-width:0;max-width:100%}
  .slide.main .copy{max-width:100%}
  .slide.main h1,.slide.main .h1{font-size:clamp(1.9rem,8.6vw,2.6rem)}
  .deck{width:min(92%,340px);aspect-ratio:1.25;margin:4px auto -4%}
  .slide.side{min-height:260px}
  .case{width:40%;right:-2%;bottom:-8%}
  .side-copy{max-width:60%}
}
.btn{white-space:nowrap}
@media (max-width:760px){.slide.side{min-height:0;padding-bottom:150px}.case{width:42%;right:2%;bottom:-4%}.side-copy{max-width:100%}}

/* pagination alignment */
.woocommerce nav.woocommerce-pagination ul{display:flex;align-items:center;justify-content:center;gap:8px;white-space:normal}
.woocommerce nav.woocommerce-pagination ul li{display:flex;float:none;margin:0;padding:0;line-height:1;vertical-align:middle}
.woocommerce nav.woocommerce-pagination ul li .page-numbers{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:44px;height:44px;margin:0;padding:0 14px;line-height:1;border-radius:999px;border:1px solid var(--line);font:700 .95rem/1 var(--display);font-variant-numeric:tabular-nums;color:var(--fg);background:var(--bg);transition:border-color .15s,background .15s}
.woocommerce nav.woocommerce-pagination ul li a.page-numbers:hover{border-color:var(--holo);color:var(--holo);background:var(--bg)}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--fg);border-color:var(--fg);color:var(--bg)}
.woocommerce nav.woocommerce-pagination ul li .dots{border-color:transparent;background:none;min-width:24px;padding:0 2px;color:var(--muted)}
.woocommerce nav.woocommerce-pagination ul li .next,.woocommerce nav.woocommerce-pagination ul li .prev{font-size:1.1rem}
@media (max-width:520px){.woocommerce nav.woocommerce-pagination ul{gap:6px}.woocommerce nav.woocommerce-pagination ul li .page-numbers{min-width:38px;height:38px;padding:0 10px;font-size:.88rem}}

/* shop toolbar: filters pill next to sort */
.shop-main > .woocommerce-result-count,.shop-main > .woocommerce-ordering{float:none}
.shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:6px 0 20px;clear:both;position:relative}
.shop-toolbar .woocommerce-result-count{margin:0;float:none;line-height:1.3;color:var(--muted);font-size:.88rem}
.shop-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.shop-tools .woocommerce-ordering{margin:0;float:none}
.shop-tools .woocommerce-ordering select{min-height:44px;padding:0 40px 0 18px;border-radius:999px;border:1px solid var(--line);background-color:var(--bg);font:600 .88rem/1 var(--display);color:var(--fg)}
.shop-tools .filters{position:static;margin:0;border:0;background:none;border-radius:0}
.shop-tools .filters>summary{min-height:44px;padding:0 18px;border:1px solid var(--line);border-radius:999px;background:var(--bg);font:600 .88rem/1 var(--display);transition:border-color .15s}
.shop-tools .filters>summary:hover,.shop-tools .filters[open]>summary{border-color:var(--holo);color:var(--holo)}
.shop-tools .filters[open]>summary{background:color-mix(in srgb,var(--holo) 8%,var(--bg))}
.shop-tools .filters .chip{margin-left:2px}
.shop-tools .filters__body{position:absolute;right:0;top:calc(100% + 10px);z-index:40;width:min(720px,100%);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--bg);box-shadow:0 24px 48px -16px rgba(15,25,40,.28);padding:18px}
@media (max-width:640px){
  .shop-toolbar{align-items:flex-start}
  .shop-tools{width:100%}
  .shop-tools .filters,.shop-tools .woocommerce-ordering{flex:1 1 0}
  .shop-tools .filters>summary,.shop-tools .woocommerce-ordering select{width:100%;justify-content:center}
  .shop-tools .filters__body{left:0;right:0;width:auto}
}

/* logomark placeholder for products without a photo */
.p .img .ph-logo,.ph-logo{width:100%;height:100%;object-fit:cover;display:block}

/* payment logos */
.foot .pay{gap:8px;align-items:center}
.foot .pay img{display:block;width:48px;height:30px;border-radius:5px;background:#fff;box-shadow:0 0 0 1px var(--line)}

/* ===== Real-card tile art (promo trio + bento) ===== */
.tart{position:absolute;pointer-events:none}
.tart img{display:block;width:100%;height:100%;object-fit:cover}
.tart .c{position:absolute;aspect-ratio:63/88;border-radius:4.5%/3.2%;overflow:hidden;box-shadow:0 18px 36px -10px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.12);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.tart .c .sheen{position:absolute;inset:0;mix-blend-mode:color-dodge;opacity:.3;background:linear-gradient(115deg,transparent 25%,rgba(255,119,198,.7) 40%,rgba(134,239,255,.7) 50%,rgba(253,230,138,.7) 60%,transparent 75%);background-size:250% 250%;animation:hh-sheen 8s ease-in-out infinite alternate}
/* fan */
.tart--fan{right:-2%;bottom:-14%;width:58%;aspect-ratio:1}
.tart--fan .c{width:52%;left:24%;top:14%}
.tart--fan .c0{transform:rotate(-16deg) translate(-42%,6%);z-index:1}
.tart--fan .c1{transform:rotate(-2deg) translateY(-4%);z-index:3}
.tart--fan .c2{transform:rotate(13deg) translate(40%,8%);z-index:2}
a:hover .tart--fan .c0{transform:rotate(-20deg) translate(-50%,2%)}
a:hover .tart--fan .c2{transform:rotate(17deg) translate(48%,4%)}
/* single */
.tart--single{right:6%;bottom:-18%;width:40%}
.tart--single .c{position:relative;display:block;width:100%;transform:rotate(9deg)}
a:hover .tart--single .c{transform:rotate(4deg) translateY(-8px)}
/* toploader + mailer */
.tart .tl{position:absolute;aspect-ratio:76/104;border-radius:6px;padding:6%;background:linear-gradient(135deg,rgba(255,255,255,.8),rgba(255,255,255,.35));box-shadow:0 22px 44px -12px rgba(0,0,0,.4),inset 0 0 0 1.5px rgba(255,255,255,.95),inset 0 0 0 3px rgba(186,230,253,.6)}
.tart .tl img{border-radius:3.5%/2.5%}
.tart .tl .lip{position:absolute;left:0;right:0;top:0;height:7%;border-radius:6px 6px 0 0;background:linear-gradient(rgba(255,255,255,.95),rgba(255,255,255,.45))}
.tart .tl .shine{position:absolute;inset:0;border-radius:6px;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.55) 42%,transparent 52%)}
.tart--toploader{right:10%;bottom:-16%;width:34%}
.tart--toploader .tl{position:relative;display:block;width:100%;transform:rotate(-8deg);transition:transform .4s}
a:hover .tart--toploader .tl{transform:rotate(-3deg) translateY(-8px)}
.tart--mailer{right:-4%;bottom:-8%;width:56%;aspect-ratio:1.25}
.mailer{position:absolute;inset:0}
.mailer .flap{position:absolute;left:4%;right:4%;top:26%;height:20%;background:#e9d8b8;border-radius:8px 8px 0 0;transform:perspective(300px) rotateX(38deg);transform-origin:bottom}
.mailer .tl{left:30%;width:38%;top:-2%;transform:rotate(-6deg);z-index:1;transition:transform .4s}
a:hover .mailer .tl{transform:rotate(-2deg) translateY(-10px)}
.mailer .front{position:absolute;left:0;right:0;bottom:0;top:40%;z-index:2;border-radius:10px;background:linear-gradient(170deg,#f6ead2,#e7d3ad);box-shadow:0 18px 36px -12px rgba(80,50,10,.45),inset 0 2px 0 rgba(255,255,255,.6)}
.mailer .label{position:absolute;left:10%;top:22%;width:46%;padding:8px 10px;border-radius:5px;background:#fff;display:grid;gap:5px;box-shadow:0 1px 0 rgba(0,0,0,.08)}
.mailer .label b{font:700 .62rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:#be123c}
.mailer .label i{display:block;height:4px;border-radius:2px;background:#d6dde3}
.mailer .label i+i{width:70%}
/* binder page */
.tart--binder{right:-6%;bottom:-10%;width:52%;aspect-ratio:.86}
.binder{position:absolute;inset:0;border-radius:12px;background:#1f2937;box-shadow:0 22px 44px -12px rgba(30,10,60,.5);padding:7% 7% 7% 13%;transform:rotate(6deg);transition:transform .4s}
a:hover .binder{transform:rotate(3deg) translateY(-6px)}
.binder .ring{position:absolute;left:3.5%;top:8%;bottom:8%;width:3%;border-radius:4px;background:repeating-linear-gradient(#9ca3af 0 10%,transparent 10% 30%)}
.binder .page{display:grid;grid-template-columns:repeat(3,1fr);gap:4%;height:100%;background:rgba(255,255,255,.06);border-radius:6px;padding:4%}
.binder .pocket{border-radius:3px;overflow:hidden;aspect-ratio:63/88;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
/* stack */
.tart--stack{right:8%;bottom:-6%;width:60%;aspect-ratio:.78}
.tart--stack .c{width:72%}
.tart--stack .c0{left:0;top:18%;transform:rotate(-10deg);z-index:1}
.tart--stack .c1{left:14%;top:8%;transform:rotate(-2deg);z-index:2}
.tart--stack .c2{left:28%;top:0;transform:rotate(7deg);z-index:3}
a:hover .tart--stack .c2{transform:rotate(10deg) translate(6%,-4%)}
/* sizing per container */
.promo{min-height:300px}
.promo>div,.promo .btn,.b>div,.b .mini{position:relative;z-index:2}
.promo>div{max-width:60%}
.b1 .tart--fan{width:60%;right:-4%;bottom:-12%}
.b4 .tart--stack{width:78%;right:-6%;bottom:-8%}
.b2 .tart--binder,.b3 .tart--toploader{width:40%}
.b3 .tart--toploader{width:30%;right:8%;bottom:-24%}
.b2 .tart--binder{right:-4%;bottom:-24%;width:42%}
.b2>div,.b3>div{max-width:58%}
@media (max-width:760px){.promo>div{max-width:62%}.b1 .tart--fan{width:52%}.b4 .tart--stack{width:46%;right:2%}}
@media (prefers-reduced-motion:reduce){.tart .c .sheen{animation:none}}
.b4 .tart--stack{width:60%;right:-6%;bottom:-16%}
.b4>div{max-width:100%}
@media (max-width:760px){.b4 .tart--stack{width:40%;bottom:-20%}}
