
/* Immersaam design system. Mobile first. */
:root{
 /* Immersaam brand: deep navy + gold (default, dark) */
 --paper:#0a1020; --surface:#121a2e; --surface-2:#1a2440;
 --ink:#ece3d1; --ink-2:#a99e83; --line:rgba(211,162,76,.16);
 --accent:#d3a24c; --accent-ink:#e8c47d; --accent-soft:rgba(211,162,76,.13);
 --deep-blue:#162e4d; --sage:#8fb39c; --gold:#d3a24c; --gold-deep:#b8842f;
 --ok:#4ea87a; --err:#e0714f;
 --btn-ink:#0c1120;
 --shadow-s:0 1px 2px rgba(0,0,0,.45); --shadow-m:0 10px 30px rgba(0,0,0,.55); --shadow-l:0 24px 60px rgba(0,0,0,.65);
 --r-s:10px; --r-m:16px; --r-l:24px; --r-pill:999px;
 --maxw:1180px; --gut:clamp(16px,4vw,32px); --header-h:64px;
 --f-display:'Cinzel',Georgia,'Times New Roman',serif;
 --f-serif:'Fraunces',Georgia,'Times New Roman',serif;
 --f-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
[data-theme=light]{
 /* Warm parchment complement, same navy + gold accents */
 --paper:#f5efe1; --surface:#fffdf8; --surface-2:#efe6d3;
 --ink:#17223c; --ink-2:#5c5647; --line:rgba(20,32,58,.12);
 --accent:#b8842f; --accent-ink:#8f5f1c; --accent-soft:rgba(184,132,47,.13);
 --deep-blue:#162e4d; --gold:#b8842f; --gold-deep:#8f5f1c;
 --btn-ink:#fffdf8;
 --shadow-s:0 1px 2px rgba(20,32,58,.06),0 2px 8px rgba(20,32,58,.06);
 --shadow-m:0 6px 24px rgba(20,32,58,.10); --shadow-l:0 18px 48px rgba(20,32,58,.16);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px);-webkit-text-size-adjust:100%}
body{font-family:var(--f-sans);background:var(--paper);color:var(--ink);line-height:1.6;font-size:16px;
 min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-weight:600;line-height:1.14;color:var(--ink)}
h1,h2{font-family:var(--f-display);letter-spacing:.015em}
h3,h4{font-family:var(--f-sans);font-weight:700;letter-spacing:-.005em}
h1{font-size:clamp(2rem,7vw,3.6rem)} h2{font-size:clamp(1.6rem,5vw,2.5rem)} h3{font-size:clamp(1.15rem,3vw,1.4rem)}
p{color:var(--ink-2)} strong{color:var(--ink)}
.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}
.section{padding-block:clamp(48px,9vw,96px)}
.eyebrow{font-family:var(--f-sans);font-weight:600;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}
.lead{font-size:1.12rem;color:var(--ink-2);max-width:62ch}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}
::selection{background:var(--accent-soft);color:var(--ink)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:8px;z-index:200;transition:top .2s}
.skip:focus{top:12px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:0 22px;border-radius:var(--r-pill);
 font-family:var(--f-sans);font-weight:600;font-size:.98rem;cursor:pointer;border:1.5px solid transparent;transition:transform .15s,box-shadow .2s,background .2s,color .2s;text-align:center}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--accent);color:var(--btn-ink);font-weight:700;box-shadow:var(--shadow-s)}
.btn-primary:hover{background:var(--accent-ink);box-shadow:var(--shadow-m)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--ink);background:var(--surface)}
.btn-light{background:var(--surface);color:var(--ink);border-color:var(--line)}
.btn-light:hover{box-shadow:var(--shadow-m)}
.btn-block{width:100%}
.btn-lg{min-height:54px;font-size:1.05rem;padding:0 28px}

/* header */
.site-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--paper) 88%,transparent);
 backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.header-inner{height:var(--header-h);display:flex;align-items:center;gap:14px}
