/* Kan d'Or — site stylesheet. Tokens are copied verbatim from the design system;
   never hard-code a colour, always use a token. */

/* ===== tokens ===== */
:root{
--gold-900:#6E5210;--gold-800:#876614;--gold-700:#9A7716;--gold-600:#B8902A;--gold-500:#C9A227;--gold-400:#D7B85C;--gold-300:#E5CD8C;--gold-200:#EFDDB1;--gold-100:#F7ECCE;--gold-50:#FBF5E4;
--crust-900:#281A10;--crust-800:#3A2A1C;--crust-700:#4D3826;--crust-600:#5F4732;--crust-500:#79604A;--crust-400:#94795F;--crust-300:#B19A82;--crust-200:#D2C2AC;
--cream-50:#FDFBF6;--cream-100:#FAF5EC;--cream-200:#F3EAD9;--cream-300:#EBDFC9;--cream-400:#E0D0B5;
--berry-700:#7E2238;--berry-600:#9E2B45;--berry-500:#B73E58;--berry-100:#F4DBE1;
--pistache-600:#6E8B3D;--pistache-100:#E8EFD7;--white:#fff;--black:#1A120B;
--success-600:#5E7B36;--success-100:#E7EFD6;--warning-600:#B5791C;--warning-100:#F8ECCF;--danger-600:#B23A2E;--danger-100:#F6DED9;
--bg-page:var(--cream-100);--bg-surface:var(--white);--bg-raised:var(--cream-50);--bg-inset:var(--cream-200);--bg-dark:var(--crust-900);--bg-brand:var(--gold-600);--bg-brand-soft:var(--gold-100);
--text-strong:var(--crust-900);--text-body:var(--crust-800);--text-muted:var(--crust-400);--text-faint:var(--crust-300);--text-on-brand:var(--crust-900);--text-on-dark:var(--cream-100);--text-link:var(--gold-800);
--brand:var(--gold-600);--brand-strong:var(--gold-700);--brand-soft:var(--gold-100);--accent:var(--berry-600);--accent-soft:var(--berry-100);
--border:var(--cream-400);--border-strong:var(--crust-200);--border-brand:var(--gold-300);--divider:var(--cream-300);--focus-ring:var(--gold-500);--selection-bg:var(--gold-200);
--font-display:'Cormorant Garamond','Hoefler Text',Georgia,serif;--font-sans:'Hanken Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
--text-display:clamp(2.5rem,5.4vw,4.6rem);--text-h1:clamp(2.5rem,5vw,4rem);--text-h2:clamp(2rem,3.4vw,3rem);--text-h3:1.75rem;--text-h4:1.375rem;--text-lead:1.25rem;--text-body-lg:1.125rem;--text-base:1rem;--text-sm:.875rem;--text-xs:.75rem;--text-eyebrow:.8125rem;
--lh-tight:1.05;--lh-snug:1.3;--lh-normal:1.5;--lh-relaxed:1.65;--ls-display:-.02em;--ls-eyebrow:.18em;
--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;
--container:1200px;--container-text:720px;--gutter:clamp(1.25rem,4vw,4rem);--section-y:clamp(4rem,8vw,8rem);
--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:28px;--radius-pill:999px;
--shadow-xs:0 1px 2px rgba(40,26,16,.06);--shadow-sm:0 1px 3px rgba(40,26,16,.08),0 1px 2px rgba(40,26,16,.05);--shadow-md:0 4px 16px rgba(40,26,16,.08),0 2px 4px rgba(40,26,16,.05);--shadow-lg:0 12px 32px rgba(40,26,16,.10),0 4px 8px rgba(40,26,16,.05);--shadow-xl:0 24px 60px rgba(40,26,16,.14);--shadow-brand:0 8px 24px rgba(184,144,42,.28);
--ease-out:cubic-bezier(.22,1,.36,1);--dur-fast:140ms;--dur-base:220ms;--dur-slow:420ms;
}

