/* Lunch Delivery — public site system.
   One file for every public surface: the landing, /menu/week and /geo/<district>.
   The cabinet (index.html + app.css) is a separate product surface and is not styled from here.

   Structure: fonts -> tokens -> base -> type roles -> shell (header/footer) -> controls
   -> blocks (hero, set, terms, steps, delivery, questions, closing, menu sheet) -> motion -> responsive.

   Numbers carry their reason on the line above them. Do not add a value without a reason. */

/* ---------- fonts: self-hosted, no runtime font hosts ---------- */
@font-face{font-family:'Prata';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/prata-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Prata';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/prata-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Onest';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/onest-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Onest';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/onest-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+20A0-20C0,U+A720-A7FF}
@font-face{font-family:'Onest';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/onest-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Georgian has no Prata cut, so the display role is carried by the Georgian serif with the same
   skeleton contrast against the grotesk: high-contrast serif vs low-contrast sans. */
@font-face{font-family:'Noto Serif Georgian';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/noto-serif-georgian-600.woff2) format('woff2')}
@font-face{font-family:'Noto Sans Georgian';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/noto-sans-georgian-400.woff2) format('woff2')}
@font-face{font-family:'Noto Sans Georgian';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/noto-sans-georgian-600.woff2) format('woff2')}
@font-face{font-family:'Noto Sans Georgian';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/noto-sans-georgian-700.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/jetbrains-mono-500-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/jetbrains-mono-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122}

/* ---------- tokens ---------- */
:root{
 color-scheme:light;
 /* ground is a green-tinted light, deliberately not cream: cream + serif + terracotta is the
    default slop and it starts in the ground colour */
 --canvas:#F2F4EE;
 --surface:#FFFFFF;
 --ink:#17251C;            /* 14.6:1 on canvas */
 --muted:#55665A;          /* 5.5:1 on canvas — secondary text stays body-legible */
 --line:#D5DED4;
 --line-strong:#B7C4B8;
 --accent:#267A40;         /* brand green; white on it 5.3:1 */
 --accent-ink:#1D6335;     /* same hue, one rung darker, for accent text on light: 6.5:1 */
 --accent-soft:#E7EFE4;    /* the tint accent-ink must survive: 5.6:1 */
 --dark:#17251C;
 --on-dark:#F1F4EE;
 --on-dark-muted:#B9C7BC;
 --dark-accent:#A8D8B4;    /* 9.9:1 on --dark */
 /* one ratio 1.3, six steps: 16 20 26 34 44 57 */
 --t1:16px; --t2:20px; --t3:26px; --t4:34px; --t5:44px; --t6:57px;
 --display:clamp(38px,5.2vw,74px);
 /* one ratio 1.5: 6 9 14 21 32 47 72 108 */
 --s1:6px; --s2:9px; --s3:14px; --s4:21px; --s5:32px; --s6:47px; --s7:72px; --s8:108px;
 --r:6px; --r-s:4px;
 --col:1240px;
 --gut:clamp(18px,4vw,40px);
 --header-h:72px;
 --ease:cubic-bezier(.22,.68,0,1);
 --ff-display:'Prata','Noto Serif Georgian',Georgia,serif;
 --ff-text:'Onest','Noto Sans Georgian','Helvetica Neue',Arial,sans-serif;
 --ff-mono:'JetBrains Mono','Onest',ui-monospace,monospace;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--ff-text);font-size:var(--t1);line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:var(--accent-ink);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
::selection{background:var(--accent-soft);color:var(--ink)}
h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}

/* ---------- type roles ---------- */
.ff-display,h1,h2,.statement{font-family:var(--ff-display);font-weight:400;line-height:1.12;letter-spacing:-.02em}
:lang(ka) h1,:lang(ka) h2,:lang(ka) .statement{font-family:'Noto Serif Georgian',Georgia,serif;font-weight:600;letter-spacing:0}
h1{font-size:var(--display);line-height:1.02}
h2{font-size:var(--t5)}
h3{font-family:var(--ff-text);font-weight:600;font-size:var(--t3);line-height:1.25;letter-spacing:-.01em}
.lead{font-size:var(--t2);line-height:1.5;color:var(--muted);max-width:44ch}
.body{max-width:68ch}
.small{font-size:var(--s3);line-height:1.5;color:var(--muted)}
.fig{font-family:var(--ff-mono);font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
/* labels are set in the text face, not the mono: the mono is reserved for figures */
.label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}
:lang(ka) .label{letter-spacing:0;text-transform:none}