.brand{font-family:var(--f-display);font-weight:600;font-size:1.2rem;text-transform:uppercase;letter-spacing:.16em;color:var(--ink);margin-right:auto}
.brand span{color:var(--accent)}
.nav-desk{display:none;align-items:center;gap:6px}
.nav-desk a{padding:8px 12px;border-radius:8px;font-weight:500;color:var(--ink-2);min-height:40px;display:inline-flex;align-items:center}
.nav-desk a:hover,.nav-desk a.active{color:var(--ink);background:var(--surface-2)}
.h-actions{display:flex;align-items:center;gap:6px}
.icon-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:transparent;border:none;color:var(--ink);cursor:pointer}
.icon-btn:hover{background:var(--surface-2)}
.icon-btn svg{width:22px;height:22px}
.cart-link{position:relative}
.cart-count{position:absolute;top:2px;right:2px;background:var(--accent);color:#fff;font-size:.68rem;font-weight:700;min-width:18px;height:18px;
 border-radius:9px;display:none;align-items:center;justify-content:center;padding:0 4px;font-family:var(--f-sans)}
.cart-count.show{display:flex}
.lang-switch{position:relative}
.lang-btn{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 12px;border-radius:10px;background:transparent;border:none;color:var(--ink);font-weight:600;cursor:pointer;font-size:.9rem}
.lang-btn:hover{background:var(--surface-2)}
.lang-menu{position:absolute;right:0;top:52px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);
 box-shadow:var(--shadow-l);padding:6px;min-width:150px;display:none}
.lang-menu.open{display:block}
.lang-menu a{display:block;padding:10px 14px;border-radius:8px;font-weight:500}
.lang-menu a:hover,.lang-menu a[aria-current=true]{background:var(--surface-2)}
.burger{display:inline-flex}
@media(min-width:900px){.nav-desk{display:flex}.burger{display:none}}

/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:150;visibility:hidden}
.drawer.open{visibility:visible}
.drawer-bg{position:absolute;inset:0;background:rgba(20,15,10,.5);opacity:0;transition:opacity .25s}
.drawer.open .drawer-bg{opacity:1}
.drawer-panel{position:absolute;right:0;top:0;height:100%;width:min(86%,340px);background:var(--paper);
 box-shadow:var(--shadow-l);transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);padding:20px;display:flex;flex-direction:column;gap:6px}
.drawer.open .drawer-panel{transform:none}
.drawer-panel a{padding:14px 12px;border-radius:10px;font-size:1.1rem;font-weight:500;color:var(--ink)}
.drawer-panel a:hover{background:var(--surface-2)}
.drawer-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}