/* ===== base ===== */
*,*::before,*::after{box-sizing:border-box}
/* display rules on components (.notice is flex) would otherwise beat the UA's [hidden] */
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--lh-normal);color:var(--text-body);background:var(--bg-page);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--selection-bg);color:var(--crust-900)}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-strong);font-weight:600;line-height:var(--lh-snug);letter-spacing:var(--ls-display);margin:0}
p{margin:0}
a{color:var(--text-link);text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:var(--gold-700)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--gold-100);outline-offset:1px;border-radius:var(--radius-xs)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:var(--gutter);top:.6rem;z-index:100;background:var(--bg-surface);padding:.6rem 1rem;border-radius:var(--radius-pill);box-shadow:var(--shadow-md)}
.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.section{padding:var(--section-y) 0}
.section--dark{background:var(--crust-900);color:var(--text-on-dark);position:relative;overflow:hidden}
.section--surface{background:var(--bg-surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--text-eyebrow);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;font-weight:600;color:var(--brand-strong)}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--gold-500)}
.section--dark .eyebrow{color:var(--gold-400)}
.s-head{max-width:var(--container-text)}
.s-head h2{font-size:var(--text-h2);margin:.9rem 0 0}
.s-head .lead{font-size:var(--text-lead);line-height:var(--lh-relaxed);color:var(--crust-600);margin-top:.9rem;text-wrap:pretty}
.section--dark .s-head h2{color:var(--cream-100)}
.section--dark .s-head .lead{color:var(--crust-300)}
.measure{max-width:var(--container-text)}

/* ===== buttons ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-sans);font-weight:600;letter-spacing:.01em;line-height:1;font-size:.9375rem;height:44px;padding:0 1.15rem;border-radius:var(--radius-pill);border:1px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}
.btn:active{transform:translateY(1px)}
.btn--sm{height:34px;padding:0 .85rem;font-size:.8125rem;gap:.4rem}
.btn--lg{height:54px;padding:0 1.6rem;font-size:1.0625rem;gap:.6rem}
.btn--full{width:100%}
.btn--gold{background:var(--gold-600);color:var(--crust-900);box-shadow:var(--shadow-brand)}
.btn--gold:hover{background:var(--gold-700);color:var(--crust-900)}
.btn--primary{background:var(--crust-900);color:var(--cream-100);box-shadow:var(--shadow-sm)}
.btn--primary:hover{background:var(--crust-700);color:var(--cream-100)}
.btn--secondary{background:var(--bg-surface);color:var(--text-strong);border-color:var(--border-strong);box-shadow:var(--shadow-xs)}
.btn--secondary:hover{background:var(--bg-inset);color:var(--text-strong)}
.btn--ghost{background:transparent;color:var(--text-strong)}
.btn--ghost:hover{background:var(--brand-soft)}
.btn[disabled],.btn[aria-disabled=true]{background:var(--cream-300);color:var(--text-faint);box-shadow:none;cursor:not-allowed}
.btn svg{width:1.05em;height:1.05em;flex:none}
.iconbtn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:var(--radius-pill);border:1px solid transparent;background:transparent;color:var(--text-strong);cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}
.iconbtn:hover{background:var(--brand-soft)}
.iconbtn svg{width:20px;height:20px}

/* ===== badges & tags ===== */
.badge{display:inline-flex;align-items:center;height:24px;padding:0 .6rem;border-radius:var(--radius-pill);font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.badge--gold{background:var(--gold-600);color:var(--crust-900)}
.badge--berry{background:var(--berry-600);color:#fff}

/* ===== nav ===== */
.nav{position:sticky;top:0;z-index:50;background:transparent;border-bottom:1px solid transparent;transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}
.nav.is-scrolled{background:rgba(250,245,236,.85);backdrop-filter:saturate(140%) blur(12px);-webkit-backdrop-filter:saturate(140%) blur(12px);border-bottom-color:var(--divider)}
.nav__in{max-width:var(--container);margin:0 auto;padding:.9rem var(--gutter);display:flex;align-items:center;gap:2rem}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.brand img{width:46px;height:46px;border-radius:var(--radius-pill);object-fit:cover;flex:none}
.brand__txt{display:flex;flex-direction:column;line-height:1}
.brand__eyebrow{font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--brand-strong);font-weight:600}
.brand__name{font-family:var(--font-display);font-size:1.7rem;font-weight:600;color:var(--text-strong);letter-spacing:-.01em}
.brand__name em{color:var(--brand);font-style:italic}
.nav__links{display:flex;gap:1.6rem;margin-left:auto}
.nav__links a{font-size:.9375rem;font-weight:500;color:var(--text-body);text-decoration:none;padding:.4rem 0;position:relative;white-space:nowrap}
.nav__links a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--gold-600);transition:right var(--dur-base) var(--ease-out)}
.nav__links a:hover::after,.nav__links a[aria-current=page]::after{right:0}
.nav__links a[aria-current=page]{color:var(--text-strong)}
.nav__end{display:flex;align-items:center;gap:.6rem}
.cartbtn{position:relative}
.cartbtn__count{position:absolute;top:-2px;right:-2px;min-width:18px;height:18px;padding:0 4px;border-radius:var(--radius-pill);background:var(--berry-600);color:#fff;font-size:.65rem;font-weight:700;display:none;align-items:center;justify-content:center}
.cartbtn__count.is-on{display:flex}
.lang{position:relative}
.lang__btn{display:inline-flex;align-items:center;gap:.35rem;height:34px;padding:0 .7rem;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg-surface);font-size:.8125rem;font-weight:600;color:var(--text-body);cursor:pointer}
.lang__btn:hover{background:var(--bg-inset)}
.lang__menu{position:absolute;right:0;top:calc(100% + .4rem);min-width:140px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.3rem;display:none;z-index:60}
.lang__menu.is-open{display:block}
.lang__menu a{display:block;padding:.45rem .6rem;border-radius:var(--radius-sm);font-size:.875rem;color:var(--text-body);text-decoration:none}
.lang__menu a:hover{background:var(--brand-soft);color:var(--text-strong)}
.lang__menu a[aria-current=true]{font-weight:700;color:var(--text-strong)}
.nav__burger{display:none}

