:root {
  --grey-0:#ffffff;--grey-1:#f7f6f4;--grey-2:#ebebeb;--grey-3:#d0cece;
  --grey-4:#9e9b98;--grey-5:#5c5a57;--grey-6:#2e2c2a;--grey-7:#1a1917;
  --black:#0d0c0b;--gold:#b8972a;--gold-lt:#d4b24a;--gold-dim:#7a6118;
  --common:#2e2c2a;--uncommon:#8a9199;--rare:#b8972a;--mythic:#c45c12;
  --font-display:'Cormorant Garamond',Georgia,serif;
  --font-body:'DM Sans',sans-serif;
  --radius:4px;--transition:220ms ease;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;scroll-behavior:smooth;}
body{font-family:var(--font-body);background:var(--grey-1);color:var(--grey-6);line-height:1.6;min-height:100vh;}
.container{max-width:1200px;margin:0 auto;padding:0 24px;}
.site-nav{background:var(--grey-0);border-bottom:1px solid var(--grey-2);position:sticky;top:0;z-index:100;}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px;gap:32px;}
.nav-logo{font-family:var(--font-display);font-size:1.6rem;font-weight:600;color:var(--black);text-decoration:none;letter-spacing:.02em;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:10px;}
.nav-logo-icon{height:30px;width:30px;display:block;flex-shrink:0;}
.nav-logo .nav-logo-text span{color:var(--gold);}
/* New single-image brand mark (medallion + wordmark in one logo) */
.nav-logo-brand{padding:0;gap:0;}
.nav-logo-img{height:60px;width:auto;display:block;}
.nav-logo-super{position:relative;display:inline-block;line-height:0;}
.nav-logo-super .nav-logo-devhit,.nav-logo-super .nav-logo-homehit{position:absolute;top:0;bottom:0;margin:0;padding:0;background:transparent;border:0;cursor:pointer;}
.nav-logo-super .nav-logo-devhit{left:0;width:30%;border-radius:8px;}
.nav-logo-super .nav-logo-homehit{left:30%;right:0;display:block;}
.nav-logo-super .nav-logo-devhit:focus-visible{outline:2px solid var(--gold-lt);outline-offset:2px;}
/* Drawer-only navigation (2026-07-10): the top-bar section links kept spilling as features grew. ALL section links live in the drawer on every viewport — the bar keeps logo · cart · account · menu. */
.nav-links{display:none;}
.nav-links a{font-size:.8rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--grey-5);text-decoration:none;transition:color var(--transition);}
.nav-links a:hover{color:var(--black);}
.nav-actions{display:flex;align-items:center;gap:20px;flex-shrink:0;}
/* Full-screen nav: span the whole bar (no 1200 cap), logo near the left edge, actions near the right edge,
   links centred on the bar's true centre and forced to a single row, with a styled gold-underline treatment. */