/* hero, always the dark navy + gold brand band */
.hero{position:relative;overflow:hidden;background:radial-gradient(130% 100% at 72% 18%,#17253f 0%,#0b1222 58%,#080d18 100%);border-bottom:1px solid var(--line)}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(40% 40% at 72% 40%,rgba(211,162,76,.16),transparent 70%);pointer-events:none}
.hero-grid{position:relative;z-index:1;display:grid;gap:clamp(24px,5vw,48px);grid-template-columns:1fr;align-items:center;padding-block:clamp(52px,11vw,116px)}
@media(min-width:900px){.hero-grid{grid-template-columns:1.05fr .95fr}}
.hero-inner{max-width:40rem}
.hero .eyebrow{color:var(--accent-ink);letter-spacing:.22em}
.hero h1{color:#f6efe0;margin:.34em 0 .38em;text-shadow:0 2px 30px rgba(0,0,0,.4)}
.hero p{color:rgba(236,227,209,.82);font-size:1.14rem;max-width:42ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero .btn-ghost{color:#f2e9d7;border-color:rgba(211,162,76,.5)}
.hero .btn-ghost:hover{background:rgba(211,162,76,.12);border-color:var(--accent)}
.hero-art{display:flex;justify-content:center}
.hero-art img{width:100%;max-width:min(400px,78vw);height:auto;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.brand-strip{position:relative;z-index:1;border-top:1px solid var(--line);background:rgba(211,162,76,.04)}
.brand-strip-inner{display:flex;align-items:center;justify-content:center;gap:clamp(16px,5vw,46px);padding:16px 0;flex-wrap:wrap}
.brand-strip .bi{color:var(--accent);display:inline-flex;transition:color .2s,transform .2s}
.brand-strip .bi:hover{color:var(--accent-ink);transform:translateY(-2px)}
.brand-strip .bi svg{width:26px;height:26px}
.brand-strip-tag{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.26em;font-size:.78rem;color:var(--accent-ink)}

/* usp */
.usp{display:grid;gap:18px;grid-template-columns:1fr}
.usp-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:24px;box-shadow:var(--shadow-s)}
.usp-card .ic{width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.usp-card .ic svg{width:24px;height:24px}
.usp-card h3{margin-bottom:6px}
@media(min-width:720px){.usp{grid-template-columns:repeat(3,1fr)}}

.sec-head{max-width:52rem;margin-bottom:32px}
.sec-head h2{margin:.25em 0 .3em}
.sec-head.center{margin-inline:auto;text-align:center}

/* book grid + card */
.book-grid{display:grid;gap:clamp(16px,3vw,26px);grid-template-columns:repeat(2,1fr)}
@media(min-width:640px){.book-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:960px){.book-grid{grid-template-columns:repeat(4,1fr)}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;
 display:flex;flex-direction:column;box-shadow:var(--shadow-s);transition:transform .2s,box-shadow .25s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-l)}
.card-cover{position:relative;aspect-ratio:5/8;background:var(--surface-2);overflow:hidden}
.card-cover img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card:hover .card-cover img{transform:scale(1.04)}
.card-tag{position:absolute;top:10px;left:10px;background:color-mix(in srgb,var(--paper) 90%,transparent);
 color:var(--ink);font-size:.68rem;font-weight:600;letter-spacing:.04em;padding:4px 9px;border-radius:var(--r-pill);text-transform:uppercase}
.card-body{padding:14px 14px 16px;display:flex;flex-direction:column;gap:4px;flex:1}
.card-body h3{font-size:1.02rem;line-height:1.2}
.card-sub{font-size:.82rem;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-foot{margin-top:auto;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.price{font-family:var(--f-display);font-weight:600;font-size:1.15rem;color:var(--accent-ink)}
.card .add{min-height:40px;padding:0 14px;border-radius:var(--r-pill);border:1.5px solid var(--accent);background:transparent;color:var(--accent-ink);font-weight:600;cursor:pointer;font-size:.86rem;transition:.2s}
.card .add:hover{background:var(--accent);color:#fff}

/* collections */
.coll-grid{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:600px){.coll-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.coll-grid{grid-template-columns:repeat(3,1fr)}}
.coll{position:relative;border-radius:var(--r-m);overflow:hidden;min-height:190px;display:flex;align-items:flex-end;box-shadow:var(--shadow-s);isolation:isolate}
.coll img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .4s}
.coll::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(20,14,9,.1),rgba(20,14,9,.78))}
.coll:hover img{transform:scale(1.05)}
.coll-txt{padding:18px;color:#fff}
.coll-txt h3{color:#fff;font-size:1.3rem}
.coll-txt p{color:rgba(255,255,255,.85);font-size:.88rem;margin-top:2px}
.coll-txt .n{font-size:.76rem;color:rgba(255,255,255,.7);font-weight:600}

/* trust + newsletter */
.band{background:var(--surface-2)}
.trust-grid{display:grid;gap:18px;grid-template-columns:1fr;margin-top:28px}
@media(min-width:720px){.trust-grid{grid-template-columns:repeat(3,1fr)}}
.trust-item{display:flex;gap:14px;align-items:flex-start}
.trust-item .ic{flex:none;width:42px;height:42px;border-radius:12px;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--accent-ink)}
.trust-item .ic svg{width:22px;height:22px}
.trust-item h3{font-size:1.05rem;margin-bottom:3px}
.trust-item p{font-size:.9rem}
.news{background:var(--deep-blue);border:1px solid rgba(211,162,76,.28);border-radius:var(--r-l);padding:clamp(28px,5vw,48px);text-align:center;color:#ece3d1}
.news h2{color:#f6efe0} .news p{color:rgba(236,227,209,.78)}
.news-form{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:22px;max-width:520px;margin-inline:auto}
.news-form input{flex:1;min-width:220px}
.news .consent{font-size:.78rem;color:rgba(255,255,255,.6);margin-top:12px}

/* forms */
label{display:block;font-weight:600;font-size:.9rem;margin-bottom:6px;color:var(--ink)}
.field{margin-bottom:18px}
.hint{font-size:.82rem;color:var(--ink-2);margin-top:5px}
input[type=text],input[type=email],input[type=search],select,textarea{
 width:100%;min-height:48px;padding:12px 14px;font-size:16px;font-family:var(--f-sans);color:var(--ink);
 background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-s);transition:border .18s,box-shadow .18s}
textarea{min-height:130px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}
input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--err)}
.err-msg{color:var(--err);font-size:.84rem;margin-top:5px;display:none}
.err-msg.show{display:block}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.92rem;color:var(--ink-2);cursor:pointer}
.check input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--accent)}

/* footer */
.site-footer{margin-top:auto;background:var(--surface);border-top:1px solid var(--line);padding-block:48px 28px}
.foot-grid{display:grid;gap:32px;grid-template-columns:1fr}
@media(min-width:720px){.foot-grid{grid-template-columns:2fr 1fr 1fr 1fr}}
.foot-brand .brand{font-size:1.5rem}
.foot-brand p{font-size:.92rem;margin-top:10px;max-width:34ch}
.foot-col h3{font-family:var(--f-sans);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-bottom:12px}
.foot-col a{display:block;padding:6px 0;color:var(--ink-2);font-size:.94rem}
.foot-col a:hover{color:var(--accent-ink)}
.foot-bottom{border-top:1px solid var(--line);margin-top:32px;padding-top:20px;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;font-size:.82rem;color:var(--ink-2)}

/* breadcrumb */
.crumb{font-size:.86rem;color:var(--ink-2);padding-top:18px}
.crumb a:hover{color:var(--accent-ink)}

/* product */
.pdp{display:grid;gap:clamp(24px,5vw,52px);grid-template-columns:1fr;padding-top:20px}
@media(min-width:900px){.pdp{grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);align-items:start}}
.pdp-cover{position:relative;border-radius:var(--r-m);overflow:hidden;box-shadow:var(--shadow-l);max-width:360px;margin-inline:auto;aspect-ratio:5/8;background:var(--surface-2)}
@media(min-width:900px){.pdp-cover{position:sticky;top:calc(var(--header-h) + 20px);max-width:none}}
.pdp-cover img{width:100%;height:100%;object-fit:cover}
.pdp h1{font-size:clamp(1.8rem,5vw,2.7rem);margin-top:.15em}
.pdp .subtitle{font-size:1.1rem;color:var(--ink-2);margin-top:.4em}
.pdp .tagrow{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.chip{font-size:.76rem;font-weight:600;padding:5px 11px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--ink-2)}
.chip.accent{background:var(--accent-soft);color:var(--accent-ink)}
.buybox{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:20px;box-shadow:var(--shadow-s);margin:22px 0}
.buybox .pl{display:flex;align-items:baseline;gap:10px;margin-bottom:4px}
.buybox .pl .price{font-size:2rem}
.buybox .vat{font-size:.82rem;color:var(--ink-2)}
.buybox .instant{display:inline-flex;align-items:center;gap:7px;color:var(--ok);font-weight:600;font-size:.9rem;margin:10px 0 16px}
.buybox .instant svg{width:18px;height:18px}
.buy-actions{display:flex;gap:10px;flex-wrap:wrap}
.buy-actions .btn{flex:1;min-width:140px}
.secure-row{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--ink-2);margin-top:14px}
.secure-row svg,.hint svg{width:16px;height:16px;flex:none}
.pay-logos{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:10px}
.pay-logos span{font-size:.66rem;font-weight:700;letter-spacing:.03em;padding:4px 8px;border:1px solid var(--line);border-radius:6px;color:var(--ink-2);background:var(--surface-2)}
.prose h2{font-size:1.5rem;margin:28px 0 12px} .prose h3{margin:20px 0 8px}
.prose p{margin-bottom:12px} .prose ul{margin:0 0 14px 2px;list-style:none;display:grid;gap:10px}
.prose ul li{position:relative;padding-left:30px;color:var(--ink-2)}
.prose ul li::before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;background:var(--accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8501f' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/12px no-repeat}
.dtable{width:100%;border-collapse:collapse;margin:6px 0 8px}
.dtable td{padding:11px 0;border-bottom:1px solid var(--line);font-size:.92rem;vertical-align:top}
.dtable td:first-child{color:var(--ink-2);width:38%} .dtable td:last-child{color:var(--ink);font-weight:500}
.faq details{border-bottom:1px solid var(--line);padding:6px 0}
.faq summary{cursor:pointer;font-weight:600;padding:12px 32px 12px 0;position:relative;list-style:none;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:10px;font-size:1.3rem;color:var(--accent-ink);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 14px;font-size:.94rem}
.callout{background:var(--accent-soft);border-radius:var(--r-m);padding:16px 18px;font-size:.9rem;color:var(--ink);margin:16px 0}

/* sticky mobile buy bar */
.buybar{position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--surface);border-top:1px solid var(--line);
 box-shadow:0 -6px 24px rgba(33,27,22,.1);padding:10px var(--gut);display:none;align-items:center;gap:12px;
 padding-bottom:calc(10px + env(safe-area-inset-bottom))}