/* ===== hero ===== */
.hero{position:relative;overflow:hidden;background:var(--bg-page)}
.hero__glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 70% at 78% 18%,rgba(215,184,92,.35),transparent 60%),radial-gradient(50% 60% at 10% 90%,rgba(184,144,42,.12),transparent 55%)}
.hero__in{position:relative;max-width:var(--container);margin:0 auto;padding:clamp(3.5rem,7vw,6rem) var(--gutter) clamp(3rem,6vw,5rem);display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.hero h1{font-size:var(--text-display);line-height:1.14;margin:1.1rem 0 0;padding-bottom:.22em}
.hero h1 em{color:var(--brand);font-style:italic}
.hero__lead{font-size:var(--text-lead);line-height:var(--lh-relaxed);color:var(--crust-600);max-width:46ch;margin-top:1.2rem;text-wrap:pretty}
.hero__cta{display:flex;gap:.75rem;margin-top:2rem;flex-wrap:wrap}
.hero__facts{display:flex;align-items:center;gap:1.4rem;margin-top:2.2rem;flex-wrap:wrap;font-size:.875rem}
.hero__fact{display:inline-flex;align-items:center;gap:.45rem}
.hero__fact svg{width:17px;height:17px;color:var(--gold-600)}
.hero__fact strong{color:var(--text-strong)}
.hero__rule{width:1px;height:18px;background:var(--border-strong)}
.hero__art{position:relative}
.hero__frame{aspect-ratio:4/5;border-radius:var(--radius-xl);overflow:hidden;background:var(--cream-200);border:1px solid var(--gold-300);box-shadow:var(--shadow-xl)}
.hero__frame img{width:100%;height:100%;object-fit:cover}
.hero__chip{position:absolute;left:-1.4rem;bottom:2rem;background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border);padding:.9rem 1.1rem;display:flex;align-items:center;gap:.8rem}
.hero__chip img{width:46px;height:46px;border-radius:var(--radius-pill);object-fit:cover;flex:none}
.hero__chip .k{font-size:.8rem;color:var(--text-muted)}
.hero__chip .v{font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--text-strong)}
.hero__badge{position:absolute;top:1.2rem;right:1.2rem}

