
:root{
  --bg:#f4e8d2; --panel:#faf2e0; --card:#fffdf6; --cream:#fbf3e1;
  --line:#ddc79f; --line2:#cdb181;
  --ink:#43301F; --ink2:#6b5741; --dim:#7c6650;
  --tom:#a83226; --tom-d:#8a2015;
  --olive:#5f7134; --olive-d:#47582a;
  --gold:#c9862b; --goldl:#eece8e;
  --serif:Georgia,'Times New Roman',serif;
  --sans:system-ui,'Segoe UI',Tahoma,sans-serif;
  /* единый шаг вертикального ритма: он же интервал между блоками, он же внутренние верх/низ каждого блока */
  --rhythm:clamp(1.75rem,4.5vw,2.75rem);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{
  margin:0;color:var(--ink);font:16px/1.6 var(--sans);
  background:
    radial-gradient(1000px 520px at 92% -100px, rgba(240,214,168,.9), transparent 60%),
    radial-gradient(860px 520px at -6% 30%, rgba(236,214,178,.55), transparent 60%),
    repeating-linear-gradient(0deg, rgba(138,90,46,.032) 0 1px, transparent 1px 5px),
    repeating-linear-gradient(90deg, rgba(138,90,46,.028) 0 1px, transparent 1px 5px),
    var(--bg);
}
img{max-width:100%;display:block}
a{color:var(--tom-d)}
:focus-visible{outline:3px solid var(--tom);outline-offset:2px;border-radius:4px}
::selection{background:var(--goldl)}
/* ЕДИНЫЙ контейнер страницы — тот же, в котором стоят лого и меню шапки.
   Им выровнен весь контент: шапка рецепта, лист с ингредиентами и шагами, подвал. Других ширин нет. */
.wrap{max-width:1180px;margin:0 auto;padding-inline:clamp(16px,4vw,32px)}
.skip{position:absolute;left:-999px;top:0;background:var(--tom-d);color:#fff;padding:.6em 1em;z-index:99}
.skip:focus{left:0;position:fixed}
h1,h2,h3,h4{font-family:var(--serif);line-height:1.15;margin:0 0 .5em;font-weight:700}
[id]{scroll-margin-top:104px}
/* один внешний интервал между всеми соседними блоками страницы;
   у внутренней страницы нет героя — тот же шаг отделяет контент от шапки */
main{padding-top:var(--rhythm)}
main>section{margin:0 0 var(--rhythm)}

/* ── шапка: логотип слева, меню справа (из эталона) ── */
.site-head{position:static;z-index:30;background:rgba(251,243,225,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-head::after{content:"";display:block;height:9px;
  background:
    repeating-linear-gradient(90deg, rgba(168,50,38,.5) 0 9px, transparent 9px 18px),
    repeating-linear-gradient(0deg, rgba(168,50,38,.32) 0 9px, transparent 9px 18px),
    #f2e2c4;}
.head-in{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:1rem}
.brand{flex:0 0 auto}
.brand img{width:128px;height:auto}
.head-in nav{display:flex;justify-content:flex-end;min-width:0;flex:1 1 auto}
.mainnav{display:none}
.mainnav a{flex:0 0 auto;padding:.5rem .72rem;border-radius:999px;color:var(--tom-d);font-size:.8rem;font-weight:800;text-decoration:none;white-space:nowrap}
.mainnav a:hover{background:#f3e2bd}
/* подсветка раздела: мы на вложенной странице «Рецептов», поэтому пункт залит тёмно-томатным,
   но остаётся ссылкой на каталог — в отличие от самого каталога, где пункт не ссылка */
.mainnav a[aria-current="true"]{background:#9d4f43;color:#fff}
.mainnav a[aria-current="true"]:hover{background:#8a2015}
/* мобильное меню: раскрытие на details/summary, без JS */
.m-nav>summary{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;padding:.5rem 1.15rem;border:1px solid var(--line2);border-radius:999px;background:var(--card);color:var(--tom-d);font-size:.9rem;font-weight:800;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}
.m-nav>summary::-webkit-details-marker{display:none}
.m-nav[open]>summary{background:var(--tom-d);border-color:var(--tom-d);color:#fff}
.m-nav>ul{position:absolute;left:0;right:0;top:100%;margin:0;padding:.35rem clamp(16px,4vw,32px) 1rem;list-style:none;background:var(--panel);border-bottom:1px solid var(--line);box-shadow:0 16px 26px rgba(80,44,16,.18)}
.m-nav li+li{border-top:1px solid var(--line)}
.m-nav ul a{display:block;padding:.85rem .3rem;color:var(--tom-d);font-weight:800;font-size:.95rem;text-decoration:none;border-radius:8px}
.m-nav ul a:hover{background:#f3e2bd}
.m-nav ul a[aria-current="true"]{background:#9d4f43;color:#fff}
.m-nav ul a[aria-current="true"]:hover{background:#8a2015}
@media(min-width:740px){
  .m-nav{display:none}
  .mainnav{display:flex;min-width:0;max-width:100%;overflow-x:auto;align-items:center;gap:.35rem;padding:.5rem 0;scrollbar-width:thin}
}
@media(min-width:980px){.brand img{width:150px}.mainnav a{font-size:.88rem}}

/* ── шапка страницы рецепта: крошки, H1 с кикером, лид, мета, фото блюда ── */
.r-crumbs{font-size:.85rem;color:var(--ink2);margin:0 0 2rem;letter-spacing:.04em}
.r-crumbs [aria-current]{color:#fff}
.page-t{font-size:clamp(1.9rem,4.6vw,2.6rem)}
.page-t::before{content:"· рецепт ·";display:block;font-family:var(--sans);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:.5em}
.page-lead{color:var(--ink2);max-width:46em;margin:0;font-size:1.02rem}

/* ── «лист»-подложка (из эталона): внешняя ширина = контейнер, верх/низ внутри = --rhythm ── */
.sheet{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:var(--rhythm) clamp(1rem,3.5vw,2.4rem);box-shadow:0 3px 16px rgba(120,72,28,.1)}

/* шапка рецепта: текст слева, фото блюда справа; на мобильном фото под текстом */
.r-hero{display:grid;gap:1.5rem;align-items:center}
@media(min-width:880px){.r-hero{grid-template-columns:1.04fr .96fr;gap:2.2rem}}
ul.r-meta{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:1.15rem 0 0;padding:0}
.r-meta li{display:inline-block;padding:.38em .9em;border-radius:9px;background:var(--cream);border:1px solid var(--line);color:var(--ink);font-size:.92rem;line-height:1.25}
/* вид теста — оливковой меткой, как в карточках каталога */
.r-meta .meta-dough{background:#eef0e2;border-color:#c9d0a8;color:var(--olive-d);font-weight:600}
.dish-frame{margin:0}
.dish-frame img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;outline:1px solid var(--line2);box-shadow:0 6px 16px rgba(80,44,16,.16)}
.dish-frame figcaption{padding-top:.55rem;font-family:var(--serif);font-style:italic;font-size:.85rem;color:var(--ink2);text-align:center}

/* ── тело рецепта: ингредиенты + шаги в одном листе ──
   ≥860px — две колонки, колонка ингредиентов липкая; на мобильном ингредиенты идут перед шагами */
.r-layout{display:grid;gap:1.5rem;align-items:start}
@media(min-width:860px){
  .r-layout{grid-template-columns:minmax(240px,.36fr) minmax(0,1fr);gap:1.7rem}
  .r-ingr{position:sticky;top:16px}
}
.part-h{font-size:clamp(1.3rem,2.6vw,1.6rem);margin:0 0 .7em}
.r-ingr{background:var(--card);border:1px solid var(--line2);border-radius:12px;padding:1.15rem 1.25rem 1.3rem;box-shadow:0 1px 0 #fff inset,0 3px 10px rgba(120,72,28,.12)}
.facet-name{font-family:var(--serif);font-weight:700;font-style:italic;font-size:1.05rem;margin:0 0 .45rem}
.ingr-group+.ingr-group{margin-top:1.15rem;padding-top:1.05rem;border-top:3px double var(--line2)}
ul.ingr{list-style:none;margin:0;padding:0}
.ingr li{display:flex;align-items:flex-end;gap:.5em;padding:.24rem 0;font-size:.95rem}
.ingr .dots{flex:1;min-width:1.5em;border-bottom:2px dotted var(--line2);transform:translateY(-5px)}
.ingr b{font-weight:700;color:var(--tom-d);white-space:nowrap}

/* ── шаги: один шаблон, один вертикальный список ──
   базовый шаг — текстовая карточка (номер + текст); модификатор .step--photo добавляет фото
   двухколоночной карточкой. Рецепт без снимков — тот же вертикальный список, просто без фото
   (решение владельца 08.09: сетка номерных карточек для текстовой подачи отменена). */
ol.steps{list-style:none;margin:0;padding:0;display:grid;gap:.95rem;counter-reset:step}
.step{counter-increment:step;display:grid;background:var(--card);border:1px solid var(--line2);border-radius:12px;overflow:hidden;box-shadow:0 1px 0 #fff inset,0 3px 10px rgba(120,72,28,.12)}
.num{flex:0 0 auto;width:44px;height:44px;border-radius:10px;background:#fffdf6;border:2px solid var(--gold);display:grid;place-items:center;font-family:var(--serif);font-size:1.25rem;font-weight:700;color:var(--tom-d)}
.num::before{content:counter(step)}
.step-tx{display:flex;gap:.9rem;align-items:flex-start;padding:1rem 1.1rem 1.05rem}
.step-tx p{margin:0;padding-top:.5rem;font-size:.97rem}
.step-ph{margin:0;min-width:0}
.step-ph img{width:100%;height:100%;aspect-ratio:3/2;object-fit:cover}
.step--photo .step-tx{border-top:3px double var(--line)}
@media(min-width:700px){
  .step--photo{grid-template-columns:1fr 1fr}
  .step--photo .step-tx{border-top:0;align-self:start}
  .step--photo .step-ph{order:2;border-right:0;border-left:3px double var(--line)}
  .step--photo .step-ph img{aspect-ratio:1/1;height:auto;min-height:0}
  /* чётные шаги — фото справа: разворот даёт странице спокойный «шахматный» ход */
  
}
/* совет после шагов: спокойная оливковая плашка (язык честных плашек эталона) */
.r-tip{background:#eef0e2;border:1px solid #c9d0a8;border-radius:12px;padding:1.1rem 1.35rem;margin:1.2rem 0 0;box-shadow:0 1px 0 #fff inset}
.r-tip p{margin:0;font-size:1rem;color:var(--ink)}
.r-tip b{color:var(--olive-d)}

/* ── близкие рецепты: карточки каталога (язык эталона) ── */
.sec-head{font-size:clamp(1.7rem,4vw,2.35rem)}
.sec-head::before{content:"· ещё из каталога ·";display:block;font-family:var(--sans);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:.5em}
ul.pop-grid{display:grid;gap:.95rem;grid-template-columns:1fr;list-style:none;margin:0;padding:0}
@media(max-width:619px){ul.pop-grid li:nth-child(n+4){display:none}}
@media(min-width:620px){ul.pop-grid{grid-template-columns:repeat(2,1fr);gap:1.05rem}}
@media(min-width:960px){ul.pop-grid{grid-template-columns:repeat(3,1fr)}}
.card{display:flex;flex-direction:column;height:100%;background:var(--card);border:1px solid var(--line2);border-radius:12px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:0 1px 0 #fff inset,0 3px 10px rgba(120,72,28,.12);transition:box-shadow .18s,border-color .18s,transform .18s}
.card:hover{border-color:var(--tom);box-shadow:0 8px 22px rgba(138,32,21,.2);transform:translateY(-2px)}
.card-img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#f0e2c6}
.card-b{display:flex;flex-direction:column;gap:.35rem;padding:.7rem .8rem .85rem;border-top:3px double var(--line)}
.card-t{font-family:var(--serif);font-weight:700;font-size:.97rem;line-height:1.3}
.card-m{font-size:.78rem;color:var(--ink2);display:flex;flex-wrap:wrap;gap:.3em .5em;align-items:center}
.mchip{background:#eef0e2;border:1px solid #c9d0a8;border-radius:6px;padding:.1em .55em;color:var(--olive-d);font-weight:600}

/* спокойный переход к технике (из каталога) */
.btn-ghost{display:inline-block;color:#f6e7cd;text-decoration:none;padding:.8em 1.3em;border-radius:10px;border:2px solid rgba(246,231,205,.55);font-weight:600}
.btn-ghost:hover{border-color:#f6e7cd;background:rgba(246,231,205,.1)}
.linkband{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin:1.2rem 0 0}
.linkband .btn-ghost{color:var(--tom-d);border-color:var(--line2);background:var(--card)}
.linkband .btn-ghost:hover{border-color:var(--tom);background:var(--card)}
.techband{justify-content:center;margin:0}
.techband p{font-family:var(--serif);font-style:italic;font-size:1.1rem;margin:0}

/* ── подвал (из эталона) ────────────────── */
.site-foot{background:#3f1d12;color:#ecd8b8;padding:var(--rhythm) 0;font-size:.85rem}
.site-foot a{color:#eece8e}
.foot-cols{display:grid;gap:1.5rem 2rem;margin-bottom:1.6rem}
@media(min-width:560px){.foot-cols{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.foot-cols{grid-template-columns:repeat(4,1fr)}}
.foot-h{font-family:var(--sans);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#f0dcc0;margin:0 0 .7em;font-weight:700}
.foot-h a{color:inherit;text-decoration:none}
.foot-h a:hover{text-decoration:underline;text-underline-offset:3px}
.foot-col ul{list-style:none;margin:0;padding:0}
.foot-col li{padding:.22em 0}
.foot-col a{text-decoration:none}
.foot-col a:hover{text-decoration:underline}
.foot-bottom{display:flex;flex-wrap:wrap;gap:.5rem 2rem;justify-content:space-between;align-items:baseline;margin:0;padding-top:1rem;border-top:1px solid rgba(236,216,184,.28)}
.foot-bottom a{text-decoration:none}
.foot-bottom a:hover{text-decoration:underline}

/* правки владельца 07.08: воздух логотипу, шрифт меню как в направлении 1 (Trebuchet) */
.brand img{margin-block:6px;}
.mainnav a,.m-nav a,.m-nav summary{font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif;}

/* операторские правки 07.08: тёмная лента шапки рецепта + лента техники (язык главной) */
.r-band{position:relative;color:#f6e7cd;background:
  radial-gradient(900px 480px at 50% -140px, rgba(255,205,120,.38), transparent 62%),
  linear-gradient(168deg,#4c2515,#71351d 46%,#8f4c24 78%,#a05e2a);
  padding:1rem 0 2.2rem;margin-bottom:1.6rem}
.r-band .r-crumbs{color:#d9b98c}
.r-band .r-crumbs a{color:#eece8e}
.r-band .r-crumbs [aria-current]{color:#f6e7cd}
.tech-band{position:relative;border-top:1px solid var(--line);background:
  repeating-linear-gradient(135deg, rgba(120,72,28,.05) 0 2px, transparent 2px 11px),
  var(--panel);padding:calc(1.6rem + 9px) 0 1.6rem;margin-top:2rem}
.tech-band::before{content:"";position:absolute;inset:0 0 auto;height:9px;background:
  repeating-linear-gradient(90deg, rgba(168,50,38,.5) 0 9px, transparent 9px 18px),
  repeating-linear-gradient(0deg, rgba(168,50,38,.32) 0 9px, transparent 9px 18px)}

/* фикс 08.08: лента шапки — как hero главной (текст светлым на тёмном, лист прозрачный) */
.r-band .sheet.r-hero{background:transparent;border:0;box-shadow:none;padding:0}
.r-band .page-t{color:#f6e7cd}
.r-band .page-t::before{color:#e8c27a}
.r-band .page-lead{color:#eadbc2}
.r-band .r-meta li{background:rgba(246,231,205,.1);border-color:rgba(246,231,205,.38);color:#f6e7cd}
.r-band .r-meta .meta-dough{background:rgba(214,226,178,.16);border-color:rgba(214,226,178,.45);color:#dce8b8;font-weight:600}
.r-band .dish-frame img{outline-color:rgba(246,231,205,.35)}
.r-band figcaption{color:#d9b98c}

/* операторская правка 08.08: единые отступы между блоками 1.25rem (стандарт сайта) */
main{padding-top:0;padding-bottom:0}
main>section{margin:0 0 1.25rem}
main>section:last-of-type{margin-bottom:0}
.tech-band{margin-top:1.25rem}

/* операторские правки 10.08: шапка рецепта — меньший квадрат фото + полная сетка параметров + автор */
@media(min-width:880px){.r-band .sheet.r-hero{grid-template-columns:1.55fr 1fr;align-items:start}}
.r-band .dish-frame img{aspect-ratio:1/1;height:auto}
.r-params{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1.6rem;margin:1.15rem 0 0;padding:0}
.r-params .rp{display:flex;align-items:baseline;gap:.55em;margin:0}
.r-params .rp dt{color:#d9b98c;white-space:nowrap}
.r-params .rp .dots{flex:1;min-width:1.2em;border-bottom:1px dotted rgba(246,231,205,.35);transform:translateY(-.25em)}
.r-params .rp dd{margin:0;color:#f6e7cd;font-weight:700;text-align:right;white-space:nowrap}
.r-author{margin:1.05rem 0 0;font-size:.85rem;color:#d9b98c}
@media (max-width:760px){.r-params{grid-template-columns:1fr}}

/* операторские правки 10.08: кикер над сеткой (H1 = верх фото), группировка параметров, автор под фото */
.r-band .page-t::before{display:none}
.r-kick{font-family:var(--sans);line-height:1.15;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:#e8c27a;font-weight:700;margin:0 0 .5em}
.r-params{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 1.2rem;margin:1.15rem 0 0;align-items:start}
@media (max-width:880px){.r-params{grid-template-columns:1fr}}
.rp-g h2{font-family:var(--sans);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:#d9b98c;font-weight:700;margin:0 0 .35em}
.rp-rows{display:grid;grid-template-columns:1fr;gap:.45rem;margin:0;padding:0}

/* операторский пакет 10.08: автор/соус-компоненты/группы-перенос/мобильный порядок/похожие/фото справа */
.r-meta .meta-sauce a{color:#f6e7cd;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}
.r-meta .meta-sauce a:hover{color:#eece8e}
.r-params{display:flex;flex-wrap:wrap;gap:1rem 2rem;margin:1.15rem 0 0}
.rp-g{flex:1 1 15rem;min-width:15rem}
@media(min-width:880px){
  .r-band .sheet.r-hero{grid-template-areas:"text photo" "params photo"}
  .r-hero-text{grid-area:text}
  .r-band .sheet.r-hero>.r-params{grid-area:params;align-self:start}
  .r-band .dish-frame{grid-area:photo}
}
.related-sheet{position:relative;overflow:hidden}
.related-sheet::before{content:"";position:absolute;top:0;left:0;right:0;height:9px;
  background:
    repeating-linear-gradient(90deg, rgba(168,50,38,.5) 0 9px, transparent 9px 18px),
    repeating-linear-gradient(0deg, rgba(168,50,38,.32) 0 9px, transparent 9px 18px)}

/* операторский пакет 10.08-2: чипы-ссылки, две группы, совет на всю ширину, карточки квадратные */
.r-meta .meta-dough a{color:#dce8b8;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}
.r-meta .meta-dough a:hover{color:#eece8e}

.tech-band .linkband{margin:0}

/* инвентарь (контракт рецепта: required vs optional, честная вилка) */
.inv{list-style:none;margin:0;padding:0}
.inv li{padding:.24rem 0;font-size:.95rem}
.inv a{color:var(--tom-d);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}
.inv em{color:var(--ink2)}


/* фикс 10.08 v2: точки+граммы — неразрывный блок; при переносе уходит целой строкой, дыры нет */
.ingr li{flex-wrap:wrap}
.ingr .lead{flex:1;display:flex;align-items:flex-end;gap:.5em;min-width:5.5em}
.ingr .lead .dots{display:block}

/* фикс 10.08 v3: последнее слово имени живёт в блоке с точками — отточия всегда сразу за ним */
.ingr .lead .lw{white-space:nowrap}

/* 10.08: липкая колонка = две отдельные карточки (Ингредиенты / Понадобится) */
.r-side{position:sticky;top:16px;display:flex;flex-direction:column;gap:1rem;background:none;border:0;padding:0;box-shadow:none}
.side-card{background:var(--card);border:1px solid var(--line2);border-radius:12px;padding:1.15rem 1.25rem 1.3rem;box-shadow:0 1px 0 #fff inset,0 3px 10px rgba(120,72,28,.12)}

/* 10.08: ритм шапки — параметры сразу под чипами, остаток высоты вниз */
@media(min-width:880px){
  .r-band .sheet.r-hero{grid-template-rows:auto 1fr}
  .r-band .sheet.r-hero>.r-params{align-self:start;margin-top:1.15rem}
}

/* 10.08: «Что важно знать» — карточки перелинковки в технику */
.sec-head.k-know::before{content:"· техника ·"}
.know-grid{display:grid;gap:1rem}
@media(min-width:880px){.know-grid{grid-template-columns:repeat(3,1fr)}}
.know-card{background:var(--card);border:1px solid var(--line2);border-radius:12px;padding:1.1rem 1.2rem 1.15rem;box-shadow:0 1px 0 #fff inset}
.know-card h3{margin:0 0 .4em;font-size:1.06rem;color:var(--tom-d)}
.know-card p{margin:0 0 .8em;font-size:.95rem;color:var(--ink)}
.know-card a{color:var(--tom-d);font-weight:700;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}
.know-card a:hover{color:var(--tom)}

/* грамматика лэйаута: «Что важно знать» = Лз (зелёная кромка), «Похожие» = Лк (томатная) */
.know-sheet{position:relative;overflow:hidden}
.know-sheet::before{content:"";position:absolute;top:0;left:0;right:0;height:9px;
  background:
    repeating-linear-gradient(90deg, rgba(95,113,52,.4) 0 9px, transparent 9px 18px),
    repeating-linear-gradient(0deg, rgba(95,113,52,.25) 0 9px, transparent 9px 18px)}

/* грамматика: вплотную к подвалу — только П; последний ЛИСТ держит стандартные 20px */
main>section:last-of-type{margin-bottom:1.25rem}
main>section.tech-band:last-of-type{margin-bottom:0}


/* баннер со скидкой в шаге с доской */
.step-tx--promo{flex-wrap:wrap}.step-tx--promo p{flex:1 1 0;min-width:0}.step-promo{flex:0 0 100%;display:block;position:relative;margin:.15rem 0 0;background:var(--bg);color:var(--ink);text-decoration:none;text-align:center}.step-promo::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 6px 0,var(--card) 4.5px,transparent 5px) repeat-x top left/12px 8px,radial-gradient(circle at 6px 8px,var(--card) 4.5px,transparent 5px) repeat-x bottom left/12px 8px,radial-gradient(circle at 0 6px,var(--card) 4.5px,transparent 5px) repeat-y top left/8px 12px,radial-gradient(circle at 8px 6px,var(--card) 4.5px,transparent 5px) repeat-y top right/8px 12px}.step-promo .sp-in{position:relative;display:flex;flex-direction:column;gap:.15rem;padding:1rem 1.2rem 1.05rem}.step-promo .sp-head{font-size:.92rem;line-height:1.5}.step-promo .sp-head b{color:var(--tom-d)}.step-promo .sp-code{font-family:var(--serif);font-weight:700;font-size:1.3rem;letter-spacing:.05em}.step-promo .sp-go{font-size:.9rem;font-weight:700;color:var(--tom-d)}.step-promo:hover{background:#efdcb8}.step-promo:focus-visible{outline:2px solid var(--tom-d);outline-offset:3px}


/* оператор: фон, строка ингредиента */
body{background-image:url('/images/bg-linen-ab6be1e80184.webp')!important;background-size:512px 512px!important;background-repeat:repeat!important;background-attachment:fixed!important;}
.ingr .lead{flex:1 0 auto;max-width:100%}.ingr .lead b{white-space:normal;text-align:right}.r-layout .r-side{min-width:0}@media(max-width:859.98px){.r-layout .r-ingr,.r-layout .r-side{position:static}}.site-head{position:relative;z-index:30}ol.howto-grid{grid-template-columns:1fr}@media(min-width:620px){ol.howto-grid{grid-template-columns:1fr 1fr}}@media(min-width:960px){ol.howto-grid{grid-template-columns:repeat(4,1fr)}}

/* Только локальный русский пилот. Палитра и сетки взяты из русского site-v2. */
.r-layout,.r-method,.r-side,.side-card,.step,.step-copy{min-width:0;max-width:100%}
@media(max-width:859.98px){.r-layout{grid-template-columns:minmax(0,1fr)}.r-layout .r-ingr,.r-layout .r-side{position:static}}
/* Размер карточки, а не ширина окна: боковая колонка не сжимает текст шага. */
.r-method{container-type:inline-size}
.step--photo{grid-template-columns:minmax(0,1fr)}
.step--photo .step-tx{border-top:3px double var(--line)}
.step--photo .step-ph{order:0;border-left:0}
.step--photo .step-ph img{aspect-ratio:3/2}
@container(min-width:36rem){
  .step--photo{grid-template-columns:repeat(2,minmax(0,1fr))}
  .step--photo .step-tx{border-top:0}
  .step--photo .step-ph{order:2;border-left:3px double var(--line)}
  .step--photo .step-ph img{aspect-ratio:1/1}
}
/* Название читается целиком, затем идут точки и единое количество. */
.ingr li{display:block;min-width:0;max-width:100%}
.ingr .lead{width:100%;display:flex;flex-flow:row wrap;align-items:flex-start;column-gap:.28em;row-gap:0;min-width:0;max-width:100%}
.ingr .ingr-word{flex:0 1 auto;min-width:0;max-width:100%;overflow-wrap:anywhere}
.ingr .ingr-tail{flex:1 1 auto;display:flex;align-items:flex-start;gap:.5em;min-width:min(4rem,100%);max-width:100%}
.ingr .ingr-tail .dots{display:block;flex:1 1 1.5em;min-width:.75rem;margin-top:.72em;transform:none}
.ingr .ingr-tail b{flex:0 0 auto;min-width:0;max-width:min(9.4rem,calc(100% - 1.25rem));white-space:normal;overflow-wrap:anywhere;text-align:right}
.step-copy{flex:1 1 0}
.step-title{margin:.1rem 0 .35rem;font-size:1.08rem;line-height:1.3}
.step-tx .step-copy p{padding-top:0}
/* Купон — новая строка на всю текстовую колонку, включая место под номером. */
.step-tx--promo{flex-wrap:wrap;row-gap:.8em;row-gap:.5lh}
.step-tx--promo>.step-promo{margin:0;flex:0 0 100%;width:100%;min-width:0;max-width:100%}
.rp-g{min-width:0}
.r-params .rp dt,.r-params .rp dd{white-space:normal}
.r-params .rp dd{min-width:0}
.mainnav .nav-current{flex:0 0 auto;padding:.5rem .72rem;border-radius:999px;background:#9d4f43;color:#fff;font:800 .8rem/1.6 "Trebuchet MS","Segoe UI",Arial,sans-serif;white-space:nowrap}
.m-nav .nav-current{display:block;padding:.85rem .3rem;border-radius:8px;background:#9d4f43;color:#fff;font-weight:800;font-size:.95rem}
@media(min-width:980px){.mainnav .nav-current{font-size:.88rem}}
.pilot-index .intro-sheet{margin-top:1.25rem}
.pilot-index .pop-grid li{display:list-item}
.pilot-index .page-t::before{display:none}
.pilot-index .page-t{color:var(--ink)}
.pilot-index .page-lead{color:var(--ink2);max-width:54rem}
.card-m{display:block}
.card-m .mchip{display:inline-block;margin-right:.35rem}
@media print{.site-head,.site-foot,.step-promo,.related-section{display:none}.r-side{position:static!important}.r-band{background:none;color:var(--ink)}.r-band .page-t,.r-band .page-lead,.r-params .rp dd,.rp-g h2,.r-params .rp dt{color:var(--ink)}.step{break-inside:avoid}}

/* Shared RU shell. Recipe columns become one column before content can overlap. */
/* The recipe .wrap shorthand must not erase the home hero's vertical inset. */
.ru-home main{padding-top:0}
.ru-home .hero>.wrap.hero-in{padding-block:var(--rhythm)}
.ru-home main>section:last-of-type{margin-bottom:0}
/* These cards contain their own 1–4; recipe steps use the shared counter. */
.ru-home .howto-grid .num::before{content:none;display:none}
.popular.is-first .sheet::before{content:none}
.r-layout{grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:24px}
.r-method,.r-ingr,.step-tx,.step-copy{min-width:0}
.r-side{position:static!important;top:auto!important;align-self:start}
.step-promo{margin-top:.8em!important;grid-column:1/-1}
.mainnav .nav-current{background:#a83226;color:#fff}
.mainnav span.nav-current{display:inline-block;padding:.55em .8em;border-radius:10px}
.r-meta a{color:inherit;text-decoration:underline;text-underline-offset:.15em}
.hub-page .sheet.hub-sheet{padding:var(--rhythm) clamp(1rem,3.5vw,2.4rem)}
.hub-sheet .sec-head.no-k::before{content:none;display:none}
/* Reuse the site's banner, paper, typography and recipe-card components. */
.hub-page .page-t::before{content:none}
.hub-page .r-band .r-crumbs [aria-current]{color:#f6e7cd}
.hub-page .hub-heading{margin-bottom:1.25rem}
.hub-page .page-lead{max-width:65em}
.hub-page p{color:var(--ink2)}
.hub-page .r-band p{color:#eadbc2}
.hub-page .hub-sheet::before{content:none}
.hub-page .hub-group-heading{font-size:clamp(1.4rem,3vw,1.85rem);margin-bottom:1rem}
.hub-prose.art{margin:0;min-width:0}
.hub-prose.art h2,.hub-prose.art h3{font-size:clamp(1.2rem,2.5vw,1.5rem);margin:1.2rem 0 .55rem}
.hub-prose.art h2:first-child,.hub-prose.art h3:first-child{margin-top:0}
.hub-prose.art p{margin:0 0 .85rem;line-height:1.6}
.hub-prose.art p:last-child{margin-bottom:0}
.hub-feature,.hub-editorial,.hub-overview{display:grid;gap:1.5rem;min-width:0}
.hub-feature{align-items:start}
.hub-editorial{align-items:start}
.hub-photo{margin:0;min-width:0}
.hub-photo img{display:block;width:100%;height:auto;aspect-ratio:auto 3 / 2;object-fit:contain;border-radius:12px;outline:1px solid var(--line2);box-shadow:0 6px 16px rgba(80,44,16,.12)}
.hub-recipes{min-width:0}
.hub-recipes-heading{font-family:var(--serif);font-size:1.35rem;margin:0 0 .8rem;color:var(--ink)}
.hub-recipes .hub-recipe-grid{grid-template-columns:minmax(0,1fr)}
.hub-recipe-row{min-width:0}
.hub-feature>.hub-recipe-row{border-top:3px double var(--line);padding-top:1.5rem}
.hub-recipe-grid--compact .card{display:grid;grid-template-columns:minmax(94px,.82fr) minmax(0,1.18fr);align-items:center}
.hub-recipe-grid--compact .card-img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;align-self:start}
.hub-recipe-grid--compact .card-b{border-top:0;border-left:3px double var(--line);padding:.85rem;min-width:0;align-self:stretch;justify-content:center}
.hub-recipe-grid--compact .card-t{font-size:1rem}
.hub-recipe-grid--compact .card-m{font-size:.75rem}
.hub-topic-grid{display:grid;gap:1.05rem;grid-template-columns:minmax(0,1fr)}
.hub-topic-card{background:var(--card);border:1px solid var(--line2);border-radius:12px;overflow:hidden;min-width:0;box-shadow:0 1px 0 #fff inset,0 3px 10px rgba(120,72,28,.12);display:flex;flex-direction:column}
.hub-topic-image{display:block}
.hub-topic-image img{display:block;width:100%;height:auto;aspect-ratio:auto 3 / 2;object-fit:contain}
.hub-topic-grid:has(>.hub-topic-card:only-child){grid-template-columns:minmax(0,1fr)}
.hub-topic-card:only-child{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:center}
.hub-topic-card:only-child .hub-topic-copy{border-top:0;border-left:3px double var(--line);align-self:stretch;justify-content:center}
.hub-topic-card:only-child .hub-read{margin-top:0}
.hub-topic-copy{padding:1rem 1.1rem 1.15rem;display:flex;flex:1;flex-direction:column;border-top:3px double var(--line)}
.hub-topic-copy p{margin:.25rem 0 .75rem;font-size:.93rem}
.hub-topic-copy h3{font-size:1.22rem;margin:0 0 .3rem}
.hub-topic-copy h3 a{text-decoration:none;color:var(--ink)}
.hub-topic-copy h3 a:hover{color:var(--tom-d);text-decoration:underline}
.hub-read{font-weight:650;font-size:.9rem;margin-top:auto}
.hub-inline>h2{font-size:clamp(1.4rem,3vw,1.85rem);margin-bottom:.65rem}
.hub-topic-intro{max-width:68ch;margin:0 0 1.25rem}
.hub-topic-grid+.hub-inline,.hub-inline+.hub-inline{margin-top:2rem;border-top:3px double var(--line);padding-top:2rem}
.hub-jumps{margin-top:1.5rem;padding-top:1.1rem;border-top:1px solid var(--line)}
.hub-jumps ul,.hub-related{display:flex;flex-wrap:wrap;gap:.45rem .6rem;list-style:none;padding:0;margin:0}
.hub-jumps a,.hub-related a{display:block;padding:.45rem .9rem;border:1px solid var(--line2);border-radius:999px;background:var(--card);text-decoration:none;color:var(--tom-d);font-size:.9rem;font-weight:650}
.hub-jumps a:hover,.hub-related a:hover{background:#f3e2bd}
.hub-next{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;margin-top:.75rem}
.hub-next p{margin:.5rem 0 0}
.hub-filter{margin:1rem 0 0}
.hub-filter a{font-weight:650}
.hub-sources{margin-top:1.2rem;padding-top:.7rem;border-top:1px solid var(--line);font-size:.82rem;color:var(--ink2)}
.hub-sources summary{cursor:pointer;width:fit-content}
.hub-sources ul{margin:.5rem 0 0;padding-left:1.15rem}
.hub-sources a{overflow-wrap:anywhere}
.hub-page [data-hub-border="tomato"]>.wrap>.hub-sheet::before,.hub-page [data-hub-border="olive"]>.wrap>.hub-sheet::before{content:"";position:absolute;left:0;right:0;top:0;height:9px;border-radius:15px 15px 0 0;background:repeating-linear-gradient(90deg,rgba(168,50,38,.5) 0 9px,transparent 9px 18px),repeating-linear-gradient(0deg,rgba(168,50,38,.32) 0 9px,transparent 9px 18px)}
.hub-page [data-hub-border="olive"]>.wrap>.hub-sheet::before{background:repeating-linear-gradient(90deg,rgba(95,113,52,.4) 0 9px,transparent 9px 18px),repeating-linear-gradient(0deg,rgba(95,113,52,.25) 0 9px,transparent 9px 18px)}
@media(min-width:620px){
.hub-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.hub-recipe-row[data-hub-recipe-count="4"] .hub-recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:960px){
.hub-topic-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.hub-topic-grid:has(>.hub-topic-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.hub-feature[data-hub-layout="one"]{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:center;gap:2rem}
.hub-feature[data-hub-layout="two"]{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:2rem}
.hub-feature[data-hub-layout="three"]>.hub-editorial,.hub-feature[data-hub-layout="four"]>.hub-editorial,.hub-overview{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:2rem;align-items:center}
.hub-feature[data-hub-layout="three"]>.hub-editorial>.hub-photo,.hub-feature[data-hub-layout="four"]>.hub-editorial>.hub-photo{order:2}
}
@media(max-width:959px){
.hub-feature>.hub-recipes,.hub-feature>section>.hub-recipes{border-top:3px double var(--line);padding-top:1.5rem}
}
@media(max-width:619px){
.hub-topic-card{display:grid;grid-template-columns:minmax(100px,.8fr) minmax(0,1.2fr);align-items:start}
.hub-topic-copy{padding:.75rem;border-top:0;border-left:3px double var(--line);align-self:stretch}
.hub-topic-copy h3{font-size:1.1rem}
.hub-topic-copy p{font-size:.87rem}
.hub-read{font-size:.85rem}
.hub-recipe-grid--compact .card-b{padding:.7rem}
}
.hub-page .hub-recipe-grid{grid-template-columns:minmax(0,1fr)}
.hub-page .pop-grid>li{display:list-item;min-width:0}
.hub-page ul.pop-grid li:nth-child(n+4){display:list-item}
.hub-page .hub-recipes .hub-recipe-grid{grid-template-columns:minmax(0,1fr)}
.hub-page .hub-editorial .hub-image{height:auto;aspect-ratio:auto 3 / 2;object-fit:contain}
.hub-topic-card{position:relative}
.hub-anchor-alias{display:block;position:absolute;width:0;height:0;pointer-events:none;scroll-margin-top:24px}
.hub-topic-copy,.hub-prose,.hub-recipes .card-t{overflow-wrap:break-word}
.hub-jumps a:focus-visible,.hub-related a:focus-visible{outline:2px solid var(--tom-d);outline-offset:3px}
@media(min-width:620px){.hub-page .hub-recipe-row .hub-recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:960px){.hub-page .hub-recipe-row .hub-recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hub-page .hub-recipe-row[data-hub-recipe-count="4"] .hub-recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* The accepted recipe finder: consecutive facets, not two filter columns. */
.catalog-sheet .facet{margin:0 0 1.3rem}
.catalog-sheet .facet-name{font-family:var(--serif);font-weight:700;font-style:italic;font-size:1.05rem;margin:0 0 .55rem}
.catalog-sheet ul.tags{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:0;padding:0}
.catalog-sheet .tag{display:inline-flex;align-items:center;gap:.4em;padding:.38em .9em;border-radius:9px;background:var(--cream);border:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:.92rem;line-height:1.25}
.catalog-sheet .tag small{font-size:.86em;color:var(--dim)}
.catalog-sheet .tag-on{font-weight:600}
.catalog-sheet .tag-on .x{display:inline-grid;place-items:center;width:1.15em;height:1.15em;margin-left:.15em;border-radius:3px;background:rgba(255,255,255,.22);font-style:normal;font-size:.85em;line-height:1}
.catalog-sheet .tag-off{pointer-events:none}
.catalog-sheet .showing{font-family:var(--serif);font-size:clamp(1.05rem,2.4vw,1.2rem);margin:1.2rem 0 1.1rem;font-style:italic}
.catalog-sheet .showing strong{color:var(--tom-d);font-style:normal;background:linear-gradient(transparent 70%,var(--goldl) 70%)}
.catalog-sheet .showing .n{white-space:nowrap}
.catalog-sheet .showing .reset{margin-left:.6em;font-family:var(--sans);font-style:normal;font-size:.85rem;color:var(--tom-d);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}
/* Progressive disclosure changes visibility only; links remain static. */
.facet[data-filter-facet]{--compact-rows:2}
.facet[data-filter-facet] .tags>li{min-width:0;max-width:100%}
.facet[data-filter-facet] [hidden]{display:none!important}
.facet[data-filter-facet] .tag{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.facet[data-filter-facet] a.tag:not(.tag-on){background:var(--card);border-color:#b99762;color:var(--ink);font-weight:500}
.facet[data-filter-facet] a.tag:not(.tag-on):hover{background:#fff;border-color:var(--tom)}
.facet[data-filter-facet] .tag-on{background:var(--tom-d);border-color:var(--tom-d);color:#fff}
.facet[data-filter-facet] a.tag-on:hover{background:var(--tom);border-color:var(--tom);color:#fff}
.facet[data-filter-facet] .tag-off{background:transparent;border-color:#c9c2b4;border-style:dashed;color:#766f64;font-weight:400}
.facet-toggle{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;margin:.35rem 0 0;padding:.2rem .1rem;border:0;background:transparent;color:var(--tom-d);font:600 .9rem/1.35 var(--sans);cursor:pointer;text-align:left}
.facet-toggle-text{text-decoration:underline;text-underline-offset:3px}
.facet-toggle:hover{color:var(--tom)}
.facet-toggle-icon{font-size:1.2em;line-height:1}
.facet-toggle[aria-expanded="true"] .facet-toggle-icon{transform:rotate(180deg)}
@media(max-width:739.98px){.facet[data-filter-facet]{--compact-rows:3}}
@media print{.facet[data-filter-facet] .tags>li[hidden]{display:list-item!important}.facet-toggle{display:none!important}}
.catalog-sheet ul.pop-grid li:nth-child(n+4){display:list-item}
.catalog-sheet .pop-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.pagination{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.4rem 0 .2rem;justify-content:center}
.catalog-sheet .pagination .tag{min-width:44px;min-height:44px;justify-content:center}
.catalog-sheet .pagination .is-cur{background:var(--tom-d);border-color:var(--tom-d);color:#fff;font-weight:600}
.pagination .gap{align-self:center;color:var(--dim);padding:0 .25rem}
.pagination a:focus-visible{outline:2px solid var(--tom-d);outline-offset:3px}
.pager-note{text-align:center;color:var(--dim);font-size:.85rem;margin:0}
@media(max-width:960px){.r-layout{display:block}.r-side{margin-bottom:24px}}
@media(max-width:700px){.catalog-sheet .pop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.catalog-sheet .pop-grid{grid-template-columns:minmax(0,1fr)}}