@media(min-width:1200px){
  .nav-inner{max-width:none;padding:0 48px;height:78px;display:grid;grid-template-columns:1fr auto 1fr;column-gap:40px;}
  .nav-logo-img{height:66px;}
  .nav-logo{justify-self:start;}
  .nav-actions{justify-self:end;}
  .nav-links{justify-self:center;gap:38px;flex-wrap:nowrap;}
  .nav-links li{white-space:nowrap;}
  /* Styled links: refined tracking + a gold underline that grows from centre on hover (matches page gold). */
  .nav-links a{position:relative;padding-bottom:5px;font-size:.82rem;letter-spacing:.14em;color:rgba(255,255,255,.66);}
  .nav-links a::after{content:'';position:absolute;left:50%;right:50%;bottom:0;height:2px;background:var(--gold-lt);transition:left .22s ease,right .22s ease;}
  .nav-links a:hover{color:var(--gold-lt);}
  .nav-links a:hover::after{left:0;right:0;}
}
.nav-wallet-btn{font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--grey-5);background:none;border:1px solid var(--grey-3);padding:7px 16px;border-radius:var(--radius);cursor:pointer;transition:border-color var(--transition),color var(--transition);}
.nav-wallet-btn:hover{border-color:var(--gold);color:var(--gold);}
.nav-cart{position:relative;background:none;border:none;cursor:pointer;color:var(--grey-5);padding:4px;display:flex;align-items:center;transition:color var(--transition);}
.nav-cart:hover{color:var(--black);}
.cart-count{position:absolute;top:-4px;right:-6px;background:var(--gold);color:white;font-size:.65rem;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.hero-banner{background:var(--grey-7);color:var(--grey-0);position:relative;overflow:hidden;padding:72px 0 64px;}
.hero-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 70% 50%,rgba(184,151,42,.12) 0%,transparent 70%),radial-gradient(ellipse 40% 60% at 20% 80%,rgba(196,92,18,.08) 0%,transparent 60%);pointer-events:none;}
.hero-banner::after{content:'H';position:absolute;right:-20px;top:-30px;font-family:var(--font-display);font-size:28rem;font-weight:600;color:rgba(255,255,255,.025);line-height:1;pointer-events:none;user-select:none;}
.hero-inner{position:relative;z-index:1;}
.hero-eyebrow{font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:16px;}
.hero-title{font-family:var(--font-display);font-size:clamp(2.4rem,5vw,4rem);font-weight:300;line-height:1.1;color:var(--grey-0);margin-bottom:20px;max-width:580px;}
.hero-title em{font-style:italic;color:var(--gold-lt);}
.hero-sub{font-size:.95rem;color:var(--grey-3);max-width:400px;margin-bottom:36px;font-weight:300;}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;}
.btn-primary{font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;background:var(--gold);color:var(--black);border:none;padding:13px 28px;border-radius:var(--radius);cursor:pointer;text-decoration:none;display:inline-block;transition:background var(--transition),transform var(--transition);}
.btn-primary:hover{background:var(--gold-lt);transform:translateY(-1px);}
.btn-ghost{font-size:.78rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;background:transparent;color:var(--grey-0);border:1px solid rgba(255,255,255,.25);padding:13px 28px;border-radius:var(--radius);cursor:pointer;text-decoration:none;display:inline-block;transition:border-color var(--transition),color var(--transition);}
.btn-ghost:hover{border-color:var(--gold-lt);color:var(--gold-lt);}
.rarity-legend{display:flex;align-items:center;gap:20px;margin-top:40px;flex-wrap:wrap;}
.rarity-legend-label{font-size:.68rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-4);}
.rarity-pip{display:flex;align-items:center;gap:6px;font-size:.72rem;color:var(--grey-3);}
.rarity-pip-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.pip-common{background:var(--common);border:1px solid var(--grey-4);}
.pip-uncommon{background:var(--uncommon);}
.pip-rare{background:var(--rare);}
.pip-mythic{background:var(--mythic);}
.section{padding:56px 0;}
.section-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:32px;gap:16px;}
.section-title{font-family:var(--font-display);font-size:1.8rem;font-weight:400;color:var(--black);}
.section-title span{font-style:italic;color:var(--grey-4);font-weight:300;font-size:1rem;margin-left:10px;}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;}
.inv-card{background:var(--grey-0);border-radius:6px;overflow:hidden;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition);position:relative;display:flex;flex-direction:column;}
.inv-card:hover{transform:translateY(-3px);}
.inv-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:6px 0 0 6px;}
.inv-card.common::before{background:var(--common);}
.inv-card.uncommon::before{background:var(--uncommon);}
.inv-card.rare::before{background:var(--rare);box-shadow:0 0 8px rgba(184,151,42,.3);}
.inv-card.mythic::before{background:var(--mythic);box-shadow:0 0 12px rgba(196,92,18,.4);}
.inv-card.rare:hover{box-shadow:0 8px 24px rgba(184,151,42,.15),0 2px 8px rgba(0,0,0,.06);}
.inv-card.mythic:hover{box-shadow:0 8px 28px rgba(196,92,18,.2),0 2px 8px rgba(0,0,0,.06);}
.inv-card.uncommon:hover,.inv-card.common:hover,.inv-card.generic:hover{box-shadow:0 6px 20px rgba(0,0,0,.09);}
.card-img{aspect-ratio:5/7;background:var(--grey-2);overflow:hidden;position:relative;}
.card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 300ms ease;}
.inv-card:hover .card-img img{transform:scale(1.03);}
.badge-foil{position:absolute;top:8px;right:8px;background:linear-gradient(135deg,#d4b24a,#e8d08a,#b8972a);color:var(--black);font-size:.6rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:3px 7px;border-radius:2px;}
.card-info{padding:14px 16px 16px 18px;flex:1;display:flex;flex-direction:column;gap:6px;}
.card-name{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--black);line-height:1.2;}
.card-meta{font-size:.72rem;color:var(--grey-4);}
.card-meta strong{color:var(--grey-5);font-weight:500;}
.card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:10px;border-top:1px solid var(--grey-2);}
.card-price{font-family:var(--font-display);font-size:1.15rem;font-weight:600;color:var(--black);}
.card-currency{font-size:.7rem;font-weight:400;color:var(--grey-4);}
.card-market{display:block;font-family:var(--font-body);font-size:.66rem;font-weight:400;color:var(--grey-4);text-decoration:line-through;margin-top:2px;letter-spacing:.02em;}
.card-condition{font-size:.68rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:2px;background:var(--grey-2);color:var(--grey-5);}
.card-condition.sold-out{background:#fce8e8;color:#c0392b;}
.card-condition.last-copy{background:#fff8e6;color:#7a6118;}
.card-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;background:linear-gradient(160deg,var(--grey-2) 0%,#e0dedd 100%);}
/* ─── INFO STRIP (sitewide top ticker) ──────────────────── */
.info-strip{background:var(--grey-7);border-top:1px solid rgba(184,151,42,.3);border-bottom:1px solid rgba(184,151,42,.3);padding:9px 0;}
.info-strip-inner{display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap;}
.info-strip-item{font-size:.65rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dim);padding:0 18px;border-right:1px solid rgba(184,151,42,.2);}
.info-strip-item:last-child{border-right:none;}
@media(max-width:640px){.info-strip-item:nth-child(n+2){display:none;}.info-strip-item{border-right:none;}}

/* ─── COMING SOON / SPONSOR BANNER ──────────────────────── */
/* Animated dark banner — empty state + paid sponsor slot   */
.cs-banner{position:relative;overflow:hidden;border-bottom:1px solid rgba(184,151,42,.06);height:110px;display:flex;align-items:center;}
.cs-banner-bg{position:absolute;inset:0;background:linear-gradient(-60deg,#16120e 0%,#1a0e10 25%,#0e1410 50%,#10111a 75%,#16120e 100%);background-size:400% 400%;animation:cs-shift 18s ease infinite;}
.cs-banner::before{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(184,151,42,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(184,151,42,.045) 1px,transparent 1px);background-size:52px 52px;pointer-events:none;z-index:1;}
.cs-banner::after{content:'';position:absolute;top:50%;left:38%;transform:translate(-50%,-50%);width:600px;height:200px;background:radial-gradient(ellipse,rgba(184,151,42,.09) 0%,transparent 65%);pointer-events:none;z-index:1;}
@keyframes cs-shift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.cs-inner{position:relative;z-index:2;width:100%;max-width:1200px;margin:0 auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;}
/* Left: live node indicator */
.cs-node{display:flex;align-items:center;gap:9px;flex-shrink:0;position:absolute;left:28px;top:50%;transform:translateY(-50%);}
.cs-live-dot{width:7px;height:7px;background:#5ac87a;border-radius:50%;box-shadow:0 0 6px rgba(90,200,122,.5);animation:cs-pulse 2.8s ease-out infinite;}
@keyframes cs-pulse{0%{box-shadow:0 0 0 0 rgba(74,170,106,.55)}70%{box-shadow:0 0 0 9px rgba(74,170,106,0)}100%{box-shadow:0 0 0 0 rgba(74,170,106,0)}}
.cs-node-label{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:#5a9a70;white-space:nowrap;}
/* Center message */
.cs-msg{text-align:center;flex:1;min-width:0;}
.cs-msg-main{font-family:var(--font-display);font-size:1.5rem;font-weight:400;color:#c8b89a;letter-spacing:.02em;line-height:1;margin-bottom:6px;}
.cs-msg-main em{font-style:italic;color:#c8a84a;}
.cs-msg-sub{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:#7a7068;}
/* Right: CTA */
/* Paid sponsor version */
.cs-banner-sponsor{height:auto;min-height:110px;}
.cs-banner-sponsor .cs-inner{padding:16px 28px;flex-wrap:wrap;gap:16px;}
.cs-sponsor-body{flex:1;min-width:0;}
.cs-sponsor-eyebrow{font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:5px;}
.cs-sponsor-title{font-family:var(--font-display);font-size:1.1rem;font-weight:400;color:rgba(255,255,255,.92);line-height:1.2;margin-bottom:4px;}
.cs-sponsor-sub{font-size:.78rem;color:rgba(255,255,255,.55);font-weight:300;}
.cs-sponsor-btn{font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;background:rgba(255,255,255,.12);color:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.2);padding:10px 22px;border-radius:4px;cursor:pointer;text-decoration:none;display:inline-block;transition:background .2s,border-color .2s;white-space:nowrap;flex-shrink:0;}
.cs-sponsor-btn:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.35);}
/* Mobile */
@media(max-width:768px){.cs-node{display:none;}.cs-msg-main{font-size:.92rem;}}
.site-footer{background:var(--grey-7);color:var(--grey-3);padding:34px 0 20px;margin-top:40px;}
.footer-inner{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:36px;margin-bottom:24px;align-items:start;}
.footer-brand-name{font-family:var(--font-display);font-size:1.3rem;font-weight:600;color:var(--grey-0);margin-bottom:9px;}
.footer-brand-name span{color:var(--gold);}
.footer-tagline{font-size:.82rem;color:var(--grey-4);font-weight:300;line-height:1.55;max-width:280px;}
.footer-col-title{font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-4);margin-bottom:11px;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:8px;}
.footer-links a{font-size:.83rem;color:var(--grey-4);text-decoration:none;transition:color var(--transition);}
.footer-links a:hover{color:var(--grey-0);}
.footer-social{display:flex;gap:14px;margin-top:14px;}
.footer-social a{color:var(--grey-4);display:inline-flex;transition:color var(--transition);}
.footer-social a:hover{color:var(--gold);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.footer-copy{font-size:.75rem;color:var(--grey-5);}
.footer-fmp-note{font-size:.7rem;color:var(--grey-5);}
.footer-fmp-note a{color:var(--gold-dim);text-decoration:none;}
.footer-fmp-note a:hover{color:var(--gold);}
/* Let the bottom-row notes shrink + wrap instead of spilling past the container
   (flex children default to min-width:auto = won't shrink below their text). */
.footer-bottom>p{min-width:0;overflow-wrap:anywhere;}
.empty-state{text-align:center;padding:64px 24px;color:var(--grey-4);}
@media(max-width:768px){
  .nav-links{display:none;}
  .footer-inner{grid-template-columns:1fr 1fr 1fr;gap:22px 20px;}
  .footer-inner>div:first-child{grid-column:1 / -1;}
  .card-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));}
}
@media(max-width:460px){
  .site-footer{padding:28px 0 18px;margin-top:30px;}
  .footer-inner{grid-template-columns:1fr 1fr;gap:18px 16px;margin-bottom:20px;}
  .footer-tagline{max-width:none;}
}

/* ─── SHOW PAGE ─────────────────────────────────────────── */
.back-link{display:inline-block;font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--grey-4);text-decoration:none;padding:24px 0 0;transition:color var(--transition);}
.back-link:hover{color:var(--gold);}
.show-page{padding-bottom:64px;}
/* Branded frame — matches /account: gold top edge + dark header band + light body */
.show-frame{background:#ececec;border:1px solid #d8d8d8;border-top:3px solid var(--gold);border-radius:14px;overflow:hidden;box-shadow:0 6px 28px rgba(13,12,11,.10);margin-top:6px;}
/* Dark HQS header band (black + gold) */
.show-head{background:#1a1917;padding:30px 32px;position:relative;overflow:hidden;}
.show-head::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 90% at 92% 25%,rgba(184,151,42,.15),transparent 60%);pointer-events:none;}
.show-eyebrow{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--gold-lt);margin-bottom:10px;position:relative;z-index:1;}
.show-eyebrow.mythic{color:#e8843a;}
.show-eyebrow.uncommon{color:#aab4bd;}
.show-eyebrow.common{color:#bdb8b0;}
.show-title{font-family:var(--font-display);font-size:clamp(1.8rem,3.4vw,2.4rem);font-weight:400;color:var(--grey-0);line-height:1.12;margin:0;position:relative;z-index:1;}
.show-type{font-size:.84rem;color:var(--grey-3);letter-spacing:.03em;margin:9px 0 0;position:relative;z-index:1;}
.show-mana{color:var(--grey-4);font-family:var(--font-body);}
/* Light body */
.show-body{padding:36px 32px 38px;}
.show-hero-inner{display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:start;}
.show-card-wrap{position:relative;flex-shrink:0;}
.show-card-img{width:320px;border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.20);display:block;}
.show-card-sold-out{opacity:.45;filter:grayscale(.4);}
.show-sold-out-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:12px;background:rgba(13,12,11,.45);font-size:.72rem;font-weight:700;letter-spacing:.22em;color:#f7f6f4;text-shadow:0 1px 4px rgba(0,0,0,.6);}
.show-card-placeholder{width:320px;height:448px;background:linear-gradient(160deg,var(--grey-2) 0%,#e0dedd 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:4rem;}
.show-foil-badge{position:absolute;top:12px;right:12px;}
.show-oracle{font-size:.9rem;color:var(--grey-6);line-height:1.7;padding:16px;background:#fff;border-radius:8px;margin-bottom:20px;border-left:2px solid var(--gold);white-space:pre-line;}
.show-pt{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--black);margin-bottom:16px;}
.show-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px;}
.show-meta-item{background:#fff;border:1px solid #e0e0e0;padding:10px 14px;border-radius:8px;}
.show-meta-label{display:block;font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-4);margin-bottom:3px;}
.show-meta-value{font-size:.88rem;font-weight:500;color:var(--black);}
.mythic-text{color:var(--mythic);}
.rare-text{color:var(--rare);}
.uncommon-text{color:var(--uncommon);}
.common-text{color:var(--grey-5);}
.show-purchase{display:flex;align-items:center;gap:20px;margin:0 0 16px;padding-top:24px;border-top:1px solid #d8d8d8;flex-wrap:wrap;}
/* Not-carried (Scryfall reference) state */
.show-purchase-na{display:block;margin:0 0 16px;padding-top:24px;border-top:1px solid #d8d8d8;}
.show-na-badge{display:inline-flex;align-items:center;gap:7px;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--grey-5);background:#e7e7e7;border:1px solid #d8d8d8;padding:6px 13px;border-radius:20px;}
.show-na-dot{width:6px;height:6px;border-radius:50%;background:var(--grey-4);}
.show-na-note{font-size:.84rem;color:var(--grey-5);line-height:1.6;margin-top:12px;}
.show-na-market{display:block;margin-top:4px;color:var(--grey-6);}
.show-na-market strong{color:var(--black);font-weight:600;}
.show-price-block{display:flex;align-items:baseline;gap:6px;}
.show-price{font-family:var(--font-display);font-size:2rem;font-weight:600;color:var(--black);}
.show-currency{font-size:.8rem;color:var(--grey-4);font-weight:400;}
.show-atc{padding:14px 32px;font-size:.85rem;}
.show-atc-note{font-size:.72rem;color:var(--grey-4);width:100%;}
.show-scryfall-link{font-size:.75rem;color:var(--gold-dim);text-decoration:none;letter-spacing:.06em;transition:color var(--transition);}
.show-scryfall-link:hover{color:var(--gold);}
@media(max-width:768px){
  .show-head{padding:24px 22px;}
  .show-body{padding:26px 22px 30px;}
  .show-hero-inner{grid-template-columns:1fr;gap:28px;}
  .show-card-wrap{max-width:320px;margin:0 auto;}
  .show-card-img,.show-card-placeholder{width:100%;height:auto;}
  .show-meta-grid{grid-template-columns:repeat(2,1fr);}
}

/* ─── CART ──────────────────────────────────────────────── */
.cart-notice{background:#f0faf0;border:1px solid #c3e6cb;color:#2d6a4f;padding:12px 16px;border-radius:var(--radius);margin-bottom:24px;font-size:.85rem;}
.cart-layout{display:grid;grid-template-columns:1fr 360px;gap:36px;align-items:start;}
.cart-main{min-width:0;}
/* Item rows */
.cart-items{display:flex;flex-direction:column;gap:14px;}
.cart-item{background:var(--grey-0);border:1px solid var(--grey-2);border-left:3px solid var(--grey-3);border-radius:8px;padding:18px 20px;display:grid;grid-template-columns:72px 1fr auto;gap:20px;align-items:center;transition:box-shadow var(--transition),border-color var(--transition);}
.cart-item:hover{box-shadow:0 4px 18px rgba(13,12,11,.06);}
.cart-item.mythic{border-left-color:var(--mythic);}
.cart-item.rare{border-left-color:var(--rare);}
.cart-item.uncommon{border-left-color:var(--uncommon);}
.cart-item.common{border-left-color:var(--common);}
.cart-item-img{display:block;width:72px;flex-shrink:0;}
.cart-item-img img{width:72px;border-radius:5px;display:block;box-shadow:0 1px 6px rgba(13,12,11,.12);}
.cart-item-placeholder{width:72px;height:100px;background:var(--grey-1);border:1px solid var(--grey-2);border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;}
.cart-item-details{min-width:0;}
.cart-item-name{font-family:var(--font-display);font-size:1.22rem;font-weight:600;line-height:1.2;color:var(--black);text-decoration:none;display:block;margin-bottom:8px;}
.cart-item-name:hover{color:var(--gold);}
.cart-item-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px;}
.cart-tag{font-size:.64rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:3px 8px;border-radius:3px;background:var(--grey-1);color:var(--grey-5);border:1px solid var(--grey-2);}
.cart-tag-cond{background:#fff8e6;color:var(--gold-dim);border-color:#ecdca6;}
.cart-tag.rarity-mythic{color:var(--mythic);border-color:#e6c3a3;background:#fff3ee;}
.cart-tag.rarity-rare{color:var(--gold-dim);border-color:#ecdca6;background:#fffaf0;}
.cart-tag.rarity-uncommon{color:#5b6470;border-color:#d3d9df;background:#f3f5f7;}
/* Quantity stepper */
.cart-qty{display:inline-flex;align-items:center;border:1px solid var(--grey-3);border-radius:6px;overflow:hidden;width:fit-content;}
.cart-qty-btn{width:30px;height:30px;border:none;background:var(--grey-1);color:var(--grey-6);font-size:1rem;line-height:1;cursor:pointer;transition:background var(--transition);}
.cart-qty-btn:hover{background:var(--grey-2);color:var(--black);}
.cart-qty-input{width:42px;height:30px;text-align:center;border:none;border-left:1px solid var(--grey-2);border-right:1px solid var(--grey-2);font-size:.85rem;color:var(--black);background:var(--grey-0);-moz-appearance:textfield;}
.cart-qty-input::-webkit-outer-spin-button,.cart-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.cart-qty-stock{font-size:.68rem;color:var(--mythic);font-weight:600;margin-left:10px;letter-spacing:.03em;}
/* Price column */
.cart-item-price-col{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px;}
.cart-item-line{font-family:var(--font-display);font-size:1.35rem;font-weight:600;color:var(--black);}
.cart-item-unit{font-size:.7rem;color:var(--grey-4);}
.cart-remove-btn{font-size:.68rem;color:var(--grey-4);background:none;border:none;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;padding:0;margin-top:6px;transition:color var(--transition);}
.cart-remove-btn:hover{color:#c0392b;}
/* Summary panel */
.cart-summary{background:var(--grey-0);border:1px solid var(--grey-2);border-radius:8px;padding:26px;position:sticky;top:88px;box-shadow:0 2px 16px rgba(13,12,11,.04);}
.cart-summary-title{font-family:var(--font-display);font-size:1.4rem;font-weight:600;color:var(--black);margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--grey-2);}
.cart-summary-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:var(--grey-6);margin-bottom:12px;}
.cart-summary-row--muted{color:var(--grey-4);font-size:.8rem;}
.cart-ship-free{color:#1a7d4f;font-weight:700;font-size:.78rem;letter-spacing:.05em;}
/* Free-shipping progress */
.cart-ship-progress{margin:4px 0 16px;}
.cart-ship-bar{height:6px;background:var(--grey-2);border-radius:99px;overflow:hidden;margin-bottom:8px;}
.cart-ship-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-lt));border-radius:99px;transition:width .4s ease;}
.cart-ship-hint{font-size:.74rem;color:var(--grey-5);}
.cart-ship-hint strong{color:var(--gold-dim);}
.cart-ship-hint--won{color:#1a7d4f;font-weight:600;margin:4px 0 16px;}
.cart-summary-total{display:flex;justify-content:space-between;align-items:baseline;font-size:1.15rem;font-weight:700;color:var(--black);border-top:1px solid var(--grey-2);padding-top:16px;margin-top:6px;}
.cart-summary-total small{font-size:.68rem;color:var(--grey-4);font-weight:500;}
.cart-matic-note{font-size:.7rem;color:var(--grey-4);text-align:center;margin:10px 0 18px;}
.cart-checkout-btn{width:100%;text-align:center;display:block;padding:14px;font-size:.82rem;}
.cart-checkout-soon{text-align:center;padding:14px;font-size:.8rem;color:var(--grey-5);border:1px dashed var(--grey-3);border-radius:var(--radius);}
.cart-trust{list-style:none;padding:0;margin:18px 0;display:flex;flex-direction:column;gap:9px;}
.cart-trust li{display:flex;align-items:center;gap:9px;font-size:.76rem;color:var(--grey-5);}
.cart-trust-ic{font-size:.85rem;width:18px;text-align:center;flex-shrink:0;}
.cart-clear-btn{width:100%;background:none;border:1px solid var(--grey-2);color:var(--grey-4);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:9px;border-radius:var(--radius);cursor:pointer;transition:border-color var(--transition),color var(--transition);}
.cart-clear-btn:hover{border-color:#c0392b;color:#c0392b;}
/* Empty state */
.cart-empty{text-align:center;padding:72px 20px;}
.cart-empty-icon{font-size:2.6rem;opacity:.4;margin-bottom:16px;}
.cart-empty-title{font-family:var(--font-display);font-size:1.5rem;color:var(--black);margin-bottom:6px;}
.cart-empty-sub{font-size:.88rem;color:var(--grey-4);margin-bottom:24px;}
/* Header — eyebrow + display title + styled back pill (no raw hyperlinks) */
.cart-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid var(--grey-2);}
.cart-eyebrow{font-size:.66rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 8px;}
.cart-h1{font-family:var(--font-display);font-size:2.4rem;font-weight:400;color:var(--black);line-height:1;margin:0;}
.cart-h1 em{font-style:italic;color:var(--gold-dim);}
.cart-h1-count{font-family:var(--font-body);font-size:.8rem;font-weight:400;color:var(--grey-4);letter-spacing:.04em;margin-left:10px;vertical-align:middle;}
.cart-back{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--grey-5);text-decoration:none;background:var(--grey-1);border:1px solid var(--grey-2);padding:10px 18px;border-radius:99px;transition:border-color var(--transition),color var(--transition),background var(--transition);}
.cart-back:hover{border-color:var(--gold);color:var(--gold-dim);background:var(--grey-0);}
/* Vendor container (TCG-style — grouped by storefront) */
.cart-vendor{border:1px solid var(--grey-2);border-radius:10px;overflow:hidden;margin-bottom:18px;}
.cart-vendor-head{display:flex;align-items:center;gap:12px;padding:13px 18px;background:linear-gradient(90deg,#faf8f3,var(--grey-0));border-bottom:1px solid var(--grey-2);}
.cart-vendor-mark{width:22px;height:22px;border-radius:5px;background:linear-gradient(135deg,var(--gold),var(--gold-dim));flex-shrink:0;box-shadow:0 1px 4px rgba(184,151,42,.3);position:relative;}
.cart-vendor-mark::after{content:'';position:absolute;inset:6px;border:1.5px solid rgba(255,255,255,.75);border-radius:1px;transform:rotate(45deg);}
.cart-vendor-id{display:flex;flex-direction:column;line-height:1.25;flex:1;min-width:0;}
.cart-vendor-eyebrow{font-size:.56rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-4);}
.cart-vendor-name{font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--black);}
.cart-vendor-count{font-size:.68rem;color:var(--grey-4);letter-spacing:.04em;flex-shrink:0;}
.cart-vendor-items{display:flex;flex-direction:column;gap:1px;background:var(--grey-2);}
.cart-vendor-items .cart-item{border:none;border-left:3px solid var(--grey-3);border-radius:0;}
.cart-vendor-items .cart-item.mythic{border-left-color:var(--mythic);}
.cart-vendor-items .cart-item.rare{border-left-color:var(--rare);}
.cart-vendor-items .cart-item.uncommon{border-left-color:var(--uncommon);}
.cart-vendor-items .cart-item.common{border-left-color:var(--common);}
.cart-vendor-items .cart-item:hover{box-shadow:inset 0 0 0 1px var(--gold-lt);}
/* Summary refinements — gold accent bar + display eyebrow + tax note */
.cart-summary{overflow:hidden;}
.cart-summary-accent{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-lt),var(--gold-dim));}
.cart-summary-eyebrow{font-family:var(--font-display);font-size:1.4rem;font-weight:600;color:var(--black);margin:6px 0 20px;padding-bottom:14px;border-bottom:1px solid var(--grey-2);}
.cart-row-note{font-size:.64rem;color:var(--grey-4);font-weight:400;letter-spacing:.04em;text-transform:uppercase;margin-left:4px;}
/* Checkout — reuses the cart components; light-themed identity + subtle links */
.cart-notice--error{background:#fdf3f3;border-color:#e8c9c9;color:#9a3a3a;}
.checkout-qty-ro{font-size:.74rem;color:var(--grey-5);font-weight:500;}
.checkout-id{background:var(--grey-1);border:1px solid var(--grey-2);border-radius:7px;padding:14px 16px;margin-bottom:20px;display:flex;flex-direction:column;gap:2px;}
.checkout-id-label{font-size:.6rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-4);}
.checkout-id-name{font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--black);}
.checkout-id-sub{font-size:.76rem;color:var(--grey-5);}
.checkout-id-guest{font-size:.78rem;color:var(--grey-5);line-height:1.5;margin-top:4px;}
.checkout-id-link{color:var(--gold-dim);font-weight:600;text-decoration:none;border-bottom:1px solid transparent;transition:border-color var(--transition);}
.checkout-id-link:hover{border-bottom-color:var(--gold);}
.checkout-terms{font-size:.68rem;color:var(--grey-4);line-height:1.6;text-align:center;margin-top:14px;}
.checkout-terms a{color:var(--grey-5);text-decoration:none;border-bottom:1px solid var(--grey-3);transition:color var(--transition),border-color var(--transition);}
.checkout-terms a:hover{color:var(--gold-dim);border-bottom-color:var(--gold);}
.checkout-block{margin-top:20px;background:var(--grey-0);border:1px solid var(--grey-2);border-radius:10px;padding:20px 22px;}
.checkout-block-title{font-family:var(--font-display);font-size:1.15rem;font-weight:600;color:var(--black);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--grey-2);}
.checkout-error{background:#fdf3f3;border:1px solid #e8c9c9;color:#9a3a3a;border-radius:6px;padding:10px 14px;font-size:.82rem;margin-top:14px;}
.checkout-loading{font-size:.8rem;color:var(--grey-4);padding:14px 0;}
#address-element,#payment-element{min-height:40px;}
/* Two-step checkout */
.co-steps{display:flex;align-items:center;gap:10px;margin:4px 0 0;}
.co-step{display:flex;align-items:center;gap:7px;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--grey-4);}
.co-step-num{width:20px;height:20px;border-radius:50%;border:1px solid var(--grey-3);display:flex;align-items:center;justify-content:center;font-size:.66rem;}
.co-step.active{color:var(--gold-dim);}
.co-step.active .co-step-num{background:var(--gold);border-color:var(--gold);color:#fff;}
.co-step.done .co-step-num{background:var(--grey-6);border-color:var(--grey-6);color:#fff;}
.co-step-sep{flex:1;height:1px;background:var(--grey-2);min-width:18px;max-width:40px;}
.co-section{margin-top:22px;}
.co-section-title{font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--black);margin:0 0 14px;}
.co-addr-list{display:flex;flex-direction:column;gap:10px;margin-bottom:14px;}
.co-addr{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--grey-2);border-radius:8px;padding:14px 16px;cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition);}
.co-addr:hover{border-color:var(--grey-3);}
.co-addr.selected{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold);}
.co-addr input{margin-top:3px;accent-color:var(--gold);}
.co-addr-body{font-size:.84rem;color:var(--grey-5);line-height:1.5;}
.co-addr-name{font-weight:600;color:var(--black);}
.co-addr-badge{font-size:.56rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-dim);background:#fff8e6;border:1px solid #ecdca6;padding:1px 6px;border-radius:3px;margin-left:6px;}
.co-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.co-field-grid .co-wide{grid-column:1 / -1;}
.co-label{display:block;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--grey-4);margin-bottom:5px;}
.co-input{width:100%;background:var(--grey-0);border:1px solid var(--grey-3);color:var(--black);padding:10px 12px;border-radius:6px;font-size:.9rem;box-sizing:border-box;font-family:var(--font-body);}
.co-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,151,42,.12);}
.co-check{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--grey-5);cursor:pointer;margin-top:12px;}
.co-check input{accent-color:var(--gold);}
.co-addr-summary{background:var(--grey-1);border:1px solid var(--grey-2);border-radius:8px;padding:14px 16px;font-size:.84rem;color:var(--grey-5);line-height:1.5;}
/* ── Invoice-style single-page checkout (one locked document) ──────────── */
.inv{max-width:880px;margin:0 auto;background:var(--grey-0);border:1px solid var(--grey-2);border-radius:10px;box-shadow:0 6px 30px rgba(13,12,11,.07);overflow:hidden;}
.inv-accent{height:4px;background:linear-gradient(90deg,var(--gold-dim),var(--gold),var(--gold-lt));}
.inv-pad{padding:34px 40px;}
.inv-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;padding-bottom:24px;border-bottom:2px solid var(--grey-7);}
.inv-brand-name{font-family:var(--font-display);font-size:1.7rem;font-weight:600;color:var(--black);line-height:1;}
.inv-brand-sub{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-4);margin-top:6px;}
.inv-meta{text-align:right;}
.inv-meta-label{font-family:var(--font-display);font-size:1.25rem;font-style:italic;color:var(--gold-dim);}
.inv-meta-line{font-size:.72rem;color:var(--grey-5);margin-top:4px;}
.inv-parties{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid var(--grey-2);}
.inv-party{padding:22px 0;}
.inv-party:first-child{padding-right:28px;border-right:1px solid var(--grey-2);}
.inv-party:last-child{padding-left:28px;}
.inv-party-label{font-size:.62rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
.inv-table{width:100%;border-collapse:collapse;margin-top:6px;}
.inv-table thead th{font-size:.6rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-4);text-align:left;padding:14px 0 10px;border-bottom:1px solid var(--grey-3);}
.inv-table thead th.num{text-align:right;}
.inv-table td{padding:12px 0;border-bottom:1px solid var(--grey-1);font-size:.9rem;color:var(--grey-6);vertical-align:middle;}
.inv-table td.num{text-align:right;white-space:nowrap;}
.inv-item-cell{display:flex;align-items:center;gap:12px;}
.inv-thumb{width:34px;height:auto;border-radius:3px;box-shadow:0 1px 4px rgba(13,12,11,.2);flex-shrink:0;display:block;}
.inv-thumb-ph{width:34px;height:47px;background:var(--grey-1);border:1px solid var(--grey-2);border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0;}
.inv-item-name{font-weight:600;color:var(--black);}
.inv-item-sub{font-size:.72rem;color:var(--grey-4);margin-top:2px;}
.inv-totals{display:flex;justify-content:flex-end;padding-top:18px;}
.inv-totals-inner{width:min(300px,100%);}
.inv-total-row{display:flex;justify-content:space-between;font-size:.88rem;color:var(--grey-6);padding:7px 0;}
.inv-total-due{display:flex;justify-content:space-between;align-items:baseline;border-top:2px solid var(--grey-7);margin-top:8px;padding-top:14px;}
.inv-total-due .lbl{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--black);}
.inv-total-due .amt{font-family:var(--font-display);font-size:1.6rem;font-weight:700;color:var(--black);}
.inv-pay{border-top:1px solid var(--grey-2);margin-top:6px;padding-top:26px;}
.inv-saved-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap;}
.inv-saved-row select{background:var(--grey-0);border:1px solid var(--grey-3);color:var(--black);padding:8px 10px;border-radius:6px;font-size:.84rem;font-family:var(--font-body);}
@media(max-width:680px){.inv-pad{padding:24px 22px;}.inv-parties{grid-template-columns:1fr;}.inv-party:first-child{padding-right:0;border-right:none;border-bottom:1px solid var(--grey-2);}.inv-party:last-child{padding-left:0;}}
.show-atc-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.show-qty-row{display:flex;align-items:center;gap:8px;}
@media(max-width:900px){.cart-layout{grid-template-columns:1fr;}.cart-summary{position:static;}}
@media(max-width:520px){.cart-head{flex-direction:column;align-items:flex-start;}.cart-h1{font-size:1.9rem;}.cart-item{grid-template-columns:60px 1fr;gap:14px;}.cart-item-img,.cart-item-img img{width:60px;}.cart-item-price-col{grid-column:1 / -1;flex-direction:row;justify-content:space-between;align-items:center;border-top:1px solid var(--grey-2);padding-top:12px;margin-top:4px;}.cart-item-line{font-size:1.2rem;}}