/* ---------- shell ---------- */
.wrap{width:min(var(--col),calc(100% - var(--gut)*2));margin-inline:auto}
.site-header{width:100%;min-height:var(--header-h);background:rgba(242,244,238,.9);border-bottom:1px solid var(--line)}
.site-header__in{width:min(var(--col),calc(100% - var(--gut)*2));min-height:var(--header-h);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--s5)}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:600}
.brand img{width:32px;height:32px}
.brand span{font-size:15px;letter-spacing:-.01em;font-weight:600}
.site-nav{display:flex;align-items:center;gap:var(--s5)}
.site-nav__links{display:flex;align-items:center;gap:var(--s4)}
.site-nav__links a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:500;padding:6px 0;border-bottom:1px solid transparent}
.site-nav__links a:hover{border-bottom-color:var(--accent);color:var(--accent-ink)}
.site-nav__actions{display:flex;align-items:center;gap:var(--s3)}
.site-nav__phone{font-family:var(--ff-mono);font-size:13px;color:var(--ink);text-decoration:none;white-space:nowrap}
.site-nav__phone:hover{color:var(--accent-ink)}
/* the language switcher is rendered by static/i18n.js into #language-slot */
.language-switcher{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line-strong);border-radius:var(--r)}
.language-switcher button{min-width:36px;min-height:32px;padding:0 6px;border:0;border-radius:var(--r-s);background:transparent;color:var(--muted);font:600 11px/1 var(--ff-text);letter-spacing:.04em;cursor:pointer}
.language-switcher button[aria-pressed=true]{background:var(--ink);color:var(--on-dark)}
.language-switcher a{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:32px;padding:0 6px;border-radius:var(--r-s);color:var(--muted);font:600 11px/1 var(--ff-text);letter-spacing:.04em;text-decoration:none}
.language-switcher a[aria-current=true]{background:var(--ink);color:var(--on-dark)}
.site-footer{border-top:1px solid var(--line);margin-top:var(--s8);padding:var(--s6) 0 var(--s7)}
.site-footer__in{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s3) var(--s5);color:var(--muted);font-size:13px}
.site-footer a{color:var(--muted);text-decoration:none}
.site-footer a:hover{color:var(--accent-ink);text-decoration:underline}
.site-footer__sep{margin-left:auto}

/* ---------- controls: two shapes, one each ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 var(--s5);border:1px solid transparent;border-radius:var(--r);font:600 15px/1.2 var(--ff-text);text-decoration:none;cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease)}
.btn--primary{background:var(--accent);color:#fff}
.btn--primary:hover{background:#1F6535;color:#fff}
.btn--ghost{border-color:var(--ink);background:transparent;color:var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--on-dark)}
.btn--quiet{padding:0;min-height:0;border:0;background:none;color:var(--accent-ink);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.btn--quiet:hover{color:var(--ink)}
.btn--onDark{border-color:rgb(241 244 238/.5);background:transparent;color:var(--on-dark)}
.btn--onDark:hover{background:var(--on-dark);color:var(--ink)}
.btn .glyph{width:20px;height:20px;flex:none}
.btn .glyph--wa{width:22px;height:22px}
.icon{width:20px;height:20px;flex:none;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* ---------- hero: type left, the week on the right ---------- */
.hero{min-height:calc(100svh - var(--header-h));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);align-items:center;gap:clamp(28px,5vw,84px);padding:var(--s7) 0 var(--s8)}
.hero__copy{max-width:38rem;align-self:end;padding-bottom:var(--s3)}
.hero h1{max-width:14ch;text-wrap:balance}
.hero .lead{margin-top:var(--s5);max-width:38ch}
.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3) var(--s4);margin-top:var(--s5)}
.hero__facts{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--line);color:var(--muted);font-size:14px}
.hero__facts li{display:flex;align-items:baseline;gap:8px}
.hero__facts li+li::before{content:'';width:3px;height:3px;background:var(--line-strong);border-radius:50%;align-self:center}
.week{position:relative;width:100%}
.week__frames{position:relative;aspect-ratio:5/6;max-height:min(78svh,700px);border-radius:var(--r);overflow:hidden;background:var(--surface)}
.week__frame{position:absolute;inset:0;margin:0;opacity:0;will-change:opacity}
.week__frame:first-child{opacity:1}
.week__frame img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform .2s linear}
.week__frame figcaption{position:absolute;left:0;bottom:0;display:flex;align-items:baseline;gap:10px;padding:var(--s3) var(--s4);background:rgb(23 37 28/.82);color:var(--on-dark);font-size:13px}
.week__frame figcaption .week__tag-day{font-weight:600;color:var(--dark-accent)}
.week__days{display:flex;gap:var(--s2);margin-top:var(--s3);font-size:12px;font-weight:500;letter-spacing:.02em;color:var(--muted)}
.week__days li{flex:1;padding-top:8px;border-top:2px solid var(--line);transition:color .25s var(--ease),border-color .25s var(--ease)}
.week__days li[aria-current]{border-top-color:var(--accent);color:var(--ink)}
.week__note{margin-top:var(--s3);display:flex;justify-content:space-between;gap:var(--s4);color:var(--muted);font-size:13px}
.week__note a{font-weight:600}