.buybar.show{display:flex}
.buybar .price{font-size:1.2rem}
.buybar .btn{margin-left:auto;flex:0 0 auto}
@media(min-width:900px){.buybar{display:none !important}}

/* shop toolbar */
.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:20px 0 26px}
.toolbar .search{position:relative;flex:1;min-width:200px}
.toolbar .search input{padding-left:42px}
.toolbar .search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--ink-2)}
.toolbar select{width:auto;min-width:160px}
.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}
.chips button{white-space:nowrap;min-height:40px;padding:0 16px;border-radius:var(--r-pill);border:1.5px solid var(--line);
 background:var(--surface);color:var(--ink-2);font-weight:600;font-size:.86rem;cursor:pointer;transition:.18s}
.chips button:hover{border-color:var(--ink)}
.chips button[aria-pressed=true]{background:var(--accent);color:var(--btn-ink);border-color:var(--accent)}
.no-results{text-align:center;padding:60px 20px;color:var(--ink-2)}

/* cart + checkout */
.two-col{display:grid;gap:clamp(24px,4vw,40px);grid-template-columns:1fr}
@media(min-width:860px){.two-col{grid-template-columns:1.4fr .9fr;align-items:start}}
.cart-item{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.cart-item img{width:64px;height:96px;object-fit:cover;border-radius:8px;box-shadow:var(--shadow-s)}
.cart-item h3{font-size:1rem} .cart-item .m{font-size:.82rem;color:var(--ink-2)}
.cart-item .rm{background:none;border:none;color:var(--ink-2);font-size:.82rem;cursor:pointer;padding:4px 0;text-decoration:underline}
.cart-item .rm:hover{color:var(--err)}
.summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:22px;box-shadow:var(--shadow-s);position:sticky;top:calc(var(--header-h) + 16px)}
.summary h2{font-size:1.3rem;margin-bottom:14px}
.sum-row{display:flex;justify-content:space-between;padding:8px 0;font-size:.95rem;color:var(--ink-2)}
.sum-row.total{border-top:1px solid var(--line);margin-top:8px;padding-top:14px;font-size:1.25rem;color:var(--ink)}
.sum-row.total .price{font-size:1.4rem}
.empty{text-align:center;padding:70px 20px}
.empty svg{width:56px;height:56px;color:var(--line);margin-bottom:16px}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--surface-2);color:var(--ink);border:1px solid var(--line);
 padding:12px 20px;border-radius:var(--r-pill);box-shadow:var(--shadow-l);font-weight:600;font-size:.9rem;z-index:200;opacity:0;pointer-events:none;transition:.3s}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* thanks / bank */