/* ===== product cards ===== */
.tabs{display:flex;gap:.3rem;flex-wrap:wrap;border-bottom:1px solid var(--divider)}
.tab{appearance:none;background:none;border:0;border-bottom:2px solid transparent;padding:.7rem .9rem;font-size:.9375rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-base) var(--ease-out)}
.tab:hover{color:var(--text-body)}
.tab[aria-selected=true]{color:var(--text-strong);border-bottom-color:var(--gold-600)}
.grid-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;margin-top:2.2rem}
.pcard{display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}
.pcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.pcard__media{position:relative;aspect-ratio:4/3;background:var(--cream-200);overflow:hidden;display:grid;place-items:center}
.pcard__media img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-out)}
.pcard:hover .pcard__media img{transform:scale(1.04)}
.pcard__media svg{width:48px;height:48px;color:var(--gold-400)}
.pcard__badge{position:absolute;top:.75rem;left:.75rem}
.pcard__body{padding:var(--space-5);display:flex;flex-direction:column;gap:.4rem;flex:1}
.pcard__body h3{font-size:1.4rem;line-height:1.15}
.pcard__desc{font-size:.875rem;line-height:1.55;color:var(--text-muted);flex:1;text-wrap:pretty}
.pcard__foot{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.6rem}
.pcard__price{font-family:var(--font-display);font-weight:600;font-size:1.25rem;color:var(--brand-strong)}
.pcard__add{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:var(--radius-pill);border:0;background:var(--gold-600);color:var(--crust-900);cursor:pointer;box-shadow:var(--shadow-brand);transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.pcard__add:hover{background:var(--gold-700)}
.pcard__add:active{transform:translateY(1px)}
.pcard__add svg{width:17px;height:17px}
.pcard.is-out{opacity:.55}
.allergens{margin-top:2.5rem;font-size:.85rem;color:var(--text-muted);max-width:60ch}

/* ===== fournil / stats ===== */
.dark__glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(50% 60% at 85% 10%,rgba(215,184,92,.14),transparent 60%)}
.split{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.quote{display:flex;align-items:center;gap:1rem;margin-top:2rem}
.quote img{width:64px;height:64px;border-radius:var(--radius-pill);object-fit:cover;border:2px solid var(--crust-700);flex:none}
.quote__t{font-family:var(--font-display);font-style:italic;font-size:1.15rem;color:var(--cream-100)}
.quote__by{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-400);font-weight:600;margin-top:.25rem}
.statgrid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--crust-700);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--crust-700)}
.stat{background:var(--crust-800);padding:1.6rem 1.4rem;display:flex;flex-direction:column;gap:.7rem}
.stat svg{width:26px;height:26px;color:var(--gold-400)}
.stat__k{font-family:var(--font-display);font-weight:600;font-size:1.3rem;color:var(--cream-100)}
.stat__v{font-size:.85rem;color:var(--crust-300);line-height:1.5}

/* ===== editorial blocks ===== */
.prose{max-width:var(--container-text);display:flex;flex-direction:column;gap:2rem;margin-top:2.5rem}
.prose h3{font-size:var(--text-h3)}
.prose p{margin-top:.5rem;line-height:var(--lh-relaxed);color:var(--crust-600);text-wrap:pretty}
.valuerow{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-top:3rem}
.value{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-xs)}
.value__k{font-family:var(--font-display);font-size:1.3rem;font-weight:600;color:var(--text-strong)}
.value__v{font-size:.9rem;color:var(--text-muted);margin-top:.4rem;line-height:1.55}
.photorow{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:3rem}
.photorow img{border-radius:var(--radius-lg);aspect-ratio:4/3;object-fit:cover;border:1px solid var(--border)}