/* ---------- section furniture ---------- */
.section{padding:var(--s8) 0 0}
.section__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,26rem);gap:var(--s5) var(--s8);align-items:end;margin-bottom:var(--s6)}
.section__head h2{font-size:clamp(30px,3.4vw,var(--t5));max-width:18ch}
.section__head p{color:var(--muted);font-size:var(--t1);max-width:40ch}
.section--tight{padding-top:var(--s7)}

/* ---------- the set: one dominant photograph, the composition named beside it ---------- */
.set{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.set__photo{margin:0;position:relative}
.set__photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.set__photo figcaption{margin-top:var(--s2);color:var(--muted);font-size:13px;max-width:46ch}
.set__body h2{font-size:clamp(28px,3.1vw,42px);max-width:14ch}
.set__list{margin-top:var(--s5);border-top:1px solid var(--line)}
.set__list li{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:var(--s4);padding:var(--s3) 0;border-bottom:1px solid var(--line);font-size:15px}
.set__key{color:var(--ink);font-size:14px;font-weight:600;letter-spacing:-.01em;padding-top:2px}
.set__body p{margin-top:var(--s5);color:var(--muted);max-width:46ch}
.set__body .btn--quiet{margin-top:var(--s4)}
.set__aside{margin-top:var(--s5);display:grid;grid-template-columns:9rem minmax(0,1fr);gap:var(--s4);align-items:center;padding-top:var(--s4);border-top:1px solid var(--line)}
.set__aside img{width:9rem;aspect-ratio:1;object-fit:cover;border-radius:var(--r)}
.set__aside p{font-size:14px;color:var(--muted);margin:0}

/* ---------- terms: a ledger, not cards ---------- */
.terms{border-top:1px solid var(--ink)}
.terms__row{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:var(--s4) var(--s6);padding:var(--s4) 0;border-bottom:1px solid var(--line);align-items:baseline}
.terms__row dt{font-size:15px;font-weight:600;color:var(--ink)}
.terms__row dd{margin:0;color:var(--muted);font-size:15px;max-width:56ch}
.terms__row dd strong{color:var(--ink);font-weight:600}
.terms__row dd .fig{color:var(--ink)}

/* ---------- steps: a stepper without decoration ---------- */
.steps{counter-reset:step;border-top:1px solid var(--ink)}
.steps li{display:grid;grid-template-columns:3.5rem minmax(0,1fr) minmax(0,1.1fr);gap:var(--s4) var(--s5);padding:var(--s5) 0;border-bottom:1px solid var(--line);align-items:baseline}
.steps li::before{counter-increment:step;content:counter(step,decimal-leading-zero);font-family:var(--ff-mono);font-size:13px;color:var(--accent-ink)}
.steps h3{font-size:var(--t2);font-weight:600;letter-spacing:-.01em}
.steps p{color:var(--muted);font-size:15px;max-width:44ch}

/* ---------- delivery: wide measure, notes in the margin ---------- */
.delivery{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--s6) clamp(24px,5vw,72px)}
.delivery h2{font-size:clamp(28px,3.1vw,42px);max-width:16ch}
.delivery__lead{margin-top:var(--s4);color:var(--muted);max-width:48ch}
.districts{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s2) var(--s4);padding-top:var(--s4);border-top:1px solid var(--line)}
.districts h2{width:100%;margin:0 0 var(--s2);font-family:var(--ff-text);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}
:lang(ka) .districts h2{letter-spacing:0;text-transform:none}
.districts ul{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4)}
.districts a{display:inline-flex;align-items:baseline;gap:8px;color:var(--ink);text-decoration:none;font-size:15px;padding:4px 0;border-bottom:1px solid var(--line-strong)}
.districts a:hover{border-bottom-color:var(--accent);color:var(--accent-ink)}
.delivery__notes{border-left:1px solid var(--line);padding-left:var(--s5);display:grid;gap:var(--s5);align-content:start}
.delivery__notes dt{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}
.delivery__notes dd{margin:6px 0 0;font-size:15px}
.delivery__notes a{color:var(--ink);text-decoration:none}
.delivery__notes a:hover{color:var(--accent-ink)}