/* ─── CHECKOUT ───────────────────────────────────────────── */
.checkout-layout{display:grid;grid-template-columns:1fr 360px;gap:32px;align-items:start;}
.checkout-section-title{font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--black);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--grey-2);}
.checkout-items{background:var(--grey-0);border-radius:6px;padding:24px;}
.checkout-item{display:grid;grid-template-columns:60px 1fr auto;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--grey-2);}
.checkout-item:last-of-type{border-bottom:none;}
.checkout-item.mythic{border-left:3px solid var(--mythic);padding-left:12px;}
.checkout-item.rare{border-left:3px solid var(--rare);padding-left:12px;}
.checkout-item.uncommon{border-left:3px solid var(--uncommon);padding-left:12px;}
.checkout-item.common{border-left:3px solid var(--common);padding-left:12px;}
.checkout-item-img img{width:60px;border-radius:4px;}
.checkout-item-placeholder{width:60px;height:84px;background:var(--grey-2);border-radius:4px;display:flex;align-items:center;justify-content:center;}
.checkout-item-name{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--black);margin-bottom:2px;}
.checkout-item-meta{font-size:.72rem;color:var(--grey-4);margin-bottom:2px;}
.checkout-item-qty{font-size:.72rem;color:var(--grey-5);}
.checkout-item-total{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--black);white-space:nowrap;}
.checkout-subtotal{display:flex;justify-content:space-between;font-size:.9rem;font-weight:600;color:var(--black);padding-top:16px;margin-top:8px;}
.checkout-payment{background:var(--grey-0);border-radius:6px;padding:24px;position:sticky;top:88px;}
.checkout-wallet-block{margin-bottom:24px;}
.checkout-wallet-label{font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--grey-4);margin-bottom:8px;}
.checkout-connect-btn{width:100%;text-align:center;margin-bottom:8px;}
.checkout-wallet-address{font-size:.72rem;color:var(--grey-5);word-break:break-all;background:var(--grey-1);padding:8px;border-radius:var(--radius);}
.checkout-wallet-note{font-size:.7rem;color:var(--grey-4);margin-top:8px;line-height:1.5;}
.checkout-matic-block{background:var(--grey-1);border-radius:var(--radius);padding:16px;margin-bottom:20px;}
.checkout-matic-label{font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--grey-4);margin-bottom:4px;}
.checkout-matic-value{font-family:var(--font-display);font-size:1.6rem;font-weight:600;color:var(--black);margin-bottom:2px;}
.checkout-matic-rate{font-size:.72rem;color:var(--grey-4);}
.checkout-total-row{display:flex;justify-content:space-between;font-size:.9rem;color:var(--grey-5);margin-bottom:8px;}
.checkout-matic-row{font-size:.85rem;color:var(--grey-4);margin-bottom:20px;}
.checkout-submit-btn{width:100%;text-align:center;font-size:.9rem;padding:16px;}
.checkout-submit-note{font-size:.7rem;color:var(--grey-4);text-align:center;margin-top:8px;line-height:1.5;}
.success-icon{width:64px;height:64px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:white;margin:0 auto 24px;}
.success-title{font-family:var(--font-display);font-size:2rem;font-weight:400;color:var(--black);margin-bottom:12px;}
.success-sub{font-size:.9rem;color:var(--grey-5);line-height:1.7;margin-bottom:32px;}
.success-order-block{background:var(--grey-1);border-radius:6px;padding:20px;text-align:left;}
.success-order-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--grey-2);font-size:.85rem;}
.success-order-row:last-child{border-bottom:none;}
.success-order-label{color:var(--grey-4);font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;}
.success-order-value{color:var(--black);font-weight:500;}
@media(max-width:768px){.checkout-layout{grid-template-columns:1fr;}}

/* ─── MOBILE NAV ─────────────────────────────────────────── */
/* Visible at ALL widths — the drawer holds the full link list now that the
   top bar keeps only the core six (11 links spilled the desktop bar). */
.nav-hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:6px;margin-left:12px;flex-shrink:0;}
.nav-hamburger span{display:block;width:22px;height:2px;background:var(--grey-5);border-radius:1px;transition:background var(--transition);}
.nav-hamburger:hover span{background:var(--black);}
.mobile-nav-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:200;}
.mobile-nav-backdrop.open{display:block;}
.mobile-nav{position:fixed;top:0;right:0;width:min(300px,85vw);height:100vh;height:100dvh;background:var(--grey-0);border-left:1px solid var(--grey-2);z-index:210;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow-y:auto;}
.mobile-nav.open{transform:translateX(0);}
.mobile-nav-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--grey-2);flex-shrink:0;}
.mobile-nav-close{background:none;border:none;cursor:pointer;color:var(--grey-4);font-size:1.2rem;line-height:1;padding:4px 8px;}
.mobile-nav-close:hover{color:var(--black);}
.mobile-nav ul{list-style:none;padding:6px 0;flex:1;}
.mobile-nav li a{display:block;padding:13px 20px;font-size:.8rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--grey-5);text-decoration:none;border-bottom:1px solid var(--grey-2);}
.mobile-nav li:last-child a{border-bottom:none;}
.mobile-nav li a:hover,.mobile-nav li a.mobile-active{color:var(--black);background:var(--grey-1);}
/* ── Pagination (2026-08-04) ───────────────────────────────────────────────
   Laravel's default paginator view is Tailwind-flavoured and this site has no
   Tailwind, so paged lists rendered as a row of bare hyperlinks. House style:
   pills, gold current page, and on a phone the numbers give way to "Page 2 of 8"
   so the control never wraps to a second row. */
.pg{display:flex;align-items:center;justify-content:center;gap:.4rem;flex-wrap:wrap;margin:1.6rem 0 .2rem;}
.pg-btn,.pg-num{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;
    border:1px solid #d0ccc4;background:#fff;color:#6a6258;border-radius:20px;font-size:.8rem;
    line-height:1;transition:background var(--transition),color var(--transition),border-color var(--transition);}
.pg-btn{padding:.55rem 1rem;font-weight:600;}
.pg-num{min-width:2.1rem;padding:.55rem .5rem;}
.pg-btn:hover,.pg-num:hover{background:#1a1917;border-color:#1a1917;color:var(--gold-lt);}
.pg-on,.pg-on:hover{background:#1a1917;border-color:#1a1917;color:var(--gold-lt);cursor:default;}
.pg-off{opacity:.38;pointer-events:none;}
.pg-nums{display:inline-flex;align-items:center;gap:.3rem;flex-wrap:wrap;}
.pg-gap{color:#9a938a;padding:0 .15rem;font-size:.8rem;}
.pg-of{display:none;font-size:.78rem;color:#6a6258;letter-spacing:.02em;}
@media(max-width:560px){
    .pg-nums{display:none;}
    .pg-of{display:inline;}
    .pg-btn{flex:1 1 auto;}
}
/* Drawer sections (2026-08-04): the drawer IS the navigation at every width, and it
   had grown to 16 flat links — "Sets & Decks" (sealed product you buy) sat three rows
   from "Browse Decks" (decklists you read) with nothing to say they were different
   kinds of thing. Labelled groups, NOT collapsibles: at this size an accordion would
   add a tap to every destination and hide links that are one scroll away today. */
.mobile-nav li.mnav-label{padding:15px 20px 7px;font-size:.6rem;font-weight:700;letter-spacing:.22em;
    text-transform:uppercase;color:var(--gold);background:var(--grey-1);border-bottom:1px solid var(--grey-2);}
.mobile-nav li.mnav-label:first-child{padding-top:9px;}
/* The indent is what makes a grouped link read as sitting UNDER its heading. */
.mobile-nav li.mnav-item a{padding-left:30px;}
.mobile-nav-actions{display:flex;flex-direction:column;gap:10px;padding:16px 20px calc(20px + env(safe-area-inset-bottom));border-top:1px solid var(--grey-2);flex-shrink:0;}
.mobile-nav-sign-in{font-size:.82rem;color:var(--grey-5);text-decoration:none;}
.mobile-nav-sign-in:hover{color:var(--black);}
body.nav-open{overflow:hidden;}

/* ─── PAGE HEADER (replaces oversized hero on browse pages) ─ */
.page-header{background:var(--grey-7);color:var(--grey-0);padding:32px 0 28px;position:relative;overflow:hidden;}
.page-header::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 100% at 80% 50%,rgba(184,151,42,.1) 0%,transparent 70%);pointer-events:none;}
.page-header-inner{position:relative;z-index:1;}
.page-header-eyebrow{font-size:.68rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:10px;}
.page-header-title{font-family:var(--font-display);font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:300;line-height:1.15;color:var(--grey-0);margin-bottom:6px;}
.page-header-title em{font-style:italic;color:var(--gold-lt);}
.page-header-sub{font-size:.875rem;color:var(--grey-4);font-weight:300;}

/* ─── FEATURED SPOTLIGHT ─────────────────────────────────── */
.featured-section{padding:44px 0 8px;}
.featured-header{margin-bottom:20px;}
.featured-heading{font-family:var(--font-display);font-size:1.5rem;font-weight:400;color:var(--black);margin-bottom:4px;}
.featured-subheading{font-size:.78rem;color:var(--grey-4);}
.featured-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.featured-card{background:var(--grey-0);border-radius:6px;overflow:hidden;display:flex;position:relative;border:1px solid var(--grey-2);transition:box-shadow var(--transition),transform var(--transition);}
.featured-card:hover{transform:translateY(-2px);}
.featured-card.mythic{border-top:3px solid var(--mythic);}
.featured-card.mythic:hover{box-shadow:0 10px 28px rgba(196,92,18,.16);}
.featured-card.rare{border-top:3px solid var(--rare);}
.featured-card.rare:hover{box-shadow:0 10px 28px rgba(184,151,42,.16);}
.featured-card.uncommon{border-top:3px solid var(--uncommon);}
.featured-card.common{border-top:3px solid var(--common);}
.featured-card-img{width:88px;flex-shrink:0;overflow:hidden;background:var(--grey-2);}
.featured-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 300ms ease;}
.featured-card:hover .featured-card-img img{transform:scale(1.04);}
.featured-card-img-placeholder{width:88px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;background:var(--grey-2);}
.featured-card-body{padding:16px 18px;flex:1;display:flex;flex-direction:column;min-width:0;}
.featured-card-eyebrow{font-size:.62rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-4);margin-bottom:6px;}
.featured-card-name{font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--black);line-height:1.2;margin-bottom:3px;}
.featured-card-set{font-size:.72rem;color:var(--grey-4);margin-bottom:auto;padding-bottom:10px;}
.featured-card-footer{display:flex;align-items:baseline;justify-content:space-between;margin-top:auto;}
.featured-card-price{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--black);}
.featured-card-currency{font-size:.65rem;font-weight:400;color:var(--grey-4);margin-left:3px;}
.featured-card-condition{font-size:.62rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;background:var(--grey-1);color:var(--grey-5);padding:2px 7px;border-radius:2px;}
.featured-card-link{position:absolute;inset:0;}