/* ===== visit ===== */
.info{margin-top:2rem;display:flex;flex-direction:column;gap:1.4rem}
.info__row{display:flex;gap:.85rem;align-items:flex-start}
.info__row svg{width:22px;height:22px;color:var(--gold-600);flex:none}
.info__k{font-weight:600;color:var(--text-strong)}
.info__v{color:var(--text-muted);font-size:.9rem}
.hours{flex:1}
.hours div{display:flex;justify-content:space-between;padding:.25rem 0;border-bottom:1px solid var(--divider);font-size:.9rem}
.hours span:last-child{color:var(--text-strong);font-weight:600}
.map{margin-top:1.8rem;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);height:260px;background:repeating-linear-gradient(45deg,var(--cream-200),var(--cream-200) 14px,var(--cream-100) 14px,var(--cream-100) 28px)}
.map iframe{width:100%;height:100%;border:0;display:block}

/* ===== forms ===== */
.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:clamp(1.5rem,3vw,2.4rem)}
.card h3{font-size:1.6rem;margin-bottom:.4rem}
.card__lead{color:var(--text-muted);font-size:.92rem;margin-bottom:1.4rem}
.form{display:flex;flex-direction:column;gap:1rem}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field{display:flex;flex-direction:column;gap:.35rem}
.field>label{font-size:.8125rem;font-weight:600;color:var(--text-body)}
.field input,.field select,.field textarea{width:100%;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:.7rem .85rem;font-size:.9375rem;color:var(--text-strong);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}
.field textarea{resize:vertical;min-height:88px}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--gold-500);box-shadow:0 0 0 3px var(--gold-100)}
.field input::placeholder,.field textarea::placeholder{color:var(--text-faint)}
.field__hint{font-size:.75rem;color:var(--text-muted)}
.notice{display:flex;align-items:center;gap:.6rem;padding:1rem;border-radius:var(--radius-md);font-weight:600}
.notice svg{width:20px;height:20px;flex:none}
.notice--ok{background:var(--success-100);color:#46601f}
.notice--ok svg{color:var(--success-600)}
.notice--err{background:var(--danger-100);color:#8a2b21}
.consent{font-size:.75rem;color:var(--text-muted)}

/* ===== order page ===== */
.order{display:grid;grid-template-columns:1.25fr .85fr;gap:clamp(1.5rem,4vw,3rem);align-items:start;margin-top:2.5rem}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}
.step{display:flex;gap:.8rem;align-items:flex-start}
.step__n{flex:none;width:30px;height:30px;border-radius:var(--radius-pill);background:var(--gold-100);color:var(--gold-800);display:grid;place-items:center;font-weight:700;font-size:.85rem}
.step__v{font-size:.9rem;color:var(--text-body)}
.basket{position:sticky;top:96px}
.basket__list{display:flex;flex-direction:column;gap:.9rem;margin:1.2rem 0}
.bline{display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem;align-items:center;padding-bottom:.9rem;border-bottom:1px solid var(--divider)}
.bline__n{font-family:var(--font-display);font-size:1.15rem;font-weight:600;color:var(--text-strong)}
.bline__p{font-size:.8rem;color:var(--text-muted)}
.bline__price{font-family:var(--font-display);font-weight:600;color:var(--brand-strong)}
.qty{display:inline-flex;align-items:center;gap:.1rem;border:1px solid var(--border-strong);border-radius:var(--radius-pill);overflow:hidden}
.qty button{width:30px;height:30px;border:0;background:transparent;cursor:pointer;color:var(--text-body);font-weight:700}
.qty button:hover{background:var(--bg-inset)}
.qty span{min-width:26px;text-align:center;font-size:.875rem;font-weight:600}
.totals{display:flex;flex-direction:column;gap:.5rem;padding-top:1rem;border-top:1px solid var(--divider);margin-top:.5rem}
.totals div{display:flex;justify-content:space-between;font-size:.9rem}
.totals .total{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--text-strong);align-items:baseline}
.empty{color:var(--text-muted);font-size:.95rem;padding:1.5rem 0}
.slotgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:.5rem;margin-top:.35rem}
.slot{border:1px solid var(--border-strong);background:var(--bg-surface);border-radius:var(--radius-pill);padding:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}
.slot:hover{background:var(--brand-soft)}
.slot[aria-pressed=true]{background:var(--gold-600);border-color:var(--gold-600);color:var(--crust-900)}
.slot[disabled]{opacity:.4;cursor:not-allowed}
.secure{font-size:.75rem;color:var(--text-muted);margin-top:.8rem;text-align:center}
.toast{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%,120%);background:var(--crust-900);color:var(--cream-100);padding:.8rem 1.2rem;border-radius:var(--radius-pill);box-shadow:var(--shadow-lg);font-size:.9rem;font-weight:600;z-index:80;transition:transform var(--dur-base) var(--ease-out)}
.toast.is-on{transform:translate(-50%,0)}