.thanks{max-width:640px;margin-inline:auto;text-align:center;padding-block:40px}
.thanks .ok-ic{width:72px;height:72px;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;margin:0 auto 22px}
.thanks .ok-ic svg{width:38px;height:38px}
.bank-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:22px;text-align:left;box-shadow:var(--shadow-s);margin:24px 0}
.bank-box .row{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line)}
.bank-box .row:last-child{border-bottom:none}
.bank-box .k{color:var(--ink-2);font-size:.9rem} .bank-box .v{font-weight:600;font-family:var(--f-sans);text-align:right}
.bank-box .v.big{font-size:1.15rem;color:var(--accent-ink)}

/* cookie */
.cookie{position:fixed;left:12px;right:12px;bottom:12px;z-index:180;background:var(--surface);border:1px solid var(--line);
 border-radius:var(--r-m);box-shadow:var(--shadow-l);padding:18px;display:none;gap:14px;flex-direction:column;max-width:520px;margin-inline:auto}
.cookie.show{display:flex}
.cookie p{font-size:.88rem}
.cookie .row{display:flex;gap:10px;flex-wrap:wrap}
.cookie .btn{flex:1;min-width:130px}
@media(min-width:560px){.cookie{left:auto;right:16px;bottom:16px}}

.page-head{padding-top:24px;max-width:60rem}
.legal .prose{max-width:70ch}
.legal .prose h2{font-size:1.3rem}
.legal .prose p,.legal .prose li{font-size:.94rem}

@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
 .card:hover{transform:none} .coll:hover img,.card:hover .card-cover img{transform:none}
}