/* ---------- questions: two independent columns ---------- */
.questions__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s6) var(--s8);align-items:start}
.questions__intro{color:var(--muted);max-width:44ch}
.questions__list{display:grid;gap:var(--s5)}
.questions__list h3{font-size:var(--t1);font-weight:600;margin-bottom:var(--s1)}
.questions__list p{color:var(--muted);font-size:15px;max-width:50ch}
.seo-block h2{font-size:clamp(28px,3.1vw,42px);max-width:20ch}

/* ---------- closing: staggered, inverted ---------- */
.closing{margin-top:var(--s8);background:var(--dark);color:var(--on-dark);padding:var(--s8) 0}
.closing__in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--s6) clamp(24px,5vw,80px);align-items:start}
.closing h2{font-size:clamp(30px,3.6vw,var(--t5));max-width:16ch}
.closing p{margin-top:var(--s4);color:var(--on-dark-muted);max-width:42ch}
.closing__channels{display:grid;gap:var(--s3);justify-items:start}
.closing__channels a{display:inline-flex;align-items:center;gap:10px;color:var(--on-dark);text-decoration:none;font-size:15px;padding-bottom:2px;border-bottom:1px solid rgb(241 244 238/.28)}
.closing__channels a:hover{color:var(--dark-accent);border-bottom-color:var(--dark-accent)}
.closing__channels .btn{margin-bottom:var(--s2)}
.closing__channels > :nth-child(2){margin-left:var(--s5)}
.closing__channels > :nth-child(3){margin-left:calc(var(--s5)*2)}
.closing__channels > :nth-child(4){margin-left:calc(var(--s5)*3)}
.closing .btn--quiet{color:var(--dark-accent)}

/* ---------- menu week: an editorial menu sheet ---------- */
.menu-sheet{padding-top:var(--s6)}
.menu-sheet__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s4) var(--s6);align-items:end;padding-bottom:var(--s5);border-bottom:1px solid var(--ink)}
.menu-sheet__meta{text-align:right;color:var(--muted);font-size:13px}
.menu-sheet__meta .fig{color:var(--ink)}
.menu-sheet__intro{margin-top:var(--s4);color:var(--muted);max-width:52ch}
.day{padding-top:var(--s6);border-bottom:1px solid var(--line);padding-bottom:var(--s6)}
.day__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s4)}
.day__title{display:flex;align-items:baseline;gap:var(--s3)}
.day__title h2{font-size:var(--t4);font-family:var(--ff-display);font-weight:400}
.day__date{font-family:var(--ff-mono);font-size:13px;color:var(--muted)}
.options{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:var(--s5)}
.option{margin:0;display:grid;grid-template-rows:auto 1fr;gap:var(--s3)}
.option img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.option h3{font-size:var(--t1);font-weight:600}
.option__dishes{margin-top:var(--s2);color:var(--muted);font-size:14px}
.option__price{display:flex;align-items:baseline;gap:8px;margin-top:var(--s3);padding-top:var(--s2);border-top:1px solid var(--line)}
.option__price .fig{font-size:15px}
.addons{padding-top:var(--s6)}
.addons h2{font-size:var(--t3);font-family:var(--ff-display);font-weight:400;margin-bottom:var(--s4)}
.addons ul{display:grid;gap:var(--s2);border-top:1px solid var(--line);padding-top:var(--s3)}
.addons li{display:flex;justify-content:space-between;gap:var(--s4);padding:var(--s2) 0;border-bottom:1px solid var(--line);font-size:15px}
.addons li span:last-child{font-family:var(--ff-mono);font-size:14px}

/* district page body reuses .hero, .terms, .steps, .questions */

/* ---------- motion: reveal, and nothing else ---------- */
[data-reveal]{transition:opacity .7s var(--ease),transform .7s var(--ease)}
html.is-revealing [data-reveal]:not(.is-in){opacity:0;transform:translateY(16px)}
.week__frame.is-active img{transform:scale(1)}

@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
 [data-reveal]{opacity:1!important;transform:none!important}
 .week__frame{transition:none}
}