/* ─── FILTER BAR ─────────────────────────────────────────── */

.filter-bar{background:var(--grey-0);border-radius:6px;padding:18px 20px;margin-bottom:24px;display:flex;flex-direction:column;gap:14px;border:1px solid var(--grey-2);}
.filter-top-row{display:flex;gap:12px;align-items:center;}
.filter-search-wrap{position:relative;flex:1;}
.filter-search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--grey-4);}
.filter-search{width:100%;padding:9px 14px 9px 36px;border:1px solid var(--grey-2);border-radius:var(--radius);font-size:.875rem;font-family:var(--font-body);color:var(--grey-6);background:var(--grey-1);transition:border-color var(--transition),background var(--transition);}
.filter-search:focus{outline:none;border-color:var(--gold);background:var(--grey-0);}
.filter-sort{padding:9px 12px;border:1px solid var(--grey-2);border-radius:var(--radius);font-size:.8rem;font-family:var(--font-body);color:var(--grey-5);background:var(--grey-1);cursor:pointer;min-width:168px;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239e9b98' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px;}
.filter-sort:focus{outline:none;border-color:var(--gold);}
.filter-pill-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.filter-pill-label{font-size:.65rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-4);flex-shrink:0;margin-right:2px;}
.filter-pill{font-size:.7rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:5px 13px;border-radius:20px;border:1px solid var(--grey-3);background:none;color:var(--grey-5);cursor:pointer;transition:border-color var(--transition),background var(--transition),color var(--transition);font-family:var(--font-body);}
.filter-pill:hover{border-color:var(--grey-6);color:var(--black);}
.filter-pill.active{background:var(--grey-7);border-color:var(--grey-7);color:var(--grey-0);}
.filter-pill.rarity-common.active{background:var(--common);border-color:var(--common);color:var(--grey-0);}
.filter-pill.rarity-uncommon.active{background:var(--uncommon);border-color:var(--uncommon);color:var(--grey-0);}
.filter-pill.rarity-rare.active{background:var(--rare);border-color:var(--rare);color:var(--black);}
.filter-pill.rarity-mythic.active{background:var(--mythic);border-color:var(--mythic);color:var(--grey-0);}
.filter-bottom-row{display:flex;align-items:center;gap:16px;}
.filter-instock-label{display:flex;align-items:center;gap:7px;font-size:.78rem;color:var(--grey-5);cursor:pointer;user-select:none;}
.filter-instock-label input[type="checkbox"]{accent-color:var(--gold);width:15px;height:15px;cursor:pointer;}
.filter-result-count{font-size:.75rem;color:var(--grey-4);margin-left:auto;}
.filter-no-results{display:none;text-align:center;padding:48px 24px;color:var(--grey-4);}

/* ─── QUICK-ADD ──────────────────────────────────────────── */
.inv-card-link{text-decoration:none;color:inherit;display:flex;flex-direction:column;flex:1;min-height:0;}
/* Stretched link — the WHOLE card opens the single view (matches the card's pointer cursor) */
.inv-card-link::after{content:'';position:absolute;inset:0;z-index:1;}
.quick-add-wrap{padding:0 14px 12px;position:relative;z-index:2;}/* sits above the stretched link so Add-to-Cart still works */
.quick-add-btn{width:100%;padding:8px 12px;font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;background:var(--grey-1);border:1px solid var(--grey-2);border-radius:var(--radius);cursor:pointer;color:var(--grey-5);transition:background var(--transition),border-color var(--transition),color var(--transition);font-family:var(--font-body);}
.quick-add-btn:hover{background:var(--gold);border-color:var(--gold);color:var(--black);}
.quick-add-btn.disabled-btn{opacity:.4;cursor:not-allowed;pointer-events:none;}
.quick-add-btn.btn-added{background:#d4f4e4;border-color:#a3d9c0;color:#1a6145;pointer-events:none;}

@media(max-width:960px){
  .featured-grid{grid-template-columns:repeat(2,1fr);}
  .nav-hamburger{display:flex;}
  .nav-links{display:none;}
  #nav-account-link{display:none;}
  #nav-sign-in-link{display:none;}
  #nav-wallet-btn{display:none;}
}
@media(max-width:768px){
  .filter-top-row{flex-wrap:wrap;}
  .filter-sort{min-width:auto;width:100%;}
  .page-header{padding:24px 0 20px;}
}
@media(max-width:520px){.featured-grid{grid-template-columns:1fr;}.featured-card{aspect-ratio:16/9;}}

/* ═══════════════════════════════════════════════════════════
   PRODUCTION REDESIGN — overrides above defaults
   ═══════════════════════════════════════════════════════════ */

/* ─── DARK NAV ───────────────────────────────────────────── */
.site-nav{background:var(--grey-7);border-bottom-color:rgba(255,255,255,.06);}
.nav-logo{color:var(--grey-0);}
.nav-links a{color:rgba(255,255,255,.55);}
.nav-links a:hover{color:var(--grey-0);}
.nav-wallet-btn{color:var(--gold-lt);border-color:rgba(184,151,42,.4);background:transparent;}
.nav-wallet-btn:hover{border-color:var(--gold-lt);color:var(--gold-lt);background:rgba(184,151,42,.08);}
.nav-cart{color:rgba(255,255,255,.55);}
.nav-cart:hover{color:var(--grey-0);}
.nav-hamburger span{background:rgba(255,255,255,.55);}
.nav-hamburger:hover span{background:var(--grey-0);}
/* signed-in hamburger is gold — the colour signifies an active session (as the name button did) */
.nav-hamburger-hidden-desktop span{background:var(--gold-lt);}
.nav-hamburger-hidden-desktop:hover span{background:var(--gold);}
.mobile-nav{background:var(--grey-7);border-left-color:rgba(255,255,255,.07);}
.mobile-nav-header{border-bottom-color:rgba(255,255,255,.07);}
.mobile-nav-close{color:rgba(255,255,255,.35);}
.mobile-nav-close:hover{color:var(--grey-0);}
.mobile-nav li a{color:rgba(255,255,255,.6);border-bottom-color:rgba(255,255,255,.07);}
.mobile-nav li a:hover,.mobile-nav li a.mobile-active{color:var(--grey-0);background:rgba(255,255,255,.06);}
.mobile-nav-actions{border-top-color:rgba(255,255,255,.07);}
.mobile-nav-sign-in{color:rgba(255,255,255,.55);}
.mobile-nav-sign-in:hover{color:var(--grey-0);}


/* ─── PAGE HEADER WITH HERO SEARCH ─────────────────────────*/
.page-header{padding:52px 0 48px;}
.hero-search-row{display:flex;max-width:560px;margin:24px 0 28px;border-radius:var(--radius);overflow:hidden;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);}
.hero-search-input{flex:1;padding:13px 18px;border:none;background:transparent;color:var(--grey-0);font-size:.9rem;font-family:var(--font-body);outline:none;}
.hero-search-input::placeholder{color:rgba(255,255,255,.3);}
.hero-search-input:focus{background:rgba(255,255,255,.04);}
.hero-search-btn{padding:13px 22px;background:var(--gold);border:none;color:var(--black);font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;font-family:var(--font-body);transition:background var(--transition);white-space:nowrap;flex-shrink:0;}
.hero-search-btn:hover{background:var(--gold-lt);}

/* ─── FEATURED CARDS — EDITORIAL ART BACKGROUND ─────────── */
.featured-section{padding:52px 0 12px;}
.featured-header{display:flex;align-items:baseline;gap:12px;margin-bottom:20px;}
.featured-heading{font-family:var(--font-display);font-size:1.6rem;font-weight:400;color:var(--black);}
.featured-sub-label{font-size:.72rem;color:var(--grey-4);letter-spacing:.06em;}

/* Reset horizontal featured card from previous build */
.featured-card{display:block;position:relative;border-radius:8px;overflow:hidden;aspect-ratio:3/4;background:var(--grey-2);border:none;cursor:pointer;}
.featured-card:hover{transform:translateY(-3px);}
.featured-card.mythic{border-top:none;}
.featured-card.rare{border-top:none;}
.featured-card-img{display:none;}/* replaced by art bg */
.featured-card-img-placeholder{display:none;}

.featured-art{position:absolute;inset:0;background-size:cover;background-position:center top;transition:transform 420ms ease;}
.featured-card:hover .featured-art{transform:scale(1.05);}
.featured-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(13,12,11,.97) 0%,rgba(13,12,11,.65) 45%,rgba(13,12,11,.08) 100%);}
.featured-card.mythic .featured-overlay{background:linear-gradient(to top,rgba(13,12,11,.97) 0%,rgba(13,12,11,.65) 40%,rgba(196,92,18,.2) 100%);}
.featured-card.rare .featured-overlay{background:linear-gradient(to top,rgba(13,12,11,.97) 0%,rgba(13,12,11,.65) 40%,rgba(184,151,42,.15) 100%);}
.featured-placeholder-art{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:4rem;background:var(--grey-2);}
.featured-body{position:absolute;bottom:0;left:0;right:0;padding:20px 22px 24px;}
.featured-eyebrow{font-size:.62rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;margin-bottom:7px;}
.featured-card.mythic .featured-eyebrow{color:var(--mythic);}
.featured-card.rare .featured-eyebrow{color:var(--gold-lt);}
.featured-card.uncommon .featured-eyebrow{color:var(--uncommon);}
.featured-card.common .featured-eyebrow{color:var(--grey-3);}
.featured-card.generic .featured-eyebrow{color:var(--grey-3);}
.featured-name{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--grey-0);line-height:1.15;margin-bottom:3px;}
/* Decks/sets/sealed carry longer product names — scale down so the tile breathes. */
.featured-name.is-product{font-size:.98rem;line-height:1.3;}
.featured-set{font-size:.72rem;color:rgba(255,255,255,.45);margin-bottom:14px;}
.featured-card-footer{display:flex;align-items:center;justify-content:space-between;}
.featured-price{font-family:var(--font-display);font-size:1.55rem;font-weight:600;color:var(--grey-0);}
.featured-price-currency{font-size:.62rem;font-weight:400;color:rgba(255,255,255,.4);margin-left:3px;}
.featured-cta{font-size:.65rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.2);padding:5px 13px;border-radius:2px;transition:border-color var(--transition),color var(--transition);}
.featured-card:hover .featured-cta{border-color:var(--gold-lt);color:var(--gold-lt);}
.featured-card-link{position:absolute;inset:0;}

/* ─── NAV WALLET CONNECTED STATE ────────────────────────── */
.nav-wallet-connected{color:var(--gold-lt)!important;border-color:rgba(184,151,42,.6)!important;background:rgba(184,151,42,.1)!important;}

