[hidden]{display:none!important}
:root{
  --ink:#0b0907; --wood:#2a1a0e; --wood2:#3d2614; --walnut:#1a110a;
  --gold:#d9b66a; --gold-hi:#f1d89a; --brass:#b8913f; --parch:#f3e6c4;
  --text:#efe4cf; --muted:#c9b99a;
  --emerald:#1f7a5a; --garnet:#a3263f; --sapphire:#2a55a8; --amethyst:#7d4bb0;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif; --sans:Jost,system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:10px; --wrap:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{margin:0;background:var(--ink);color:var(--text);font:17px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:var(--gold-hi)}
a:hover{color:#fff}
:focus-visible{outline:3px solid var(--gold-hi);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.1;margin:.2em 0 .4em;color:#fbf1db}
h1{font-size:clamp(2.3rem,6vw,4rem)} h2{font-size:clamp(1.6rem,3.6vw,2.3rem)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}.narrow{max-width:760px}.center{text-align:center}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--gold);color:#000;padding:8px 14px;border-radius:6px}.skip:focus{left:8px}
.draft-banner{position:relative;z-index:60;background:#5a1020;color:#fff;font-size:13px;text-align:center;padding:6px 10px;letter-spacing:.02em}
.eyebrow{font:600 12px/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0 0 .4em}
.lead{font-size:1.12rem;color:var(--muted);max-width:62ch}
.micro{font-size:.86rem;color:var(--muted)}
.gold{color:var(--gold-hi);background:linear-gradient(180deg,#f7e4ae,#c99a45);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.placeholder{background:rgba(217,182,106,.14);border:1px dashed var(--brass);padding:0 4px;border-radius:4px;color:var(--gold-hi)}
.tag-sample{display:inline-block;font:600 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;background:#f3e6c4;color:#4a0f1c;padding:4px 6px;border-radius:3px;vertical-align:middle}
.sample-note{margin-top:1.4rem}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:48px;padding:12px 22px;border-radius:999px;font:600 15px/1 var(--sans);letter-spacing:.04em;text-decoration:none;cursor:pointer;border:1px solid var(--gold);transition:transform .2s,box-shadow .2s,background .2s}
.btn-gold{background:linear-gradient(180deg,#f1d89a,#c4953f);color:#1b1206;border-color:#f1d89a;box-shadow:0 0 0 rgba(241,216,154,0)}
.btn-gold:hover{color:#000;transform:translateY(-1px);box-shadow:0 6px 30px rgba(241,200,110,.35)}
.btn-ghost{background:rgba(0,0,0,.35);color:var(--gold-hi)}
.btn-ghost:hover{background:rgba(217,182,106,.12);color:#fff}
.btn[disabled]{opacity:.75;cursor:not-allowed}
.btn-lg{min-height:56px;padding:16px 30px;font-size:16px}.btn .small{font-weight:400;opacity:.8;font-size:.85em}
.link-btn{background:none;border:0;color:var(--gold-hi);text-decoration:underline;cursor:pointer;font:inherit;padding:8px;min-height:44px}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:44px;min-height:44px;border-radius:999px;background:transparent;border:1px solid transparent;color:var(--gold-hi);cursor:pointer;text-decoration:none;position:relative;font:inherit}
.icon-btn:hover{border-color:rgba(217,182,106,.4)}
.icon-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6}

/* ---------- Entrance ---------- */
.entrance{position:relative;min-height:calc(100svh - 30px);display:grid;place-items:center;overflow:hidden;padding:40px 20px 60px;text-align:center}
.entrance-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,rgba(255,190,90,.18),transparent 60%),linear-gradient(180deg,#120c08,#060403);}
.entrance-bg::after{content:"";position:absolute;inset:auto 0 0 0;height:30%;background:repeating-linear-gradient(90deg,#1a1008 0 120px,#22160c 120px 240px);opacity:.6;mask:linear-gradient(transparent,#000)}
.door-frame{position:relative;width:min(360px,78vw);margin:0 auto 26px;z-index:1}
.shop-sign{display:flex;flex-direction:column;align-items:center;background:linear-gradient(180deg,#1b120a,#0e0905);border:2px solid var(--brass);border-radius:8px;padding:10px 14px;margin:0 auto 14px;box-shadow:0 0 40px rgba(217,182,106,.25),inset 0 0 0 4px #0b0705,inset 0 0 0 5px rgba(217,182,106,.5)}
.sign-name{font:700 clamp(26px,6vw,36px)/1 var(--serif);letter-spacing:.06em;text-transform:uppercase;color:var(--gold-hi);text-shadow:0 0 18px rgba(241,200,110,.45)}
.sign-small{font:500 10px/1.8 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.door{position:relative;aspect-ratio:3/4.4;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:10px;background:linear-gradient(180deg,#3d2614,#21140a);border-radius:160px 160px 6px 6px;box-shadow:0 30px 80px rgba(0,0,0,.7),inset 0 0 0 3px var(--brass);perspective:900px}
.door::before{content:"";position:absolute;inset:10px;border-radius:150px 150px 4px 4px;background:url(assets/shop-interior-light-sm.jpg) center/cover;filter:brightness(1.1) saturate(1.1)}
.door-left,.door-right{position:relative;background:linear-gradient(90deg,#4a2d16,#2b190b);transition:transform 1.2s cubic-bezier(.6,.05,.3,1);display:flex;flex-direction:column;gap:8px;padding:12px;box-shadow:inset 0 0 0 2px rgba(217,182,106,.35)}
.door-left{border-radius:150px 0 0 4px;transform-origin:left center}.door-right{border-radius:0 150px 4px 0;transform-origin:right center}
.door-glass{flex:1.4;border-radius:120px 120px 4px 4px;background:linear-gradient(160deg,rgba(255,215,140,.35),rgba(40,90,70,.25) 50%,rgba(10,10,20,.6));box-shadow:inset 0 0 0 2px var(--brass)}
.door-left .door-glass{border-radius:120px 6px 4px 4px}.door-right .door-glass{border-radius:6px 120px 4px 4px}
.door-panel{flex:1;border-radius:4px;box-shadow:inset 0 0 0 2px rgba(217,182,106,.4),inset 0 0 20px rgba(0,0,0,.5)}
.knob{position:absolute;right:8px;top:58%;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ffe9b0,#8a6420)}
.open-tag{position:absolute;left:50%;top:36%;transform:translateX(-50%) rotate(-3deg);background:var(--parch);color:#4a0f1c;font:700 14px/1 var(--serif);letter-spacing:.2em;text-transform:uppercase;padding:6px 12px;border-radius:3px;box-shadow:0 4px 12px rgba(0,0,0,.5);animation:sway 4s ease-in-out infinite}
.open-tag::before{content:"";position:absolute;left:50%;top:-16px;width:30px;height:16px;transform:translateX(-50%);border:1px solid var(--brass);border-bottom:0;border-radius:15px 15px 0 0}
@keyframes sway{50%{transform:translateX(-50%) rotate(3deg)}}
.is-opening .door-left{transform:rotateY(-80deg)}.is-opening .door-right{transform:rotateY(80deg)}.is-opening .open-tag{opacity:0}
.is-opening .entrance-copy{opacity:0;transition:opacity .6s}
.is-opening .door-frame{transform:scale(1.6);transition:transform 1.3s ease-in}
.entrance-copy{position:relative;z-index:1;max-width:560px;margin:0 auto}
.entrance-copy h1{font-size:clamp(2rem,6vw,3.2rem)}
.entrance-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:18px 0 10px}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:40;background:rgba(11,9,7,.88);backdrop-filter:blur(8px);border-bottom:1px solid rgba(217,182,106,.25)}
.header-row{max-width:var(--wrap);margin:0 auto;display:flex;align-items:center;gap:16px;padding:8px 16px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--gold-hi);font:600 22px/1 var(--serif);letter-spacing:.04em;margin-right:auto}
.brand img{border-radius:50%}.brand em,.brand-foot em{font-style:italic;color:#fff}
.main-nav{display:flex;gap:22px}.main-nav a{color:var(--text);text-decoration:none;font-size:15px;letter-spacing:.06em;padding:10px 0;border-bottom:2px solid transparent}
.main-nav a:hover,.main-nav a[aria-current]{color:var(--gold-hi);border-color:var(--gold)}
.header-tools{display:flex;gap:2px;align-items:center}
.count{position:absolute;top:2px;right:0;background:var(--garnet);color:#fff;font-size:11px;min-width:18px;height:18px;border-radius:9px;display:grid;place-items:center;padding:0 4px}
.music-btn{border:1px solid rgba(217,182,106,.5);padding:0 12px;font-size:14px}.music-btn[aria-pressed=true]{background:rgba(217,182,106,.18)}
.music-btn[aria-pressed=true] span:first-child{animation:pulse 1.6s ease-in-out infinite}
.music-btn.hint{box-shadow:0 0 0 2px rgba(217,182,106,.25)}
.music-state{font-size:12px;letter-spacing:.1em;text-transform:uppercase}
@keyframes pulse{50%{opacity:.4}}
.mobile-nav{display:none}
@media (max-width:860px){.main-nav{display:none}.mobile-nav{display:flex;overflow-x:auto;gap:4px;padding:0 10px 8px;scrollbar-width:none}.mobile-nav a{flex:0 0 auto;color:var(--text);text-decoration:none;font-size:14px;padding:8px 14px;min-height:40px;border:1px solid rgba(217,182,106,.3);border-radius:999px}.mobile-nav a[aria-current]{background:rgba(217,182,106,.18);color:var(--gold-hi)}.brand span{font-size:19px}}
@media (max-width:420px){.brand span{display:none}}

#motes{position:fixed;inset:0;pointer-events:none;z-index:30;mix-blend-mode:screen}
main{position:relative;z-index:1;min-height:60vh;outline:none}
.page{padding:40px 20px 60px}

/* ---------- Floor ---------- */
.floor{position:relative;overflow:hidden;padding:56px 0 40px}
.floor-scene{position:absolute;inset:0;z-index:-1;overflow:hidden}
.layer{position:absolute;inset:-6% 0 auto 0;height:112%}
.l-back{background:url(assets/shop-interior-light.jpg) center top/cover;filter:brightness(.55) saturate(1.05);transform:scale(1.08)}
.l-glow{background:radial-gradient(ellipse at 30% 20%,rgba(255,180,80,.22),transparent 50%),radial-gradient(ellipse at 75% 40%,rgba(255,170,70,.15),transparent 45%),linear-gradient(180deg,rgba(11,9,7,.25),rgba(11,9,7,.85) 60%,var(--ink));animation:flicker 5s infinite}
@keyframes flicker{0%,100%{opacity:1}45%{opacity:.88}50%{opacity:.97}70%{opacity:.9}}
.floor-inner>h1{text-shadow:0 2px 30px rgba(0,0,0,.8)}
.cabinets{list-style:none;padding:0;margin:30px 0 50px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cabinet{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:linear-gradient(180deg,#3a2413,#1c1109);border-radius:14px 14px 6px 6px;padding:12px 12px 0;box-shadow:0 24px 50px rgba(0,0,0,.6),inset 0 0 0 2px rgba(217,182,106,.45);transition:transform .35s,box-shadow .35s}
.cabinet:hover,.cabinet:focus-visible{transform:translateY(-6px);box-shadow:0 30px 60px rgba(0,0,0,.7),0 0 40px var(--glow),inset 0 0 0 2px var(--gold)}
.cab-emerald{--glow:rgba(31,122,90,.45)}.cab-garnet{--glow:rgba(163,38,63,.45)}.cab-sapphire{--glow:rgba(42,85,168,.5)}
.cab-crown{height:16px;margin:-4px 20px 8px;border-radius:30px 30px 0 0;background:linear-gradient(90deg,#7a5a22,#e3c27a,#7a5a22)}
.cab-glass{display:flex;justify-content:center;align-items:flex-end;gap:6px;min-height:150px;padding:16px 8px;border-radius:8px;background:linear-gradient(180deg,rgba(255,220,150,.12),rgba(0,0,0,.4)),radial-gradient(ellipse at 50% 100%,var(--glow),transparent 70%);box-shadow:inset 0 0 0 2px var(--brass),inset 0 -10px 0 #2a190c}
.cab-plate{display:flex;flex-direction:column;align-items:center;margin:12px -12px 0;padding:12px;background:linear-gradient(180deg,#2a190c,#160d06);border-top:1px solid rgba(217,182,106,.35)}
.cab-name{font:700 1.6rem/1 var(--serif);color:var(--gold-hi);letter-spacing:.06em}
.cab-sub{font-size:.85rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
@media (max-width:760px){.cabinets{grid-template-columns:1fr;gap:16px}.cab-glass{min-height:110px}}
.counter{display:grid;grid-template-columns:200px 1fr;gap:28px;align-items:center;padding:26px;margin:0 0 50px;border-radius:14px;background:linear-gradient(180deg,rgba(60,38,20,.85),rgba(26,17,10,.95));box-shadow:inset 0 0 0 1px rgba(217,182,106,.4),0 20px 50px rgba(0,0,0,.5)}
.counter-art{position:relative;display:grid;place-items:center;padding:10px;border-radius:10px;background:radial-gradient(circle at 50% 70%,rgba(255,190,90,.3),transparent 65%)}
.candle{position:absolute;right:10px;bottom:10px;width:12px;height:40px;background:#f0e3c0;border-radius:2px}
.candle::before{content:"";position:absolute;left:50%;top:-16px;width:10px;height:16px;transform:translateX(-50%);background:radial-gradient(ellipse at 50% 70%,#fff6c8,#ffb347 50%,transparent 70%);border-radius:50% 50% 50% 50%/60% 60% 40% 40%;animation:flame 1.4s ease-in-out infinite alternate;filter:drop-shadow(0 0 10px #ffb347)}
@keyframes flame{to{transform:translateX(-50%) scale(1.1,.9) rotate(3deg)}}
.cod-name{font:600 1.3rem/1.3 var(--serif);color:var(--gold-hi)}
@media (max-width:640px){.counter{grid-template-columns:1fr;text-align:center}.counter-art{max-width:200px;margin:0 auto}}
.section-title{margin-top:10px}

/* Product cards */
.pgrid{list-style:none;padding:0;margin:10px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}
.pcard-link{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:var(--r);text-decoration:none;color:var(--text);background:linear-gradient(180deg,#1d130b,#120c07);box-shadow:inset 0 0 0 1px rgba(217,182,106,.28);height:100%;transition:transform .25s,box-shadow .25s}
.pcard-link:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px var(--gold),0 14px 30px rgba(0,0,0,.5)}
.pcard-art{display:grid;place-items:center;padding:10px;border-radius:8px;background:radial-gradient(circle at 50% 80%,rgba(255,190,90,.18),transparent 70%)}
.pcard-name{font:600 1.15rem/1.2 var(--serif);color:#fbf1db}.pcard-price{color:var(--gold-hi);font-weight:500}
.vessel{filter:drop-shadow(0 10px 14px rgba(0,0,0,.6))}

/* ---------- Category: open cabinet with drawers ---------- */
.cat{padding:40px 0 60px;background:radial-gradient(ellipse at 50% 0,var(--tint),transparent 60%)}
.cat-emerald{--tint:rgba(31,122,90,.28)}.cat-garnet{--tint:rgba(163,38,63,.28)}.cat-sapphire{--tint:rgba(42,85,168,.3)}.cat-amethyst{--tint:rgba(125,75,176,.3)}
.crumbs{font-size:14px;color:var(--muted);margin-bottom:10px}.crumbs a{color:var(--gold)}
.cabinet-open{margin-top:24px;padding:18px;border-radius:16px 16px 8px 8px;background:linear-gradient(180deg,#3a2413,#1a1009);box-shadow:inset 0 0 0 3px var(--brass),0 30px 60px rgba(0,0,0,.6)}
.drawers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.drawer{position:relative;display:grid;grid-template-rows:auto 0fr auto;text-decoration:none;color:inherit;border-radius:8px;background:#120b06;box-shadow:inset 0 0 0 1px rgba(217,182,106,.35);overflow:hidden;transition:grid-template-rows .45s ease,box-shadow .3s}
.drawer-front{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;background:linear-gradient(180deg,#5a3a1c,#3a2412);box-shadow:inset 0 -3px 0 rgba(0,0,0,.4),inset 0 0 0 1px rgba(217,182,106,.4)}
.pull{width:40px;height:10px;border-radius:6px;background:linear-gradient(90deg,#7a5a22,#f1d89a,#7a5a22);box-shadow:0 2px 3px rgba(0,0,0,.6)}
.drawer-label{font:700 13px/1 var(--serif);letter-spacing:.14em;text-transform:uppercase;color:#2a1d0e;background:var(--parch);padding:6px 10px;border-radius:2px;box-shadow:inset 0 0 0 1px var(--brass)}
.drawer-inside{display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 70%,var(--tint,rgba(255,190,90,.2)),transparent 70%),#0e0805}
.drawer-inside svg{margin:14px 0}
.drawer-meta{display:flex;flex-direction:column;padding:12px 16px 14px;gap:2px}
.drawer:hover,.drawer:focus-visible{grid-template-rows:auto 1fr auto;box-shadow:inset 0 0 0 1px var(--gold),0 0 30px rgba(241,200,110,.2)}
@media (hover:none),(prefers-reduced-motion:reduce){.drawer{grid-template-rows:auto 1fr auto}}

/* ---------- Product ---------- */
.product{padding:36px 0 60px}
.p-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.p-art{display:flex;flex-direction:column;align-items:center;padding:30px;border-radius:16px;background:radial-gradient(circle at 50% 70%,var(--tint),transparent 70%),linear-gradient(180deg,#24170c,#110a05);box-shadow:inset 0 0 0 2px var(--brass);position:sticky;top:90px}
.p-price{font:600 2rem/1 var(--serif);color:var(--gold-hi);margin:0 0 .6em}
.opt{border:0;padding:0;margin:0 0 16px}.opt legend{font-weight:600;margin-bottom:6px;letter-spacing:.04em}
.chip{display:inline-block;margin:0 6px 6px 0}.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:inline-flex;align-items:center;min-width:48px;min-height:44px;justify-content:center;padding:0 14px;border-radius:8px;border:1px solid rgba(217,182,106,.45);cursor:pointer}
.chip input:checked+span{background:var(--gold);color:#1b1206;border-color:var(--gold-hi);font-weight:600}
.chip input:focus-visible+span{outline:3px solid var(--gold-hi);outline-offset:2px}
.buy-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin:8px 0 22px}
.qty{display:flex;flex-direction:column}.qty label{font-size:13px;color:var(--muted)}
input,textarea{font:inherit;color:var(--text);background:#140d07;border:1px solid rgba(217,182,106,.45);border-radius:8px;padding:12px 14px;min-height:48px}
input:focus,textarea:focus{border-color:var(--gold-hi)}
.qty input{width:80px}
details{border-top:1px solid rgba(217,182,106,.25);padding:12px 0}summary{cursor:pointer;font-weight:600;min-height:32px}
@media (max-width:820px){.p-grid{grid-template-columns:1fr;gap:20px}.p-art{position:static;padding:20px}.p-art svg{width:180px;height:auto}}

/* ---------- Cart / account / forms ---------- */
.lines{list-style:none;padding:0;margin:20px 0}
.line{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(217,182,106,.2)}
.line-info{display:flex;flex-direction:column;gap:2px}.line-info a{font:600 1.15rem var(--serif)}
.line-qty{display:flex;align-items:center;gap:8px}.line-qty input{width:72px}
.line-price{font-weight:600;color:var(--gold-hi)}
.totals{padding:20px;border-radius:12px;background:#140d07;box-shadow:inset 0 0 0 1px rgba(217,182,106,.35)}
.totals p:first-child,.totals p:has(.ship-amt){display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:1.2rem;margin-top:0}.totals .ship-amt{margin-left:auto;white-space:nowrap}
.panel{padding:22px;border-radius:12px;background:linear-gradient(180deg,#1d130b,#120c07);box-shadow:inset 0 0 0 1px rgba(217,182,106,.3);margin:18px 0}
.form{display:flex;flex-direction:column;gap:8px}.form label{font-weight:500}.form .btn{margin-top:10px;align-self:flex-start}
.acct-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:600px){.acct-grid{grid-template-columns:1fr}}
.search-page{display:flex;gap:10px;margin:16px 0}.search-page input{flex:1}
.policy p{max-width:66ch}.draft-flag{border-left:3px solid var(--garnet);padding-left:10px}

/* Signup + footer */
.signup{position:relative;z-index:1;padding:60px 0;background:radial-gradient(ellipse at 50% 0,rgba(125,75,176,.25),transparent 60%),#0e0906;border-top:1px solid rgba(217,182,106,.25)}
.signup-form{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:18px 0 8px}.signup-form input{flex:1 1 200px;max-width:280px}
.site-footer{position:relative;z-index:1;padding:40px 0 30px;background:#070504;border-top:1px solid rgba(217,182,106,.25)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}.footer-grid nav{display:flex;flex-direction:column}
.footer-grid nav a{color:var(--text);text-decoration:none;padding:6px 0}.footer-grid nav a:hover{color:var(--gold-hi)}
.foot-h{font:600 12px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 6px}
.brand-foot{font:600 26px var(--serif);color:var(--gold-hi);margin:0}.copy{margin-top:24px}
@media (max-width:700px){.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}

/* Dialogs + toast */
.dlg{width:min(560px,92vw);max-height:85vh;background:#140d07;color:var(--text);border:1px solid var(--brass);border-radius:14px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.8)}
.dlg::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(3px)}
.dlg-close-row{display:flex;justify-content:flex-end;margin:-10px -10px 0 0}
.dlg input[type=search]{width:100%}
.search-results{list-style:none;padding:0;margin:12px 0 0}.search-results a{display:flex;justify-content:space-between;padding:12px 6px;border-bottom:1px solid rgba(217,182,106,.2);text-decoration:none;color:var(--text)}
.search-results a:hover,.search-results a:focus-visible{color:var(--gold-hi);background:rgba(217,182,106,.08)}
.co-list code{color:var(--gold-hi)}
.toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%,120px);background:var(--parch);color:#2a1d0e;padding:12px 20px;border-radius:999px;font-weight:600;z-index:80;transition:transform .3s;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.toast.show{transform:translate(-50%,0)}

/* v1 fixes after first screenshots */
.toast{visibility:hidden;white-space:nowrap}.toast.show{visibility:visible}
.door-glass{background:linear-gradient(180deg,rgba(255,200,120,.18),rgba(0,0,0,.3)),url(assets/shop-interior-light-sm.jpg) center/cover!important;filter:brightness(1.15)}
.door-frame{width:min(340px,70vw,calc((100svh - 360px) * .62))}
.door-frame{min-width:200px}
@media (min-width:900px){
  .entrance{grid-template-columns:auto minmax(0,520px);gap:64px;justify-content:center;align-content:center;text-align:left}
  .door-frame{width:min(360px,calc((100svh - 190px) * .62));margin:0}
  .entrance-actions{justify-content:flex-start}
}
.l-back{filter:brightness(.7) saturate(1.1)}
.shop-sign{text-align:center}
@media (max-width:899px){.door-frame{width:min(300px,66vw,calc((100svh - 440px) * .62))}.entrance{padding-top:24px}.entrance-actions{margin-top:12px}}
.toast{pointer-events:none}
@media (max-width:860px){.toast{bottom:auto;top:120px;transform:translate(-50%,-200px)}.toast.show{transform:translate(-50%,0)}}
/* Almost Fiction logo (Filament web mix 4, Two Accents), every theme. Mark = full lockup height. */
.brand .af-logo,.brand-foot .af-logo{display:block;line-height:0;flex:0 0 auto}
.brand .af-logo img,.brand-foot .af-logo img{display:block;height:48px;width:auto;max-width:none;border:0!important;border-radius:0!important;box-shadow:none!important}
.brand-foot .af-logo img{height:56px}
@media (max-width:420px){.header-row .brand{min-width:0;flex:0 1 auto}.brand .af-logo{min-width:0;flex:0 1 auto}.brand .af-logo img{width:213px;max-width:100%;height:auto;max-height:44px}}