/* ===== journal ===== */
.postlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-top:2.5rem}
.post{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.7rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.6rem;transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}
.post:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.post__date{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-weight:600}
.post h3{font-size:1.5rem}
.post p{color:var(--text-muted);font-size:.92rem;line-height:1.6;flex:1}
.article{max-width:var(--container-text);margin:0 auto}
.article h1{font-size:var(--text-h2);margin:.8rem 0 0}
.article__body{display:flex;flex-direction:column;gap:1.2rem;margin-top:2rem}
.article__body p{font-size:var(--text-body-lg);line-height:var(--lh-relaxed);color:var(--crust-600);text-wrap:pretty}
.legal__blocks{display:flex;flex-direction:column;gap:1.8rem;margin-top:2.5rem;max-width:var(--container-text)}
.legal__blocks h2{font-size:1.4rem}
.legal__blocks p{margin-top:.5rem;line-height:var(--lh-relaxed);color:var(--crust-600)}
.review-flag{display:inline-block;margin-top:1rem;padding:.5rem .8rem;border-radius:var(--radius-sm);background:var(--warning-100);color:#7a5210;font-size:.8rem;font-weight:600}

/* ===== footer ===== */
.news{background:var(--gold-100);border-bottom:1px solid var(--gold-200)}
.news__in{max-width:var(--container);margin:0 auto;padding:clamp(2.5rem,5vw,3.5rem) var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}
.news h3{font-size:1.9rem;color:var(--crust-900)}
.news p{color:var(--gold-800);margin-top:.4rem;font-size:.95rem}
.news form{display:flex;gap:.6rem;align-items:flex-start}
.news form .field{flex:1}
.foot{background:var(--bg-surface);border-top:1px solid var(--border)}
.foot__cols{max-width:var(--container);margin:0 auto;padding:clamp(2.5rem,5vw,4rem) var(--gutter);display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}
.foot__brand{font-family:var(--font-display);font-size:1.7rem;font-weight:600;color:var(--text-strong)}
.foot__brand em{color:var(--brand);font-style:italic}
.foot__tag{color:var(--text-muted);font-size:.9rem;max-width:34ch;margin-top:.6rem}
.foot__social{display:flex;gap:.6rem;margin-top:1.2rem}
.foot__social a{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .95rem;border-radius:var(--radius-pill);border:1px solid var(--border);color:var(--text-body);text-decoration:none;font-size:.85rem;font-weight:600}
.foot__social a:hover{background:var(--bg-inset)}
.foot__k{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--text-muted);margin-bottom:.9rem}
.foot__cols a:not(.foot__social a){display:block;font-size:.92rem;color:var(--text-body);text-decoration:none;padding:.3rem 0}
.foot__cols a:hover{color:var(--brand-strong)}
.foot__addr{font-size:.92rem;color:var(--text-body);line-height:1.7}
.foot__bar{border-top:1px solid var(--divider)}
.foot__bar div{max-width:var(--container);margin:0 auto;padding:1.2rem var(--gutter);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.8rem;color:var(--text-muted)}
.foot__bar a{color:var(--text-muted);text-decoration:none}
.foot__bar a:hover{color:var(--brand-strong)}

/* ===== cookie bar ===== */
.cookie{position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);width:min(680px,calc(100% - 2rem));background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:1rem 1.2rem;display:none;gap:1rem;align-items:center;flex-wrap:wrap;z-index:90}
.cookie.is-on{display:flex}
.cookie p{font-size:.85rem;color:var(--text-body);flex:1;min-width:240px}