/* ─── SEARCH RESULTS PAGE ───────────────────────────────── */
.search-hero-card{background:var(--grey-7);border-radius:12px;padding:36px 40px;max-width:640px;margin:40px auto 0;border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 40px rgba(0,0,0,.3);position:relative;overflow:hidden;}
.search-hero-card::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 80% at 80% 20%,rgba(184,151,42,.1) 0%,transparent 60%);pointer-events:none;}
.search-hero-form{max-width:100%;margin:0 0 4px;position:relative;z-index:1;}
.search-hero-card .search-options-row{position:relative;z-index:1;}
.search-options-row{display:flex;align-items:center;gap:20px;margin-top:14px;flex-wrap:wrap;}
.search-inv-toggle{display:flex;align-items:center;gap:7px;font-size:.8rem;color:rgba(255,255,255,.6);cursor:pointer;user-select:none;}
.search-inv-toggle input[type="checkbox"]{accent-color:var(--gold);width:15px;height:15px;cursor:pointer;}
.search-result-meta{font-size:.75rem;color:rgba(255,255,255,.4);letter-spacing:.04em;}
.search-empty-state{text-align:center;padding:80px 24px;}
.search-empty-icon{font-size:3rem;margin-bottom:20px;}
.search-empty-state h2{font-family:var(--font-display);font-size:1.8rem;font-weight:400;color:var(--black);margin-bottom:12px;}
.search-empty-state p{font-size:.9rem;color:var(--grey-4);max-width:480px;margin:0 auto 16px;}
.search-empty-state code{font-size:.82rem;background:var(--grey-2);padding:2px 7px;border-radius:3px;color:var(--grey-6);}
.search-tips{display:flex;align-items:center;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:20px;}
.search-tip-label{font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--grey-4);}
.search-tip-link{font-size:.8rem;color:var(--gold-dim);background:rgba(184,151,42,.08);border:1px solid rgba(184,151,42,.25);padding:5px 13px;border-radius:20px;text-decoration:none;transition:border-color var(--transition),color var(--transition);}
.search-tip-link:hover{border-color:var(--gold);color:var(--gold);}
.search-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px;}
.sr-card{background:var(--grey-0);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;position:relative;transition:transform var(--transition),box-shadow var(--transition);}
.sr-card{cursor:pointer;}
/* Stretched link — a result opens its single view (in-stock → /shop, else → /card reference); button stays clickable above */
.sr-card-link{position:absolute;inset:0;z-index:1;}
.sr-card:hover{transform:translateY(-2px);}
.sr-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:6px 0 0 6px;background:var(--grey-3);}
.sr-card.mythic::before{background:var(--mythic);}
.sr-card.rare::before{background:var(--rare);}
.sr-card.uncommon::before{background:var(--uncommon);}
.sr-card.common::before{background:var(--common);}
.sr-card.sr-in-inventory{box-shadow:0 0 0 1px rgba(184,151,42,.35);}
.sr-card.sr-in-inventory.mythic:hover{box-shadow:0 6px 20px rgba(196,92,18,.18),0 0 0 1px rgba(184,151,42,.35);}
.sr-card.sr-in-inventory.rare:hover{box-shadow:0 6px 20px rgba(184,151,42,.18),0 0 0 1px rgba(184,151,42,.35);}
.sr-card-img-wrap{position:relative;aspect-ratio:5/7;background:var(--grey-2);overflow:hidden;}
.sr-card-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 300ms ease;}
.sr-card:hover .sr-card-img{transform:scale(1.03);}
.sr-card-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;background:linear-gradient(160deg,var(--grey-2),#e0dedd);}
.sr-inventory-badge{position:absolute;bottom:8px;left:8px;font-size:.58rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:2px;}
.sr-in-stock{background:rgba(0,120,60,.9);color:#fff;}
.sr-sold-out{background:rgba(0,0,0,.65);color:rgba(255,255,255,.6);}
.sr-card-body{padding:12px 14px 14px 16px;flex:1;display:flex;flex-direction:column;gap:5px;}
.sr-card-name{font-family:var(--font-display);font-size:.95rem;font-weight:600;color:var(--black);line-height:1.2;}
.sr-card-meta{font-size:.68rem;color:var(--grey-4);}
.sr-card-prices{display:flex;gap:12px;margin:6px 0 8px;flex-wrap:wrap;}
.sr-our-price,.sr-market-price{display:flex;flex-direction:column;gap:1px;}
.sr-price-label{font-size:.58rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--grey-4);}
.sr-our-price .sr-price-value{font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--black);}
.sr-market-price .sr-price-value{font-size:.82rem;color:var(--grey-5);}
.sr-add-btn{width:100%;padding:7px 10px;font-size:.68rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;background:var(--grey-1);border:1px solid var(--grey-2);border-radius:var(--radius);cursor:pointer;color:var(--grey-5);transition:background var(--transition),border-color var(--transition),color var(--transition);font-family:var(--font-body);margin-top:auto;position:relative;z-index:2;}
.sr-add-btn:hover{background:var(--gold);border-color:var(--gold);color:var(--black);}
.sr-sold-out-label{font-size:.68rem;color:var(--grey-4);letter-spacing:.06em;text-transform:uppercase;margin-top:auto;padding:4px 0;}
.sr-na-label{font-size:.68rem;color:var(--grey-4);letter-spacing:.05em;margin-top:auto;padding:4px 0;}
.sr-scryfall-link{font-size:.68rem;color:var(--gold-dim);text-decoration:none;letter-spacing:.05em;margin-top:auto;padding:4px 0;transition:color var(--transition);}
.sr-scryfall-link:hover{color:var(--gold);}
.search-load-more{text-align:center;padding:36px 0 12px;}
.search-load-more-note{font-size:.8rem;color:var(--grey-4);margin-bottom:16px;}
@media(max-width:640px){
  .search-results-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px;}
  /* singles browse list: 2-up on phones so a long list isn't one giant card per row */
  .card-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px;}
}

/* ─── SUPERUSER COMMAND CENTER ──────────────────────────── */
/* Header */
.su-command-header{background:var(--grey-7);padding:40px 0 36px;position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.06);}
.su-command-header::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 55% 120% at 90% 50%,rgba(184,151,42,.08) 0%,transparent 65%);pointer-events:none;}
.su-command-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;flex-wrap:wrap;position:relative;z-index:1;}
.su-command-eyebrow{font-size:.62rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-lt);opacity:.7;margin-bottom:10px;}
.su-command-title{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);font-weight:300;color:var(--grey-0);line-height:1.1;margin-bottom:14px;}
.su-command-title em{font-style:italic;color:var(--gold-lt);}
.su-wallet-row{display:flex;align-items:center;gap:10px;}
.su-wallet-label{font-size:.62rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.35);}
.su-wallet-addr{font-size:.78rem;font-family:monospace;background:rgba(255,255,255,.07);padding:3px 10px;border-radius:3px;color:rgba(255,255,255,.65);word-break:break-all;}
.su-command-right{display:flex;flex-direction:column;align-items:flex-end;gap:16px;flex-shrink:0;}
.su-status-grid{display:flex;gap:20px;flex-wrap:wrap;}
.su-status-item{display:flex;align-items:center;gap:7px;font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;}
.su-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.su-status-ok .su-status-dot{background:#2dcc70;box-shadow:0 0 6px rgba(45,204,112,.5);}
.su-status-err .su-status-dot{background:#e74c3c;box-shadow:0 0 6px rgba(231,76,60,.5);}
.su-status-ok .su-status-label{color:rgba(255,255,255,.5);}
.su-status-err .su-status-label{color:rgba(231,76,60,.7);}
.su-disconnect-btn{font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:8px 18px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.15);background:none;color:rgba(255,255,255,.35);cursor:pointer;font-family:var(--font-body);transition:border-color var(--transition),color var(--transition);}
.su-disconnect-btn:hover{border-color:#e74c3c;color:#e74c3c;}

/* Body */
.su-body{padding-top:36px;padding-bottom:72px;}
.su-alert{padding:12px 16px;border-radius:var(--radius);margin-bottom:24px;font-size:.85rem;}
.su-alert-error{background:#fce8e8;border:1px solid #f5c6cb;color:#721c24;}

/* Stats */
.su-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px;}
.su-stat-card{background:var(--grey-0);border-radius:6px;padding:20px 22px;border-top:3px solid var(--grey-2);}
.su-stat-card.su-stat-green{border-top-color:#2d9a6a;}
.su-stat-card.su-stat-red{border-top-color:#c0392b;}
.su-stat-card.su-stat-gold{border-top-color:var(--gold);}
.su-stat-label{font-size:.62rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-4);margin-bottom:6px;}
.su-stat-value{font-family:var(--font-display);font-size:2rem;font-weight:600;color:var(--black);line-height:1;margin-bottom:4px;}
.su-stat-sub{font-size:.68rem;color:var(--grey-4);}

/* Action cards */
.su-action-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px;}
.su-action-card{background:var(--grey-0);border:1px solid var(--grey-2);border-radius:6px;padding:20px 20px 18px;display:flex;flex-direction:column;gap:12px;text-decoration:none;color:inherit;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition);position:relative;}
.su-action-card:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 4px 16px rgba(184,151,42,.1);}
.su-action-card-primary{border-color:rgba(184,151,42,.3);background:linear-gradient(135deg,var(--grey-0),rgba(184,151,42,.04));}
.su-action-card-primary:hover{border-color:var(--gold);box-shadow:0 4px 20px rgba(184,151,42,.15);}
.su-action-icon{width:40px;height:40px;border-radius:6px;background:var(--grey-1);display:flex;align-items:center;justify-content:center;color:var(--grey-5);flex-shrink:0;transition:background var(--transition),color var(--transition);}
.su-action-card:hover .su-action-icon{background:rgba(184,151,42,.1);color:var(--gold);}
.su-action-card-primary .su-action-icon{background:rgba(184,151,42,.08);color:var(--gold-dim);}
.su-action-text{flex:1;}
.su-action-title{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--black);margin-bottom:3px;}
.su-action-desc{font-size:.75rem;color:var(--grey-4);line-height:1.4;}
.su-action-arrow{color:var(--grey-3);flex-shrink:0;margin-top:auto;align-self:flex-end;transition:color var(--transition),transform var(--transition);}
.su-action-card:hover .su-action-arrow{color:var(--gold);transform:translateX(3px);}

/* Lower two-column grid */
.su-lower-grid{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start;}
.su-inventory-section{}

/* Section container */
.su-section{background:var(--grey-0);border-radius:6px;overflow:hidden;}
.su-section-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--grey-2);}
.su-section-title{font-family:var(--font-display);font-size:1.2rem;font-weight:400;color:var(--black);}
.su-table-search{padding:7px 12px;border:1px solid var(--grey-2);border-radius:var(--radius);font-size:.8rem;font-family:var(--font-body);color:var(--grey-6);background:var(--grey-1);}
.su-table-search:focus{outline:none;border-color:var(--gold);}

/* Table */
.su-table-wrap{overflow-x:auto;}
.su-table{width:100%;border-collapse:collapse;font-size:.8rem;}
.su-table th{padding:9px 14px;text-align:left;font-size:.6rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-4);background:var(--grey-1);border-bottom:1px solid var(--grey-2);}
.su-table-row td{padding:9px 14px;border-bottom:1px solid var(--grey-2);vertical-align:middle;}
.su-table-row:last-child td{border-bottom:none;}
.su-table-row:hover{background:var(--grey-1);}
.su-td-id{color:var(--grey-4);font-size:.72rem;width:36px;}
.su-td-name{display:flex;align-items:center;gap:8px;}
.su-rarity-dot{width:7px;height:7px;border-radius:50%;background:var(--grey-3);flex-shrink:0;}
.su-rarity-dot.su-rarity-mythic{background:var(--mythic);}
.su-rarity-dot.su-rarity-rare{background:var(--rare);}
.su-rarity-dot.su-rarity-uncommon{background:var(--uncommon);}
.su-item-link{color:var(--black);text-decoration:none;font-weight:500;}
.su-item-link:hover{color:var(--gold);}
.su-td-meta{color:var(--grey-5);}
.su-td-num{text-align:right;font-weight:500;}
.su-td-zero{color:var(--grey-4);}
.su-td-price{text-align:right;font-family:var(--font-display);font-weight:600;color:var(--black);}
.su-td-actions{text-align:right;}
.su-edit-link{font-size:.68rem;color:var(--gold-dim);text-decoration:none;letter-spacing:.05em;transition:color var(--transition);}
.su-edit-link:hover{color:var(--gold);}

/* Sidebar: news items */
.su-news-item{padding:12px 20px;border-bottom:1px solid var(--grey-2);display:flex;flex-direction:column;gap:3px;}
.su-news-item:last-child{border-bottom:none;}
.su-news-title{font-size:.82rem;font-weight:500;color:var(--black);line-height:1.3;}
.su-news-meta{font-size:.68rem;color:var(--grey-4);}

/* Sidebar: banner items */
.su-banner-item{padding:12px 20px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center;gap:8px;}
.su-banner-item:last-child{border-bottom:none;}
.su-banner-item-title{font-size:.8rem;font-weight:500;color:rgba(255,255,255,.8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.su-banner-item-meta{font-size:.62rem;color:rgba(255,255,255,.35);flex-shrink:0;}

/* Responsive */
@media(max-width:1100px){.su-action-cards{grid-template-columns:repeat(2,1fr);}}
@media(max-width:900px){
  .su-stats-grid{grid-template-columns:repeat(2,1fr);}
  .su-lower-grid{grid-template-columns:1fr;}
  .su-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
}
@media(max-width:600px){
  .su-stats-grid{grid-template-columns:repeat(2,1fr);}
  .su-action-cards{grid-template-columns:1fr 1fr;}
  .su-command-inner{flex-direction:column;}
  .su-command-right{align-items:flex-start;}
  .su-sidebar{grid-template-columns:1fr;}
  .su-th-hide-sm,.su-td-hide-sm{display:none;}
}

/* ─── NEWS / ARTICLES PAGE ──────────────────────────────── */
.news-section-heading{font-family:var(--font-display);font-size:1.15rem;font-weight:600;color:var(--grey-4);letter-spacing:.06em;text-transform:uppercase;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid var(--grey-1);}
.news-grid{display:flex;flex-direction:column;gap:20px;max-width:800px;}
.news-grid-wide{max-width:100%;}
.news-card{background:var(--grey-0);border-radius:6px;overflow:hidden;border-left:4px solid var(--grey-2);transition:box-shadow var(--transition),border-left-color var(--transition);color:inherit;}
.news-card.announcement{border-left-color:var(--gold);}
.news-card.update{border-left-color:var(--uncommon);}
.news-card.protocol{border-left-color:var(--mythic);}
.news-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.14);border-left-color:var(--gold);}
.news-card-inner{padding:24px 28px;}
.news-card-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.news-category-pill{font-size:.62rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:3px 10px;border-radius:20px;background:var(--grey-1);color:var(--grey-5);}
.news-card.announcement .news-category-pill{background:rgba(184,151,42,.12);color:var(--gold-dim);}
.news-date{font-size:.72rem;color:var(--grey-4);}
.news-card-title{font-family:var(--font-display);font-size:1.4rem;font-weight:600;color:var(--black);line-height:1.2;margin-bottom:10px;}
.news-card-body{font-size:.88rem;color:var(--grey-5);line-height:1.7;margin-bottom:16px;}
.news-card-footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.news-author{font-size:.75rem;color:var(--grey-4);font-style:italic;flex:1;}
.news-chain-badge{font-size:.6rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:20px;background:rgba(184,151,42,.1);border:1px solid rgba(184,151,42,.3);color:var(--gold-dim);}
.news-read-more{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dim);margin-left:auto;opacity:.5;transition:opacity var(--transition);}
.news-card:hover .news-read-more{opacity:1;}

/* ─── FULL-SCREEN HERO (landing page) ───────────────────── */
/* 68px nav + 38px launch strip = 106px offset for full-viewport hero */
.hero-fullscreen{background:var(--grey-7);min-height:calc(100vh - 106px);display:flex;flex-direction:column;position:relative;overflow:hidden;}
.hero-promo-slot{position:relative;z-index:2;flex-shrink:0;}
.hero-promo-slot .cs-banner{border-radius:0;}
.hero-fullscreen::before{content:'H';position:absolute;right:-40px;bottom:-60px;font-family:var(--font-display);font-size:40rem;font-weight:600;color:rgba(255,255,255,.018);line-height:1;pointer-events:none;user-select:none;}
.hero-fullscreen::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 60% 40%,rgba(184,151,42,.08) 0%,transparent 65%),radial-gradient(ellipse 40% 50% at 20% 70%,rgba(196,92,18,.05) 0%,transparent 60%);pointer-events:none;}

/* Centered search area */
.hero-center{flex:1;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;padding:40px 0 60px;}
.hero-center-inner{max-width:680px;width:100%;}
.hero-eyebrow{font-size:.68rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:14px;}
.hero-title{font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3.6rem);font-weight:300;line-height:1.1;color:var(--grey-0);margin-bottom:16px;}
.hero-title em{font-style:italic;color:var(--gold-lt);}
.hero-subtitle{font-size:1.02rem;font-weight:300;line-height:1.5;color:var(--grey-3);max-width:540px;margin:0 0 30px;}
.hero-subtitle strong{font-weight:500;color:var(--gold-lt);}

/* Override page-header hero-search for fullscreen hero */
.hero-fullscreen .hero-search-row{max-width:100%;margin:0 0 28px;}
.hero-fullscreen .rarity-legend{margin-top:0;}

@media(max-width:768px){
  .hero-fullscreen{min-height:calc(100vh - 68px);}
  .hero-center{padding:24px 0 40px;align-items:flex-start;padding-top:48px;}
  .hero-title{font-size:clamp(1.9rem,7vw,2.6rem);}
}
@media(max-width:480px){
  /* Rarity label onto its own line so the 4 pips stay grouped (no orphaned Mythic) */
  .rarity-legend{gap:10px 12px;}
  .rarity-legend-label{flex-basis:100%;}
}

