/* ==========================================================================
   FOILKING theme — tokens, layout, components, WooCommerce
   ========================================================================== */

:root{
  --bg:#0E0F13;--s1:#16181E;--s2:#1F2229;--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.2);
  --tx:#F2F0EA;--mut:#9DA0AD;--on-acc:#0E0F13;--shadow:rgba(0,0,0,.5);--glass:rgba(14,15,19,.78);
  --acc:#D9F94A;--r:clamp(16px,1.3vw,24px);--sec:clamp(72px,7vw,140px);--sec-t:clamp(48px,5vw,96px);
  --wrap:1920px;--gut:clamp(16px,4vw,80px);
  --f-disp:'Unbounded',ui-sans-serif,system-ui,sans-serif;--f-body:'Geist',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;--f-mono:'Geist Mono',ui-monospace,'SF Mono',Menlo,monospace;
  color-scheme:dark;
}
:root[data-theme="light"]{--bg:#F5F4EF;--s1:#FFFFFF;--s2:#EBEAE4;--line:rgba(17,18,23,.09);--line2:rgba(17,18,23,.22);--tx:#111217;--mut:#5D606C;--shadow:rgba(40,40,55,.22);--glass:rgba(245,244,239,.82);color-scheme:light}
:root[data-theme="light"] .ic-sun,:root[data-theme="dark"] .ic-moon{display:none}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tx);font-family:var(--f-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:clip;transition:background-color .5s ease,color .5s ease}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
button{font:inherit;color:inherit}
input,select,textarea{font:inherit;color:inherit}
.sr,.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
.disp{font-family:var(--f-disp);letter-spacing:-.035em}
.mono{font-family:var(--f-mono)}
.mut{color:var(--mut)}
.small{font-size:13px}
.big{font-size:clamp(24px,1.8vw,34px);font-weight:600}
.eyebrow{font:600 clamp(11px,.7vw,12px)/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.h2{margin:0;font-family:var(--f-disp);font-weight:800;letter-spacing:-.035em;font-size:clamp(30px,3.2vw,60px);line-height:.98}
.h2.big{font-size:clamp(34px,4.2vw,80px)}
.h3{margin:0;font:600 clamp(19px,1.3vw,24px)/1.2 var(--f-body);letter-spacing:-.01em}
.lead{font-size:clamp(16px,1.05vw,19px);line-height:1.6}
.surf,.panel{background:var(--s1);box-shadow:inset 0 0 0 1px var(--line);transition:background-color .5s,box-shadow .5s}
.panel{border-radius:clamp(18px,1.6vw,28px);padding:clamp(20px,2vw,36px)}
.line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.line>span{display:block}
.dim{opacity:.55}
.sec{padding-block:var(--sec)}
.sec-tight{padding-top:0}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:clamp(28px,2.6vw,48px)}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}
.btn-row.center{justify-content:center}

/* Buttons --------------------------------------------------------------- */
.btn,.button,.woocommerce .button,.wc-block-components-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:clamp(48px,3.1vw,56px);padding:0 clamp(22px,1.7vw,30px);border-radius:999px;border:0;cursor:pointer;font:600 clamp(15px,.9vw,16px)/1 var(--f-body);white-space:nowrap;text-decoration:none;transition:transform .4s cubic-bezier(.2,.8,.2,1),background-color .3s,color .3s,box-shadow .3s}
.btn svg{transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.btn:hover svg{transform:translateX(3px)}
.btn-acc,.button,.woocommerce .button,.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wc-block-components-button{background:var(--acc)!important;color:var(--on-acc)!important}
.btn-acc:hover,.button:hover{transform:translateY(-2px)}
.btn-line,.woocommerce .button.alt.btn-line{background:transparent!important;color:var(--tx)!important;box-shadow:inset 0 0 0 1.5px var(--line2)}
.btn-line:hover{box-shadow:inset 0 0 0 1.5px var(--tx)}
.btn:disabled,.button:disabled,.woocommerce .button:disabled{opacity:.5;cursor:not-allowed;transform:none}
.ibtn{width:44px;height:44px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--tx);cursor:pointer;position:relative;transition:background-color .2s}
.ibtn:hover,.ibtn.on{background:var(--s2)}
.cart-n{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--acc);color:var(--on-acc);font:600 11px/18px var(--f-mono);text-align:center}
.cart-n[data-count="0"]{display:none}

/* Header ---------------------------------------------------------------- */
.topbar{background:var(--s1);color:var(--mut);font:500 13px/1.3 var(--f-body);border-bottom:1px solid var(--line);text-align:center;transition:background-color .5s}
.topbar .wrap{display:flex;justify-content:center;align-items:center;min-height:38px;padding-block:8px}
.hdr{position:sticky;top:0;z-index:40;background:var(--glass);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid var(--line);transition:background-color .5s}
.admin-bar .hdr{top:32px}
@media (max-width:782px){.admin-bar .hdr{top:46px}}
.hdr-in{display:flex;flex-wrap:wrap;align-items:center;gap:8px clamp(20px,2.6vw,56px);min-height:clamp(68px,4.6vw,84px);padding-block:10px}
.fh-brand{display:flex;align-items:center;gap:10px;color:var(--tx)}
.fh-brand .disp{font-weight:800;font-size:clamp(17px,1.15vw,21px);letter-spacing:-.02em}
.fh-brand .fk-mark-svg{width:clamp(34px,2.4vw,42px);height:auto;flex:none}
.fh-brand .fk-word-svg{height:clamp(15px,1.1vw,20px);width:auto;display:block}
.fh-logo-img{height:36px;width:auto}
.hdr-nav{display:flex;gap:clamp(18px,2vw,36px);flex:1 1 auto;justify-content:center;overflow-x:auto;min-width:0;order:3}
.navlink{position:relative;padding:10px 0;font-size:15px;font-weight:500;color:var(--tx);white-space:nowrap;opacity:.78;transition:opacity .2s}
.navlink::after{content:'';position:absolute;left:0;right:0;bottom:4px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.navlink:hover,.navlink.on{opacity:1}.navlink:hover::after,.navlink.on::after{transform:scaleX(1);transform-origin:left}
.hdr-tools{display:flex;align-items:center;gap:4px;margin-left:auto;order:4}
.hdr-burger{display:none;order:2;margin-left:auto}
.fh-lang{display:inline-flex;gap:2px;padding:3px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--line2);margin-right:6px}
.fh-lang a{padding:6px 10px;border-radius:999px;font:600 12px/1 var(--f-mono);letter-spacing:.06em;color:var(--mut);transition:background-color .2s,color .2s}
.fh-lang a.on{background:var(--tx);color:var(--bg)}
@media (max-width:900px){
  .hdr-in{flex-wrap:nowrap;gap:4px}
  .hdr-burger{display:inline-flex;order:4;margin-left:0}
  .hdr-nav{display:none}
  .hdr-tools{order:3;margin-left:auto;gap:0}
  /* Only search + cart stay in the bar; language, theme, scan and account live in the menu. */
  .hdr-tools .fh-lang,.hdr-tools .hdr-theme,.hdr-tools .hdr-scan,.hdr-tools .hdr-account{display:none}
  .topbar .wrap{font-size:12px;min-height:32px}
}