/* ===== responsive ===== */
@media (max-width:1020px){
.order{grid-template-columns:1fr}.basket{position:static}
}
@media (max-width:920px){
.hero__in{grid-template-columns:1fr}.hero__art{display:none}
.split{grid-template-columns:1fr}.news__in{grid-template-columns:1fr}
.foot__cols{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
.nav__links{position:fixed;inset:0 0 auto;top:0;flex-direction:column;background:var(--bg-page);padding:5.5rem var(--gutter) 2rem;gap:.2rem;margin:0;height:100dvh;transform:translateY(-100%);transition:transform var(--dur-base) var(--ease-out);z-index:45;overflow:auto}
.nav__links.is-open{transform:translateY(0)}
.nav__links a{font-family:var(--font-display);font-size:1.6rem;padding:.6rem 0;border-bottom:1px solid var(--divider)}
.nav__burger{display:inline-grid;z-index:55}
.nav__in{gap:.6rem}
.brand__name{font-size:1.35rem}.brand img{width:38px;height:38px}
.nav__end .btn{display:none}
.statgrid,.form__row,.steps{grid-template-columns:1fr}
.foot__cols{grid-template-columns:1fr}
.news form{flex-direction:column;align-items:stretch}
.hero__chip{left:0}
}
@media (prefers-reduced-motion:reduce){
*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
.pcard:hover,.post:hover{transform:none}
}
@media print{
.nav,.cookie,.news,.toast,.pcard__add{display:none!important}
body{background:#fff}
}

/* ---------- account + order page additions ---------- */
.notice--info{background:var(--gold-100);color:var(--gold-800);font-weight:500}
.acct-hint{font-size:.875rem;color:var(--text-muted);margin:0}
.acct-hint a{color:var(--text-link);font-weight:600}
.btn--danger{background:var(--danger-600);color:#fff}
.btn--danger:hover{background:#962f25}
.linkbtn{background:none;border:0;padding:0;font:inherit;font-size:.875rem;color:var(--text-link);text-decoration:underline;text-underline-offset:3px;cursor:pointer;align-self:center}
.acct{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:start;margin-top:2.5rem}
.acct--one{grid-template-columns:minmax(0,34rem)}
.acct__bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2.5rem}
.acct__bar h3{font-size:1.6rem;margin:0}
.acct__bar+.acct{margin-top:1.2rem}
.acct__side{display:flex;flex-direction:column;gap:1.5rem}
.acct__danger summary{cursor:pointer;font-weight:600;color:var(--danger-600)}
.acct__danger[open] summary{margin-bottom:1rem}
.field input[readonly]{background:var(--bg-inset);color:var(--text-muted)}
.olist{display:flex;flex-direction:column;margin-top:1rem}
.orow{display:grid;grid-template-columns:1fr auto;gap:.35rem 1rem;padding:1rem 0;border-top:1px solid var(--divider)}
.orow:first-child{border-top:0;padding-top:.2rem}
.orow__ref{white-space:nowrap;font-weight:700;color:var(--text-strong);font-variant-numeric:tabular-nums}
.orow__when,.orow__items{font-size:.875rem;color:var(--text-muted);grid-column:1}
.orow__total{font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.orow__side{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;grid-column:2;grid-row:1/span 3}
.status{display:inline-flex;align-items:center;height:24px;padding:0 .6rem;border-radius:var(--radius-pill);font-size:.72rem;font-weight:700;letter-spacing:.02em;background:var(--cream-200);color:var(--crust-700);white-space:nowrap}
.status--pending,.status--processing{background:var(--warning-100);color:#7a5210}
.status--paid{background:var(--gold-100);color:var(--gold-800)}
.status--ready{background:var(--success-100);color:#46601f}
.status--cancelled,.status--refunded{background:var(--danger-100);color:#8a2b21}
.nav__mobile{display:none}
@media (max-width:720px){
.acct{grid-template-columns:1fr}
.accountbtn{display:none}
.nav__links .nav__mobile{display:block}
.orow{grid-template-columns:1fr}
.orow__side{grid-column:1;grid-row:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.6rem}
.orow__total{margin-right:auto}
}