/* ---------- responsive ---------- */
@media(max-width:1080px){
 .hero{grid-template-columns:1fr;gap:var(--s6);min-height:0;padding-top:var(--s6)}
 .hero__copy{max-width:none;order:1}
 .week{order:2;max-width:34rem}
 .hero h1{max-width:14ch}
 .set{grid-template-columns:1fr}
 .set__photo{order:1}
 .set__body{order:2}
 .delivery,.closing__in,.questions__body,.section__head{grid-template-columns:1fr}
 .delivery__notes{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:var(--s5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}
}
@media(max-width:800px){
 :root{--header-h:64px}
 .site-nav__links{display:none}
 .site-nav__phone{display:none}
 .site-nav{gap:var(--s3)}
 .section{padding-top:var(--s7)}
 .hero{padding-bottom:var(--s7)}
 .hero h1{max-width:12ch}
 .hero__actions{flex-direction:column;align-items:stretch}
 .hero__actions .btn{width:100%;justify-content:center}
 .week__frames{aspect-ratio:4/5;max-height:none}
 .set__list li{grid-template-columns:7rem minmax(0,1fr);gap:var(--s3)}
 .terms__row{grid-template-columns:1fr;gap:6px}
 .steps li{grid-template-columns:2.4rem minmax(0,1fr);gap:var(--s2) var(--s3)}
 .steps li p{grid-column:2}
 .delivery__notes{grid-template-columns:1fr;gap:var(--s4)}
 .menu-sheet__head{grid-template-columns:1fr;text-align:left}
 .menu-sheet__meta{text-align:left}
 .options{grid-template-columns:1fr}
 .closing__channels > :nth-child(n){margin-left:0}
 .closing{padding:var(--s7) 0}
 .site-footer__sep{margin-left:0;width:100%}
}
@media(max-width:390px){
 .hero h1{font-size:36px}
 .week__days{font-size:11px}
 .site-footer__in{flex-direction:column;gap:6px}
}

/* ---------- district pages: the same sheet, one statement per block ---------- */
.district-head{padding:var(--s7) 0 var(--s6);border-bottom:1px solid var(--line)}
.district-head h1{max-width:16ch;text-wrap:balance}
.district-head .lead{margin-top:var(--s4);max-width:58ch;font-size:var(--t2);line-height:1.5}
.district-body{display:grid;gap:var(--s8);padding-top:var(--s7)}
.district-block h2{font-size:clamp(26px,2.9vw,38px);max-width:22ch}
.district-facts{margin-top:var(--s5);border-top:1px solid var(--ink);max-width:58ch}
.district-facts li{padding:var(--s4) 0;border-bottom:1px solid var(--line);font-size:17px}
.district-steps{counter-reset:step;display:grid;margin-top:var(--s5);border-top:1px solid var(--ink);max-width:58ch}
.district-steps li{display:grid;grid-template-columns:3.5rem minmax(0,1fr);gap:var(--s4);padding:var(--s4) 0;border-bottom:1px solid var(--line);align-items:baseline;font-size:17px}
.district-steps li::before{counter-increment:step;content:counter(step,decimal-leading-zero);font-family:var(--ff-mono);font-size:13px;color:var(--accent-ink)}
.qa{display:grid;gap:var(--s5);margin-top:var(--s5)}
.qa dt{font-weight:600;font-size:var(--t1);color:var(--ink)}
.qa dd{margin:6px 0 0;color:var(--muted);font-size:15px;max-width:56ch}
.district-others{padding-top:var(--s7)}
.district-others .districts{border-top:1px solid var(--line);padding-top:var(--s5)}
/* the closing band's channel underline must not land on a filled button */
.closing__channels .btn{border-bottom:0;padding-bottom:0}
@media(max-width:800px){
 .district-head{padding-top:var(--s6)}
 .district-body{gap:var(--s7);padding-top:var(--s6)}
 .district-steps li{grid-template-columns:2.4rem minmax(0,1fr)}
}


/* доп-блюда на странице недели: превью */
.addons ul li{display:flex;align-items:center;gap:12px}
.addon__thumb{width:48px;height:48px;flex:0 0 48px;object-fit:cover;border-radius:8px;background:var(--line,#CDD1C8)}
.addons ul li>.fig{margin-left:auto}


/* шапка страницы недели: действие рядом с языками */
.week-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.week-actions__link{font-size:13px;color:var(--muted);text-decoration:none;white-space:nowrap}
.week-actions__link:hover{color:var(--ink)}
.week-actions__btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;
 background:var(--accent,#267A40);color:#fff;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}
.week-actions__btn:hover{filter:brightness(.94)}
@media (max-width:640px){.week-actions__link{display:none}.week-actions__btn{font-size:12px;padding:8px 12px}}