/* Pack / box / card illustrations --------------------------------------- */
.pack{position:relative;width:100%;aspect-ratio:5/8;container-type:inline-size;--mx:50%;--my:28%;--c1:#444;--c2:#111;--c3:#fff;filter:drop-shadow(0 24px 30px var(--shadow))}
.pack.box{aspect-ratio:5/6}
.pack-in{position:absolute;inset:0;border-radius:5px;overflow:hidden;background:linear-gradient(165deg,var(--c1) 0%,var(--c2) 100%);display:flex;flex-direction:column}
.box .pack-in{border-radius:8px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.crimp{height:7cqi;flex:none;background:repeating-linear-gradient(90deg,rgba(255,255,255,.26) 0 1.5px,rgba(0,0,0,.18) 1.5px 4px)}
.box .crimp{height:15cqi;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(0,0,0,.22))}
.box .crimp.bot{display:none}
.pack-face{flex:1;position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:9cqi 9cqi 8cqi;color:var(--c3)}
.pack-kick{position:relative;z-index:1;font:600 5.4cqi/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.pack-set{position:relative;z-index:1;font:800 12cqi/.95 var(--f-disp);letter-spacing:-.03em;text-wrap:balance}
.pack-foot{position:relative;z-index:1;display:flex;justify-content:space-between;font:600 4.4cqi/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.pack-em{position:absolute;left:50%;top:50%;width:66cqi;height:66cqi;transform:translate(-50%,-56%);color:var(--c3);opacity:.8}
.pack-shine{position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.5),rgba(255,255,255,0) 42%),linear-gradient(115deg,transparent 18%,rgba(255,236,170,.3) 34%,rgba(150,225,255,.28) 50%,rgba(255,150,230,.24) 63%,transparent 80%);background-size:100% 100%,260% 260%;background-position:0 0,var(--mx) var(--my);mix-blend-mode:overlay}
.tcard{position:relative;width:100%;aspect-ratio:63/88;container-type:inline-size;--mx:50%;--my:28%;--c1:#888;--c2:#333;filter:drop-shadow(0 22px 26px var(--shadow))}
.tc-in{position:absolute;inset:0;border-radius:4.5cqi;padding:4.5cqi;background:linear-gradient(160deg,#E9EAEE,#A9ADB8 55%,#D9DBE1);display:flex;flex-direction:column;gap:3cqi;overflow:hidden}
.tc-name{display:flex;justify-content:space-between;align-items:center;padding:0 2cqi;font:700 7cqi/1.2 var(--f-body);color:#15161B;white-space:nowrap;overflow:hidden}
.tc-art{flex:0 0 48%;border-radius:2cqi;background:radial-gradient(60% 70% at 65% 35%,rgba(255,255,255,.55),transparent 60%),conic-gradient(from 210deg at 40% 60%,var(--c1),var(--c2),var(--c1));box-shadow:inset 0 0 0 1cqi rgba(0,0,0,.12)}
.tc-lines{flex:1;display:flex;flex-direction:column;gap:3cqi;padding:2cqi}
.tc-lines i{display:block;height:2.6cqi;border-radius:9px;background:rgba(21,22,27,.18)}
.tc-lines i:nth-child(2){width:80%}.tc-lines i:nth-child(3){width:60%}
.tc-foot{display:flex;justify-content:space-between;font:600 4.6cqi/1 var(--f-mono);color:#3A3C45;padding:0 2cqi}
.fh-photo{width:100%;height:100%;object-fit:contain}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.floaty{animation:floaty 6s ease-in-out infinite;will-change:transform}
@media (prefers-reduced-motion:reduce){.floaty{animation:none}}

/* Product card ---------------------------------------------------------- */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:clamp(28px,2.2vw,40px) clamp(14px,1.2vw,22px)}
.pcard{display:flex;flex-direction:column;gap:14px;min-width:0}
.stage{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;border-radius:var(--r);background:radial-gradient(55% 50% at 50% 62%,color-mix(in oklab,var(--c1) 30%,transparent),transparent 72%),var(--s1);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;transition:background-color .5s,box-shadow .5s;padding:8%}
.stage .pack{width:44%}.stage .pack.box{width:60%}.stage .tcard{width:46%}
.stage.has-photo{padding:10%}
.pcard:hover .stage{box-shadow:inset 0 0 0 1px var(--line2)}
.pcard.out .stage>:not(.badge){opacity:.45}
.badge{position:absolute;top:14px;left:14px;z-index:2;padding:6px 10px;border-radius:999px;font:600 11px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;background:var(--tx);color:var(--bg)}
.badge.hot{background:var(--acc);color:var(--on-acc)}
.pcard-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-inline:2px}
.pcard-text{display:flex;flex-direction:column;gap:6px;min-width:0}
.pc-name{font:600 clamp(16px,1vw,18px)/1.25 var(--f-body);color:var(--tx)}
.pc-name:hover{text-decoration:underline;text-underline-offset:3px}
.pc-sub{font-size:14px;color:var(--mut);line-height:1.35}
.pc-sub .fh-price{color:var(--tx)}
.fh-price del{opacity:.55;margin-right:4px}
.addbtn{width:44px;height:44px;flex:none;border-radius:999px;border:0;background:var(--s2);color:var(--tx);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .25s,color .25s,transform .4s cubic-bezier(.2,.8,.2,1)}
.addbtn:hover{background:var(--acc);color:var(--on-acc);transform:rotate(90deg)}
.addbtn.loading{opacity:.5;pointer-events:none}
.addbtn.added{background:var(--acc);color:var(--on-acc)}
.addbtn .added_to_cart{display:none}

/* Hero ------------------------------------------------------------------ */
.hero-sec .wrap{padding-top:clamp(14px,1.4vw,24px)}
.hero{position:relative;display:grid;overflow:hidden;border-radius:clamp(20px,2vw,36px);isolation:isolate;background:var(--s1);min-height:clamp(560px,42vw,800px);contain:layout paint;touch-action:pan-y}
.hero-slide{grid-area:1/1;position:relative;color:var(--hink);background:radial-gradient(55% 75% at 74% 52%,var(--h1) 0%,transparent 70%),var(--h2);opacity:0;visibility:hidden;pointer-events:none;will-change:opacity;transform:translateZ(0)}
.hero-slide.on,.hero-slide.leaving{visibility:visible}.hero-slide.on{opacity:1;pointer-events:auto}
.hero.no-motion .hero-slide{transition:opacity .5s ease}
.hero-slide::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.18),transparent 55%)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));align-items:center;gap:clamp(16px,3vw,64px);min-height:clamp(560px,42vw,800px);padding:clamp(28px,4vw,88px) clamp(24px,4vw,88px) clamp(88px,6vw,120px)}
.hero-empty .hero-grid{min-height:clamp(380px,30vw,520px)}
.hero-copy{display:flex;flex-direction:column;gap:clamp(18px,1.5vw,26px);max-width:700px}
.hero-tag{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:color-mix(in oklab,var(--hink) 14%,transparent);font:600 12px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase}
.hero-tag i{width:7px;height:7px;border-radius:9px;background:currentColor}
.hero-title{margin:0;font-weight:800;font-size:clamp(42px,5.4vw,108px);line-height:.92}
.hero-sub{margin:0;max-width:520px;font-size:clamp(16px,1.1vw,20px);line-height:1.55;opacity:.84}
.hero-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:14px}
.hero-price s{font-size:clamp(16px,1.1vw,20px);opacity:.6}
.hero-price .note{font-size:15px;opacity:.8;flex-basis:100%}
.hero-btn{background:var(--hink)!important;color:var(--hinv)!important}
.hero-btn2{background:transparent!important;color:var(--hink)!important;box-shadow:inset 0 0 0 1.5px color-mix(in oklab,var(--hink) 38%,transparent)}
.hero-btn2:hover{box-shadow:inset 0 0 0 1.5px var(--hink)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;padding-top:4px}
.hero-art{position:relative;width:100%;max-width:700px;aspect-ratio:1/1;justify-self:center}
.h-piece{position:absolute;transform:rotate(var(--r)) translateZ(0);backface-visibility:hidden}
.h-piece .pack,.h-piece .tcard{filter:none}
.h-piece::after{content:'';position:absolute;left:8%;right:8%;bottom:-6%;height:14%;border-radius:50%;background:radial-gradient(50% 50% at 50% 50%,var(--shadow) 0%,transparent 70%);opacity:.7;z-index:-1;pointer-events:none}
.h-piece .fh-photo{display:block;width:100%;height:auto;aspect-ratio:auto 5/8;object-fit:contain}
.hero-art{transform:translateZ(0);will-change:transform}
.hero.dragging{cursor:grabbing}.hero.dragging .hero-slide{user-select:none}
.hero-cd{display:flex;flex-direction:column;gap:10px}
.cd-label{font-size:13px;letter-spacing:.1em;text-transform:uppercase;opacity:.75}
.cd{display:flex;gap:8px}
.cd>span{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:clamp(58px,4.2vw,76px);padding:12px 8px;border-radius:14px;background:color-mix(in oklab,var(--hink) 12%,transparent)}
.cd b{font:600 clamp(22px,1.7vw,32px)/1 var(--f-mono)}
.cd small{font:600 10px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.hero-stock{display:flex;flex-direction:column;gap:10px}
.hero-stock-row{display:flex;justify-content:space-between;max-width:360px;font-size:15px}
.sbar{height:6px;border-radius:9px;background:color-mix(in oklab,var(--hink) 18%,transparent);overflow:hidden;max-width:360px}
.sbar>span{display:block;height:100%;border-radius:inherit;background:var(--hink)}
.hctl{position:absolute;right:clamp(20px,2.4vw,44px);bottom:clamp(20px,2.4vw,40px);display:flex;align-items:center;gap:10px;z-index:3;color:var(--hink)}
.hctl .mono{font-size:13px;margin-right:6px;opacity:.8}
.hctl button{width:48px;height:48px;border-radius:999px;border:0;cursor:pointer;color:inherit;background:color-mix(in oklab,currentColor 14%,transparent);display:inline-flex;align-items:center;justify-content:center;transition:background-color .25s,transform .35s cubic-bezier(.2,.8,.2,1)}
.hctl button:hover{background:color-mix(in oklab,currentColor 26%,transparent);transform:scale(1.06)}
.htabs{display:grid;overflow:visible;grid-template-columns:repeat(var(--n,6),minmax(150px,1fr));gap:clamp(10px,1vw,20px);margin-top:clamp(12px,1vw,18px);overflow-x:auto;padding-bottom:4px}
.htab{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:12px 2px 6px;min-height:44px;border:0;background:transparent;color:var(--mut);text-align:left;cursor:pointer;font:500 14px/1.3 var(--f-body);transition:color .25s}
.htab:hover,.htab.on{color:var(--tx)}
.htab-bar{display:block;height:3px;border-radius:9px;background:var(--line2);overflow:hidden}
.htab-fill{display:block;height:100%;background:var(--tx);transform:scaleX(0);transform-origin:left center}
.htab .eyebrow{font-size:11px;color:inherit;opacity:.8}

/* Format tiles ---------------------------------------------------------- */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:clamp(12px,1.2vw,20px);margin-top:clamp(28px,2.6vw,48px)}
.tile{display:flex;flex-direction:column;gap:18px;padding:clamp(14px,1vw,18px);border-radius:calc(var(--r) + 6px);color:var(--tx)}
.tile-art{position:relative;aspect-ratio:4/3;border-radius:var(--r);display:flex;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(55% 60% at 50% 70%,color-mix(in oklab,var(--c1) 34%,transparent),transparent 72%),var(--s2);transition:background-color .5s}
.tile-art>*{width:30%;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.tile-art .pack.box{width:40%}.tile-art .tcard{width:32%}
.tile:hover .tile-art>*{transform:translateY(-10px) rotate(-5deg)}
.tile-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 6px 6px}
.tile-meta>div{display:flex;flex-direction:column;gap:6px}
.tile-name{font-size:clamp(17px,1.1vw,20px);font-weight:600}
.tile-meta .mut{font-size:14px}
.tile-arrow{width:44px;height:44px;flex:none;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--s2);transition:background-color .3s,color .3s,transform .5s cubic-bezier(.2,.8,.2,1)}
.tile:hover .tile-arrow{background:var(--acc);color:var(--on-acc);transform:rotate(-45deg)}