/* ─── ARTICLE BANNERS (landing page below hero) ─────────── */
.article-banner-eyebrow{font-size:.68rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--grey-4);margin-bottom:16px;}
.banner-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:56px;}
.article-banner{display:grid;grid-template-columns:280px 1fr;min-height:180px;border-radius:8px;overflow:hidden;background:var(--grey-0);text-decoration:none;color:inherit;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition);position:relative;}
.article-banner:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.1);}
.banner-img{background:var(--grey-2);background-size:cover;background-position:center;position:relative;flex-shrink:0;}
.banner-img-gradient{background:linear-gradient(135deg,var(--grey-6),var(--grey-7));}
.banner-cat-announcement-img{background:linear-gradient(135deg,#3b1f5e 0%,#b8972a 100%);}
.banner-cat-update-img{background:linear-gradient(135deg,#1a3a4a 0%,#2d8aaa 100%);}
.banner-cat-protocol-img{background:linear-gradient(135deg,#1a0a0a 0%,#c45c12 100%);}
.banner-img-coming-soon{background:linear-gradient(135deg,var(--grey-7) 0%,var(--grey-6) 60%),repeating-linear-gradient(45deg,rgba(255,255,255,.02) 0,rgba(255,255,255,.02) 1px,transparent 0,transparent 50%);background-size:auto,20px 20px;}
.banner-body{padding:24px 28px;display:flex;flex-direction:column;justify-content:center;gap:8px;}
.banner-meta-row{display:flex;align-items:center;gap:10px;margin-bottom:4px;}
.banner-cat-pill{font-size:.6rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:3px 10px;border-radius:20px;background:rgba(184,151,42,.1);color:var(--gold-dim);}
.banner-date{font-size:.7rem;color:var(--grey-4);}
.banner-title{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--black);line-height:1.2;}
.banner-excerpt{font-size:.85rem;color:var(--grey-5);line-height:1.6;max-width:480px;}
.banner-cta{font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dim);margin-top:4px;transition:color var(--transition);}
.article-banner:hover .banner-cta{color:var(--gold);}
.banner-coming-soon .banner-title{color:var(--grey-4);}
.banner-coming-soon .banner-excerpt{color:var(--grey-4);}
@media(max-width:720px){
  .article-banner{grid-template-columns:1fr;min-height:auto;}
  .banner-img{height:140px;width:100%;}
  .banner-body{padding:18px 20px;}
}

/* ─── FEATURED CARDS — RESPONSIVE SIZING ────────────────── */
/* 4 picks: only ever 4-up (desktop & half-screen) or 2-up (tablet/mobile).
   Both divide 4 evenly — never a 3+1 orphan row, no horizontal scroll. */
.featured-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(10px,1.5vw,18px);}
@media(min-width:900px){.featured-grid{grid-template-columns:repeat(4,1fr);}}
.featured-card{aspect-ratio:5/7;}
/* below 4-col the cards go 2-up and wider → flatten so they don't loom */
@media(max-width:899px){.featured-card{aspect-ratio:3/4;}}

/* ─── SPONSOR CAROUSEL ───────────────────────────────────── */
.carousel-wrap{position:relative;border-radius:10px;overflow:hidden;margin-bottom:56px;box-shadow:0 4px 24px rgba(0,0,0,.15);}
.carousel-track{position:relative;width:100%;}
.carousel-slide{display:none;padding:52px 60px;position:relative;overflow:hidden;min-height:220px;align-items:center;justify-content:center;}
.carousel-slide.active{display:flex;}
.carousel-slide::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 80% 50%,rgba(255,255,255,.06) 0%,transparent 65%);pointer-events:none;}
.carousel-slide-inner{text-align:center;position:relative;z-index:1;max-width:720px;width:100%;}
.carousel-eyebrow{font-size:.65rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;opacity:.6;margin-bottom:10px;}
.carousel-headline{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.2rem);font-weight:400;line-height:1.15;margin-bottom:10px;}
.carousel-sub{font-size:.88rem;opacity:.72;line-height:1.65;max-width:560px;margin:0 auto 20px;font-weight:300;}
.carousel-cta{display:inline-block;font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:11px 28px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.4);color:inherit;text-decoration:none;transition:background var(--transition),border-color var(--transition);}
.carousel-cta:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.7);}
.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.25);border:none;color:rgba(255,255,255,.7);font-size:1.8rem;width:40px;height:40px;border-radius:50%;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:background var(--transition);line-height:1;padding-bottom:2px;}
.carousel-arrow:hover{background:rgba(0,0,0,.5);color:#fff;}
.carousel-prev{left:14px;}
.carousel-next{right:14px;}
.carousel-dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:7px;z-index:10;}
.carousel-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);border:none;cursor:pointer;padding:0;transition:background var(--transition),transform var(--transition);}
.carousel-dot.active{background:rgba(255,255,255,.85);transform:scale(1.2);}
@media(max-width:720px){
  .carousel-slide{padding:36px 28px;min-height:180px;}
  .carousel-arrow{display:none;}
}
@media(max-width:480px){
  .carousel-headline{font-size:1.3rem;}
  .carousel-sub{font-size:.82rem;}
}

/* ─── AUTH PAGES ─────────────────────────────────────────── */
.auth-page{min-height:calc(100vh - 180px);display:flex;align-items:center;justify-content:center;padding:48px 16px 72px;}
/* Branded frame — matches /account: gold top edge + dark header band + light body */
.auth-card{background:#ececec;border:1px solid #d8d8d8;border-top:3px solid var(--gold);border-radius:12px;width:100%;max-width:440px;overflow:hidden;box-shadow:0 6px 28px rgba(13,12,11,.10);}
/* Dark HQS header band (black + gold) */
.auth-header{background:#1a1917;padding:30px 28px;position:relative;overflow:hidden;}
.auth-header::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 90% at 88% 25%,rgba(184,151,42,.16),transparent 62%);pointer-events:none;}
.auth-eyebrow{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-lt);margin-bottom:9px;position:relative;z-index:1;}
.auth-title{font-family:var(--font-display);font-size:clamp(1.6rem,4vw,2.1rem);font-weight:300;color:var(--grey-0);margin:0;line-height:1.1;position:relative;z-index:1;}
.auth-sub{font-size:.8rem;color:var(--grey-3);line-height:1.5;margin-top:6px;position:relative;z-index:1;}
/* Light body */
.auth-body{padding:26px 24px 22px;}
.auth-form{margin-bottom:0;}
.auth-field{margin-bottom:18px;}
.auth-label{display:block;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--grey-4);margin-bottom:7px;font-weight:600;}
.auth-label-hint{font-size:.7rem;letter-spacing:.04em;text-transform:none;font-weight:400;opacity:.7;}
.auth-input{width:100%;background:#fff;border:1px solid #cfcfcf;color:var(--black);padding:12px 14px;border-radius:6px;font-family:var(--font-body);font-size:.95rem;outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box;color-scheme:light;}
.auth-input::placeholder{color:#9e9b98;}
.auth-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,151,42,.15);}
.auth-btn{display:block;width:100%;background:var(--gold);color:#0d0b06;border:none;padding:13px;border-radius:6px;font-family:var(--font-body);font-size:.82rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .2s;margin-top:4px;}
.auth-btn:hover{background:#d4a82e;}
.auth-btn-wallet{background:transparent;color:#7a6118;border:1px solid #cdbf8e;margin-top:0;}
.auth-btn-wallet:hover{background:rgba(184,151,42,.08);border-color:var(--gold);color:var(--gold);}
.auth-divider{text-align:center;color:var(--grey-4);margin:20px 0;font-size:.75rem;letter-spacing:.1em;position:relative;}
.auth-divider::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:#d8d8d8;}
.auth-divider span{background:#ececec;padding:0 12px;position:relative;}
.auth-footer{text-align:center;margin-top:20px;font-size:.82rem;color:var(--grey-5);}
.auth-footer a{color:#7a6118;text-decoration:none;font-weight:500;}
.auth-footer a:hover{color:var(--gold);}
.auth-notice{border-radius:6px;padding:11px 14px;font-size:.83rem;line-height:1.5;margin-bottom:18px;}
.auth-notice-success{background:rgba(10,122,60,.10);border:1px solid rgba(10,122,60,.30);color:#0a7a3c;}
.auth-notice-error{background:rgba(180,30,30,.08);border:1px solid rgba(180,30,30,.28);color:#b41e1e;}
.auth-notice-info{background:rgba(184,151,42,.10);border:1px solid rgba(184,151,42,.32);color:#7a6118;}
.auth-wallet-note{font-size:.76rem;color:var(--grey-5);line-height:1.6;padding:12px 14px;border:1px solid #d8d8d8;border-radius:6px;margin-top:18px;background:#e7e7e7;}

/* ── Identity button (signed-in name → opens drawer) ─────── */
/* Identity button — extends nav-wallet-btn/nav-wallet-connected, adds hamburger bars */
.nav-identity-btn{display:flex;align-items:center;gap:10px;}
.nav-identity-bars{display:flex;flex-direction:column;gap:4px;opacity:.75;}
.nav-identity-bars span{display:block;width:13px;height:1.5px;background:currentColor;border-radius:1px;}
.nav-hamburger-hidden-desktop{display:none!important;}
/* Small-screen nav fit — reclaim the width the brand icon added so the row doesn't spill */
@media(max-width:480px){
  .nav-inner{gap:12px;}
  .nav-logo{font-size:1.3rem;gap:7px;}
  .nav-logo-icon{height:26px;width:26px;}
  .nav-logo-img{height:50px;}
  .nav-actions{gap:12px;}
}

/* ── Drawer identity card ─────────────────────────────────── */
.drawer-id-card{
  display:flex;align-items:center;gap:12px;
  margin:0 16px 0;padding:14px 16px;
  background:rgba(184,151,42,.1);border:1px solid rgba(184,151,42,.3);
  border-radius:8px;
}
.drawer-id-avatar{
  width:38px;height:38px;border-radius:50%;
  background:rgba(184,151,42,.25);border:1px solid rgba(184,151,42,.5);
  display:flex;align-items:center;justify-content:center;
  font-size:.95rem;font-weight:700;color:var(--gold-lt);flex-shrink:0;
}
.drawer-id-name{font-size:.88rem;font-weight:600;color:var(--gold-lt);letter-spacing:.04em;}
.drawer-id-role{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-top:2px;}
.drawer-account-btns{display:flex;gap:8px;padding:12px 16px 4px;}
.drawer-action-btn{
  flex:1;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  border-radius:6px;padding:10px 8px;font-size:.78rem;font-weight:600;
  letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.75);
  cursor:pointer;font-family:inherit;transition:all var(--transition);
}
.drawer-action-btn:hover{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.2);}
.drawer-action-btn.superuser{color:var(--gold-lt);border-color:rgba(184,151,42,.3);background:rgba(184,151,42,.08);}
.drawer-action-btn.superuser:hover{background:rgba(184,151,42,.15);border-color:rgba(184,151,42,.5);}
.drawer-action-btn.staff{color:#7aab8a;border-color:rgba(122,171,138,.3);background:rgba(122,171,138,.06);}
.drawer-action-btn.staff:hover{background:rgba(122,171,138,.12);border-color:rgba(122,171,138,.5);}
.mobile-nav-divider{height:1px;background:rgba(255,255,255,.07);margin:8px 16px;}
.mobile-nav-signout{
  width:100%;text-align:left;background:none;border:none;
  padding:10px 20px;font-size:.8rem;color:rgba(255,255,255,.3);
  cursor:pointer;letter-spacing:.06em;text-transform:uppercase;font-family:inherit;
  transition:color var(--transition);
}
.mobile-nav-signout:hover{color:#e57373;}

/* ── Search unlock button ─────────────────────────────────── */
.search-unlock-btn{
  font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:5px 16px;border-radius:99px;cursor:pointer;
  background:rgba(184,151,42,.15);border:1px solid rgba(184,151,42,.45);
  color:var(--gold-lt);transition:all var(--transition);font-family:inherit;
}
.search-unlock-btn:hover{background:rgba(184,151,42,.28);border-color:var(--gold-lt);}
.search-unlock-inventory{
  background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.15);
  color:rgba(255,255,255,.5);
}
.search-unlock-inventory:hover{background:rgba(255,255,255,.1);color:rgba(255,255,255,.8);}

@media(max-width:960px){
  /* signed-in: collapse the name button into the drawer, show its hamburger instead */
  .nav-identity-btn{display:none!important;}
  .nav-hamburger-hidden-desktop{display:flex!important;}
  /* wallet icon was overspilling the bar on mobile — it lives inside the drawer here */
  .nav-wallet-icon{display:none!important;}
}
@media(max-width:900px){
  .drawer-id-card{margin:0 12px;}
  .drawer-account-btns{padding:10px 12px 4px;}
  .mobile-nav-divider{margin:8px 12px;}
}

/* ── Modernized search bar (scoped to /singles + /search card only;
      home hero is intentionally left untouched) ─────────────────── */
.search-hero-card{
  border-radius:18px;
  box-shadow:0 12px 48px rgba(0,0,0,.34);
}
/* Pill-shaped row, soft border, depth, focus glow */
.search-hero-card .hero-search-row{
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.05);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.18);
  padding:5px 5px 5px 0;
  transition:border-color var(--transition),box-shadow var(--transition),background var(--transition);
}
.search-hero-card .hero-search-row:focus-within{
  border-color:rgba(212,178,74,.55);
  background:rgba(255,255,255,.07);
  box-shadow:0 0 0 3px rgba(184,151,42,.14),inset 0 1px 2px rgba(0,0,0,.18);
}
/* Search icon via CSS background — no markup added */
.search-hero-card .hero-search-input{
  min-width:0; /* allow the flex input to shrink so the button isn't clipped on phones */
  padding:14px 18px 14px 48px;
  font-size:.95rem;
  background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' fill='none' stroke='%23ffffff' stroke-opacity='0.42' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='7.5' cy='7.5' r='5.5'/%3E%3Cpath d='M16 16l-4-4'/%3E%3C/svg%3E") no-repeat 19px center;
}
.search-hero-card .hero-search-input:focus{background-color:transparent;}
/* Clear ✕ inside the pill — only visible while the bar has text */
.search-hero-card .hero-search-clear{
  display:none;flex-shrink:0;align-self:center;width:26px;height:26px;margin-right:8px;
  align-items:center;justify-content:center;border:none;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.1);color:rgba(255,255,255,.55);
  font-size:.7rem;line-height:1;font-family:inherit;padding:0;
  transition:background var(--transition),color var(--transition);
}
.search-hero-card .hero-search-clear.show{display:flex;}
.search-hero-card .hero-search-clear:hover{background:rgba(255,255,255,.2);color:#fff;}
/* Gold action button as a nested pill with depth + hover lift */
.search-hero-card .hero-search-btn{
  border-radius:999px;
  padding:12px 26px;
  letter-spacing:.06em;
  box-shadow:0 2px 8px rgba(184,151,42,.32);
  transition:background var(--transition),transform var(--transition),box-shadow var(--transition);
}
.search-hero-card .hero-search-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(184,151,42,.42);
}
.search-hero-card .hero-search-btn:active{transform:translateY(0);}

/* ── Search options: shrink + flank the two small buttons ─────── */
.search-hero-card .search-options-row{justify-content:space-between;}
.search-hero-card .search-options-row .search-unlock-btn{
  font-size:.66rem;padding:6px 14px;letter-spacing:.08em;
}
.adv-search-btn{
  display:inline-flex;align-items:center;gap:6px;
  font-family:inherit;font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:6px 14px;border-radius:99px;cursor:pointer;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.7);
  transition:all var(--transition);
}
.adv-search-btn:hover{background:rgba(255,255,255,.1);color:var(--grey-0);}
.adv-search-btn.open{background:rgba(184,151,42,.15);border-color:rgba(184,151,42,.5);color:var(--gold-lt);}
.adv-search-btn svg{transition:transform var(--transition);}
.adv-search-btn.open svg{transform:rotate(90deg);}

/* ── Advanced search drawer (slides down, attached to the card) ── */
.adv-drawer{
  max-height:0;overflow:hidden;opacity:0;position:relative;z-index:1;
  transition:max-height .38s ease,opacity .28s ease,margin-top .38s ease;
}
.adv-drawer.open{max-height:640px;opacity:1;margin-top:16px;}
.adv-drawer-inner{
  border-top:1px solid rgba(255,255,255,.1);padding-top:18px;
}
.adv-drawer-hint{font-size:.78rem;color:rgba(255,255,255,.45);margin-bottom:16px;}
.adv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;}
.adv-field{display:flex;flex-direction:column;gap:6px;}
.adv-field-wide{grid-column:1 / -1;}
.adv-field-label{font-size:.64rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.42);}
.adv-input{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:8px;
  padding:9px 12px;color:var(--grey-0);font-size:.85rem;font-family:var(--font-body);
  outline:none;transition:border-color var(--transition),box-shadow var(--transition);width:100%;
}
.adv-input::placeholder{color:rgba(255,255,255,.28);}
.adv-input:focus{border-color:rgba(212,178,74,.55);box-shadow:0 0 0 3px rgba(184,151,42,.1);}
.adv-select{cursor:pointer;appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='none' stroke='%23ffffff' stroke-opacity='0.4' stroke-width='2'%3E%3Cpath d='M2 3l3 3 3-3'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;padding-right:30px;}
.adv-select option{background:var(--grey-7);color:var(--grey-0);}
/* Color chips */
.adv-colors{display:flex;gap:7px;flex-wrap:wrap;}
.adv-color{position:relative;cursor:pointer;user-select:none;}
.adv-color input{position:absolute;opacity:0;width:0;height:0;}
.adv-color span{
  display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;
  font-size:.72rem;font-weight:700;font-family:var(--font-body);
  background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.16);color:rgba(255,255,255,.6);
  transition:all var(--transition);
}
.adv-color input:checked + span{box-shadow:0 0 0 2px var(--grey-7),0 0 0 4px currentColor;}
.adv-color-w input:checked + span{background:#f7f3e2;border-color:#e8dcae;color:#b3a35e;}
.adv-color-u input:checked + span{background:#1b6ca8;border-color:#3a8fce;color:#cfe7f7;}
.adv-color-b input:checked + span{background:#3b3a45;border-color:#5a5868;color:#cbc9d6;}
.adv-color-r input:checked + span{background:#a8321f;border-color:#cf4d35;color:#f7d6cf;}
.adv-color-g input:checked + span{background:#1f7a4d;border-color:#35a06b;color:#cff7e2;}
.adv-mv{display:flex;gap:8px;}
.adv-mv .adv-select{max-width:62px;flex-shrink:0;}
/* Actions row */
.adv-drawer-actions{display:flex;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap;}
.adv-preview{
  flex:1;min-width:160px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem;
  color:var(--gold-lt);background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.08);
  padding:8px 12px;border-radius:6px;overflow-x:auto;white-space:nowrap;
}
.adv-preview-empty{color:rgba(255,255,255,.3);}
.adv-clear{
  font-family:inherit;font-size:.74rem;cursor:pointer;padding:8px 16px;border-radius:99px;
  background:transparent;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.55);
  transition:all var(--transition);
}
.adv-clear:hover{border-color:rgba(255,255,255,.4);color:rgba(255,255,255,.85);}
.adv-go{
  font-family:inherit;font-size:.74rem;font-weight:600;letter-spacing:.04em;cursor:pointer;
  padding:9px 20px;border-radius:99px;background:var(--gold);border:none;color:var(--black);
  box-shadow:0 2px 8px rgba(184,151,42,.3);transition:background var(--transition),transform var(--transition);
}
.adv-go:hover{background:var(--gold-lt);transform:translateY(-1px);}
.adv-go:active{transform:translateY(0);}
@media(max-width:560px){
  .adv-preview{order:3;flex-basis:100%;}
  /* tighter card + button so the search row fits the viewport without clipping */
  .search-hero-card{padding:24px 16px;}
  .search-hero-card .hero-search-input{padding:13px 12px 13px 40px;background-position:15px center;font-size:.9rem;}
  .search-hero-card .hero-search-btn{padding:12px 18px;}
}

/* ── Singles count + pagination ───────────────────────────────── */
.catalog-count-row{
  font-size:.8rem;color:var(--grey-5);letter-spacing:.03em;margin-bottom:16px;
}
.pagination{
  display:flex;align-items:center;justify-content:center;gap:18px;
  margin:36px 0 8px;
}
.page-btn{
  font-family:var(--font-body);font-size:.78rem;font-weight:600;letter-spacing:.03em;
  padding:9px 20px;border-radius:99px;text-decoration:none;cursor:pointer;
  border:1px solid var(--grey-3);color:var(--grey-6);background:var(--grey-0);
  transition:border-color var(--transition),color var(--transition),background var(--transition);
}
.page-btn:hover{border-color:var(--gold);color:var(--gold-dim);background:rgba(184,151,42,.06);}
.page-btn-disabled{opacity:.4;pointer-events:none;cursor:default;}
.page-status{font-size:.78rem;color:var(--grey-5);letter-spacing:.04em;white-space:nowrap;}

/* ── Set index (browse by set) ────────────────────────────────── */
.set-index-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;
}
.set-tile{
  display:flex;flex-direction:column;gap:6px;text-decoration:none;
  padding:18px 20px;border-radius:10px;background:var(--grey-0);
  border:1px solid var(--grey-2);
  transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition);
}
.set-tile:hover{
  border-color:var(--gold);box-shadow:0 4px 16px rgba(0,0,0,.08);transform:translateY(-2px);
}
.set-tile-name{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--black);line-height:1.2;}
.set-tile-count{font-size:.74rem;color:var(--grey-5);letter-spacing:.04em;}

/* ── Active set-filter banner on /singles?set= ────────────────── */
.set-filter-banner{
  display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  padding:11px 18px;margin-bottom:18px;border-radius:99px;
  background:rgba(184,151,42,.08);border:1px solid rgba(184,151,42,.3);
}
.set-filter-label{font-size:.85rem;color:var(--grey-6);}
.set-filter-label strong{color:var(--gold-dim);font-weight:600;}
.set-filter-clear{
  font-size:.74rem;font-weight:600;letter-spacing:.04em;text-decoration:none;
  color:var(--grey-5);padding:4px 12px;border-radius:99px;border:1px solid var(--grey-3);
  transition:all var(--transition);
}
.set-filter-clear:hover{border-color:var(--gold);color:var(--gold-dim);background:var(--grey-0);}

/* ── Singles controls — one Cartouche: dark banner + compact filter body ─ */
.singles-controls{
  margin-bottom:22px;background:#fff;
  border:1px solid #e4e2df;border-top:3px solid var(--gold);border-radius:12px;
  overflow:hidden;box-shadow:0 3px 14px rgba(13,12,11,.06);
}
/* Black-and-gold header band (Cartouche banner) */
.singles-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:10px 14px;flex-wrap:wrap;
  padding:11px 18px;background:#1a1917;position:relative;overflow:hidden;
}
.singles-toolbar::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 55% 90% at 94% 25%,rgba(184,151,42,.16),transparent 60%);pointer-events:none;}
.singles-toolbar .catalog-count-row{position:relative;z-index:1;color:var(--grey-3);font-size:.82rem;letter-spacing:.04em;}
.singles-toolbar .sort-form{position:relative;z-index:1;}
.singles-toolbar .sort-label{color:var(--gold-lt);}
.singles-toolbar .sort-select{
  background-color:#272420;color:#ece9e3;border-color:rgba(212,178,74,.35);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='none' stroke='%23c9b06a' stroke-width='2'%3E%3Cpath d='M2 3l3 3 3-3'/%3E%3C/svg%3E");
}
.singles-toolbar .sort-select:hover,.singles-toolbar .sort-select:focus{border-color:var(--gold-lt);box-shadow:0 0 0 3px rgba(184,151,42,.18);}
.singles-toolbar .catalog-count-row{margin-bottom:0;}
.sort-form{display:flex;align-items:center;gap:9px;margin:0;}
.sort-label{
  font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--grey-4);
}
.sort-select{
  font-family:var(--font-body);font-size:.82rem;color:var(--grey-7);cursor:pointer;
  padding:8px 34px 8px 14px;border:1px solid var(--grey-3);border-radius:99px;background:var(--grey-0);
  appearance:none;-webkit-appearance:none;outline:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='none' stroke='%235c5a57' stroke-width='2'%3E%3Cpath d='M2 3l3 3 3-3'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
  transition:border-color var(--transition),box-shadow var(--transition);
}
.sort-select:hover{border-color:var(--gold);}
.sort-select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,151,42,.12);}

