/* «На неделю»: warm kitchen, olive, tomato, and generous food photography. */
:root { --food-bg:#f7f4ec; --food-ink:#263329; --food-muted:#6c7164; --food-line:#e2dfd3; --food-green:#425b39; --food-red:#bc492e; }
html,body { background:var(--food-bg); color:var(--food-ink); font-family:'Onest',system-ui,sans-serif; }
body.dark { background:#20271f; }
.t-tag { --font:'Onest',system-ui,sans-serif; --font-d:'Lora',Georgia,serif; --font-p:'Onest',system-ui,sans-serif; --bg:var(--food-bg); --surface:#fffef9; --ink:var(--food-ink); --muted:var(--food-muted); --line:var(--food-line); --accent:var(--food-green); --accent-ink:#fffdf5; --price:var(--food-red); --ok:#425b39; --sale:#b1452e; --warn-bg:#f4ead5; --r:14px; --r-lg:20px; --btn-r:999px; }
.t-tag.dark { --bg:#20271f; --surface:#2a3328; --ink:#f3f0e5; --muted:#b7bcae; --line:#465040; --accent:#d8dfb7; --accent-ink:#253124; --price:#f2a58b; --warn-bg:#433d29; }
.food-app { max-width:980px; box-shadow:0 0 80px #283b2510; }
.food-header { display:flex; align-items:center; justify-content:space-between; padding:20px 28px; border-bottom:1px solid var(--line); flex:none; }
.food-brand { color:var(--ink,var(--food-ink)); text-decoration:none; font-family:'Lora',Georgia,serif; font-size:27px; font-weight:600; white-space:nowrap; }
.food-brand>span:first-child { color:#bc492e; font-size:31px; margin-right:5px; }
.food-brand .brand-dot { color:#bc492e; }
.header-note { color:var(--muted); font-size:12px; letter-spacing:.03em; }
.food-app .body { padding:26px 28px 30px; gap:20px; }
.t-tag .h1 { font-family:var(--font-d); font-size:36px; line-height:1.14; font-weight:500; letter-spacing:-.035em; }
.t-tag .h2 { font-family:var(--font-d); font-weight:500; }
.t-tag .eyebrow { font-size:10px; letter-spacing:.13em; font-weight:700; }
.t-tag .price,.t-tag .pricetag { font-family:var(--font); }
.t-tag .pricetag { background:#f3eadc; color:#a33e28; border-radius:999px; }
.t-tag .btn { min-height:52px; font-weight:600; transition:background .18s,transform .18s; }
.t-tag .btn:hover { filter:brightness(1.07); }
.t-tag .btn:active { transform:translateY(1px); }
.t-tag .btn.ghost { background:transparent; border:1px solid var(--line); color:var(--ink); }
.t-tag .linkbtn { color:var(--ink); font-weight:500; text-underline-offset:4px; }
.food-app .main { border-top:1px solid var(--line); background:var(--surface); padding:16px 28px calc(16px + env(safe-area-inset-bottom)); display:flex; flex-direction:row; align-items:center; gap:20px; }
.food-app .main .btn { flex:1; }
.food-app .main .linkbtn { flex:none; width:auto; }
.food-app .card { border:1px solid var(--line); box-shadow:none; }
.food-app .pad { padding:20px; }
.food-app .seg { background:#e9ecdf; border:0; padding:5px; border-radius:999px; }
.t-tag .seg span { border-radius:999px; min-height:40px; display:flex; align-items:center; justify-content:center; }
.t-tag .seg span.on { background:var(--surface); color:var(--ink); box-shadow:0 2px 6px #2936260c; }
.t-tag .chip.on,.choice-card.on { background:#e8edda; color:#34452d; border-color:#71825a; }
.food-app .choice-card { min-height:102px; border-radius:18px; }
.food-app .steps { gap:8px; }
.food-app .steps i { height:4px; border-radius:99px; background:var(--line); }
.food-app .steps i.on { background:var(--accent); }
.welcome-photo { height:250px; position:relative; overflow:hidden; border-radius:22px; flex:none; }
.welcome-photo img { width:100%; height:100%; object-fit:cover; object-position:center 60%; }
.welcome-photo span { position:absolute; bottom:18px; left:18px; border-radius:999px; padding:9px 13px; background:#fffdf0ed; color:#30432d; font-size:9px; letter-spacing:.12em; font-weight:700; }
.welcome-copy .h1 { font-size:38px!important; max-width:600px; }
.menu-heading { font-size:48px!important; }
.menu-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.food-app .food-dish { display:flex; flex-direction:column; padding:0; overflow:hidden; align-items:stretch!important; gap:0!important; }
.dish-image-button { width:100%; display:block; border:0; background:var(--line); padding:0; overflow:hidden; aspect-ratio:1.7; }
.dish-image-button img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .3s; }
.dish-image-button:hover img { transform:scale(1.035); }
.dish-content { padding:19px 20px 20px; display:flex; flex-direction:column; gap:12px; flex:1; }
.dish-day { text-transform:uppercase; font-size:10px; font-weight:800; letter-spacing:.09em; }
.dish-day>span { color:var(--muted); font-weight:500; }
.dish-content .iconbtn { width:33px; height:33px; border-radius:50%; background:transparent; }
.dish-title { font-family:var(--font-d)!important; font-size:23px; font-weight:500; line-height:1.22; letter-spacing:-.025em; }
.dish-meta { display:flex; gap:9px; flex-wrap:wrap; color:var(--muted); font-size:11px; }
.dish-meta span+span:before { content:'·'; margin-right:9px; }
.dish-price { margin-top:auto; padding-top:12px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; font-size:18px; color:var(--price); font-weight:600; }
.dish-price small { font-size:11px; color:var(--muted); font-weight:400; }
.preview-photo { aspect-ratio:1.7; display:grid; place-items:center; font-size:64px; background:#e9ecdf; color:#a8b592; }
.preview-dish h2 { font-family:var(--font-d); font-size:25px; line-height:1.2; font-weight:400; margin:0; }
.preview-dish p { margin:0; }
.food-app .recipe-hero { height:340px; border-radius:20px; }
.food-app .sheet { border-radius:26px 26px 0 0; background:var(--surface); padding:26px; }
.food-app .toast { top:80px; background:var(--ink); color:var(--bg); font-size:13px; }
.food-app .note { border-radius:14px; font-size:12px; }
[data-bonus-form] input { border-color:var(--line)!important; background:var(--bg); color:var(--ink); }
button:focus-visible,a:focus-visible,input:focus-visible { outline:3px solid #b76a3a; outline-offset:4px; }
.login-page { max-width:1120px; padding:35px 40px 45px; margin:auto; }
.login-page>.food-brand { display:inline-block; margin-bottom:26px; }
.login-layout { display:grid; grid-template-columns:1fr 1fr; overflow:hidden; background:#fffef9; border:1px solid var(--food-line); border-radius:28px; }
.login-photo { position:relative; min-height:640px; background:#263329; }
.login-photo img { position:absolute; width:100%; height:100%; object-fit:cover; }
.login-photo:after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,transparent 20%,#182519d9); }
.login-photo-copy { position:absolute; bottom:38px; left:34px; right:20px; z-index:1; color:#fffbed; }
.login-photo-copy .eyebrow { color:#efeddb; font-size:9px; letter-spacing:.12em; }
.login-photo-copy h2 { font-family:'Lora',Georgia,serif; font-size:43px; font-weight:400; line-height:1.14; letter-spacing:-.035em; margin:18px 0 0; }
.login-photo-copy em { color:#e2e9be; }
.login-content { padding:45px 42px 30px; align-self:center; }
.login-content>.eyebrow { font-size:9px; color:var(--food-muted); letter-spacing:.1em; }
.login-content h1 { font-family:'Lora',Georgia,serif; font-size:34px; line-height:1.2; font-weight:400; letter-spacing:-.03em; margin:19px 0; }
.login-content h1 em { color:var(--food-green); }
.login-lead { font-size:13px; line-height:1.65; color:var(--food-muted); }
.login-divider { display:flex; align-items:center; gap:12px; margin:28px 0 16px; font-size:9px; letter-spacing:.12em; font-weight:600; }
.login-divider:after { content:''; height:1px; background:var(--food-line); flex:1; }
.login-content .small { line-height:1.5; }
.login-content .btn { text-decoration:none; border-radius:999px; background:var(--food-green); color:#fffef9; font-size:13px; min-height:49px; font-weight:600; }
.login-content .btn.ghost { background:transparent; border:1px solid #c7cebd; color:var(--food-ink); justify-content:space-between; margin-bottom:24px; }
#web-login-form label { font-size:12px; font-weight:500; }
#web-login-code { width:100%; padding:14px; margin:9px 0 12px; border:1px solid #dbdece; border-radius:12px; background:#f8f8f1; font:inherit; color:var(--food-ink); font-size:14px; }
#web-login-error { color:#a33e28; font-size:12px; }
.login-footnote { color:var(--food-muted); font-size:10px; line-height:1.6; }
@media(max-width:650px) {
 .food-header { padding:17px 20px; }.food-brand { font-size:24px; }.header-note { font-size:10px; }
 .food-app .body { padding:22px 18px 24px; gap:18px; }.food-app .main { padding:13px 18px calc(13px + env(safe-area-inset-bottom)); gap:9px; flex-direction:column; }
 .food-app .main .btn { flex:none; }.food-app .main .linkbtn { min-height:28px; }
 .menu-grid { grid-template-columns:1fr; gap:20px; }.dish-image-button,.preview-photo { aspect-ratio:1.8; }
 .t-tag .h1 { font-size:32px; }.welcome-copy .h1 { font-size:34px!important; }.menu-heading { font-size:42px!important; }
 .welcome-photo { height:210px; }.food-app .recipe-hero { height:240px; }
 .login-page { padding:20px 18px 35px; }.login-page>.food-brand { margin-bottom:18px; }.login-layout { grid-template-columns:1fr; border-radius:20px; }
 .login-photo { min-height:220px; }.login-photo img { object-position:center 48%; }.login-photo-copy { bottom:22px; left:24px; }.login-photo-copy h2 { font-size:30px; margin-top:10px; }
 .login-photo-copy .eyebrow { font-size:8px; }.login-content { padding:28px 24px; }.login-content h1 { font-size:31px; }
}
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { animation:none!important; transition:none!important; } }

.food-app .seg button { flex:1; min-height:40px; border:0; border-radius:999px; background:transparent; color:var(--ink); font:inherit; font-size:13px; cursor:pointer; }
.food-app .seg button.on { background:var(--surface); box-shadow:0 2px 6px #2936260c; }
.t-tag.dark .seg { background:#3b4635; }
@media(min-width:651px) { .food-app .sheet { max-width:540px; left:50%; right:auto; width:100%; transform:translateX(-50%); } }

.menu-toolbar { display:flex; gap:14px; align-items:stretch; }.menu-toolbar>.card { flex:1; }.menu-toolbar>.btn { width:auto; padding:0 24px; flex:none; }
@media(max-width:650px) { .menu-toolbar { flex-direction:column; }.menu-toolbar>.btn { width:100%; } }