/* Brand / rip ----------------------------------------------------------- */
.standard{border-radius:clamp(20px,2vw,36px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(480px,100%),1fr));align-items:center;gap:clamp(32px,4vw,80px);padding:clamp(28px,4vw,88px)}
.standard-copy{display:flex;flex-direction:column;gap:clamp(20px,1.8vw,30px);max-width:640px}
.rip{position:relative;width:min(100%,600px);aspect-ratio:1/1;margin-inline:auto}
.rip-card{position:absolute;left:50%;bottom:30%;width:30%;aspect-ratio:63/88;margin-left:-15%;border-radius:10px;transform-origin:50% 135%;background:#20243A;box-shadow:0 14px 30px var(--shadow),inset 0 0 0 1px rgba(255,255,255,.12);overflow:hidden}
.rip-card::before{content:'';position:absolute;inset:7%;border-radius:6px;background:linear-gradient(135deg,var(--k1),var(--k2))}
.rip-card::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.35) 45%,transparent 60%);mix-blend-mode:overlay}
.rc1{transform:rotate(-26deg);--k1:#49E3C6;--k2:#136F8C}.rc2{transform:rotate(-13deg);--k1:#FFD23F;--k2:#FF7A1A}.rc3{transform:rotate(0deg);--k1:#F4B6FF;--k2:#7A5CFF}.rc4{transform:rotate(13deg);--k1:#FF4D5E;--k2:#5A0F22}.rc5{transform:rotate(26deg);--k1:#9BE15D;--k2:#14532D}
.rip-pack{position:absolute;left:50%;bottom:2%;width:36%;margin-left:-18%;z-index:3}
.rip-pack .crimp:first-child{opacity:0}
.rip-top{position:absolute;left:0;right:0;top:-2%;height:8%;z-index:4;border-radius:5px 5px 2px 2px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.4) 0 1.5px,rgba(0,0,0,.15) 1.5px 4px),linear-gradient(90deg,var(--acc),#C26BFF);transform:translate(-30%,-260%) rotate(-28deg);opacity:0}

/* Forms ----------------------------------------------------------------- */
.sbox{display:flex;align-items:center;gap:6px;height:56px;padding:0 6px 0 18px;border-radius:999px;background:var(--s1);box-shadow:inset 0 0 0 1.5px var(--line2);transition:box-shadow .2s,background-color .5s;color:var(--mut)}
.sbox.big{height:60px}
.sbox:focus-within{box-shadow:inset 0 0 0 1.5px var(--tx)}
.sbox input{flex:1;min-width:0;height:100%;border:0;background:transparent;color:var(--tx);font:500 16px/1 var(--f-body);outline:none}
.sbox input::placeholder{color:var(--mut)}
.sbox .btn{min-height:44px;padding-inline:20px}
.scanbtn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 18px 0 14px;border-radius:999px;background:var(--tx);color:var(--bg);font:600 14px/1 var(--f-body);white-space:nowrap;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.scanbtn:hover{transform:scale(1.03)}
.form-msg{margin:8px 0 0;font-size:14px;min-height:1em}
.form-msg.ok{color:#3FB950}.form-msg.err{color:#F26B6B}
.consent{margin:8px 0 0;font-size:12px;color:var(--mut)}
.alerts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(480px,100%),1fr));gap:clamp(24px,4vw,80px);align-items:end}
.alerts-grid form{display:flex;flex-direction:column;gap:16px}
.select{height:44px;border-radius:999px;border:1.5px solid var(--line2);background:transparent;color:var(--tx);padding:0 40px 0 18px;font:500 14px/1 var(--f-body);appearance:none;-webkit-appearance:none;cursor:pointer;outline:none}
.select:focus{border-color:var(--tx)}
.select option{color:#111217}

/* Shop ------------------------------------------------------------------ */
.shop-head .wrap{display:flex;flex-direction:column;gap:clamp(18px,1.6vw,26px);padding-block:clamp(32px,3.6vw,72px) clamp(20px,2vw,32px)}
.crumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:14px;color:var(--mut)}
.crumbs a:hover{color:var(--tx)}
.shop-head-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 40px}
.shop-title{margin:0;font-weight:800;font-size:clamp(40px,4.6vw,92px);line-height:.92}
.shop-search{flex:0 1 760px;min-width:min(100%,320px)}
.pills{display:flex;gap:8px;overflow-x:auto;padding-block:6px 2px}
.pill{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;border:0;background:transparent;box-shadow:inset 0 0 0 1.5px var(--line2);color:var(--tx);font:500 14px/1 var(--f-body);cursor:pointer;white-space:nowrap;transition:background-color .25s,color .25s,box-shadow .25s}
.pill:hover{box-shadow:inset 0 0 0 1.5px var(--tx)}
.pill.on{background:var(--tx);color:var(--bg);box-shadow:none}
.pill .cnt{font:500 12px/1 var(--f-mono);opacity:.6}
.shop-body{padding-bottom:var(--sec)}
.shop-cols{display:flex;flex-wrap:wrap;align-items:flex-start;gap:clamp(28px,3vw,64px)}
.filters{flex:1 1 280px;max-width:340px;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.filters-toggle{display:none}
.fg{border-bottom:1px solid var(--line)}
.fg-h{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:56px;padding:0;border:0;background:transparent;color:var(--tx);font:600 15px/1 var(--f-body);cursor:pointer;text-align:left}
.fg-h svg{transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.fg.open .fg-h svg{transform:rotate(180deg)}
.on-n{font:600 11px/1 var(--f-mono);padding:4px 7px;border-radius:99px;background:var(--acc);color:var(--on-acc);margin-left:8px}
.fg-b{display:none;padding-bottom:18px}
.fg.open .fg-b{display:block}
.opt{display:flex;align-items:center;gap:12px;width:calc(100% + 20px);min-height:40px;padding:0 10px;margin-inline:-10px;border-radius:10px;border:0;background:transparent;color:var(--tx);font:500 15px/1.2 var(--f-body);cursor:pointer;text-align:left;transition:background-color .2s,opacity .2s}
.opt:hover{background:var(--s2)}
.opt:disabled{opacity:.38;cursor:default;background:transparent}
.opt .cnt{margin-left:auto;font:500 12px/1 var(--f-mono);color:var(--mut)}
.chk{width:20px;height:20px;border-radius:6px;box-shadow:inset 0 0 0 1.5px var(--line2);display:inline-flex;align-items:center;justify-content:center;color:var(--on-acc);flex:none;transition:background-color .2s,box-shadow .2s}
.chk svg{opacity:0;transition:opacity .2s}
.opt.on .chk{background:var(--acc);box-shadow:none}.opt.on .chk svg{opacity:1}
.hist{display:flex;align-items:flex-end;gap:2px;height:72px}
.hist i{flex:1;min-height:2px;border-radius:3px 3px 0 0;background:var(--line2);transition:height .5s cubic-bezier(.2,.8,.2,1),background-color .3s}
.hist i.in{background:var(--tx)}.hist i.peak{background:var(--acc)}
.rng{position:relative;height:28px;margin-top:-1px}
.rng-track{position:absolute;left:0;right:0;top:13px;height:2px;border-radius:2px;background:var(--line2)}
.rng-fill{position:absolute;top:13px;height:2px;background:var(--tx)}
.rng input{position:absolute;left:-11px;right:-11px;width:calc(100% + 22px);top:0;height:28px;margin:0;-webkit-appearance:none;appearance:none;background:none;pointer-events:none;outline:none}
.rng input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;pointer-events:auto;width:24px;height:24px;border-radius:50%;background:var(--bg);box-shadow:inset 0 0 0 2px var(--tx),0 2px 8px var(--shadow);cursor:grab}
.rng input::-moz-range-thumb{pointer-events:auto;width:22px;height:22px;border-radius:50%;background:var(--bg);border:2px solid var(--tx);cursor:grab}
.rng input:focus-visible::-webkit-slider-thumb{box-shadow:inset 0 0 0 2px var(--tx),0 0 0 4px color-mix(in oklab,var(--acc) 50%,transparent)}
.pboxes{display:flex;gap:10px;align-items:center;margin-top:14px;color:var(--mut)}
.pbox{flex:1;display:flex;flex-direction:column;gap:4px;padding:10px 14px;border-radius:12px;box-shadow:inset 0 0 0 1.5px var(--line2);font-size:12px;color:var(--mut)}
.pbox b{font:600 15px/1 var(--f-mono);color:var(--tx)}
.peak{margin:14px 0 0;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--mut)}
.peak-dot{width:10px;height:10px;border-radius:3px;background:var(--acc);flex:none}
.scan-promo{margin-top:24px;display:flex;align-items:center;gap:16px;padding:18px;border-radius:var(--r)}
.scan-promo-ic{width:48px;height:48px;border-radius:14px;background:var(--acc);color:var(--on-acc);display:inline-flex;align-items:center;justify-content:center;flex:none}
.scan-promo>span:last-child{display:flex;flex-direction:column;gap:4px;font-size:15px}
.scan-promo .mut{font-size:14px;line-height:1.4}
.results{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:20px}
.results-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;font-size:14px}
.sort{display:flex;align-items:center;gap:12px;position:relative;font-size:14px}
.sort>svg{position:absolute;right:16px;pointer-events:none}
.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chipx{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 8px 0 14px;border-radius:999px;border:0;background:var(--s2);color:var(--tx);font:500 13px/1 var(--f-body);cursor:pointer;transition:background-color .2s}
.chipx:hover{background:var(--line2)}
.linkbtn{border:0;background:transparent;color:var(--mut);font:500 14px/1 var(--f-body);cursor:pointer;padding:10px 0;min-height:40px;text-decoration:underline;text-underline-offset:3px}
.linkbtn:hover{color:var(--tx)}
.empty[hidden],.more[hidden],.chips[hidden],.filters[hidden]{display:none!important}
.empty{padding:56px 24px;border-radius:var(--r);text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}
.more{display:flex;flex-direction:column;align-items:center;gap:12px;padding-top:20px;font-size:14px}
.pgrid.busy{opacity:.5;pointer-events:none}
@media (max-width:900px){
  .filters-toggle{display:inline-flex;align-self:flex-start}
  .filters{display:none;max-width:none;flex-basis:100%}
  .filters.open{display:flex}
}