/* ── Facet body — compact inline strip (rarity / finish / color) ─ */
.facet-bar{
  display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:9px 14px;
  padding:11px 18px;background:#fff;
}
/* Mobile-only "Filters ▾" reveal row — hidden on desktop where facets sit inline */
.facet-mobile-toggle{
  display:none;width:100%;align-items:center;justify-content:center;gap:7px;
  padding:10px 14px;background:#fff;border:none;border-bottom:1px solid #f0eee9;
  font-family:var(--font-body);font-size:.7rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--grey-5);cursor:pointer;
}
.facet-mobile-toggle .facet-caret{font-size:.62rem;transition:transform var(--transition);}
.facet-mobile-toggle.open .facet-caret{transform:rotate(180deg);}
.facet-group{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:0;}
.facet-group + .facet-group{border-left:1px solid #e7e4e0;padding-left:16px;}
.facet-group-label{
  font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;
  color:var(--grey-4);margin-right:1px;
}
.facet-chip{
  font-family:var(--font-body);font-size:.73rem;cursor:pointer;
  padding:5px 11px;border-radius:99px;color:var(--grey-6);
  background:linear-gradient(#ffffff,#eceae5);border:1px solid #d2cfca;
  box-shadow:inset 0 1px 0 #fff, 0 1px 2px rgba(13,12,11,.14);
  transition:transform .12s ease,box-shadow .12s ease,border-color .15s ease,background .15s ease,color .15s ease;
}
.facet-chip:hover{
  border-color:var(--grey-4);color:var(--grey-7);
  box-shadow:inset 0 1px 0 #fff, 0 3px 6px rgba(13,12,11,.18);
  transform:translateY(-1px);
}
.facet-chip:active{transform:translateY(1px);box-shadow:inset 0 2px 3px rgba(13,12,11,.20);}
.facet-chip.is-active{
  background:linear-gradient(#f4e7c2,#e7d499);border-color:var(--gold);color:#7a6118;font-weight:600;
  box-shadow:inset 0 2px 3px rgba(122,97,24,.28);
}
/* Color filters as compact swatch chips (dot + label) */
.facet-color{display:inline-flex;align-items:center;gap:6px;}
.facet-color::before{content:'';width:11px;height:11px;border-radius:50%;border:1px solid rgba(0,0,0,.18);flex-shrink:0;}
.facet-color-w::before{background:#efe6c8;}
.facet-color-u::before{background:#5b9bcb;}
.facet-color-b::before{background:#595563;}
.facet-color-r::before{background:#d06a51;}
.facet-color-g::before{background:#4f9d6e;}
.facet-color-c::before{background:#c2bdb2;}
@media(max-width:640px){
  /* Collapsed by default behind the "Filters ▾" row — the open facet stack was
     a huge slab pushing the cards below the fold. Auto-opens when filters are active. */
  .facet-mobile-toggle{display:flex;}
  .facet-bar{display:none;}
  .facet-bar.open{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:10px 14px 14px;}
  .facet-group + .facet-group{border-left:none;padding-left:0;}
  /* Label on its own full-width line ABOVE its chips — otherwise it sits
     inline and the wrapping chips stagger funny beneath it. */
  .facet-group{justify-content:flex-start;}
  .facet-group-label{flex-basis:100%;width:100%;text-align:left;margin:0 0 2px;}
  /* Slimmer dark band: smaller count text + compact sort control */
  .singles-toolbar{padding:9px 14px;}
  .singles-toolbar .catalog-count-row{font-size:.74rem;}
  .singles-toolbar .sort-select{padding:6px 30px 6px 12px;font-size:.78rem;}
  .sort-label{font-size:.64rem;}
}
/* MTG color tints when an active color chip is selected (override gold) */
.facet-color-w.is-active{background:#f6f1de;border-color:#d6c47a;color:#92803a;}
.facet-color-u.is-active{background:#cfe3f0;border-color:#4f93c4;color:#1b6ca8;}
.facet-color-b.is-active{background:#d9d7de;border-color:#676575;color:#3b3a45;}
.facet-color-r.is-active{background:#f3d2c9;border-color:#cd6249;color:#a8321f;}
.facet-color-g.is-active{background:#cee9d7;border-color:#479968;color:#1f7a4d;}
.facet-color-c.is-active{background:var(--grey-2);border-color:var(--grey-4);color:var(--grey-6);}
.facet-clear{
  align-self:flex-start;font-family:var(--font-body);font-size:.72rem;font-weight:600;cursor:pointer;
  padding:5px 13px;border-radius:99px;background:transparent;border:1px solid var(--grey-3);color:var(--grey-5);
  transition:all var(--transition);
}
.facet-clear:hover{border-color:#b5462f;color:#b5462f;}

/* ---- Printings panel (single view): our copies + full print history ---- */
.show-printings{margin-top:34px;border-top:1px solid #d8d8d8;padding-top:26px;}
.show-printings-head{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:600;letter-spacing:.04em;color:#1a1917;margin:0 0 12px;}
.show-printings-list{display:flex;flex-direction:column;gap:6px;margin-bottom:22px;}
.spr-scroll{max-height:340px;overflow-y:auto;padding-right:4px;}
.show-printing-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid #ddd;border-radius:8px;padding:9px 14px;text-decoration:none;color:#333;font-size:.85rem;transition:border-color .18s,box-shadow .18s;}
.show-printing-row:hover{border-color:var(--gold);box-shadow:0 2px 10px rgba(13,12,11,.08);}
.show-printing-row.is-current{border-color:var(--gold);background:#faf6ea;}
.spr-set{font-weight:500;color:#1a1917;flex:1 1 auto;min-width:0;}
.spr-num{color:#888;font-size:.75rem;}
.spr-finish{background:linear-gradient(135deg,#d4b24a,#e8d08a,#b8972a);color:#1a1917;font-size:.6rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:2px 7px;border-radius:2px;}
.spr-cond{color:#666;font-size:.75rem;letter-spacing:.05em;}
.spr-qty{color:#888;font-size:.75rem;}
.spr-price{margin-left:auto;font-weight:600;color:#1a1917;white-space:nowrap;}
.spr-market{font-weight:400;color:#666;font-size:.8rem;}
.spr-market em{font-style:normal;color:#999;margin-left:8px;}
.spr-na .spr-set{color:#555;font-weight:400;}
.spr-here{background:#1a1917;color:var(--gold);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;padding:2px 8px;border-radius:10px;}
@media(max-width:640px){
  .show-printing-row{padding:8px 11px;font-size:.8rem;}
  .spr-cond,.spr-qty{font-size:.7rem;}
}

/* ---- Market price-history chart (single view) ---- */
.show-chart{margin-top:34px;border-top:1px solid #d8d8d8;padding-top:26px;}
.show-chart-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.show-chart-legend{display:flex;gap:16px;font-size:.75rem;color:#666;}
.scl-item{display:inline-flex;align-items:center;gap:6px;}
.scl-item i{width:10px;height:10px;border-radius:2px;display:inline-block;}
.show-chart-scroll{overflow-x:auto;}
.show-chart-stage{position:relative;min-width:520px;background:#fff;border:1px solid #ddd;border-radius:10px;padding:10px 6px 6px;}
.show-chart-svg{display:block;width:100%;height:auto;}
.show-chart-tip{position:absolute;top:10px;pointer-events:none;background:#1a1917;color:#ececec;font-size:.72rem;line-height:1.5;padding:7px 10px;border-radius:6px;box-shadow:0 3px 12px rgba(13,12,11,.25);white-space:nowrap;}
.show-chart-tip i{width:8px;height:8px;border-radius:2px;display:inline-block;margin-right:5px;}
.show-chart-tip b{color:#fff;font-weight:600;}
.pct-day{display:block;color:#b3aea6;letter-spacing:.05em;margin-bottom:2px;}
.show-chart-src{font-size:.68rem;color:#999;letter-spacing:.04em;margin-top:8px;}

/* ── Chart range toggle (3M/6M/1Y) + tile trend chips ─────────────────── */
.show-chart-range{display:inline-flex;gap:4px;}
.scr-btn{font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:3px 10px;border:1px solid var(--grey-3);border-radius:999px;color:var(--grey-5);text-decoration:none;transition:var(--transition);}
.scr-btn:hover{border-color:var(--gold);color:var(--gold-dim);}
.scr-btn.is-active{background:var(--gold);border-color:var(--gold);color:var(--grey-0);}
.sr-trend{display:inline-flex;align-items:center;font-size:.72rem;font-weight:700;letter-spacing:.02em;align-self:center;}
.sr-trend-up{color:#0d4527;}
.sr-trend-down{color:#bb4f43;}

/* ---- Mobile bottom tab bar (app shell) — narrow viewports only ---- */
.mobile-tabbar{display:none;}
@media(max-width:768px){
  .mobile-tabbar{
    display:flex;position:fixed;left:0;right:0;bottom:0;z-index:900;
    background:var(--black);border-top:1px solid var(--grey-7);
    padding-bottom:env(safe-area-inset-bottom,0px);
    box-shadow:0 -2px 14px rgba(0,0,0,.28);
  }
  .tabbar-item{
    flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    padding:8px 2px 6px;min-height:52px;background:none;border:none;cursor:pointer;
    color:var(--grey-4);text-decoration:none;font-family:var(--font-body);
    -webkit-tap-highlight-color:transparent;transition:color var(--transition);
  }
  .tabbar-item svg{width:23px;height:23px;display:block;}
  .tabbar-item span:last-child{font-size:.62rem;letter-spacing:.04em;font-weight:500;}
  .tabbar-item.is-active{color:var(--gold-lt);}
  .tabbar-item:active{color:#fff;}
  /* Reserve space so the fixed bar never covers page content or the footer. */
  body{padding-bottom:calc(52px + env(safe-area-inset-bottom,0px));}
  /* When the slide-in menu/backdrop is open, keep the tab bar beneath it. */
  body.nav-open .mobile-tabbar{z-index:40;}
}

/* ==== Mobile polish batch (07-04) ==== */

/* Tap ergonomics: kill 300ms delay + tap-highlight, add a subtle press state. */
a, button, [role="button"], label.co-check, .sr-card, .ship-opt { -webkit-tap-highlight-color: transparent; }
button, a.btn-primary, .btn-primary, .btn-ghost, .sr-add, .quick-add-btn { touch-action: manipulation; }
@media (hover: none) {
  .btn-primary:active, .btn-ghost:active, .sr-add:active, .quick-add-btn:active { transform: translateY(1px); }
}

/* Skeleton shimmer — for async placeholders (checkout payment/address load). */
.skeleton { position: relative; overflow: hidden; background: var(--grey-1); border-radius: 6px; min-height: 46px; }
.skeleton::after { content: ""; position: absolute; inset: 0;
  background: linear-gradient(100deg, transparent 20%, rgba(255,255,255,.75) 50%, transparent 80%);
  transform: translateX(-100%); animation: skel-sweep 1.25s ease-in-out infinite; }
@keyframes skel-sweep { to { transform: translateX(100%); } }
@media (prefers-reduced-motion: reduce) { .skeleton::after { animation: none; } }

/* Toast / snackbar (add-to-cart feedback). */
.hqs-toast { position: fixed; left: 50%; bottom: calc(64px + env(safe-area-inset-bottom, 0px));
  transform: translate(-50%, 16px); background: var(--black); color: #fff; padding: 11px 18px;
  border-radius: 999px; font-family: var(--font-body); font-size: .85rem; z-index: 1000;
  display: flex; align-items: center; gap: 12px; max-width: calc(100vw - 28px);
  box-shadow: 0 6px 24px rgba(0,0,0,.32); opacity: 0; pointer-events: none;
  transition: opacity .24s ease, transform .24s ease; }
.hqs-toast.show { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.hqs-toast a { color: var(--gold-lt); font-weight: 600; text-decoration: none; white-space: nowrap; }

/* Sticky action bars (product Add-to-Cart, checkout Pay) — sit above the tab bar on mobile. */
.sticky-bar { display: none; }
@media (max-width: 768px) {
  .sticky-bar { display: flex; position: fixed; left: 0; right: 0;
    bottom: calc(52px + env(safe-area-inset-bottom, 0px)); z-index: 880;
    background: #fff; border-top: 1px solid var(--grey-2); padding: 10px 16px; gap: 12px;
    align-items: center; box-shadow: 0 -3px 16px rgba(0,0,0,.10); }
  .sticky-bar .sticky-price { font-weight: 700; font-size: 1.1rem; color: var(--black); white-space: nowrap; }
  .sticky-bar .sticky-btn { flex: 1; margin: 0; justify-content: center; }
  body.nav-open .sticky-bar { z-index: 40; }
}

/* Add-to-Home-Screen nudge. */
.a2hs { position: fixed; left: 12px; right: 12px; bottom: calc(64px + env(safe-area-inset-bottom, 0px));
  z-index: 1001; background: var(--black); color: #fff; border-radius: 12px; padding: 12px 14px;
  display: none; align-items: center; gap: 12px; font-family: var(--font-body);
  box-shadow: 0 8px 30px rgba(0,0,0,.35); }
.a2hs.show { display: flex; }
.a2hs img { width: 34px; height: 34px; border-radius: 8px; flex-shrink: 0; }
.a2hs .a2hs-txt { flex: 1; font-size: .82rem; line-height: 1.3; }
.a2hs .a2hs-txt b { color: var(--gold-lt); font-weight: 600; }
.a2hs .a2hs-go { background: var(--gold); color: var(--black); border: none; border-radius: 8px;
  padding: 8px 12px; font-weight: 600; font-size: .8rem; cursor: pointer; white-space: nowrap; }
.a2hs .a2hs-x { background: none; border: none; color: #9e9b98; font-size: 1.3rem; line-height: 1;
  cursor: pointer; padding: 0 2px; }
.a2hs .a2hs-share { vertical-align: -3px; margin: 0 1px; }

/* ==== Medium mobile batch (07-04) ==== */

/* Featured Picks → horizontal snap shelf on phones (swipeable row instead of a cramped grid). */
@media (max-width: 768px) {
  .featured-grid { display: flex; grid-template-columns: none; overflow-x: auto;
    scroll-snap-type: x mandatory; gap: 12px; padding-bottom: 10px;
    -webkit-overflow-scrolling: touch; scroll-padding-left: 16px; scrollbar-width: none; }
  .featured-grid::-webkit-scrollbar { display: none; }
  .featured-grid > .featured-card { flex: 0 0 46%; scroll-snap-align: start; }
}

/* Full-screen search overlay. */
/* Dark, on-brand search overlay (matches the tab bar + the site's premium dark surfaces). */
.search-overlay { position: fixed; inset: 0; z-index: 1100;
  background: radial-gradient(120% 80% at 50% 0%, #1c1810 0%, var(--black) 60%);
  display: flex; flex-direction: column; transform: translateY(8px); opacity: 0;
  visibility: hidden; transition: opacity .2s ease, transform .2s ease, visibility .2s; }
.search-overlay.open { opacity: 1; transform: none; visibility: visible; }
.so-head { border-bottom: 1px solid rgba(212,178,74,.16);
  padding: 12px 16px 14px; padding-top: max(14px, env(safe-area-inset-top, 0px)); }
.so-form { display: flex; align-items: center; gap: 11px; background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08); border-radius: 12px; padding: 4px 6px 4px 13px; }
.so-icon { width: 19px; height: 19px; color: var(--gold-lt); flex-shrink: 0; }
.so-input { flex: 1; border: none; outline: none; font-family: var(--font-body); font-size: 1rem;
  color: #f5f0e8; background: transparent; padding: 9px 0; }
.so-input::placeholder { color: #8a8377; }
.so-cancel { background: none; border: none; color: var(--gold-lt); font-family: var(--font-body);
  font-size: .88rem; font-weight: 500; cursor: pointer; white-space: nowrap; padding: 8px 6px; }
.so-body { flex: 1; overflow-y: auto; padding: 20px 16px; }
.so-section { margin-bottom: 26px; }
.so-section-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.so-section-head span { font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: var(--gold); font-weight: 600; }
.so-clear { background: none; border: none; color: #8a8377; font-size: .8rem; cursor: pointer; }
.so-links { display: flex; flex-direction: column; }
.so-link { display: flex; align-items: center; justify-content: space-between; padding: 14px 4px;
  border-bottom: 1px solid rgba(255,255,255,.07); color: #ece6da; text-decoration: none;
  font-size: 1rem; font-family: var(--font-display); }
.so-link::after { content: "›"; color: var(--gold-dim); font-size: 1.2rem; }
.so-link:active { color: var(--gold-lt); }
.so-recent-chips { display: flex; flex-wrap: wrap; gap: 9px; }
.so-chip { background: rgba(255,255,255,.06); border: 1px solid rgba(212,178,74,.22); border-radius: 999px;
  padding: 9px 15px; font-family: var(--font-body); font-size: .88rem; color: #ece6da;
  cursor: pointer; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.so-chip:active { background: rgba(212,178,74,.18); border-color: var(--gold); color: #fff; }

/* Card quick-view bottom sheet. */
.cs-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 1150;
  opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s; }
.cs-backdrop.open { opacity: 1; visibility: visible; }
.cs-sheet { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1160; background: var(--grey-0);
  border-radius: 16px 16px 0 0; transform: translateY(100%);
  transition: transform .28s cubic-bezier(.4,0,.2,1); max-height: 88vh; overflow-y: auto;
  padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px)); box-shadow: 0 -8px 40px rgba(0,0,0,.3); }
.cs-sheet.open { transform: none; }
.cs-grip { width: 40px; height: 4px; border-radius: 999px; background: var(--grey-3); margin: 10px auto 4px; }
.cs-sheet-body { padding: 8px 18px 18px; }
.cs-sheet-loading { padding: 44px; text-align: center; color: var(--grey-4); font-size: .9rem; }
.cs-sheet-card { display: flex; gap: 16px; }
.cs-media { flex: 0 0 40%; max-width: 150px; }
.cs-img { width: 100%; aspect-ratio: 5/7; object-fit: cover; border-radius: 10px; background: var(--grey-2); display: block; }
.cs-img-ph { display: flex; align-items: center; justify-content: center; font-size: 2.4rem; }
.cs-info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.cs-eyebrow { font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--gold-dim); font-weight: 600; margin-bottom: 4px; }
.cs-name { font-family: var(--font-display); font-size: 1.35rem; font-weight: 600; line-height: 1.15; color: var(--black); margin-bottom: 8px; }
.cs-tags { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 14px; }
.cs-tag { font-size: .72rem; padding: 3px 9px; border-radius: 999px; background: var(--grey-1); border: 1px solid var(--grey-2); color: var(--grey-6); }
.cs-tag-foil { background: linear-gradient(90deg,#fbf3d8,#f3e6c0); border-color: #e6d29a; color: #7a6118; }
.cs-price-row { display: flex; align-items: center; gap: 12px; margin-top: auto; margin-bottom: 12px; }
.cs-price { font-size: 1.4rem; font-weight: 700; color: var(--black); }
.cs-atc { flex: 1; }
.cs-soldout { color: var(--grey-4); font-weight: 600; }
.cs-fulllink { font-size: .82rem; color: var(--gold-dim); text-decoration: none; }

/* ==== Cartouche-Dark — the PORTAL-side branded frame (Adam named it 2026-07-07;
   the customer-side light treatment is Cartouche-Light). Same anatomy: gold-edged
   frame · dark title band with gold glow · body — but the body stays DARK (portal
   house style, gold-on-#111009). The .ctd-grid-* helpers exist because portal forms
   are inline-styled and inline styles can't @media: their fixed-column grids spilled
   on phones. Every cell is minmax(0,1fr) (the name-spillage lesson) and every
   variant collapses at 640px. ==== */
.ctd-frame{background:#141210;border:1px solid #2a2520;border-top:3px solid var(--gold);border-radius:14px;overflow:hidden;box-shadow:0 6px 28px rgba(0,0,0,.45);}
.ctd-head{background:#1a1917;padding:22px 24px;position:relative;overflow:hidden;border-bottom:1px solid #241f18;}
.ctd-head::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 65% 90% at 90% 25%,rgba(184,151,42,.14),transparent 60%);pointer-events:none;}
.ctd-eyebrow{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-lt);margin:0 0 8px;position:relative;z-index:1;}
.ctd-title{font-family:var(--font-display);font-size:1.5rem;font-weight:400;color:var(--grey-0);margin:0;position:relative;z-index:1;}
.ctd-title em{font-style:italic;color:var(--gold-lt);}
.ctd-sub{font-size:.72rem;color:var(--grey-4);margin:6px 0 0;position:relative;z-index:1;}
.ctd-body{padding:22px 24px 26px;}
.ctd-body>*{min-width:0;}

/* Responsive grid helpers for the inline-styled forms */
.ctd-grid{display:grid;gap:12px;min-width:0;}
.ctd-grid>*{min-width:0;}
.ctd-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.ctd-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.ctd-grid-card{grid-template-columns:minmax(0,1fr) 80px 80px;}          /* set name · code · col# */
.ctd-grid-lookup{grid-template-columns:minmax(0,1fr) 90px 80px auto;align-items:end;} /* name · set · num · button */
.ctd-grid-sealed{grid-template-columns:minmax(0,1fr) 90px;}             /* set name · code */
.ctd-grid-deck{grid-template-columns:110px minmax(0,1fr) minmax(0,1fr);}/* cards · type · set */

/* Deck cover picker */
.ctd-cover{display:flex;gap:12px;align-items:flex-start;min-width:0;}
.ctd-cover-main{flex:1;min-width:0;}
.ctd-cover-row{display:flex;gap:8px;margin-bottom:10px;min-width:0;}
.ctd-cover-row input{flex:1;min-width:0;}

@media(max-width:640px){
  .ctd-head{padding:18px 16px;}
  .ctd-body{padding:16px 14px 20px;}
  .ctd-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ctd-grid-4,.ctd-grid-card,.ctd-grid-lookup,.ctd-grid-deck{grid-template-columns:repeat(2,minmax(0,1fr));}
  /* the wide text field takes its own full row; trailing action/set fields span too */
  .ctd-grid-card>:first-child,.ctd-grid-lookup>:first-child,.ctd-grid-deck>:last-child{grid-column:1/-1;}
  .ctd-grid-lookup>:last-child{grid-column:1/-1;}
}