/* Product page ---------------------------------------------------------- */
.pp .wrap{display:flex;flex-direction:column;gap:clamp(18px,1.6vw,28px);padding-block:clamp(24px,2.2vw,40px) var(--sec)}
.pp-grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:clamp(32px,4vw,96px)}
.pp-gallery{flex:1.25 1 560px;min-width:0;display:flex;flex-direction:column;gap:14px}
.gallery{position:relative;aspect-ratio:1/1;max-height:920px;border-radius:clamp(20px,2vw,36px);overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(55% 55% at 50% 58%,color-mix(in oklab,var(--c1) 34%,transparent),transparent 72%),var(--s1);box-shadow:inset 0 0 0 1px var(--line);transition:background-color .5s;padding:8%}
.gallery .badge{top:clamp(16px,1.6vw,28px);left:clamp(16px,1.6vw,28px)}
.gallery-view{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.gallery-view[hidden]{display:none!important}
.gallery-art{width:56%}
.gallery-art .tcard{width:70%;margin-inline:auto}
.gallery-view .fh-photo{max-height:100%;width:auto}
.contents-view{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(80%,620px);height:auto}
.contents-cell{display:flex;flex-direction:column;gap:6px;padding:clamp(14px,1.3vw,22px);border-radius:16px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}
.contents-cell .disp{font-weight:800;font-size:clamp(24px,2.2vw,40px)}
.contents-cell .mut{font-size:clamp(13px,.9vw,15px)}
.thumbs{display:flex;gap:10px;flex-wrap:wrap}
.thumb{width:clamp(68px,5.4vw,96px);aspect-ratio:1/1;border-radius:16px;border:0;padding:14%;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--tx);transition:box-shadow .25s,background-color .5s;overflow:hidden}
.thumb:hover{box-shadow:inset 0 0 0 1px var(--line2)}
.thumb.on{box-shadow:inset 0 0 0 2px var(--tx)}
.thumb>*{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.thumb .pack,.thumb .tcard{width:62%;flex:none;filter:none}
.thumb img{width:100%;height:100%;object-fit:contain}
.pp-buy{flex:1 1 420px;min-width:0;max-width:680px;position:sticky;top:110px;display:flex;flex-direction:column;gap:clamp(20px,1.7vw,28px)}
.pp-buy .eyebrow a:hover{color:var(--tx)}
.pp-title{margin:0;font-weight:800;font-size:clamp(32px,3.2vw,62px);line-height:.96}
.pp-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;font:600 clamp(26px,2vw,38px)/1 var(--f-mono)}
.pp-price del{opacity:.5;font-size:.6em}
.pp-price ins{text-decoration:none}
.pp-price .small{font:400 14px/1 var(--f-body)}
.pp-desc p{margin:0;font-size:clamp(16px,1.05vw,18px);line-height:1.6}
.pp-cart form.cart{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0}
.pp-cart .quantity{display:inline-flex;align-items:center;height:clamp(48px,3.1vw,56px);min-width:96px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--line2);padding:0 8px}
.pp-cart .quantity.hidden{display:none}
.pp-cart .quantity .qty{width:64px;height:100%;border:0;background:transparent;text-align:center;font:600 16px var(--f-mono);color:var(--tx);-moz-appearance:textfield}
.pp-cart .quantity .qty::-webkit-outer-spin-button,.pp-cart .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none}
.quantity{display:inline-flex;align-items:center;gap:2px;height:44px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--line2);padding:0 4px}
.quantity .qty{width:48px;height:100%;border:0!important;background:transparent!important;text-align:center;font:600 15px var(--f-mono);color:var(--tx);-moz-appearance:textfield;box-shadow:none!important;padding:0}
.quantity .qty::-webkit-outer-spin-button,.quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qty-btn{width:36px;height:36px;flex:none;border:0;border-radius:999px;background:transparent;color:var(--tx);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s,opacity .2s}
.qty-btn:hover{background:var(--s2)}
.qty-btn[disabled]{opacity:.35;cursor:default}
.pp-cart .quantity{gap:0;padding:0 6px}
.pp-cart .quantity .qty{width:52px}
.pp-cart .qty-btn{width:40px;height:40px}
.pp-cart .single_add_to_cart_button{flex:1 1 220px}
.pp-cart .stock{margin:0;flex-basis:100%;font-size:14px;color:var(--mut)}
.pp-cart .stock.out-of-stock{color:#F26B6B}
.facts{display:flex;flex-direction:column;gap:12px;padding-block:4px}
.fact{display:flex;gap:12px;align-items:center;font-size:15px}
.dot{width:8px;height:8px;border-radius:9px;background:#3FB950;box-shadow:0 0 0 4px rgba(63,185,80,.2);flex:none;margin-inline:5px}
.dot-low,.dot-pre{background:#E3A008;box-shadow:0 0 0 4px rgba(227,160,8,.22)}
.dot-out{background:#F26B6B;box-shadow:0 0 0 4px rgba(242,107,107,.22)}
.acc{border-top:1px solid var(--line)}
.acc-item{border-bottom:1px solid var(--line)}
.acc-item h2{margin:0}
.acc-btn{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:60px;padding:0;border:0;background:transparent;color:var(--tx);font:600 16px/1.3 var(--f-body);text-align:left;cursor:pointer}
.acc-btn svg{transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.acc-item.open .acc-btn svg{transform:rotate(45deg)}
.acc-panel{overflow:hidden}
.acc-panel ul{margin:0;padding:0 0 22px 18px;display:flex;flex-direction:column;gap:8px;color:var(--mut);font-size:15px;line-height:1.5}
.acc-rich{padding-bottom:22px;color:var(--mut);font-size:15px;line-height:1.6}
.acc-rich p{margin:0 0 10px}
.related{border-top:1px solid var(--line)}
.fly{position:fixed;left:0;top:0;width:56px;z-index:60;pointer-events:none;opacity:0}

/* Card search ----------------------------------------------------------- */
.cs-top .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(520px,100%),1fr));align-items:center;gap:clamp(32px,4vw,96px);padding-block:clamp(32px,3.6vw,72px) clamp(32px,3vw,56px)}
.cs-intro{display:flex;flex-direction:column;gap:clamp(20px,1.8vw,30px);max-width:680px}
.cs-intro .hero-title{font-size:clamp(40px,4.8vw,96px)}
.steps-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.steps-list li{display:grid;grid-template-columns:48px 1fr;gap:12px;padding-block:16px;border-bottom:1px solid var(--line)}
.scanner{position:relative;border-radius:clamp(20px,2vw,36px);min-height:clamp(520px,38vw,700px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:clamp(24px,2.6vw,48px);transition:background-color .5s,box-shadow .3s}
.scanner[hidden]{display:none!important}
.drop{box-shadow:inset 0 0 0 2px var(--line2);background:var(--s1);background-image:radial-gradient(circle at 1px 1px,var(--line2) 1px,transparent 0);background-size:22px 22px}
.drop.drag{box-shadow:inset 0 0 0 2px var(--acc);background-color:color-mix(in oklab,var(--acc) 8%,var(--s1))}
.drop-ic{width:88px;height:88px;border-radius:26px;background:var(--acc);color:var(--on-acc);display:flex;align-items:center;justify-content:center}
.drop-text{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.drop .btn{cursor:pointer}
.samples{display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:22px;border-top:1px solid var(--line);width:min(100%,420px)}
.samples-row{display:flex;gap:8px}
.sample{display:flex;flex-direction:column;align-items:center;gap:8px;width:clamp(76px,6vw,96px);padding:8px 8px 10px;border-radius:14px;border:0;background:transparent;color:var(--mut);font:500 12px/1.2 var(--f-body);cursor:pointer;text-align:center;transition:background-color .2s,color .2s,transform .35s cubic-bezier(.2,.8,.2,1)}
.sample:hover{background:var(--s2);color:var(--tx);transform:translateY(-3px)}
.sample .tcard,.sample .pack{filter:drop-shadow(0 8px 10px var(--shadow));width:100%}
.viewer{position:relative;width:min(100%,380px);aspect-ratio:63/88}
.viewer img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border-radius:14px}
.viewer-sample{position:absolute;inset:0}
.br{position:absolute;width:16%;aspect-ratio:1/1;border:3px solid var(--acc);pointer-events:none}
.br.tl{left:-3%;top:-3%;border-right:0;border-bottom:0;border-radius:14px 0 0 0}
.br.tr{right:-3%;top:-3%;border-left:0;border-bottom:0;border-radius:0 14px 0 0}
.br.bl{left:-3%;bottom:-3%;border-right:0;border-top:0;border-radius:0 0 0 14px}
.br.bt{right:-3%;bottom:-3%;border-left:0;border-top:0;border-radius:0 0 14px 0}
.scanline{position:absolute;left:-4%;right:-4%;top:0;height:3px;border-radius:3px;background:var(--acc);box-shadow:0 0 24px 6px color-mix(in oklab,var(--acc) 55%,transparent);opacity:0}
.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;width:min(100%,380px)}
.steps li{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--mut);transition:color .3s}
.steps li.done,.steps li.now{color:var(--tx)}
.steps .dot{width:22px;height:22px;border-radius:99px;box-shadow:inset 0 0 0 1.5px var(--line2);display:inline-flex;align-items:center;justify-content:center;flex:none;transition:background-color .3s,box-shadow .3s;color:var(--on-acc);background:transparent;margin:0}
.steps .dot svg{opacity:0;transition:opacity .2s}
.steps li.done .dot{background:var(--acc);box-shadow:none}.steps li.done .dot svg{opacity:1}
.cs-progress{width:min(100%,380px);display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--mut)}
.cs-progress[hidden]{display:none!important}
.cs-progress-track{display:block;height:6px;border-radius:99px;background:var(--line);overflow:hidden}
.cs-progress-track i{display:block;height:100%;width:0;border-radius:99px;background:var(--acc);transition:width .3s ease}
.cs-progress-track i.indeterminate{width:40%!important;animation:csind 1.1s ease-in-out infinite alternate}
@keyframes csind{from{transform:translateX(-30%)}to{transform:translateX(220%)}}
.steps li.now .dot{box-shadow:inset 0 0 0 2px var(--acc)}
.cs-results{padding-bottom:var(--sec)}
.cs-results[hidden]{display:none!important}
.cs-stack{display:flex;flex-direction:column;gap:clamp(16px,1.4vw,24px)}
.res{border-radius:var(--r);padding:clamp(20px,2vw,32px);display:flex;flex-direction:column;gap:20px}
.res-nomatch[hidden]{display:none!important}
.res-nomatch{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:32px;align-items:center}
.res-nomatch>div{display:flex;flex-direction:column;gap:14px}
.tips{margin:0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:10px;line-height:1.5}
.tips a{text-decoration:underline;text-underline-offset:3px}
.tag{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:var(--s2);font:600 11px/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--tx);align-self:flex-start}
.tag.ok,.tag.in{background:color-mix(in oklab,#3FB950 22%,transparent)}
.tag.low,.tag.pre{background:color-mix(in oklab,#E3A008 26%,transparent)}
.tag[hidden]{display:none!important}
.demo-tag{margin-left:8px;padding:3px 7px;border-radius:99px;background:var(--s2);font-size:10px}
.res-id{flex-direction:row;flex-wrap:wrap;align-items:center;gap:20px clamp(24px,3vw,56px)}
.res-id-main{display:flex;align-items:center;gap:20px;flex:1 1 420px;min-width:0}
.res-id-main>div:last-child{display:flex;flex-direction:column;gap:8px;min-width:0}
.res-id-art{width:clamp(64px,5vw,84px);flex:none}
.res-id-art .tcard,.res-id-art .pack{filter:none}
.res-id .h2{font-size:clamp(24px,2.2vw,42px)}
.res-conf{flex:0 1 280px;display:flex;flex-direction:column;gap:8px}
.res-conf-row{display:flex;justify-content:space-between;font-size:14px}
.conf{height:6px;border-radius:9px;background:var(--s2);overflow:hidden}
.conf>span{display:block;height:100%;border-radius:inherit;background:var(--acc);transform-origin:left center}
.res-alts{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-top:16px;border-top:1px solid var(--line)}
.res-alts>div{display:flex;flex-wrap:wrap;gap:10px}
.alt{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 14px 8px 8px;border-radius:14px;border:0;background:var(--s2);color:var(--tx);font:500 14px/1.25 var(--f-body);cursor:pointer;text-align:left;transition:box-shadow .2s,background-color .3s}
.alt:hover{box-shadow:inset 0 0 0 1.5px var(--line2)}
.alt .tcard,.alt .pack{width:30px;filter:none;flex:none}
.alt .tcard .tc-in>:not(.tc-art){display:none}
.alt strong{font-weight:600;display:block}
.alt .mut{font-size:13px}
.res-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:clamp(16px,1.4vw,24px);align-items:start}
.res-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.single-buy{display:grid;grid-template-columns:minmax(120px,38%) minmax(0,1fr);gap:clamp(16px,2vw,32px);align-items:center}
.single-buy[hidden]{display:none!important}
.single-art{display:flex;justify-content:center;padding:clamp(14px,1.6vw,28px);border-radius:16px;background:radial-gradient(60% 60% at 50% 60%,color-mix(in oklab,var(--c1) 30%,transparent),transparent 72%),var(--s2)}
.single-art .tcard,.single-art .pack{width:80%}
.single-info{display:flex;flex-direction:column;gap:14px}
.no-single{display:flex;flex-direction:column;gap:14px;padding:20px;border-radius:16px;background:var(--s2)}
.no-single[hidden]{display:none!important}
.prows{display:flex;flex-direction:column}
.prow{display:grid;grid-template-columns:clamp(56px,4.4vw,72px) minmax(0,1fr) auto;align-items:center;gap:clamp(12px,1.2vw,20px);padding-block:14px;border-bottom:1px solid var(--line)}
.prow:last-child{border-bottom:0}
.prow-thumb{aspect-ratio:1/1;border-radius:12px;background:var(--s2);display:flex;align-items:center;justify-content:center;padding:14%;transition:background-color .5s}
.prow-thumb .pack{filter:none;width:70%}.prow-thumb .pack.box{width:90%}
.prow-text{display:flex;flex-direction:column;gap:5px;min-width:0}
.prow-text a{font-weight:600;font-size:16px}
.prow-text .mut{font-size:14px}
.cs-privacy{padding-bottom:var(--sec-t);text-align:center}

/* Footer ---------------------------------------------------------------- */
.site-footer{border-top:1px solid var(--line);margin-top:auto}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:40px;padding-block:clamp(48px,4.4vw,88px) 40px}
.foot-brand{display:flex;flex-direction:column;gap:14px;grid-column:span 2;min-width:0;max-width:420px}
.foot-brand p{margin:0;color:var(--mut);line-height:1.6}
.foot-logo{font-weight:800;font-size:clamp(22px,1.8vw,32px)}
.foot-h{margin:0 0 16px;font:600 12px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.foot-l{display:flex;flex-direction:column;gap:12px;font-size:15px}
.foot-l a{opacity:.85;transition:opacity .2s;padding:0;font-weight:400}
.foot-l a::after{display:none}
.foot-l a:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}
.foot-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-block:24px 36px;border-top:1px solid var(--line);color:var(--mut);font-size:13px;line-height:1.6}
.foot-disclaimer{max-width:760px}
@media (max-width:640px){.foot-brand{grid-column:span 1}}

/* Toast + modal --------------------------------------------------------- */
.toast{position:fixed;right:clamp(16px,2vw,32px);bottom:clamp(16px,2vw,32px);z-index:50;display:flex;align-items:center;gap:14px;padding:12px 18px 12px 12px;border-radius:16px;background:var(--tx);color:var(--bg);box-shadow:0 20px 50px -12px var(--shadow);opacity:0;transform:translateY(120px);pointer-events:none;max-width:calc(100vw - 32px)}
.toast.show{pointer-events:auto}
.toast-ic{width:34px;height:34px;border-radius:99px;background:var(--acc);color:var(--on-acc);display:inline-flex;align-items:center;justify-content:center;flex:none}
.toast-text{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:14px}
.toast-text span{font-size:13px;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.toast a{margin-left:8px;font-weight:600;font-size:14px;text-decoration:underline;text-underline-offset:3px}
.fh-modal{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.55);backdrop-filter:blur(6px)}
.fh-modal[hidden]{display:none!important}
.fh-modal-box{position:relative;width:min(100%,520px);display:flex;flex-direction:column;gap:14px}
.fh-modal-close{position:absolute;top:10px;right:10px}

/* Pages & WooCommerce core templates ------------------------------------ */
.page-narrow{max-width:900px;padding-block:clamp(32px,3.6vw,72px) var(--sec)}
.page-title{margin:0 0 clamp(20px,2vw,32px);font-weight:800;font-size:clamp(36px,4vw,80px);line-height:.92}
.page-title.small{font-size:clamp(28px,2.6vw,48px)}
.entry{font-size:clamp(16px,1.05vw,18px);line-height:1.65}
.entry h2{font-family:var(--f-body);font-weight:600;font-size:clamp(20px,1.5vw,26px);letter-spacing:-.01em;margin:1.6em 0 .5em}
.entry p{margin:0 0 1em}
.entry a{text-decoration:underline;text-underline-offset:3px}
.post-card{padding-block:24px;border-bottom:1px solid var(--line)}
.fh-wc-page{padding-block:clamp(32px,3.6vw,72px) var(--sec)}
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner{list-style:none;margin:0 0 20px;padding:14px 18px;border-radius:14px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line2);display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.woocommerce-error{box-shadow:inset 0 0 0 1px #F26B6B}
.woocommerce-message .button,.woocommerce-info .button{order:2;margin-left:auto;min-height:40px;padding-inline:16px}
.fh-shipmeter{margin-bottom:20px;display:flex;flex-direction:column;gap:12px;padding-block:clamp(16px,1.4vw,24px)}
.fh-shipmeter-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:15px}
.bar{position:relative;height:6px;border-radius:99px;background:var(--s2);overflow:hidden}
.bar-fill{position:absolute;inset:0;border-radius:inherit;background:var(--acc);transform-origin:left center;transform:scaleX(var(--p));transition:transform .9s cubic-bezier(.2,.8,.2,1)}
/* Cart (classic template) */
.woocommerce table.shop_table{width:100%;border-collapse:collapse;border:0;margin:0 0 24px;background:var(--s1);border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border:0;border-bottom:1px solid var(--line);padding:14px 16px;text-align:left;vertical-align:middle}
.woocommerce table.shop_table th{font:600 12px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.woocommerce table.shop_table img{width:64px;border-radius:10px;background:var(--s2)}
.woocommerce table.shop_table .product-name a{font-weight:600}
.woocommerce table.shop_table .product-remove a{display:inline-flex;width:32px;height:32px;border-radius:99px;align-items:center;justify-content:center;background:var(--s2);color:var(--tx);font-size:18px;text-decoration:none}
.woocommerce .quantity .qty{height:100%;width:48px;border:0;background:transparent;color:var(--tx);text-align:center;font:600 15px var(--f-mono)}
.woocommerce .coupon{display:flex;gap:8px;align-items:center}
.woocommerce .coupon .input-text{height:48px;border-radius:999px;border:1.5px solid var(--line2);background:transparent;color:var(--tx);padding:0 18px;font:500 15px var(--f-body);min-width:200px}
.woocommerce .cart-collaterals{display:flex;justify-content:flex-end}
.woocommerce .cart_totals{width:min(100%,520px);background:var(--s1);border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--line);padding:clamp(20px,2vw,32px)}
.woocommerce .cart_totals h2{margin:0 0 16px;font:600 clamp(19px,1.3vw,24px)/1.2 var(--f-body)}
.woocommerce .cart_totals table.shop_table{background:transparent;box-shadow:none;border-radius:0}
.woocommerce .cart_totals .order-total td{font:600 clamp(22px,1.6vw,30px)/1 var(--f-mono)}
.woocommerce .checkout-button{width:100%;min-height:58px}
.woocommerce ul#shipping_method{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
/* Checkout + account forms */
.woocommerce form .form-row{margin:0 0 14px;display:flex;flex-direction:column;gap:8px}
.woocommerce form .form-row label{font-size:14px;color:var(--mut)}
.woocommerce form .form-row .input-text,.woocommerce form .form-row select,.woocommerce form .form-row textarea,.select2-container--default .select2-selection--single{height:52px;border-radius:14px;border:1.5px solid var(--line2);background:var(--bg);color:var(--tx);padding:0 16px;font:500 16px/1 var(--f-body);outline:none;transition:border-color .2s;width:100%}
.woocommerce form .form-row textarea{height:auto;padding:14px 16px}
.woocommerce form .form-row .input-text:focus{border-color:var(--tx)}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:50px;color:var(--tx);padding-left:0}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:50px}
.select2-dropdown{background:var(--s1);border-color:var(--line2);color:var(--tx)}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--acc);color:var(--on-acc)}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:calc(50% - 8px);float:left}
.woocommerce form .form-row-last{float:right}
.woocommerce form .form-row-wide{clear:both}
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:24px}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{width:auto;float:none}
.woocommerce-checkout h3{margin:0 0 16px;font:600 clamp(19px,1.3vw,24px)/1.2 var(--f-body)}
#order_review_heading{margin-top:32px}
.woocommerce-checkout #payment{background:var(--s1);border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--line);padding:clamp(16px,1.6vw,24px)}
.woocommerce-checkout #payment ul.payment_methods{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:10px}
.woocommerce-checkout #payment ul.payment_methods li{padding:12px 18px;border-radius:16px;background:var(--bg);box-shadow:inset 0 0 0 1.5px var(--line)}
.woocommerce-checkout #payment .payment_box{margin:10px 0 0;padding:0;font-size:14px;color:var(--mut)}
.woocommerce-checkout #payment #place_order{width:100%;min-height:58px}
.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-wrapper{font-size:13px;color:var(--mut)}
.woocommerce-checkout-review-order-table{margin-bottom:24px}
/* Blocks cart/checkout: inherit tokens */
.wc-block-components-sidebar-layout .wc-block-components-sidebar{background:var(--s1);border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--line);padding:16px}
.wc-block-components-product-name{font-weight:600}
.wc-block-components-text-input input,.wc-block-components-select .components-custom-select-control__button{background:var(--bg)!important;border-color:var(--line2)!important;color:var(--tx)!important;border-radius:14px!important}
.wc-block-components-radio-control__option,.wc-block-components-checkbox{color:var(--tx)}
/* Account */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.woocommerce-MyAccount-navigation a{display:block;padding:10px 14px;border-radius:10px;color:var(--mut)}
.woocommerce-MyAccount-navigation .is-active a,.woocommerce-MyAccount-navigation a:hover{background:var(--s2);color:var(--tx)}
.woocommerce-MyAccount-content{min-width:0}
.woocommerce-MyAccount-content a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:760px){.woocommerce-account .woocommerce{grid-template-columns:1fr}.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;float:none}}
.woocommerce-form-login,.woocommerce-form-register{max-width:520px;background:var(--s1);border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--line);padding:clamp(20px,2vw,32px)}
.u-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:24px}
.woocommerce-order-received .woocommerce-order{display:flex;flex-direction:column;gap:24px}
.woocommerce-thankyou-order-received{font:600 clamp(24px,2vw,36px)/1.1 var(--f-disp);letter-spacing:-.03em}
.woocommerce-order-overview{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.woocommerce-order-overview li{padding:12px 16px;border-radius:14px;background:var(--s1);box-shadow:inset 0 0 0 1px var(--line);font-size:14px;color:var(--mut)}
.woocommerce-order-overview li strong{display:block;color:var(--tx);font-family:var(--f-mono)}
.woocommerce-store-notice{position:relative;background:var(--acc);color:var(--on-acc);text-align:center;padding:10px 16px;font-weight:600}

/* WooCommerce blocks: dark inputs/selects */
.wc-block-components-combobox .components-combobox-control__input,.wc-block-components-form .wc-block-components-text-input input,.wc-block-components-country-input input,.wc-block-components-state-input input,.wc-block-components-combobox-control input,.wc-block-components-select select,.wc-block-components-combobox .components-form-token-field__input-container{background:var(--bg)!important;color:var(--tx)!important;border-color:var(--line2)!important;border-radius:14px!important}
.wc-block-components-combobox{--wc-form-color-background:var(--bg);--wc-form-color-text:var(--tx);--wc-form-border-color:var(--line2)}
.wc-block-components-form .wc-block-components-text-input label,.wc-block-components-combobox label{color:var(--mut)!important}
.wc-block-components-checkout-step__title,.wc-block-components-title{color:var(--tx)}
.wc-block-components-order-summary-item__description,.wc-block-components-totals-item{color:var(--tx)}
.wc-block-components-radio-control__option{border-color:var(--line)!important}
.wc-block-cart__submit-container{position:static!important}
.wc-block-components-button.wc-block-cart__submit-button{width:100%}
.wc-block-components-notice-banner{background:var(--s1)!important;color:var(--tx)!important}
.wc-block-components-product-metadata__description,.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{color:var(--tx)}
.wc-block-components-sidebar-layout .wc-block-components-main{padding-right:clamp(16px,2vw,40px)}

/* ===== UX layer: modals, drawer, quick view, palette, scan modal, PSA, buy bar ===== */
html.fh-lock{overflow:hidden}
.fh-modal-top{align-items:flex-start;padding-top:clamp(40px,10vh,120px)}
.fh-modal-wide .fh-modal-box{width:min(100%,980px)}
@media (max-width:720px){.fh-modal{align-items:flex-end;padding:0}.fh-modal-box{width:100%;max-height:92vh;overflow:auto;border-radius:clamp(18px,1.6vw,28px) clamp(18px,1.6vw,28px) 0 0}.fh-modal-top{align-items:flex-start;padding:12px}.fh-modal-top .fh-modal-box{border-radius:clamp(18px,1.6vw,28px)}}

/* Drawer (mini cart) */
.fh-drawer{position:fixed;inset:0;z-index:72;display:flex;justify-content:flex-end;background:rgba(0,0,0,.5);backdrop-filter:blur(6px)}
.fh-drawer[hidden]{display:none!important}
.fh-drawer-panel{width:min(100%,460px);height:100%;display:flex;flex-direction:column;border-radius:0;padding:0;background:var(--bg)}
.fh-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:clamp(16px,1.6vw,24px) clamp(18px,2vw,28px);border-bottom:1px solid var(--line)}
.fh-drawer-body{flex:1;overflow:auto;padding:clamp(14px,1.4vw,22px) clamp(18px,2vw,28px);display:flex;flex-direction:column}
.mc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.mc-item{display:grid;grid-template-columns:76px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);transition:opacity .2s}
.mc-item.busy{opacity:.5;pointer-events:none}
.mc-thumb{width:76px;aspect-ratio:1;border-radius:14px;background:radial-gradient(60% 60% at 50% 60%,color-mix(in oklab,var(--c1) 35%,transparent),transparent 70%),var(--s1);display:flex;align-items:center;justify-content:center;padding:10%;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}
.mc-thumb>*{max-width:100%;max-height:100%}
.mc-thumb .fh-photo{width:100%;height:100%;object-fit:contain}
.mc-text{display:flex;flex-direction:column;gap:4px;min-width:0}
.mc-name{font-weight:600;text-decoration:none;color:var(--tx);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}
.mc-qty{display:inline-flex;align-items:center;gap:2px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--line2);padding:2px}
.mc-qty button{width:30px;height:30px;border:0;border-radius:999px;background:transparent;color:var(--tx);cursor:pointer;font-size:16px}
.mc-qty button:hover{background:var(--s2)}
.mc-qty span{min-width:24px;text-align:center;font-size:14px}
.mc-remove{width:36px;height:36px;color:var(--mut)}
.mc-empty{margin:auto;text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center;padding:40px 0}
.mc-ship{margin-top:16px;display:flex;flex-direction:column;gap:8px;font-size:13px}
.mc-ship-bar{height:6px;border-radius:99px;background:var(--line);overflow:hidden}
.mc-ship-bar i{display:block;height:100%;background:var(--acc);border-radius:99px;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.mc-foot{margin-top:auto;padding-top:18px;display:flex;flex-direction:column;gap:10px}
.mc-total{display:flex;justify-content:space-between;align-items:baseline;font-size:15px;padding-bottom:8px}
.mc-total strong{font-size:clamp(20px,1.4vw,24px)}

/* Product cards: quick view + PSA chip */
.qv-btn{position:absolute;left:50%;bottom:14px;transform:translate(-50%,10px);z-index:3;display:inline-flex;align-items:center;gap:8px;padding:0 14px;height:38px;border:0;border-radius:999px;background:var(--glass);backdrop-filter:blur(10px);color:var(--tx);font:600 13px/1 var(--f-body);box-shadow:0 10px 24px -12px var(--shadow),inset 0 0 0 1px var(--line);opacity:0;cursor:pointer;transition:opacity .3s,transform .4s cubic-bezier(.2,.8,.2,1)}
.pcard{position:relative}
.pcard:hover .qv-btn,.pcard:focus-within .qv-btn{opacity:1;transform:translate(-50%,0)}
@media (hover:none){.qv-btn{display:none}}
.psa-chip{position:absolute;top:14px;right:14px;z-index:2;padding:6px 10px;border-radius:999px;font:700 11px/1 var(--f-mono);letter-spacing:.06em;background:var(--acc);color:var(--on-acc)}

/* Quick view modal */
.qv{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(18px,2.4vw,40px);align-items:start}
@media (max-width:720px){.qv{grid-template-columns:1fr}}
.qv-stage{position:relative;aspect-ratio:1;border-radius:var(--r);background:radial-gradient(55% 50% at 50% 62%,color-mix(in oklab,var(--c1,#888) 30%,transparent),transparent 72%),var(--s2);display:flex;align-items:center;justify-content:center;padding:10%;overflow:hidden}
.qv-stage>*:last-child{max-width:100%;max-height:100%}
.qv-stage .fh-photo{width:100%;height:100%;object-fit:contain}
.qv-skel{width:60%;aspect-ratio:5/7;border-radius:12px;background:linear-gradient(100deg,var(--s1) 30%,var(--line2) 50%,var(--s1) 70%);background-size:200% 100%;animation:skel 1.2s linear infinite}
@keyframes skel{to{background-position:-200% 0}}
.qv-text{display:flex;flex-direction:column;gap:12px;padding-right:36px}
.qv-title{font-size:clamp(22px,1.8vw,32px)}
.qv-price{font-size:clamp(20px,1.5vw,26px);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.qv-price del{color:var(--mut);font-size:.7em}
.qv-facts{display:flex;flex-wrap:wrap;gap:6px}
.qv-fact{padding:6px 10px;border-radius:999px;font-size:12px;box-shadow:inset 0 0 0 1px var(--line2);color:var(--mut)}
.qv-short{color:var(--mut);font-size:15px}
.qv-short p{margin:0}
.qv-contents{margin:0;padding:0 0 0 18px;color:var(--mut);font-size:14px;columns:2;gap:16px}
.qv-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:6px}
.qv-actions .addbtn{width:56px;height:56px}

/* Command palette */
.palette{width:min(100%,680px);padding:0;overflow:hidden}
.palette-input{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
.palette-input input{flex:1;border:0;background:transparent;color:var(--tx);font:500 18px/1.2 var(--f-body);outline:0;min-width:0}
.palette-input input::-webkit-search-cancel-button{display:none}
kbd{font:600 11px/1 var(--f-mono);padding:5px 7px;border-radius:6px;background:var(--s2);color:var(--mut);box-shadow:inset 0 0 0 1px var(--line2)}
.palette-body{max-height:min(60vh,520px);overflow:auto;padding:10px;transition:opacity .2s}
.palette-body.busy{opacity:.6}
.pal-h{margin:12px 10px 6px;font:600 11px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase}
.pal-item{display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:14px;text-decoration:none;color:var(--tx);transition:background-color .15s}
.pal-item:hover,.pal-item.on{background:var(--s2)}
.pal-art{width:44px;height:44px;flex:none;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:6px;background:radial-gradient(60% 60% at 50% 60%,color-mix(in oklab,var(--c1,#888) 40%,transparent),transparent 70%),var(--s1);overflow:hidden}
.pal-art>*{max-width:100%;max-height:100%}
.pal-t{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0;font-size:15px}
.pal-t .mut{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pal-empty{padding:30px;text-align:center}
.palette-hint{padding:10px}
.palette-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin-top:8px}
.pal-act{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;border:0;background:var(--s2);color:var(--tx);font:500 14px/1.2 var(--f-body);text-decoration:none;cursor:pointer;text-align:left;transition:box-shadow .2s}
.pal-act:hover{box-shadow:inset 0 0 0 1.5px var(--line2)}
.palette-foot{display:flex;gap:18px;padding:12px 20px;border-top:1px solid var(--line);font-size:12px}
.palette-foot kbd{margin-right:3px}
@media (max-width:720px){.palette-foot{display:none}}

/* Scan modal */
.scanm{gap:10px}
.scanm-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:180px;border-radius:var(--r);border:1.5px dashed var(--line2);color:var(--mut);cursor:pointer;transition:border-color .2s,background-color .2s,color .2s;margin-top:8px}
.scanm-drop:hover,.scanm-drop.drag{border-color:var(--acc);color:var(--tx);background:color-mix(in oklab,var(--acc) 8%,transparent)}
.scanm-drop.busy{opacity:.5;pointer-events:none}

/* PSA panel */
.psa{border-radius:var(--r);padding:clamp(18px,1.8vw,28px);display:flex;flex-direction:column;gap:16px;scroll-margin-top:120px}
.psa-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.psa-logo{width:44px;height:44px;border-radius:12px;background:var(--acc);color:var(--on-acc);display:inline-flex;align-items:center;justify-content:center;flex:none}
.psa-title{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.psa-title .h3{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.psa-grade-pill{font:700 12px/1 var(--f-mono);padding:6px 10px;border-radius:999px;background:var(--tx);color:var(--bg)}
.btn-sm{min-height:40px;padding-inline:16px;font-size:13px}
.psa-locked{position:relative;border-radius:16px;overflow:hidden;background:var(--s2);min-height:220px;display:flex;align-items:center;justify-content:center}
.psa-blur{position:absolute;inset:0;padding:18px;display:flex;flex-direction:column;gap:12px;filter:blur(7px);opacity:.6;user-select:none}
.psa-row{display:grid;grid-template-columns:1fr 1fr 1fr;padding:12px 14px;border-radius:10px;background:var(--s1)}
.psa-lock-msg{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:24px;max-width:420px}
.psa-lock-msg p{margin:0;font-size:15px}
.psa-skel{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.psa-skel i{height:62px;border-radius:12px;background:linear-gradient(100deg,var(--s2) 30%,var(--line2) 50%,var(--s2) 70%);background-size:200% 100%;animation:skel 1.2s linear infinite}
.psa-body{display:flex;flex-direction:column;gap:14px}
.psa-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}
.psa-fact{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:12px;background:var(--s2);font-size:13px}
.psa-fact strong{font-size:clamp(18px,1.3vw,22px);font-family:var(--f-disp);letter-spacing:-.02em}
.psa-ident{margin:0;font-size:13px}
.psa-table{width:100%;border-collapse:collapse;font-size:14px}
.psa-table th{text-align:left;font:600 11px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);padding:8px 10px;border-bottom:1px solid var(--line)}
.psa-table td{padding:10px;border-bottom:1px solid var(--line)}
.psa-table td:nth-child(2),.psa-table th:nth-child(2){text-align:right}
.psa-table td:last-child,.psa-table th:last-child{text-align:right}
.psa-table tr.mine td{background:color-mix(in oklab,var(--acc) 12%,transparent)}
.psa-table tr.mine td:first-child{border-radius:10px 0 0 10px}.psa-table tr.mine td:last-child{border-radius:0 10px 10px 0}
.psa-mine{font:600 10px/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;padding:4px 7px;border-radius:999px;background:var(--acc);color:var(--on-acc);margin-left:6px;vertical-align:middle}
.psa-foot{margin:0;font-size:12px}

/* Sticky buy bar + back to top */
.buybar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--glass);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:10px 0;padding-bottom:calc(10px + env(safe-area-inset-bottom))}
.buybar[hidden]{display:none!important}
.buybar-in{display:flex;align-items:center;gap:16px}
.buybar-name{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.buybar-price{font-size:16px}
.buybar .btn{min-height:44px;padding-inline:20px}
.totop{position:fixed;right:clamp(14px,2vw,32px);bottom:clamp(14px,2vw,32px);z-index:59;background:var(--s1);box-shadow:0 10px 30px -12px var(--shadow),inset 0 0 0 1px var(--line);transform:rotate(-90deg)}
.totop[hidden]{display:none!important}
body.single-product .totop{bottom:calc(clamp(14px,2vw,32px) + 70px)}

/* Mobile menu overlay ---------------------------------------------------- */
.mnav{position:fixed;inset:0;z-index:75;background:var(--bg)}
.mnav[hidden]{display:none!important}
.mnav-panel{height:100%;display:flex;flex-direction:column;padding:0 clamp(18px,5vw,32px) calc(20px + env(safe-area-inset-bottom));overflow:auto}
.mnav-head{display:flex;align-items:center;justify-content:space-between;min-height:clamp(68px,4.6vw,84px);padding-block:10px}
.mnav-close{width:48px;height:48px;background:var(--s1)}
.mnav-links{display:flex;flex-direction:column;padding:clamp(10px,3vh,28px) 0;border-top:1px solid var(--line)}
.mnav-links a{display:flex;align-items:center;justify-content:space-between;padding:clamp(12px,2.2vh,18px) 0;font-family:var(--f-disp);font-weight:800;font-size:clamp(28px,7.5vw,40px);letter-spacing:-.03em;line-height:1;color:var(--tx);text-decoration:none;opacity:1;border-bottom:1px solid var(--line)}
.mnav-links a::after{content:'→';font:600 .55em var(--f-mono);color:var(--mut);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.mnav-links a:active::after,.mnav-links a:hover::after{transform:translateX(6px);color:var(--acc)}
.mnav-links a.on{color:var(--acc)}
.mnav-links .navlink::after{position:static;background:none;transform:none;height:auto}
.mnav-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:clamp(14px,3vh,24px)}
.mnav-act{position:relative;display:flex;align-items:center;gap:10px;padding:14px 14px;border-radius:14px;border:0;background:var(--s1);color:var(--tx);font:600 14px/1.2 var(--f-body);text-decoration:none;cursor:pointer;box-shadow:inset 0 0 0 1px var(--line);text-align:left}
.mnav-act svg{flex:none;color:var(--mut)}
.mnav-n{position:static;margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--acc);color:var(--on-acc);font:700 11px/22px var(--f-mono);text-align:center}
.mnav-n[data-count="0"]{display:none}
.mnav-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:clamp(18px,4vh,32px)}
.mnav-foot .fh-lang{margin:0}
.mnav-foot .fh-lang a{padding:9px 14px;font-size:13px}
.mnav-theme{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:999px;border:0;background:var(--s1);color:var(--tx);font:600 13px var(--f-body);cursor:pointer;box-shadow:inset 0 0 0 1.5px var(--line2)}
.mnav-note{margin:14px 0 0;font-size:12px;text-align:center}
html.mnav-open .hdr{visibility:hidden}
@media (min-width:901px){.mnav{display:none!important}}

/* Horizontal scrollers never show a scrollbar; vertical overflow stays visible so entrance animations can't trigger one. */
.hdr-nav,.pills{overflow-y:visible;scrollbar-width:none;-ms-overflow-style:none}
.hdr-nav::-webkit-scrollbar,.pills::-webkit-scrollbar,.htabs::-webkit-scrollbar{display:none}
@media (max-width:900px){.htabs{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;padding-top:2px}}
.shop-title-wrap{display:flex;flex-direction:column;gap:10px;min-width:0}
.set-logo{height:clamp(44px,5vw,88px);width:auto;max-width:min(60vw,420px);object-fit:contain;object-position:left center;filter:drop-shadow(0 8px 22px var(--shadow))}
