/* Recepty.mobi — Joomla 5 template
   Editorial culinary aesthetic: cream paper, deep green accent, serif headings.
   New design — distinct from the prototype. */

:root{
  --c-bg:#F4F1E8;
  --c-paper:#FFFCF3;
  --c-paper-2:#FAF6E9;
  --c-ink:#1A1F18;
  --c-ink-2:#3B4239;
  --c-muted:#7A7E72;
  --c-line:#E0DACA;
  --c-line-strong:#C7BFA8;
  --c-accent:#1F4E3D;       /* overridden by template params */
  --c-accent-soft:#E1ECE6;
  --c-warm:#EBE3CB;
  --c-cream:#F0E9D2;
  --c-rust:#A35A3A;
  --c-gold:#B58B3A;

  --serif:"Lora", Georgia, "Times New Roman", serif;
  --sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

  --radius:14px;
  --radius-sm:8px;
  --shadow-sm:0 1px 2px rgba(26,31,24,.04), 0 4px 12px -6px rgba(26,31,24,.08);
  --shadow:0 1px 3px rgba(26,31,24,.06), 0 12px 28px -14px rgba(26,31,24,.18);
  --shadow-lg:0 2px 6px rgba(26,31,24,.06), 0 28px 56px -20px rgba(26,31,24,.22);

  --container:1240px;
  --gutter:32px;
}

[data-radius="square"]{--radius:0;--radius-sm:0}
[data-radius="round"]{--radius:22px;--radius-sm:14px}

[data-fontpair="serif-only"] body{font-family:var(--serif)}
[data-fontpair="sans-only"]   h1,h2,h3,h4,h5,h6{font-family:var(--sans)}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--c-bg);
  color:var(--c-ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:color .15s ease}
a:hover{color:var(--c-accent)}
button{font:inherit;cursor:pointer}

h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.15;letter-spacing:-.01em;margin:0;color:var(--c-ink);text-wrap:balance}
h1{font-size:clamp(34px,4.6vw,58px);letter-spacing:-.02em;line-height:1.04}
h2{font-size:clamp(26px,2.8vw,38px)}
h3{font-size:22px}
h4{font-size:18px}
p{margin:0 0 1em;text-wrap:pretty}

.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
@media(max-width:720px){:root{--gutter:18px}}

/* === V18.7 anti-CLS: font fallback metrics —
   подменяем Lora/Inter близкими системными шрифтами с правильным size-adjust,
   чтобы при font-swap (когда Google Fonts докачаются) не было layout shift */
@font-face{font-family:"Lora-fallback";src:local("Georgia"),local("Times New Roman");size-adjust:106%;ascent-override:90%;descent-override:24%;line-gap-override:0%}
@font-face{font-family:"Inter-fallback";src:local("Segoe UI"),local("Roboto"),local("Helvetica");size-adjust:100%;ascent-override:90%;descent-override:22%;line-gap-override:0%}
body{font-family:"Inter","Inter-fallback",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
h1,h2,h3,h4,.rcp-article__title{font-family:"Lora","Lora-fallback",Georgia,serif}

/* ===== HEADER ===== */
.rcp-header{
  position:sticky;top:0;z-index:50;
  background:rgba(244,241,232,.92);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid var(--c-line);
}
.rcp-header__inner{display:flex;align-items:center;gap:24px;height:76px}
.rcp-logo{display:inline-flex;align-items:center;gap:10px;font-family:var(--serif);font-size:22px;font-weight:600;color:var(--c-ink);letter-spacing:-.01em}
.rcp-logo:hover{color:var(--c-ink)}
.rcp-logo__dot{color:var(--c-accent)}
.rcp-logo--paper{color:#fff}
.rcp-logo--paper:hover{color:#fff}

.rcp-nav{flex:1;display:flex;justify-content:center}
.rcp-nav ul{list-style:none;padding:0;margin:0;display:flex;gap:24px}
.rcp-nav a{font-size:14px;font-weight:500;color:var(--c-ink-2);padding:6px 0;position:relative}
.rcp-nav .current > a, .rcp-nav .active > a{color:var(--c-accent)}
.rcp-nav a:hover{color:var(--c-accent)}

.rcp-header__right{display:flex;align-items:center;gap:12px}
.rcp-header__right input[type="search"], .rcp-header__right input.search-query{
  height:40px;padding:0 14px;background:var(--c-paper);border:1px solid var(--c-line);
  border-radius:var(--radius-sm);font:inherit;font-size:14px;color:var(--c-ink);outline:none;width:220px;
}
.rcp-header__right input:focus{border-color:var(--c-ink)}

.rcp-burger{display:none;width:40px;height:40px;border:1px solid var(--c-line);border-radius:var(--radius-sm);background:var(--c-paper);flex-direction:column;justify-content:center;align-items:center;gap:4px}
.rcp-burger span{display:block;width:18px;height:1.5px;background:var(--c-ink)}

@media(max-width:960px){
  .rcp-nav{display:none}
  .rcp-burger{display:flex}
  .rcp-header__right input[type="search"], .rcp-header__right input.search-query{width:160px}
}

/* ===== CRUMBS ===== */
.rcp-crumbs{padding:18px 0 4px;font-size:13px;color:var(--c-muted)}
.rcp-crumbs ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rcp-crumbs li{display:flex;align-items:center;gap:8px}
.rcp-crumbs li::after{content:"›";color:var(--c-line-strong);margin-left:8px}
.rcp-crumbs li:last-child::after{display:none}
.rcp-crumbs a{color:var(--c-muted)}
.rcp-crumbs .active{color:var(--c-ink-2)}

/* ===== HERO ===== */
.rcp-hero{padding:32px 0 8px}

/* ===== SECTIONS ===== */
.rcp-collections, .rcp-tools, .rcp-articles{padding:48px 0}

.rcp-section{margin-bottom:48px}
.rcp-section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:24px;flex-wrap:wrap;border-bottom:1px solid var(--c-line);padding-bottom:18px}
.rcp-section__kicker{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--c-accent);margin-bottom:8px}
.rcp-section__title{font-size:clamp(28px,3vw,40px);margin:0}
.rcp-section__more{font-size:14px;font-weight:600;color:var(--c-ink);display:inline-flex;align-items:center;gap:6px}
.rcp-section__more::after{content:"→";transition:transform .15s ease}
.rcp-section__more:hover::after{transform:translateX(3px)}

/* ===== MAIN LAYOUT ===== */
.rcp-main{padding:32px 0 64px;min-height:50vh}
.rcp-layout{display:grid;gap:48px;align-items:start}
.rcp-layout--two{grid-template-columns:280px 1fr}
.rcp-layout--two:has(.rcp-sidebar--right):not(:has(.rcp-sidebar--left)){grid-template-columns:1fr 280px}
.rcp-layout--three{grid-template-columns:240px 1fr 240px}

.rcp-sidebar{position:sticky;top:96px;display:flex;flex-direction:column;gap:24px}

@media(max-width:1024px){
  .rcp-layout--two,.rcp-layout--three{grid-template-columns:1fr}
  .rcp-sidebar{position:static}
}

/* ===== WIDGETS / MODULE WRAPPER ===== */
.rcp-widget{background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--radius);padding:22px 24px;margin-bottom:18px}
.rcp-widget__title{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-muted);margin:0 0 14px}
.rcp-widget ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}
.rcp-widget li a{display:flex;justify-content:space-between;padding:8px 0;font-size:14px;border-bottom:1px solid var(--c-line)}
.rcp-widget li:last-child a{border-bottom:0}

.rcp-footer-mod ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.rcp-footer-mod a{color:#A89F8C;font-size:14px}
.rcp-footer-mod a:hover{color:#fff}

/* ===== BUTTONS ===== */
.rcp-btn, .btn-primary, .btn.btn-primary{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:44px;padding:0 22px;border-radius:var(--radius-sm);
  background:var(--c-ink);color:var(--c-paper);
  font-weight:600;font-size:14px;letter-spacing:.01em;
  border:1px solid var(--c-ink);
  transition:transform .12s ease, background .15s ease;
}
.rcp-btn:hover{background:var(--c-accent);border-color:var(--c-accent);color:#fff}
.rcp-btn--ghost{background:transparent;color:var(--c-ink);border:1px solid var(--c-line-strong)}
.rcp-btn--ghost:hover{background:var(--c-paper);border-color:var(--c-ink);color:var(--c-ink)}
.rcp-btn--accent{background:var(--c-accent);border-color:var(--c-accent);color:#fff}
.rcp-btn--accent:hover{background:var(--c-ink);border-color:var(--c-ink)}

/* ===== ARTICLE / RECIPE ===== */
.rcp-article{display:grid;gap:36px}
.rcp-article__hero{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center}
.rcp-article__title-wrap .rcp-tag{
  display:inline-flex;align-items:center;gap:6px;
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--c-accent);margin-bottom:18px;
}
.rcp-article__title{font-size:clamp(36px,5vw,68px);line-height:.98;margin-bottom:18px}
.rcp-article__lede{font-size:19px;line-height:1.55;color:var(--c-ink-2);font-family:var(--serif);font-style:italic;font-weight:500;margin-bottom:24px;max-width:560px}
.rcp-article__byline{display:flex;align-items:center;gap:14px;font-size:14px;color:var(--c-muted);flex-wrap:wrap}
.rcp-article__byline strong{color:var(--c-ink);font-weight:600}
.rcp-article__byline .dot{opacity:.4}

.rcp-article__image{aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;background:var(--c-warm);box-shadow:var(--shadow-lg)}
.rcp-article__image img{width:100%;height:100%;object-fit:cover}

@media(max-width:900px){
  .rcp-article__hero{grid-template-columns:1fr}
}

/* Recipe meta strip — 4 stats */
.rcp-meta{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
  padding:24px 28px;background:var(--c-paper);border:1px solid var(--c-line);
  border-radius:var(--radius);margin:28px 0;
}
.rcp-meta__cell{display:flex;flex-direction:column;gap:4px}
.rcp-meta__label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-muted)}
.rcp-meta__value{font-family:var(--serif);font-size:24px;font-weight:600;line-height:1}

@media(max-width:640px){.rcp-meta{grid-template-columns:repeat(2,1fr)}}

/* Recipe body 2-col layout */
.rcp-recipe-body{display:grid;grid-template-columns:360px 1fr;gap:48px;align-items:start;margin-top:36px}
@media(max-width:1024px){.rcp-recipe-body{grid-template-columns:1fr}}

/* Ingredients sticky card */
.rcp-ingredients{position:sticky;top:96px;background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--radius);padding:26px 28px;box-shadow:var(--shadow-sm)}
@media(max-width:1024px){.rcp-ingredients{position:static}}
.rcp-ingredients h2{font-size:24px;margin-bottom:4px}
.rcp-ingredients__hint{font-size:13px;color:var(--c-muted);margin-bottom:18px}
.rcp-servings{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--c-bg);border:1px solid var(--c-line);border-radius:var(--radius-sm);margin-bottom:22px}
.rcp-servings__label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted)}
.rcp-servings__value{font-family:var(--serif);font-size:28px;font-weight:600;line-height:1}
.rcp-servings__btns{display:flex;gap:6px}
.rcp-servings__btn{width:36px;height:36px;border-radius:var(--radius-sm);border:1px solid var(--c-line-strong);background:var(--c-paper);font-size:18px;line-height:1;color:var(--c-ink)}
.rcp-servings__btn:hover{border-color:var(--c-ink)}

.rcp-ingredients ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0}
.rcp-ingredients li{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;            /* позволяем переносить qty на новую строку */
  gap:6px 12px;
  font-size:14.5px;
  padding:10px 0;
  border-bottom:1px dashed var(--c-line);
}
.rcp-ingredients li:last-child{border-bottom:0}
.rcp-ingredients .name{
  flex:1 1 55%;              /* мин 55%, может расти */
  min-width:0;               /* чтобы flex-item корректно ужималось */
  color:var(--c-ink-2);
  overflow-wrap:anywhere;    /* "длиннозерновой" ломается красиво */
  word-break:normal;
}
.rcp-ingredients .qty{
  font-variant-numeric:tabular-nums;
  font-weight:600;
  text-align:right;
  margin-left:auto;          /* всегда прижато к правому краю */
  max-width:100%;
  /* white-space: nowrap убран — длинные пояснения переносятся */
  overflow-wrap:break-word;
}
.rcp-ingredients .qty .qty-num{white-space:nowrap}  /* "1/2" / "730 г" не разрывать */
.rcp-ingredients .unit{color:var(--c-muted);font-weight:500;margin-left:3px}

/* Steps */
.rcp-steps{display:flex;flex-direction:column;gap:20px;list-style:none;padding:0;margin:24px 0 0;counter-reset:step}
.rcp-step{
  display:grid;grid-template-columns:60px 1fr 280px;gap:22px;align-items:start;
  background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--radius);
  padding:24px 26px;counter-increment:step;
}
.rcp-step:not(:has(img)){grid-template-columns:60px 1fr}
.rcp-step::before{
  content:counter(step);
  width:48px;height:48px;border-radius:999px;
  background:var(--c-accent);color:#fff;
  font-family:var(--serif);font-size:22px;font-weight:600;
  display:grid;place-items:center;
}
.rcp-step__body h3{font-size:21px;margin-bottom:8px}
.rcp-step__body p{margin:0;font-size:15px;line-height:1.65;color:var(--c-ink-2)}
.rcp-step__img{aspect-ratio:4/3;border-radius:var(--radius-sm);overflow:hidden;background:var(--c-warm)}
.rcp-step__img img{width:100%;height:100%;object-fit:cover}
@media(max-width:780px){
  .rcp-step{grid-template-columns:48px 1fr!important}
  .rcp-step__img{grid-column:1/-1}
}

/* KBJU */
.rcp-kbju{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}
.rcp-kbju__cell{padding:14px 12px;background:var(--c-bg);border-radius:var(--radius-sm);text-align:center}
.rcp-kbju__v{font-family:var(--serif);font-size:22px;font-weight:600;line-height:1}
.rcp-kbju__l{font-size:11px;color:var(--c-muted);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-top:4px}

/* Article prose */
.rcp-prose{font-family:var(--serif);font-size:19px;line-height:1.7;color:var(--c-ink-2);max-width:720px}
.rcp-prose h2{font-size:30px;margin-top:36px;margin-bottom:12px;color:var(--c-ink)}
.rcp-prose h3{font-size:22px;margin-top:28px;margin-bottom:10px;font-family:var(--serif)}
.rcp-prose p{margin:0 0 16px}
.rcp-prose ul, .rcp-prose ol{margin:0 0 18px;padding-left:22px}
.rcp-prose li{margin-bottom:8px}
.rcp-prose blockquote{
  margin:32px 0;padding:18px 28px;
  border-left:3px solid var(--c-accent);
  font-family:var(--serif);font-style:italic;
  font-size:24px;line-height:1.35;color:var(--c-ink);font-weight:500;
}
.rcp-prose img{border-radius:var(--radius);margin:18px 0}
.rcp-prose a{color:var(--c-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* Tags */
.rcp-tags{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.rcp-tags a{display:inline-flex;align-items:center;height:30px;padding:0 12px;background:var(--c-cream);color:var(--c-ink-2);border-radius:999px;font-size:13px;font-weight:500;border:1px solid var(--c-line)}
.rcp-tags a:hover{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}

/* Featured intro / fulltext */
.item-page > .page-header h2, .item-page > h1, .item-page .page-header h1{font-size:clamp(32px,4vw,52px);margin-bottom:16px}
.item-page p.lead, .item-page .article-intro{font-size:18px;font-family:var(--serif);font-style:italic;color:var(--c-ink-2);margin-bottom:24px}

/* ===== CATEGORY GRID (BLOG VIEW OVERRIDE) ===== */
.rcp-cat-hero{
  position:relative;overflow:hidden;
  background:var(--c-warm);border-bottom:1px solid var(--c-line);
  padding:48px 0 56px;margin-bottom:32px;
}
.rcp-cat-hero h1{margin:0}
.rcp-cat-hero__count{margin-top:12px;font-size:15px;color:var(--c-muted)}
.rcp-cat-hero__count strong{color:var(--c-ink)}

.rcp-cat-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-bottom:24px}
.rcp-cat-toolbar__count{font-size:14px;color:var(--c-muted)}
.rcp-cat-toolbar__sort{display:flex;gap:6px;flex-wrap:wrap}
.rcp-cat-toolbar__sort a{padding:7px 13px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;border:1px solid var(--c-line);color:var(--c-ink-2)}
.rcp-cat-toolbar__sort a:hover, .rcp-cat-toolbar__sort a.active{background:var(--c-ink);color:var(--c-paper);border-color:var(--c-ink)}

.rcp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:960px){.rcp-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.rcp-grid{grid-template-columns:1fr}}

/* Masonry-like via flex when supported */
.rcp-masonry{column-count:2;column-gap:20px}
.rcp-masonry > *{break-inside:avoid;margin-bottom:20px;display:block}
@media(max-width:900px){.rcp-masonry{column-count:1}}

/* Recipe card */
.rcp-card{
  display:flex;flex-direction:column;
  background:var(--c-paper);border:1px solid var(--c-line);
  border-radius:var(--radius);overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease;
  height:100%;
}
.rcp-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.rcp-card__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--c-warm)}
.rcp-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.rcp-card:hover .rcp-card__media img{transform:scale(1.04)}
.rcp-card__cat{
  position:absolute;top:12px;left:12px;
  padding:5px 11px;background:rgba(255,252,243,.95);backdrop-filter:blur(8px);
  border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.04em;
  text-transform:uppercase;color:var(--c-ink-2);
}
.rcp-card__body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.rcp-card__title{font-size:19px;line-height:1.2;margin:0}
.rcp-card__title a{color:var(--c-ink)}
.rcp-card__excerpt{margin:0;font-size:14px;color:var(--c-ink-2);line-height:1.5}
.rcp-card__meta{display:flex;flex-wrap:wrap;gap:12px;font-size:12.5px;color:var(--c-muted);margin-top:auto;padding-top:8px;border-top:1px solid var(--c-line)}
.rcp-card__meta span{display:inline-flex;align-items:center;gap:5px}

/* Featured / first card big */
.rcp-grid > .rcp-card--feature{grid-column:span 2}
.rcp-grid > .rcp-card--feature .rcp-card__media{aspect-ratio:16/9}
.rcp-grid > .rcp-card--feature .rcp-card__title{font-size:28px;font-family:var(--serif)}
@media(max-width:960px){.rcp-grid > .rcp-card--feature{grid-column:span 1}}

/* Pagination */
.pagination{display:flex;justify-content:center;gap:6px;list-style:none;padding:0;margin:32px 0 0;flex-wrap:wrap}
.pagination li a, .pagination li span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--c-line);background:var(--c-paper);font-size:14px;color:var(--c-ink)}
.pagination li.active span, .pagination li a:hover{background:var(--c-ink);color:var(--c-paper);border-color:var(--c-ink)}
.pagination li.disabled span{opacity:.4}

/* Forms (search, login, edit) */
input[type="text"], input[type="email"], input[type="password"], input[type="search"], textarea, select, .inputbox{
  font:inherit;width:100%;height:42px;padding:0 14px;
  background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--radius-sm);
  font-size:14.5px;color:var(--c-ink);outline:none;
  transition:border-color .15s ease;
}
textarea{height:auto;padding:12px 14px;line-height:1.55}
input:focus, textarea:focus, select:focus{border-color:var(--c-ink)}
label{font-size:13px;font-weight:600;color:var(--c-ink-2);display:block;margin-bottom:6px}

/* ===== FOOTER ===== */
.rcp-footer{margin-top:80px;padding:56px 0 32px;background:var(--c-ink);color:#D9D2C2}
.rcp-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:40px;align-items:start}
.rcp-footer__brand p{margin-top:14px;max-width:300px;font-size:14px;color:#A89F8C;line-height:1.6}
.rcp-footer h4{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:14px}
.rcp-footer__bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:36px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);font-size:12px;color:#7A7160}
@media(max-width:1024px){.rcp-footer__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.rcp-footer__grid{grid-template-columns:1fr}}

/* ===== ERROR PAGE ===== */
.rcp-error-body{background:var(--c-bg);min-height:100vh;display:grid;place-items:center;font-family:var(--sans)}
.rcp-error{text-align:center;padding:48px 32px;max-width:540px}
.rcp-error__code{font-family:var(--serif);font-size:120px;font-weight:600;line-height:1;color:var(--c-accent)}
.rcp-error__title{font-size:32px;margin:18px 0 12px}
.rcp-error__text{color:var(--c-muted);margin-bottom:28px;font-size:16px}

/* ===== UTILITIES ===== */
.rcp-row{margin-bottom:18px}
.rcp-msg{padding:14px 18px;border-radius:var(--radius-sm);background:var(--c-accent-soft);color:var(--c-accent);margin-bottom:18px}
hr{border:0;height:1px;background:var(--c-line);margin:24px 0}
::selection{background:var(--c-accent);color:#fff}

/* Article (info) layout */
.rcp-article--info{display:block}
.rcp-info-hero{max-width:820px;margin:0 auto 28px;text-align:left;padding-top:8px}
.rcp-info-hero__title{font-size:clamp(34px,4.5vw,60px);line-height:1.04;letter-spacing:-.02em;margin:14px 0 18px}
.rcp-info-hero__lede{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.5;color:var(--c-ink-2);max-width:720px;margin:0 0 18px}
.rcp-info-hero__image{max-width:1100px;margin:0 auto 32px;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:var(--c-warm);box-shadow:var(--shadow)}
.rcp-info-hero__image img{width:100%;height:100%;object-fit:cover}

.rcp-info-body{display:grid;grid-template-columns:240px 1fr;gap:56px;align-items:start;max-width:1100px;margin:0 auto}
@media(max-width:1024px){.rcp-info-body{grid-template-columns:1fr;gap:32px}}

.rcp-toc-wrap{position:sticky;top:96px}
@media(max-width:1024px){.rcp-toc-wrap{position:static}}
.rcp-toc{padding:22px 24px;background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--radius)}
.rcp-toc__title{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-muted);margin:0 0 12px}
.rcp-toc ol{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px;counter-reset:none}
.rcp-toc li a{display:flex;gap:10px;padding:8px 0;font-size:14px;color:var(--c-ink-2);line-height:1.4;border-bottom:1px dashed var(--c-line)}
.rcp-toc li:last-child a{border-bottom:0}
.rcp-toc li a:hover{color:var(--c-accent)}
.rcp-toc__num{font-variant-numeric:tabular-nums;font-weight:600;color:var(--c-muted);min-width:22px}
.rcp-toc__share{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.rcp-toc__share .rcp-btn{height:36px;padding:0 14px;font-size:13px;flex:1}

/* Prose for info articles */
.rcp-prose--article{max-width:720px;font-size:18px}
.rcp-prose--article h2{scroll-margin-top:96px;font-size:30px;margin:40px 0 14px;padding-top:14px;border-top:1px solid var(--c-line)}
.rcp-prose--article h2:first-child{border-top:0;padding-top:0;margin-top:0}
.rcp-prose--article h3{font-size:21px;margin:28px 0 10px;font-family:var(--serif)}
.rcp-prose--article ul, .rcp-prose--article ol{padding-left:22px}
.rcp-prose--article li{margin-bottom:8px}
.rcp-prose--article li::marker{color:var(--c-accent)}
.rcp-prose--article img{margin:24px 0;border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.rcp-prose--article p{margin-bottom:16px}

/* Tables in articles */
.rcp-prose--article table{
  width:100%;border-collapse:collapse;margin:24px 0;
  background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--radius);
  overflow:hidden;font-family:var(--sans);font-size:14.5px;
}
.rcp-prose--article thead{background:var(--c-cream)}
.rcp-prose--article th{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--c-ink);padding:14px 16px;text-align:left;border-bottom:1px solid var(--c-line-strong)}
.rcp-prose--article td{padding:13px 16px;border-bottom:1px solid var(--c-line);color:var(--c-ink-2);vertical-align:top}
.rcp-prose--article tbody tr:last-child td{border-bottom:0}
.rcp-prose--article tbody tr:hover{background:var(--c-bg)}

/* FAQ accordion */
.rcp-faq{display:flex;flex-direction:column;gap:6px;margin:18px 0}
.rcp-faq details{background:var(--c-paper);border:1px solid var(--c-line);border-radius:var(--radius)}
.rcp-faq summary{cursor:pointer;list-style:none;padding:18px 22px;font-family:var(--serif);font-size:18px;font-weight:600;color:var(--c-ink);display:flex;justify-content:space-between;align-items:center;gap:14px}
.rcp-faq summary::-webkit-details-marker{display:none}
.rcp-faq__plus{color:var(--c-accent);font-size:24px;line-height:1;transition:transform .2s ease}
.rcp-faq details[open] .rcp-faq__plus{transform:rotate(45deg)}
.rcp-faq__a{padding:0 22px 20px;color:var(--c-ink-2);font-size:16px;line-height:1.65;font-family:var(--serif)}
.rcp-faq__a p{margin:0 0 10px}
.com-content-article .article-info{font-size:13px;color:var(--c-muted);display:flex;flex-wrap:wrap;gap:14px;margin-bottom:18px}
.com-content-category-blog .items-leading,
.com-content-category-blog .items-row{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:24px}
.com-content-category-blog .items-leading{grid-template-columns:1fr}
@media(max-width:960px){
  .com-content-category-blog .items-leading,
  .com-content-category-blog .items-row{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .com-content-category-blog .items-leading,
  .com-content-category-blog .items-row{grid-template-columns:1fr}
}

/* Custom fields display block */
.fields-container{display:flex;flex-direction:column;gap:8px;margin:18px 0;padding:18px 22px;background:var(--c-paper);border-radius:var(--radius);border:1px solid var(--c-line)}
.field-entry{display:flex;gap:10px;font-size:14.5px}
.field-label{font-weight:600;color:var(--c-ink-2);min-width:160px}
.field-value{color:var(--c-ink-2)}

/* === Breadcrumbs (mod_breadcrumbs внутри .rcp-crumbs, recepty audit fix) === */
.rcp-crumbs ol.mod-breadcrumbs { display:flex; flex-wrap:wrap; padding:0; margin:0; list-style:none; gap:6px; background:transparent; border:0; }
.rcp-crumbs ol.mod-breadcrumbs > li { display:inline-flex; align-items:center; gap:6px; padding:0; }
.rcp-crumbs ol.mod-breadcrumbs > li + li::before { content:"/"; color:var(--c-line-strong); margin:0 4px; }
.rcp-crumbs ol.mod-breadcrumbs > li.mod-breadcrumbs__divider { display:none; }
.rcp-crumbs ol.mod-breadcrumbs > li > span { color:var(--c-muted); }
.rcp-crumbs ol.mod-breadcrumbs > li.active > span { color:var(--c-ink-2); font-weight:500; }
.rcp-crumbs ol.mod-breadcrumbs a { color:var(--c-muted); }
.rcp-crumbs ol.mod-breadcrumbs a:hover { color:var(--c-accent); }

/* === Font Awesome 6 — fix family name mismatch (recepty audit v3) ===
   На сайте есть @font-face объявленные как "Font Awesome 5 Brands/Free",
   но cdnjs FA6 правила используют "Font Awesome 6 …". Дублируем @font-face
   под FA6-именами, чтобы .fa-brands/.fa-solid находили шрифт. */
@font-face {
    font-family: "Font Awesome 6 Brands";
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/webfonts/fa-brands-400.woff2") format("woff2"),
         url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/webfonts/fa-brands-400.ttf") format("truetype");
}
@font-face {
    font-family: "Font Awesome 6 Free";
    font-style: normal;
    font-weight: 900;
    font-display: block;
    src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/webfonts/fa-solid-900.woff2") format("woff2"),
         url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/webfonts/fa-solid-900.ttf") format("truetype");
}
@font-face {
    font-family: "Font Awesome 6 Free";
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/webfonts/fa-regular-400.woff2") format("woff2"),
         url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/webfonts/fa-regular-400.ttf") format("truetype");
}

/* === Joomla pagination icons (IcoMoon) — Unicode fallback === */
.icon-angle-left::before        { content: "\2039"; font-family: inherit; font-style: normal; }
.icon-angle-right::before       { content: "\203A"; font-family: inherit; font-style: normal; }
.icon-angle-double-left::before { content: "\00AB"; font-family: inherit; font-style: normal; }
.icon-angle-double-right::before{ content: "\00BB"; font-family: inherit; font-style: normal; }

/* === Author box (mod-custom461 etc — внешний модуль с автором, recepty audit v4) === */
aside.author-box {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 28px;
    align-items: start;
    margin: 56px 0 32px;
    padding: 32px;
    background: var(--c-paper);
    border: 1px solid var(--c-line);
    border-radius: var(--radius);
}
.author-box .author-avatar {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--c-warm);
    margin: 0;
}
.author-box .author-meta { display: flex; flex-direction: column; gap: 12px; }
.author-box .author-name {
    font-family: var(--serif);
    font-size: 26px;
    font-weight: 600;
    margin: 0;
    color: var(--c-ink);
    line-height: 1.2;
}
.author-box .author-bio {
    font-size: 15px;
    line-height: 1.65;
    color: var(--c-ink-2);
    margin: 0;
}
.author-box .author-bio a {
    color: var(--c-accent);
    border-bottom: 1px solid var(--c-accent-soft);
    padding-bottom: 1px;
}
.author-box .author-bio a:hover { border-bottom-color: var(--c-accent); }
.author-box .author-label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--c-muted);
    margin: 8px 0 0;
}
.author-box .author-social {
    list-style: none;
    padding: 0;
    margin: 4px 0 0;
    display: flex;
    gap: 10px;
}
.author-box .author-social li { padding: 0; }
.author-box .author-social a {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--c-warm);
    border: 1px solid var(--c-line);
    color: var(--c-ink-2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.author-box .author-social a:hover {
    background: var(--c-accent);
    color: var(--c-paper);
    border-color: var(--c-accent);
}
@media (max-width: 600px) {
    aside.author-box {
        grid-template-columns: 80px 1fr;
        gap: 16px;
        padding: 20px;
    }
    .author-box .author-avatar { width: 80px; height: 80px; border-width: 2px; }
    .author-box .author-name { font-size: 20px; }
    .author-box .author-bio { font-size: 14px; }
}

/* === Sticky-ингредиенты (recepty audit v4) ===
   .rcp-recipe-body имеет align-items:start, поэтому aside по высоте = высоте
   своего контента. Без stretch'а sticky на внутреннем .rcp-ingredients некуда
   "липнуть". Делаем sticky сам aside (с align-self:start, чтобы не тянуть aside
   до низа правой колонки — иначе иконка прыгнет в самый низ). */
@media (min-width: 1025px) {
    .rcp-recipe-body > aside {
        position: sticky;
        top: 96px;
        align-self: start;
    }
    /* Внутренний .rcp-ingredients больше не должен сам себя позиционировать */
    .rcp-recipe-body > aside .rcp-ingredients { position: static; top: auto; }
}

/* ========================================================================
   === MOBILE AUDIT v5 (2026-04-26) — comprehensive mobile UX overhaul ===
   ======================================================================== */

/* === HEADER (compact 56px on tablet/mobile, drawer for search+menu) === */
@media (max-width: 960px) {
    .rcp-header__inner { height: 56px; gap: 10px; padding: 0; }
    .rcp-logo { font-size: 17px; gap: 8px; }
    .rcp-logo svg { width: 30px; height: 30px; }

    /* Search and menu — hidden in header, opened as drawer via burger */
    .rcp-header__inner .mod-finder,
    .rcp-header__inner .rcp-nav {
        position: fixed;
        top: 56px; left: 0; right: 0;
        background: var(--c-paper);
        z-index: 60;
        padding: 16px 18px;
        margin: 0;
        border-bottom: 1px solid var(--c-line);
        box-shadow: 0 8px 24px rgba(26,31,24,.08);
        transform: translateY(-120%);
        transition: transform .28s ease;
        max-width: 100%;
    }
    .rcp-header__inner .rcp-nav {
        top: calc(56px + 70px);
        padding: 12px 18px 18px;
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }
    body.is-menu-open .rcp-header__inner .mod-finder { transform: translateY(0); }
    body.is-menu-open .rcp-header__inner .rcp-nav { transform: translateY(0); }
    body.is-menu-open .rcp-drawer-bg {
        position: fixed; inset: 56px 0 0 0;
        background: rgba(26,31,24,.45);
        z-index: 55;
        opacity: 1;
        pointer-events: auto;
    }
    .rcp-drawer-bg { opacity: 0; pointer-events: none; transition: opacity .25s ease; }
    body.is-menu-open { overflow: hidden; }

    /* Search form inside drawer */
    .rcp-header__inner .mod-finder .input-group { display: flex; gap: 8px; width: 100%; }
    .rcp-header__inner .mod-finder input.form-control {
        flex: 1; height: 44px; padding: 0 14px;
        font-size: 15px; border: 1px solid var(--c-line);
        border-radius: var(--radius-sm);
        background: var(--c-warm);
    }
    .rcp-header__inner .mod-finder button.btn-primary {
        height: 44px; padding: 0 18px;
        background: var(--c-ink); color: var(--c-paper);
        border: 0; border-radius: var(--radius-sm);
        font-size: 14px; font-weight: 600;
    }

    /* Burger animation to X */
    .rcp-header__right { margin-left: auto; gap: 8px; }
    .rcp-burger { width: 40px; height: 40px; flex-shrink: 0; position: relative; z-index: 65; }
    .rcp-burger span { transition: transform .22s ease, opacity .15s ease; }
    body.is-menu-open .rcp-burger span:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }
    body.is-menu-open .rcp-burger span:nth-child(2) { opacity: 0; }
    body.is-menu-open .rcp-burger span:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }
}

/* === BREADCRUMBS: horizontal scroll on mobile === */
@media (max-width: 720px) {
    .rcp-crumbs {
        padding: 14px 0 6px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        white-space: nowrap;
        font-size: 12.5px;
    }
    .rcp-crumbs::-webkit-scrollbar { display: none; }
    .rcp-crumbs ol.mod-breadcrumbs { flex-wrap: nowrap !important; padding-bottom: 2px; }
    .rcp-crumbs ol.mod-breadcrumbs > li,
    .rcp-crumbs ol.mod-breadcrumbs > li > a,
    .rcp-crumbs ol.mod-breadcrumbs > li > span { white-space: nowrap; }
}

/* === RECIPE / ARTICLE HERO mobile: image on top, text below === */
@media (max-width: 960px) {
    .rcp-article__hero { gap: 22px; }
    .rcp-article__title-wrap { order: 2; }
    .rcp-article__image,
    .rcp-info-hero__image { order: 1; margin: 0; border-radius: var(--radius); overflow: hidden; }
    .rcp-article__title,
    .rcp-info-hero__title {
        font-size: clamp(26px, 7.5vw, 40px) !important;
        line-height: 1.08 !important;
        margin-bottom: 14px;
    }
    .rcp-article__lede,
    .rcp-info-hero__lede { font-size: 16px; line-height: 1.55; }
    .rcp-article__byline { font-size: 13px; flex-wrap: wrap; gap: 6px 10px; }
}

/* === Action buttons stacked full-width on phones === */
@media (max-width: 600px) {
    .rcp-article__actions {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
        margin-top: 16px !important;
    }
    .rcp-article__actions .rcp-btn {
        width: 100%;
        height: 46px;
        font-size: 15px;
        justify-content: center;
    }
}

/* === META block: 2 columns on phones === */
@media (max-width: 600px) {
    .rcp-meta {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 14px !important;
        padding: 18px 18px !important;
        margin: 18px 0 !important;
    }
    .rcp-meta__value { font-size: 18px !important; }
    .rcp-meta__label { font-size: 10px; }
}

/* === STEPS mobile: image full-width, larger text === */
@media (max-width: 1024px) {
    .rcp-step {
        padding: 16px 16px !important;
        gap: 12px !important;
        grid-template-columns: 44px 1fr !important;
    }
    .rcp-step__num { font-size: 22px; line-height: 1; }
    .rcp-step__body { font-size: 15.5px; line-height: 1.55; }
    .rcp-step__body p { margin: 0 0 .6em; font-size: 15.5px; }
    .rcp-step__img {
        grid-column: 1 / -1;
        aspect-ratio: 16/10;
        margin-top: 4px;
        border-radius: var(--radius-sm);
    }
}
@media (max-width: 600px) {
    .rcp-step { grid-template-columns: 36px 1fr !important; padding: 14px 14px !important; }
    .rcp-step__num { font-size: 20px; }
    .rcp-step__body p { font-size: 16px; line-height: 1.55; }
}

/* === Ingredients on mobile: not sticky, smaller padding === */
@media (max-width: 1024px) {
    .rcp-ingredients { padding: 22px 20px; }
    .rcp-ingredients h2 { font-size: 22px; }
    .rcp-ingredients li { padding: 12px 0; font-size: 15px; }
}

/* === Recipe-body grid: 1 col on tablet+mobile === */
@media (max-width: 1024px) {
    .rcp-recipe-body { gap: 24px !important; margin-top: 20px !important; }
}

/* === TAGS as pill buttons === */
.rcp-tags a {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    background: var(--c-warm);
    border: 1px solid var(--c-line);
    border-radius: 999px;
    font-size: 13px;
    color: var(--c-ink-2);
    text-decoration: none;
    transition: background .15s ease, border-color .15s ease;
}
.rcp-tags a:hover {
    background: var(--c-accent-soft);
    border-color: var(--c-accent);
    color: var(--c-accent);
}
@media (max-width: 600px) {
    .rcp-tags { gap: 6px; margin: 18px 0; }
    .rcp-tags a { padding: 5px 10px; font-size: 12.5px; }
}

/* === AUTHOR-BOX compact on mobile === */
@media (max-width: 600px) {
    aside.author-box {
        grid-template-columns: 80px 1fr !important;
        gap: 16px !important;
        padding: 20px 18px !important;
        margin: 28px 0 16px !important;
    }
    .author-box .author-avatar { width: 80px !important; height: 80px !important; border-width: 2px !important; }
    .author-box .author-name { font-size: 19px !important; }
    .author-box .author-bio { font-size: 13.5px; line-height: 1.55; }
    .author-box .author-social a { width: 38px; height: 38px; font-size: 16px; }
}
@media (max-width: 380px) {
    aside.author-box {
        grid-template-columns: 1fr !important;
        text-align: center;
        gap: 14px !important;
    }
    .author-box .author-avatar { margin: 0 auto !important; }
    .author-box .author-social { justify-content: center; }
}

/* === RAXO related articles block === */
.raxo-related-articles { margin: 32px 0; }
.raxo-related-articles .raxo-block-name {
    font-family: var(--serif);
    font-size: clamp(22px, 3.6vw, 28px);
    font-weight: 600;
    margin: 0 0 18px;
    color: var(--c-ink);
}
.raxo-related-articles .raxo-normal {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}
@media (max-width: 960px) {
    .raxo-related-articles .raxo-normal { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
@media (max-width: 600px) {
    .raxo-related-articles .raxo-normal { grid-template-columns: 1fr !important; gap: 14px; }
}
.raxo-related-articles .raxo-item-nor {
    background: var(--c-paper);
    border: 1px solid var(--c-line);
    border-radius: var(--radius);
    overflow: hidden;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
}
.raxo-related-articles .raxo-wrap {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.raxo-related-articles .raxo-content { order: 1; }
.raxo-related-articles .raxo-title { order: 2; }
.raxo-related-articles .raxo-image {
    aspect-ratio: 4/3;
    overflow: hidden;
    background: var(--c-warm);
    margin: 0;
}
.raxo-related-articles .raxo-image a,
.raxo-related-articles .raxo-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.raxo-related-articles .raxo-title {
    margin: 0;
    padding: 14px 16px 16px;
    font-family: var(--serif);
    font-size: 16.5px;
    font-weight: 600;
    line-height: 1.28;
}
.raxo-related-articles .raxo-title a { color: var(--c-ink); }
.raxo-related-articles .raxo-title a:hover { color: var(--c-accent); }

/* === CATEGORY page mobile === */
@media (max-width: 720px) {
    .rcp-cat-hero { padding: 32px 0 36px; margin-bottom: 20px; }
    .rcp-cat-hero h1 { font-size: clamp(26px, 7vw, 38px); line-height: 1.08; }
    .rcp-cat-hero__desc { font-size: 14.5px; line-height: 1.6; }
    .rcp-cat-hero__count { font-size: 13.5px; }
}
@media (max-width: 600px) {
    /* Card grid: 1 col, feature card not span 2 */
    .rcp-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
    .rcp-grid > .rcp-card--feature { grid-column: span 1 !important; }
    .rcp-grid > .rcp-card--feature .rcp-card__media { aspect-ratio: 16/10 !important; }
    .rcp-grid > .rcp-card--feature .rcp-card__title { font-size: 22px !important; }
    .rcp-card__title { font-size: 17px; }
    .rcp-card__excerpt { font-size: 14px; }

    /* Sort tabs — horizontal scroll if needed */
    .rcp-cat-toolbar {
        align-items: stretch;
        gap: 10px;
        margin-bottom: 18px;
    }
    .rcp-cat-toolbar__count { font-size: 13px; padding: 4px 0; }
    .rcp-cat-toolbar__sort {
        flex-wrap: nowrap !important;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        gap: 6px;
        margin: 0 calc(var(--gutter) * -1);
        padding: 0 var(--gutter) 4px;
    }
    .rcp-cat-toolbar__sort::-webkit-scrollbar { display: none; }
    .rcp-cat-toolbar__sort a { white-space: nowrap; flex-shrink: 0; padding: 7px 14px; }
}

/* === Typography on mobile (readable 16px+) === */
@media (max-width: 600px) {
    body { font-size: 16px; }
    .rcp-main { padding: 18px 0 36px; }
    :root { --gutter: 16px; }
    p { line-height: 1.6; }
}

/* === Footer compact on mobile === */
@media (max-width: 600px) {
    .rcp-footer { padding: 36px 0 24px; margin-top: 48px; }
    .rcp-footer__brand p { font-size: 13px; }
    .rcp-footer__bottom { font-size: 11.5px; flex-direction: column; align-items: flex-start; gap: 6px; }
}

/* ========================================================================
   === MOBILE AUDIT v6 (2026-04-26) — fixes from screenshot review ===
   ======================================================================== */

/* === FIX 1: Скрываем поиск в шапке на мобиле (v5 drawer плохо себя ведёт на iOS) === */
@media (max-width: 960px) {
    .rcp-header__inner .mod-finder,
    .rcp-header .mod-finder {
        display: none !important;
        position: static !important;
        transform: none !important;
        visibility: hidden !important;
    }
    /* drawer-bg больше не нужен для поиска (бургер-toggle оставляем для меню в будущем) */
    .rcp-header__inner { gap: 12px; }
}

/* === FIX 2: Рецепт — гарантированно 1 колонка на мобиле (≤768px) === */
@media (max-width: 768px) {
    .rcp-recipe-body {
        display: block !important;
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
    .rcp-recipe-body > aside {
        position: static !important;
        align-self: auto !important;
        margin-bottom: 8px;
        display: block;
        width: 100%;
    }
    .rcp-recipe-body > aside .rcp-ingredients {
        position: static !important;
        top: auto !important;
        width: 100%;
    }
    .rcp-recipe-body > div { display: block; width: 100%; }
}

/* === FIX 3: "Похожие рецепты" — заголовки ВИДИМЫ === */
.raxo-related-articles .raxo-title,
.raxo-related-articles .raxo-title a {
    display: block !important;
    visibility: visible !important;
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
    opacity: 1 !important;
    text-decoration: none !important;
}
.raxo-related-articles .raxo-title {
    padding: 14px 16px 16px !important;
    font-family: var(--serif) !important;
    font-size: 16.5px !important;
    font-weight: 600 !important;
    line-height: 1.28 !important;
    margin: 0 !important;
    color: var(--c-ink) !important;
}
.raxo-related-articles .raxo-title a {
    color: var(--c-ink) !important;
}
.raxo-related-articles .raxo-title a:hover {
    color: var(--c-accent) !important;
}

/* === FIX 4: Хлебные крошки на мобиле — только последние 2 + "..." === */
@media (max-width: 600px) {
    /* Прячем divider-иконку и все li кроме последних 2 */
    .rcp-crumbs ol.mod-breadcrumbs > li.mod-breadcrumbs__divider,
    .rcp-crumbs ol.mod-breadcrumbs > li:not(:nth-last-child(-n+2)) {
        display: none !important;
    }
    /* Перед второй-с-конца li (теперь первая видимая) — многоточие */
    .rcp-crumbs ol.mod-breadcrumbs > li:nth-last-child(2)::before {
        content: "…";
        color: var(--c-muted);
        margin-right: 8px;
        font-size: 14px;
    }
}

/* === FIX 5: Мета-данные читабельные на мобиле + стили для сырого recipeui-meta === */
@media (max-width: 600px) {
    .rcp-meta__value { font-size: 17px !important; }
    .rcp-meta__label { font-size: 11px !important; letter-spacing: .08em; }
    .rcp-meta { padding: 16px 16px !important; }
}
/* recipeui-meta (если плагин рендерит свою версию где-то) — стили чтобы было читаемо */
.recipeui-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding: 16px 18px;
    background: var(--c-paper);
    border: 1px solid var(--c-line);
    border-radius: var(--radius);
    margin: 16px 0;
    list-style: none;
}
.recipeui-meta__item {
    min-width: unset !important;
    flex: 1 1 45% !important;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
}
.recipeui-meta__icon { font-size: 22px; line-height: 1; }
.recipeui-meta__text { display: flex; flex-direction: column; gap: 2px; }
.recipeui-meta__label {
    font-size: 11px;
    color: var(--c-muted);
    text-transform: uppercase;
    letter-spacing: .08em;
}
.recipeui-meta__value {
    font-size: 15px !important;
    font-weight: 600;
    color: var(--c-ink);
    line-height: 1.3;
}
@media (max-width: 600px) {
    .recipeui-meta__value { font-size: 15px !important; }
    .recipeui-meta__item { flex: 1 1 45% !important; min-width: unset !important; }
}

/* ========================================================================
   === V7 FIXES (2026-04-26) — burger drawer, raxo unify, footer compact ===
   ======================================================================== */

/* === FIX 1: Mobile drawer (полноценное мобильное меню по бургеру) === */
.rcp-mobile-drawer {
    position: fixed;
    top: 0; right: 0; bottom: 0;
    width: min(320px, 88vw);
    background: var(--c-paper);
    box-shadow: -10px 0 30px rgba(26,31,24,.18);
    z-index: 70;
    transform: translateX(100%);
    transition: transform .28s cubic-bezier(.4,0,.2,1);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-direction: column;
}
body.is-menu-open .rcp-mobile-drawer { transform: translateX(0); }
.rcp-mobile-drawer__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid var(--c-line);
}
.rcp-mobile-drawer__title {
    font-family: var(--serif);
    font-size: 18px;
    font-weight: 600;
    color: var(--c-ink);
}
.rcp-mobile-drawer__close {
    background: var(--c-warm);
    border: 1px solid var(--c-line);
    width: 36px; height: 36px;
    border-radius: 50%;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    color: var(--c-ink);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}
.rcp-mobile-drawer__close:hover { background: var(--c-line); }
.rcp-mobile-drawer__search {
    display: flex;
    gap: 8px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--c-line);
}
.rcp-mobile-drawer__search input {
    flex: 1;
    height: 42px;
    padding: 0 14px;
    border: 1px solid var(--c-line);
    border-radius: var(--radius-sm);
    background: var(--c-warm);
    font-size: 15px;
    color: var(--c-ink);
    outline: none;
}
.rcp-mobile-drawer__search input:focus {
    border-color: var(--c-accent);
    background: var(--c-paper);
}
.rcp-mobile-drawer__search button {
    height: 42px;
    padding: 0 16px;
    background: var(--c-ink);
    color: var(--c-paper);
    border: 0;
    border-radius: var(--radius-sm);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    flex-shrink: 0;
}
.rcp-mobile-drawer__nav {
    padding: 12px 12px 24px;
    display: flex;
    flex-direction: column;
}
.rcp-mobile-drawer__nav a {
    display: block;
    padding: 12px 14px;
    color: var(--c-ink);
    font-size: 16px;
    border-radius: var(--radius-sm);
    text-decoration: none;
    transition: background .12s ease;
}
.rcp-mobile-drawer__nav a:hover,
.rcp-mobile-drawer__nav a:focus { background: var(--c-warm); }
.rcp-mobile-drawer__nav ul { list-style: none; padding: 0; margin: 0; }
.rcp-mobile-drawer__nav li { padding: 0; margin: 0; }
.rcp-mobile-drawer__nav h4 {
    font-family: var(--serif);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: var(--c-muted);
    margin: 14px 14px 6px;
}
/* Backdrop */
.rcp-mobile-drawer-bg {
    position: fixed;
    inset: 0;
    background: rgba(26,31,24,.45);
    z-index: 65;
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease;
}
body.is-menu-open .rcp-mobile-drawer-bg {
    opacity: 1;
    pointer-events: auto;
}
body.is-menu-open { overflow: hidden; }

/* На десктопе drawer не нужен */
@media (min-width: 961px) {
    .rcp-mobile-drawer,
    .rcp-mobile-drawer-bg { display: none !important; }
}

/* === FIX 3: Похожие рецепты — единообразные карточки (image-top + title-bottom) === */
.raxo-related-articles .raxo-body {
    padding: 0 !important;
    margin: 0 !important;
}
.raxo-related-articles .raxo-normal {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 22px !important;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
@media (max-width: 960px) {
    .raxo-related-articles .raxo-normal {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }
}
@media (max-width: 600px) {
    .raxo-related-articles .raxo-normal {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }
}

/* Все карточки одинаковые: фото сверху, заголовок снизу */
.raxo-related-articles article[class*="raxo-item"],
.raxo-related-articles article.raxo-item-fea,
.raxo-related-articles article.raxo-item-nor {
    background: var(--c-paper) !important;
    border: 1px solid var(--c-line) !important;
    border-radius: var(--radius) !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: var(--shadow-sm) !important;
    width: 100% !important;
    grid-column: auto !important;
    float: none !important;
    transition: transform .15s ease, box-shadow .15s ease;
}
.raxo-related-articles article[class*="raxo-item"]:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow) !important;
}
.raxo-related-articles .raxo-wrap {
    display: flex !important;
    flex-direction: column !important;
    height: 100%;
    width: 100%;
}
.raxo-related-articles .raxo-content {
    order: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    float: none !important;
}
.raxo-related-articles .raxo-image,
.raxo-related-articles .raxo-image a {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}
.raxo-related-articles .raxo-image {
    aspect-ratio: 4/3 !important;
    overflow: hidden !important;
    background: var(--c-warm) !important;
}
.raxo-related-articles .raxo-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}
.raxo-related-articles .raxo-title {
    order: 2 !important;
    margin: 0 !important;
    padding: 14px 16px 16px !important;
    font-family: var(--serif) !important;
    font-size: 16.5px !important;
    font-weight: 600 !important;
    line-height: 1.28 !important;
    color: var(--c-ink) !important;
    flex: 1 !important;
}
.raxo-related-articles .raxo-title a {
    color: var(--c-ink) !important;
    text-decoration: none !important;
    display: block !important;
}
.raxo-related-articles .raxo-title a:hover {
    color: var(--c-accent) !important;
}

/* === FIX 4: Поиск в шапке — гарантированно скрыт на мобиле (повышенная специфичность) === */
@media (max-width: 960px) {
    header.rcp-header .mod-finder,
    .rcp-header form.mod-finder,
    .rcp-header__inner > .rcp-header__right > .mod-finder,
    .rcp-header__inner .mod-finder {
        display: none !important;
        visibility: hidden !important;
        position: absolute !important;
        width: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
    }
}

/* === FIX 5: Footer compact (когда колонки пусты) === */
.rcp-footer--minimal .rcp-footer__grid {
    display: block !important;
    grid-template-columns: 1fr !important;
    text-align: left;
}
.rcp-footer--minimal .rcp-footer__brand {
    max-width: 600px;
}
@media (max-width: 600px) {
    .rcp-footer--minimal .rcp-footer__brand {
        max-width: 100%;
    }
}

/* === BONUS: Meta block — иконки сверху для красоты === */
.rcp-meta__cell {
    text-align: center;
    align-items: center;
}
.rcp-meta__icon {
    font-size: 22px;
    line-height: 1;
    margin-bottom: 4px;
    display: block;
}
.rcp-meta__label {
    text-align: center;
}
.rcp-meta__value {
    text-align: center;
    word-break: break-word;
}
@media (max-width: 600px) {
    .rcp-meta {
        grid-template-columns: repeat(3, 1fr) !important;
        padding: 14px 10px !important;
        gap: 8px !important;
    }
    .rcp-meta__cell { padding: 4px; }
    .rcp-meta__value { font-size: 15px !important; }
    .rcp-meta__icon { font-size: 18px; }
}

/* ========================================================================
   === V8 FIXES (2026-04-26) — ads + nav links + ad-slot styling ===
   ======================================================================== */

/* === NAV: горизонтальный список ссылок в шапке (десктоп), скрыт на мобиле === */
.rcp-nav__list {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 22px;
    align-items: center;
    flex-wrap: wrap;
}
.rcp-nav__list li { padding: 0; margin: 0; }
.rcp-nav__list a {
    font-size: 14.5px;
    color: var(--c-ink-2);
    font-weight: 500;
    padding: 6px 0;
    white-space: nowrap;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: color .15s ease, border-color .15s ease;
}
.rcp-nav__list a:hover {
    color: var(--c-accent);
    border-bottom-color: var(--c-accent);
}
@media (max-width: 960px) {
    /* На мобиле скрываем горизонтальную nav в шапке — drawer её копирует и показывает */
    .rcp-header__inner .rcp-nav { display: none !important; }
}

/* === AD SLOT: рекламные блоки между секциями === */
.rcp-ad-slot {
    margin: 28px 0;
    padding: 12px 0;
    border-top: 1px solid var(--c-line);
    border-bottom: 1px solid var(--c-line);
    text-align: center;
    min-height: 90px;
    background: var(--c-warm);
    border-radius: var(--radius-sm);
    overflow: hidden;
    position: relative;
}
.rcp-ad-slot::before {
    content: "Реклама";
    display: block;
    font-size: 10px;
    color: var(--c-muted);
    text-transform: uppercase;
    letter-spacing: .12em;
    margin-bottom: 8px;
    font-weight: 600;
}
.rcp-ad-slot ins.adsbygoogle {
    margin: 0 auto;
    display: block;
}
.rcp-ad-slot--top { margin: 24px 0 32px; }
.rcp-ad-slot--mid {
    margin: 18px 0;
    list-style: none !important;
}
.rcp-ad-slot--mid::marker { content: ""; }
.rcp-ad-slot--bottom { margin: 28px 0; }
@media (max-width: 600px) {
    .rcp-ad-slot { margin: 20px 0; padding: 10px 0; }
    .rcp-ad-slot--top { margin: 18px 0 24px; }
}

/* ========================================================================
   === V9 POLISH (2026-04-26) — label, image aspect, footer cols, raxo ===
   ======================================================================== */

/* === FIX 1: Скрыть лейбл "Поиск" над полем === */
.rcp-header label[for*="finder"],
.rcp-header label.finder,
.rcp-header__inner .mod-finder > label,
.rcp-mobile-drawer__search label,
.rcp-mobile-drawer label[for*="finder"] {
    display: none !important;
}
/* На случай если visually-hidden не сработал из-за конкурирующего CSS */
.rcp-header .visually-hidden,
.rcp-mobile-drawer .visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* === FIX 2: Hero-фото рецепта — горизонтальное (3:2) вместо 4:5 === */
.rcp-article__image {
    aspect-ratio: 3/2 !important;
}
.rcp-article__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* === FIX 5: Mobile — фото не больше 280px высотой === */
@media (max-width: 768px) {
    .rcp-article__image {
        aspect-ratio: auto !important;
        max-height: 280px !important;
        height: auto;
    }
    .rcp-article__image img {
        max-height: 280px !important;
        object-fit: cover;
        width: 100%;
    }
    .rcp-info-hero__image {
        aspect-ratio: auto !important;
        max-height: 280px !important;
    }
    .rcp-info-hero__image img {
        max-height: 280px !important;
        object-fit: cover;
        width: 100%;
    }
}

/* === FIX 3: Стили колонок футера (заголовки + ссылки) === */
.rcp-footer__col {
    color: rgba(255,255,255,.78);
}
.rcp-footer__title {
    color: var(--c-paper);
    font-family: var(--serif);
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 14px;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.rcp-footer__col ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.rcp-footer__col li {
    padding: 0;
    margin: 0;
}
.rcp-footer__col a {
    color: rgba(255,255,255,.7);
    font-size: 14px;
    text-decoration: none;
    transition: color .15s ease;
    display: inline-block;
    padding: 2px 0;
}
.rcp-footer__col a:hover {
    color: var(--c-paper);
}
@media (max-width: 600px) {
    .rcp-footer__title { font-size: 14px; margin: 0 0 10px; }
    .rcp-footer__col a { font-size: 13.5px; }
}

/* === FIX 4: Raxo "Показать ещё" — wrapper и кнопка === */
.raxo-show-more-wrap {
    display: flex;
    justify-content: center;
    margin: 28px 0 8px;
    grid-column: 1 / -1;
}
.raxo-show-more.rcp-btn {
    background: transparent;
    color: var(--c-ink);
    border: 1.5px solid var(--c-ink);
    padding: 0 28px;
    height: 46px;
    font-size: 14.5px;
    font-weight: 600;
    text-decoration: none;
    transition: background .15s ease, color .15s ease;
    border-radius: var(--radius-sm);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.raxo-show-more.rcp-btn:hover {
    background: var(--c-ink);
    color: var(--c-paper);
}
@media (max-width: 600px) {
    .raxo-show-more.rcp-btn { width: 100%; }
    .raxo-show-more-wrap { margin: 18px 0 4px; }
}

/* === Усиление raxo-сетки (на случай если v7 правила перебиваются плагином) === */
#raxo-module-id373 .raxo-normal,
.raxo-related-articles .raxo-body .raxo-normal,
.raxo-related-articles .raxo-normal {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 22px !important;
    float: none !important;
}
@media (max-width: 960px) {
    .raxo-related-articles .raxo-normal { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
    .raxo-related-articles .raxo-normal { grid-template-columns: 1fr !important; }
}
.raxo-related-articles article[class*="raxo-item"] {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    grid-column: auto !important;
    float: none !important;
    box-shadow: var(--shadow-sm) !important;
}
.raxo-related-articles article[class*="raxo-item"]:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow) !important;
}

/* ========================================================================
   === V11 (2026-04-26) — meta block adaptive to cell count, nicer look ===
   ======================================================================== */

/* Базовые стили — сетка адаптивна к числу ячеек */
.rcp-meta {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr); /* default: 4 cells */
    gap: 0 !important;
    padding: 26px 32px !important;
    background: var(--c-paper);
    border: 1px solid var(--c-line);
    border-radius: var(--radius);
    margin: 28px 0;
    align-items: center;
}
/* Конкретно — сколько ячеек */
.rcp-meta.rcp-meta--1 { grid-template-columns: 1fr !important; }
.rcp-meta.rcp-meta--2 { grid-template-columns: repeat(2, 1fr) !important; }
.rcp-meta.rcp-meta--3 { grid-template-columns: repeat(3, 1fr) !important; }
.rcp-meta.rcp-meta--4 { grid-template-columns: repeat(4, 1fr) !important; }

/* Ячейка: иконка + лейбл + значение, по центру */
.rcp-meta__cell {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center;
    gap: 6px;
    padding: 8px 14px;
    position: relative;
}

/* Тонкие разделители между ячейками (вертикальные на десктопе) */
.rcp-meta__cell + .rcp-meta__cell::before {
    content: "";
    position: absolute;
    left: 0;
    top: 14%;
    bottom: 14%;
    width: 1px;
    background: var(--c-line);
}

.rcp-meta__icon {
    font-size: 24px !important;
    line-height: 1;
    margin-bottom: 4px !important;
    display: block;
    filter: grayscale(0);
}
.rcp-meta__label {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    color: var(--c-muted) !important;
    text-align: center !important;
}
.rcp-meta__value {
    font-family: var(--serif) !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    color: var(--c-ink) !important;
    text-align: center !important;
    word-break: break-word;
}

/* Tablet: уплотнить отступы */
@media (max-width: 960px) {
    .rcp-meta { padding: 22px 22px !important; }
    .rcp-meta__value { font-size: 20px !important; }
}

/* Mobile: вертикальные разделители заменяем на горизонтальные */
@media (max-width: 600px) {
    .rcp-meta {
        padding: 18px 16px !important;
    }
    .rcp-meta.rcp-meta--3,
    .rcp-meta.rcp-meta--4 {
        grid-template-columns: repeat(3, 1fr) !important;
    }
    .rcp-meta__cell { padding: 6px 8px; }
    .rcp-meta__icon { font-size: 20px !important; }
    .rcp-meta__value { font-size: 16px !important; }
    .rcp-meta__label { font-size: 10px !important; letter-spacing: .08em !important; }
    .rcp-meta__cell + .rcp-meta__cell::before {
        top: 20%;
        bottom: 20%;
    }
}
@media (max-width: 380px) {
    .rcp-meta.rcp-meta--3,
    .rcp-meta.rcp-meta--4 {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    /* На очень узких экранах разделитель только между соседями в ряду */
    .rcp-meta__cell:nth-child(odd) + .rcp-meta__cell::before {
        top: 10%; bottom: 10%;
    }
    .rcp-meta__cell:nth-child(even) + .rcp-meta__cell::before { display: none; }
}

/* ========================================================================
   === V13 (2026-04-26) — design polish: pill, rating, author-mini, icons ===
   ======================================================================== */

/* === Pill-tag (категория над H1) === */
.rcp-tag.rcp-tag--pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px;
    padding: 6px 14px 6px 12px;
    background: var(--c-accent-soft);
    border-radius: 999px;
    color: var(--c-accent) !important;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    text-decoration: none;
    margin-bottom: 18px;
    line-height: 1;
    transition: background .15s ease;
}
.rcp-tag.rcp-tag--pill:hover {
    background: var(--c-accent);
    color: var(--c-paper) !important;
}
.rcp-tag.rcp-tag--pill:hover .rcp-tag__dot { background: var(--c-paper); }
.rcp-tag__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--c-accent);
    flex-shrink: 0;
    transition: background .15s ease;
}

/* === Author мини-карточка в byline === */
.rcp-article__byline {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 13.5px;
    color: var(--c-muted);
    margin: 18px 0 6px;
}
.rcp-article__byline .dot { color: var(--c-line-strong); margin: 0 2px; }
.rcp-author-mini {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: var(--c-ink);
    transition: opacity .15s ease;
}
.rcp-author-mini:hover { opacity: .75; }
.rcp-author-mini__avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
    border: 1.5px solid var(--c-line);
    flex-shrink: 0;
}
.rcp-author-mini__name {
    font-weight: 600;
    color: var(--c-ink);
    font-size: 14px;
}

/* === Рейтинг звёзды === */
.rcp-rating {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 12px 0 4px;
    font-size: 14px;
}
.rcp-rating__stars {
    display: inline-flex;
    align-items: center;
    gap: 1px;
    line-height: 1;
}
.rcp-rating__star {
    font-size: 18px;
    line-height: 1;
    color: var(--c-line);
}
.rcp-rating__star.is-on { color: var(--c-gold, #B58B3A); }
.rcp-rating__star.is-half {
    background: linear-gradient(90deg, var(--c-gold, #B58B3A) 50%, var(--c-line) 50%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}
.rcp-rating__value {
    font-weight: 700;
    color: var(--c-ink);
    font-size: 15px;
}
.rcp-rating__count {
    color: var(--c-muted);
    font-size: 13px;
}

/* === Action buttons с FA-иконками === */
.rcp-article__actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 22px;
}
.rcp-article__actions .rcp-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px;
    padding: 0 22px;
}
.rcp-article__actions .rcp-btn i {
    font-size: 14px;
    line-height: 1;
}
.rcp-article__actions .rcp-btn--ghost {
    background: transparent;
    color: var(--c-ink);
    border: 1.5px solid var(--c-line-strong);
}
.rcp-article__actions .rcp-btn--ghost:hover {
    background: var(--c-warm);
    border-color: var(--c-ink);
}

/* === Hero — фото с естественным соотношением 3:2, прижато к верху === */
@media (min-width: 961px) {
    .rcp-article__hero {
        align-items: start !important;
    }
    .rcp-article__image {
        aspect-ratio: 3/2 !important;
        height: auto;
        min-height: unset;
        max-height: unset;
        position: sticky;
        top: 90px;
    }
    .rcp-article__image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
}

/* === Mobile adjustments === */
@media (max-width: 600px) {
    .rcp-tag.rcp-tag--pill {
        padding: 5px 12px 5px 10px;
        font-size: 10.5px;
        margin-bottom: 14px;
    }
    .rcp-author-mini__avatar { width: 24px; height: 24px; }
    .rcp-author-mini__name { font-size: 13px; }
    .rcp-rating__star { font-size: 16px; }
    .rcp-rating__value { font-size: 14px; }
    .rcp-rating__count { font-size: 12px; }
    .rcp-article__byline { gap: 6px; font-size: 12.5px; }
}

/* === rcp-after-content (комментарии и пр. content-плагины) === */
.rcp-after-content {
    margin: 32px 0 16px;
    padding: 4px 0 0;
    border-top: 1px solid var(--c-line);
}
@media (max-width: 600px) {
    .rcp-after-content { margin: 24px 0 12px; }
}

/* === V14: интерактивный рейтинг === */
.rcp-rating { cursor: default; }
.rcp-rating__stars { cursor: pointer; }
.rcp-rating__stars button {
    background: transparent;
    border: 0;
    padding: 0 1px;
    cursor: pointer;
    font: inherit;
    color: var(--c-line);
    transition: color .12s ease, transform .1s ease;
    line-height: 1;
}
.rcp-rating__stars button:hover { transform: scale(1.18); }
.rcp-rating__stars button.is-on { color: var(--c-gold, #B58B3A); }
.rcp-rating__stars button.is-half {
    background: linear-gradient(90deg, var(--c-gold, #B58B3A) 50%, var(--c-line) 50%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}
.rcp-rating[data-voted="1"] .rcp-rating__stars button { cursor: default; }
.rcp-rating[data-voted="1"] .rcp-rating__stars button:hover { transform: none; }
.rcp-rating__thanks {
    display: inline-block;
    color: var(--c-accent);
    font-size: 13px;
    font-weight: 600;
    margin-left: 8px;
    opacity: 0;
    transform: translateY(-3px);
    transition: opacity .25s ease, transform .25s ease;
}
.rcp-rating__thanks.is-shown {
    opacity: 1;
    transform: translateY(0);
}
.rcp-rating__star { font-size: 18px; line-height: 1; color: var(--c-line); }

/* === V14 LCP: hero <img> теперь первый в DOM (для LCP) — на десктопе расставляем order через CSS === */
/* V18: image теперь внутри .rcp-article__media — order надо снять, чтобы внутри media-колонки порядок шёл по DOM (image → info-plate → stats-plate) */
@media (min-width: 961px) {
    .rcp-article__hero .rcp-article__title-wrap { order: 1; }
    .rcp-article__hero .rcp-article__image { order: 0 !important; }
    .rcp-article__hero .rcp-article__media { order: 2; }
}

/* === V14 ads debug overlay === */
.rcp-ad-debug {
    display: block;
    margin: 8px auto 4px;
    padding: 6px 12px;
    background: #e0f2fe;
    color: #1a4a73;
    font-size: 12px;
    font-family: ui-monospace, Consolas, monospace;
    border-radius: 4px;
    text-align: center;
    max-width: 600px;
}

/* ========================================================================
   === V15 (2026-04-27) — title smaller, grid balanced, debug hidden ===
   ======================================================================== */

/* Уменьшаем шрифт заголовка — был clamp(36, 5vw, 68) → теперь умереннее */
.rcp-article__title {
    font-size: clamp(28px, 4vw, 52px) !important;
    line-height: 1.05 !important;
    margin-bottom: 14px !important;
}

/* Балансируем сетку hero: было 1.2fr / 1fr (текст шире) → теперь 1fr / 1.1fr (фото шире) */
@media (min-width: 961px) {
    .rcp-article__hero {
        grid-template-columns: 1fr 1.1fr !important;
        gap: 40px !important;
    }
}

/* Mobile: ещё компактнее заголовок */
@media (max-width: 600px) {
    .rcp-article__title { font-size: clamp(24px, 7.5vw, 38px) !important; }
}

/* Скрываем debug-overlay рекламы (был для диагностики) */
.rcp-ad-debug { display: none !important; }

/* ========================================================================
   === V16 (2026-04-27) — polish: inline rating, lighter meta, compact buttons ===
   ======================================================================== */

/* === Rating в byline-строке (компактный inline-вариант) === */
.rcp-rating.rcp-rating--inline {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    margin: 0 !important;
    font-size: 13.5px;
    vertical-align: middle;
}
.rcp-rating--inline .rcp-rating__star {
    font-size: 14px !important;
}
.rcp-rating--inline .rcp-rating__stars button {
    font-size: 14px !important;
}
.rcp-rating--inline .rcp-rating__value {
    font-size: 13.5px !important;
    font-weight: 700;
    margin-left: 2px;
}
.rcp-rating--inline .rcp-rating__count {
    font-size: 13px;
    color: var(--c-muted);
}

/* === Меta-блок облегчённый: без border/shadow, тонкие divider'ы === */
.rcp-meta {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 18px 0 !important;
    border-top: 1px solid var(--c-line) !important;
    border-bottom: 1px solid var(--c-line) !important;
    border-radius: 0 !important;
    margin: 18px 0 !important;
}
.rcp-meta__cell + .rcp-meta__cell::before {
    background: var(--c-line) !important;
}
.rcp-meta__value {
    font-size: 20px !important;
}
.rcp-meta__icon {
    font-size: 20px !important;
    margin-bottom: 2px !important;
}
.rcp-meta__label {
    font-size: 10.5px !important;
}

/* === Compact action-кнопки === */
.rcp-article__actions {
    margin-top: 16px !important;
    gap: 8px !important;
}
.rcp-article__actions .rcp-btn {
    height: 40px !important;
    padding: 0 16px !important;
    font-size: 13.5px !important;
}
.rcp-article__actions .rcp-btn i {
    font-size: 13px !important;
}

/* === Tighter section spacing в title-wrap === */
.rcp-article__title-wrap > * + * {
    margin-top: 12px;
}
.rcp-article__title { margin-bottom: 10px !important; }
.rcp-article__lede {
    margin-top: 0 !important;
    line-height: 1.55;
}
.rcp-article__byline {
    margin: 12px 0 0 !important;
    font-size: 13.5px;
    flex-wrap: wrap;
    row-gap: 4px;
}

/* Mobile — тоже обновим */
@media (max-width: 600px) {
    .rcp-article__actions .rcp-btn {
        height: 44px !important;
        font-size: 14px !important;
    }
    .rcp-meta { padding: 14px 0 !important; }
    .rcp-meta__value { font-size: 17px !important; }
    .rcp-rating--inline .rcp-rating__star { font-size: 13px !important; }
    .rcp-rating--inline .rcp-rating__value { font-size: 13px !important; }
}

/* ========================================================================
   === V16+ (2026-04-27) — re-vote unblock + photo stretch with cap ===
   ======================================================================== */

/* Re-vote: убираем блокировку cursor после первого голосования */
.rcp-rating[data-voted="1"] .rcp-rating__stars button { cursor: pointer !important; }
.rcp-rating[data-voted="1"] .rcp-rating__stars button:hover { transform: scale(1.18) !important; }

/* Hero фото — растягиваем в пределах разумного, чтобы не было пустоты под фото */
@media (min-width: 961px) {
    .rcp-article__hero {
        align-items: stretch !important;
    }
    .rcp-article__image {
        aspect-ratio: auto !important;
        height: 100% !important;
        max-height: 540px !important;
        min-height: 380px;
        position: sticky;
        top: 90px;
    }
    .rcp-article__image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
    }
}

/* ========================================================================
   === V17 (2026-04-27) — image zoom (magnifier hover + fullscreen lightbox) ===
   ======================================================================== */

/* === Zoomable image wrapper === */
.rcp-zoom-able {
    position: relative;
    cursor: zoom-in;
    overflow: hidden;
}
.rcp-zoom-able img {
    transition: transform .35s cubic-bezier(.2,.7,.2,1);
}
.rcp-zoom-able:hover img,
.rcp-zoom-able:focus-visible img {
    transform: scale(1.04);
}

/* === Magnifier icon overlay === */
.rcp-zoom-icon {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(255, 252, 243, 0.92);
    color: var(--c-ink);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    pointer-events: none;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    box-shadow: 0 4px 12px rgba(26,31,24,0.18);
    opacity: 0;
    transform: scale(0.85) translateY(-4px);
    transition: opacity .22s ease, transform .22s ease;
    z-index: 2;
}
.rcp-zoom-able:hover .rcp-zoom-icon,
.rcp-zoom-able:focus-visible .rcp-zoom-icon {
    opacity: 1;
    transform: scale(1) translateY(0);
}
/* На мобиле hover не работает — иконка всегда видна, чуть прозрачнее */
@media (hover: none) {
    .rcp-zoom-icon {
        opacity: 0.88;
        transform: none;
        width: 36px;
        height: 36px;
        font-size: 14px;
    }
}
/* На step-фото иконку поменьше */
.rcp-step__img.rcp-zoom-able .rcp-zoom-icon {
    width: 36px;
    height: 36px;
    top: 8px;
    right: 8px;
    font-size: 13px;
}

/* === Fullscreen lightbox === */
.rcp-lightbox {
    position: fixed;
    inset: 0;
    background: rgba(10, 12, 9, 0.95);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease;
    padding: 5vh 5vw;
    cursor: zoom-out;
}
.rcp-lightbox.is-open {
    opacity: 1;
    pointer-events: auto;
}
.rcp-lightbox__inner {
    position: relative;
    max-width: 100%;
    max-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: scale(0.96);
    transition: transform .28s cubic-bezier(.2,.7,.2,1);
}
.rcp-lightbox.is-open .rcp-lightbox__inner {
    transform: scale(1);
}
.rcp-lightbox__img {
    max-width: 100%;
    max-height: 90vh;
    object-fit: contain;
    border-radius: 8px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.5);
    display: block;
    cursor: default;
}
.rcp-lightbox__caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -38px;
    text-align: center;
    color: rgba(255,255,255,0.85);
    font-size: 13px;
    font-family: var(--sans);
    letter-spacing: 0.02em;
    pointer-events: none;
}
.rcp-lightbox__close {
    position: fixed;
    top: 18px;
    right: 18px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255,255,255,0.16);
    color: white;
    border: 0;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s ease;
    z-index: 2;
}
.rcp-lightbox__close:hover {
    background: rgba(255,255,255,0.28);
}
.rcp-lightbox__nav {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255,255,255,0.12);
    color: white;
    border: 0;
    font-size: 22px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s ease;
    z-index: 2;
}
.rcp-lightbox__nav:hover { background: rgba(255,255,255,0.22); }
.rcp-lightbox__nav--prev { left: 18px; }
.rcp-lightbox__nav--next { right: 18px; }

@media (max-width: 600px) {
    .rcp-lightbox { padding: 3vh 2vw; }
    .rcp-lightbox__close { top: 10px; right: 10px; width: 38px; height: 38px; font-size: 20px; }
    .rcp-lightbox__nav { width: 40px; height: 40px; font-size: 18px; }
    .rcp-lightbox__nav--prev { left: 8px; }
    .rcp-lightbox__nav--next { right: 8px; }
}

body.is-lightbox-open { overflow: hidden; }

/* ========================================================================
   === V18 (2026-04-27) — header redesign + hero plates + done CTA ===
   ======================================================================== */

/* === HEADER: lang toggle + icon buttons === */
.rcp-langs {
    display: inline-flex;
    border: 1px solid var(--c-line);
    border-radius: 999px;
    overflow: hidden;
    background: var(--c-paper);
}
.rcp-lang {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    min-width: 38px;
    padding: 0 12px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: var(--c-muted);
    text-decoration: none;
    transition: background .15s ease, color .15s ease;
}
.rcp-lang.is-active {
    background: var(--c-ink);
    color: var(--c-paper);
}
.rcp-lang:hover:not(.is-active) {
    background: var(--c-warm);
    color: var(--c-ink);
}

.rcp-icon-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid var(--c-line);
    background: var(--c-paper);
    color: var(--c-ink);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    text-decoration: none;
    transition: background .15s ease, border-color .15s ease;
    position: relative;
    flex-shrink: 0;
    padding: 0;
}
.rcp-icon-btn:hover {
    background: var(--c-warm);
    border-color: var(--c-line-strong);
}
.rcp-icon-btn i { font-size: 14px; }
.rcp-fav-count {
    position: absolute;
    top: -2px;
    right: -2px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    background: var(--c-accent);
    color: white;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.rcp-fav-count[hidden] { display: none; }

/* Hide stock search form (we use icon button) */
.rcp-header__inner .mod-finder { display: none !important; }
.rcp-header__right {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

/* === V18.7 anti-CLS: резервируем aspect-ratio до полной загрузки async CSS ===
   Это правило должно попасть в первые ~40 элементов, поэтому ставим РАНО. */
.rcp-article__image,
.rcp-article__image img,
.rcp-step__img,
.rcp-step__img img {
    aspect-ratio: 4/3;
    width: 100%;
    height: auto;
    background: #efe9d8;
}
.rcp-article__image img,
.rcp-step__img img { object-fit: cover; }

/* Резервируем высоту под ad-слоты, чтобы они не "прыгали" при появлении */
.rcp-ad-slot {
    min-height: 250px;
    contain: layout style paint;
}
.rcp-ad-slot--top    { min-height: 280px; }
.rcp-ad-slot--mid    { min-height: 250px; }
.rcp-ad-slot--bottom { min-height: 280px; }

/* Для всего <img> без явных размеров — резерв (не работает совсем без размеров,
   но если они заданы атрибутами width/height в HTML, эта строка не вредит) */
img { height: auto; }

/* === HERO: media column with plates === */
.rcp-article__media {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    align-items: stretch !important;
}
/* Явные order для всех трёх детей — фото первое, плашки следом */
.rcp-article__media > .rcp-article__image { order: 1 !important; }
.rcp-article__media > .rcp-info-plate     { order: 2 !important; }
.rcp-article__media > .rcp-stats-plate    { order: 3 !important; }

.rcp-article__media .rcp-article__image {
    aspect-ratio: 4/3 !important;
    height: auto !important;
    min-height: unset !important;
    max-height: unset !important;
    position: relative !important;  /* для absolute-overlay'ев (rating, zoom-icon) */
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    border-radius: var(--radius);
    overflow: hidden;
    align-self: stretch !important;
    width: 100% !important;
    margin: 0 !important;
    transform: none !important;
}
.rcp-article__media .rcp-article__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Rating overlay на фото (top-left) */
.rcp-image-rating {
    position: absolute;
    top: 14px;
    left: 14px;
    background: rgba(20, 24, 18, 0.78);
    color: white;
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.02em;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    z-index: 2;
    pointer-events: none;
}

/* Плашка кухня + сложность — V18.12: position:absolute внутри .rcp-article__image,
   сидит точно по нижней кромке фото на всю ширину, как на референсе */
.rcp-info-plate {
    position: absolute !important;
    left: 0;
    right: 0;
    bottom: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    background: rgba(20, 24, 18, 0.92);
    color: white;
    padding: 22px 28px;
    z-index: 2;
    margin: 0 !important;
    /* Закругляем только нижние углы — совпадают с image border-radius */
    border-radius: 0 0 var(--radius) var(--radius);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    pointer-events: none; /* чтобы клик по плашке не открывал лайтбокс */
}
.rcp-info-plate__cell {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.rcp-info-plate__cell + .rcp-info-plate__cell { text-align: right; }
.rcp-info-plate__label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: rgba(255,255,255,0.6);
    font-weight: 600;
}
.rcp-info-plate__value {
    font-family: var(--serif);
    font-size: 18px;
    font-weight: 600;
    color: white;
    /* V18.10: первая буква всегда заглавная (для "албанская" → "Албанская") */
    text-transform: lowercase;
}
.rcp-info-plate__value::first-letter {
    text-transform: uppercase;
}

/* Статистика плашка (3 колонки) */
.rcp-stats-plate {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    padding: 22px 18px;
    background: var(--c-paper);
    border: 1px solid var(--c-line);
    border-radius: var(--radius);
    text-align: center;
}
.rcp-stats-plate__cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 0 8px;
    position: relative;
}
.rcp-stats-plate__cell + .rcp-stats-plate__cell::before {
    content: "";
    position: absolute;
    left: 0;
    top: 18%;
    bottom: 18%;
    width: 1px;
    background: var(--c-line);
}
.rcp-stats-plate__num {
    font-family: var(--serif);
    font-size: 32px;
    font-weight: 600;
    line-height: 1;
    color: var(--c-ink);
}
.rcp-stats-plate__label {
    font-size: 12px;
    color: var(--c-muted);
    line-height: 1.35;
}

/* === ACTION buttons — добавили "В избранное" + icon-only print === */
.rcp-btn--fav.is-saved {
    background: var(--c-accent-soft) !important;
    border-color: var(--c-accent) !important;
    color: var(--c-accent) !important;
}
.rcp-btn--fav.is-saved i::before {
    /* Filled bookmark variant */
    font-weight: 900;
}
.rcp-btn--icon {
    width: 42px;
    padding: 0 !important;
    flex-shrink: 0;
}
.rcp-btn--icon span { display: none !important; }

/* === DONE CTA card (зелёная карточка в конце статьи) === */
.rcp-done-card {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 28px;
    align-items: center;
    background: linear-gradient(135deg, #1a3d2c 0%, #1F4E3D 100%);
    color: white;
    padding: 36px 40px;
    border-radius: var(--radius);
    margin: 36px 0 24px;
    box-shadow: var(--shadow);
}
.rcp-done-card__title {
    font-family: var(--serif);
    color: white !important;
    font-size: clamp(22px, 2.6vw, 30px);
    margin: 0 0 10px;
    line-height: 1.15;
}
.rcp-done-card__desc {
    margin: 0;
    color: rgba(255,255,255,0.82);
    font-size: 14px;
    line-height: 1.55;
    max-width: 540px;
}
.rcp-done-card__rate {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}
.rcp-done-card__label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.7);
}
.rcp-rating--big .rcp-rating__stars {
    gap: 4px;
}
.rcp-rating--big .rcp-rating__stars button {
    font-size: 28px;
    color: rgba(255,255,255,0.45);
    background: transparent;
    border: 0;
    cursor: pointer;
    padding: 0;
    transition: color .15s ease, transform .12s ease;
}
.rcp-rating--big .rcp-rating__stars button.is-on {
    color: #FFD66E;
}
.rcp-rating--big .rcp-rating__stars button:hover {
    transform: scale(1.18);
}
.rcp-rating--big .rcp-rating__thanks {
    color: white;
    margin-left: 0;
    margin-top: 4px;
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .rcp-info-plate {
        grid-template-columns: 1fr 1fr;
        padding: 16px 18px;
    }
    .rcp-info-plate__value { font-size: 16px; }
    .rcp-stats-plate { padding: 16px 12px; }
    .rcp-stats-plate__num { font-size: 24px; }
    .rcp-stats-plate__label { font-size: 11px; }

    .rcp-done-card {
        grid-template-columns: 1fr;
        text-align: center;
        padding: 28px 24px;
    }
    .rcp-done-card__rate { align-items: center; }
    .rcp-rating--big .rcp-rating__stars button { font-size: 24px; }

    .rcp-langs { display: none; } /* На мобиле lang-toggle прячем (лежит в drawer) */
}

/* Убираем v17 image-related rules перекрывающие новые */
.rcp-article__hero .rcp-article__image { aspect-ratio: 4/3 !important; }

/* Hero grid balance — теперь правая колонка чуть шире (с плашками) */
@media (min-width: 961px) {
    .rcp-article__hero {
        grid-template-columns: 1fr 1.05fr !important;
        align-items: start !important;
        gap: 36px !important;
    }
    .rcp-article__hero .rcp-article__title-wrap { order: 1; }
    .rcp-article__hero .rcp-article__media { order: 2; }
}

/* === Search dropdown (header magnifier icon) === */
.rcp-search-dd {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: min(420px, calc(100vw - 24px));
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--c-paper);
    border: 1px solid var(--c-line);
    border-radius: var(--radius);
    box-shadow: 0 24px 48px -12px rgba(15, 23, 18, 0.22), 0 4px 12px -4px rgba(15, 23, 18, 0.08);
    padding: 8px 8px 8px 16px;
    z-index: 60;
    animation: rcpFavPopFade .18s ease-out;
}
.rcp-search-dd[hidden] { display: none !important; }
.rcp-search-dd input[name="q"] {
    flex: 1;
    border: 0;
    outline: 0;
    background: transparent;
    font-size: 15px;
    font-family: inherit;
    color: var(--c-ink);
    padding: 8px 0;
    min-width: 0;
}
.rcp-search-dd input[name="q"]::placeholder { color: var(--c-muted); }
.rcp-search-dd button[type="submit"],
.rcp-search-dd .rcp-search-dd__close {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 0;
    background: transparent;
    color: var(--c-muted);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.rcp-search-dd button[type="submit"] { background: var(--c-accent); color: white; }
.rcp-search-dd button[type="submit"]:hover { background: var(--c-ink); }
.rcp-search-dd .rcp-search-dd__close:hover { background: var(--c-warm); color: var(--c-ink); }

@media (max-width: 600px) {
    .rcp-search-dd { right: -8px; width: calc(100vw - 16px); }
}

/* === Favorites popover (header bookmark icon dropdown) === */
.rcp-header__right { position: relative; }
.rcp-fav-popover {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: min(360px, calc(100vw - 24px));
    max-height: 70vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: var(--c-paper);
    color: var(--c-ink);
    border: 1px solid var(--c-line);
    border-radius: var(--radius);
    box-shadow: 0 24px 48px -12px rgba(15, 23, 18, 0.22), 0 4px 12px -4px rgba(15, 23, 18, 0.08);
    z-index: 60;
    animation: rcpFavPopFade .18s ease-out;
}
@keyframes rcpFavPopFade {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}
.rcp-fav-popover[hidden] { display: none !important; }
.rcp-fav-popover__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid var(--c-line);
    font-family: var(--serif);
}
.rcp-fav-popover__head strong { font-size: 16px; }
.rcp-fav-popover__close {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 0;
    background: transparent;
    color: var(--c-muted);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.rcp-fav-popover__close:hover { background: var(--c-warm); color: var(--c-ink); }
.rcp-fav-popover__list {
    list-style: none;
    margin: 0;
    padding: 6px 0;
    overflow-y: auto;
    max-height: 50vh;
}
.rcp-fav-popover__empty {
    padding: 20px 16px 22px;
    margin: 0;
    text-align: center;
    color: var(--c-muted);
    font-size: 13px;
    line-height: 1.5;
}
.rcp-fav-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 8px;
}
.rcp-fav-item:hover { background: var(--c-warm); }
.rcp-fav-item__link {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
    padding: 6px;
    text-decoration: none;
    color: inherit;
    border-radius: 8px;
}
.rcp-fav-item__img {
    width: 52px;
    height: 52px;
    object-fit: cover;
    border-radius: 8px;
    flex-shrink: 0;
    background: var(--c-warm);
    display: block;
}
.rcp-fav-item__img--ph { background: linear-gradient(135deg, #e6dfd6 0%, #d3c8b9 100%); }
.rcp-fav-item__body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1;
}
.rcp-fav-item__title {
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--c-ink);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.rcp-fav-item__meta {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--c-muted);
}
.rcp-fav-item__remove {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 0;
    background: transparent;
    color: var(--c-muted);
    cursor: pointer;
    flex-shrink: 0;
}
.rcp-fav-item__remove:hover { background: rgba(190, 50, 50, 0.08); color: #be3232; }

@media (max-width: 600px) {
    .rcp-fav-popover {
        right: -8px;
        width: calc(100vw - 16px);
    }
}

/* ========================================================================
   === V18.19 (2026-04-28) — MOBILE HEADER POLISH ===
   На мобиле шапка ужималась криво: язык-тогл иногда показывался,
   логотип+кнопки не помещались на узких viewports (≤380px).
   Цель: aккуратная компактная шапка от 320px до 768px.
   ======================================================================== */

/* === Tablet (≤768px): уже компакт, но подтянем gap и иконки === */
@media (max-width: 768px) {
    .rcp-header__inner {
        gap: 10px;
        padding-left: 14px;
        padding-right: 14px;
    }
    .rcp-header__right { gap: 6px; }
    .rcp-langs { display: none !important; }
}

/* === Mobile (≤600px): уменьшаем логотип, иконки, бургер === */
@media (max-width: 600px) {
    .rcp-header__inner {
        height: 54px;
        gap: 8px;
        padding-left: 12px;
        padding-right: 12px;
    }
    .rcp-logo {
        font-size: 16px;
        gap: 7px;
        letter-spacing: -.015em;
    }
    .rcp-logo svg {
        width: 28px;
        height: 28px;
    }
    .rcp-header__right { gap: 4px; }
    .rcp-icon-btn {
        width: 36px;
        height: 36px;
    }
    .rcp-icon-btn i { font-size: 13.5px; }
    .rcp-burger {
        width: 36px;
        height: 36px;
    }
    .rcp-burger span { width: 16px; }
    body.is-menu-open .rcp-burger span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
    body.is-menu-open .rcp-burger span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }
}

/* === Small mobile (≤380px): уменьшаем логотип ещё, текст оставляем === */
@media (max-width: 380px) {
    .rcp-header__inner {
        gap: 6px;
        padding-left: 10px;
        padding-right: 10px;
    }
    .rcp-logo {
        font-size: 14px;
        gap: 5px;
        letter-spacing: -.02em;
    }
    .rcp-logo svg {
        width: 26px;
        height: 26px;
    }
    .rcp-header__right { gap: 3px; }
    .rcp-icon-btn {
        width: 34px;
        height: 34px;
        border-width: 1px;
    }
    .rcp-burger {
        width: 34px;
        height: 34px;
    }
    .rcp-fav-count {
        min-width: 14px;
        height: 14px;
        font-size: 8.5px;
        top: -1px;
        right: -1px;
    }
}

/* === Tiny mobile (≤320px, iPhone SE 1) — только тут уже прячем текст логотипа === */
@media (max-width: 320px) {
    .rcp-logo span { display: none; }
    .rcp-logo { gap: 0; }
    .rcp-logo svg { width: 30px; height: 30px; }
}

/* === Search-dd (выпадашка лупы) — на узких viewports выровнять корректно === */
@media (max-width: 600px) {
    .rcp-search-dd {
        right: -10px;
        width: calc(100vw - 20px);
        padding: 6px 6px 6px 12px;
    }
    .rcp-search-dd input[name="q"] { font-size: 14.5px; padding: 6px 0; }
    .rcp-search-dd button[type="submit"],
    .rcp-search-dd .rcp-search-dd__close {
        width: 34px;
        height: 34px;
    }
}
@media (max-width: 380px) {
    .rcp-search-dd { right: -8px; width: calc(100vw - 16px); }
}

/* === Fav-popover на мобиле — как было, но синхронизируем breakpoint === */
@media (max-width: 380px) {
    .rcp-fav-popover {
        right: -6px;
        width: calc(100vw - 12px);
    }
}

/* === Sticky-header не должен прыгать когда iOS swap'ает font === */
.rcp-header { contain: layout style; }

/* ========================================================================
   === V18.25 (2026-04-28) — BREADCRUMBS: path on row 1, active on row 2 ===
   Юзер хочет полные крошки, но активный заголовок должен быть ЧИТАЕМ
   (не обрезаться ellipsis-ом).
   Решение: на мобиле parent-цепочка ("Главная / … / Блюда из курицы")
   в первую строку nowrap, активный заголовок — на отдельную вторую строку,
   с переносом по словам если очень длинный. Никакого обрезания.
   ======================================================================== */

@media (max-width: 720px) {
    .rcp-crumbs {
        overflow: visible !important;
        padding: 10px 0 6px !important;
        font-size: 12.5px !important;
        max-width: 100%;
        white-space: normal !important;
    }
    .rcp-crumbs ol.mod-breadcrumbs {
        display: flex !important;
        flex-wrap: wrap !important; /* активный пункт улетает на новую строку */
        align-items: center;
        gap: 2px 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        max-width: 100%;
        line-height: 1.4;
    }
    .rcp-crumbs ol.mod-breadcrumbs > li.mod-breadcrumbs__item {
        display: inline-flex !important;
        align-items: center;
        flex-shrink: 0;
        white-space: nowrap;
        min-width: 0;
        max-width: 100%;
    }
    .rcp-crumbs ol.mod-breadcrumbs > li.mod-breadcrumbs__divider {
        display: none !important;
    }

    /* "/" разделитель между видимыми parent-ссылками */
    .rcp-crumbs ol.mod-breadcrumbs > li + li::before {
        content: "/" !important;
        color: var(--c-line-strong) !important;
        margin: 0 5px !important;
        font-size: 12px !important;
        flex-shrink: 0;
        font-weight: 400 !important;
    }

    /* Гасим осиротелый "›" ::after */
    .rcp-crumbs li::after,
    .rcp-crumbs ol.mod-breadcrumbs > li::after {
        content: none !important;
        display: none !important;
        margin: 0 !important;
    }

    /* Не-активные ссылки — не сжимаются, без обрезки */
    .rcp-crumbs ol.mod-breadcrumbs > li:not(.active):not(:last-child) > a {
        white-space: nowrap !important;
        color: var(--c-muted) !important;
        text-decoration: none;
        flex-shrink: 0;
        overflow: visible;
        max-width: none;
        text-overflow: clip;
    }
    .rcp-crumbs ol.mod-breadcrumbs > li:not(.active):not(:last-child) > a:hover {
        color: var(--c-accent) !important;
    }

    /* === Активный (последний) — на свою строку целиком, без обрезки === */
    .rcp-crumbs ol.mod-breadcrumbs > li.active,
    .rcp-crumbs ol.mod-breadcrumbs > li:last-child {
        flex: 1 1 100% !important; /* forces new row */
        min-width: 0 !important;
        margin-top: 3px !important;
        overflow: visible !important;
        white-space: normal !important;
    }
    .rcp-crumbs ol.mod-breadcrumbs > li.active > span,
    .rcp-crumbs ol.mod-breadcrumbs > li:last-child > span {
        display: inline !important;
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: normal !important;
        word-break: break-word !important;
        overflow-wrap: anywhere !important;
        max-width: 100% !important;
        color: var(--c-ink-2) !important;
        font-weight: 500;
        line-height: 1.4;
    }
    /* Убираем "/" перед активным — он на новой строке, разделитель не нужен */
    .rcp-crumbs ol.mod-breadcrumbs > li.active::before,
    .rcp-crumbs ol.mod-breadcrumbs > li:last-child::before {
        content: none !important;
        display: none !important;
    }
}

/* На узких (≤480px) — прячем средние категории, оставляем Home + parent + active.
   Используем sibling-комбинатор чтобы корректно поймать Home (он идёт ПОСЛЕ
   невидимого li.mod-breadcrumbs__divider — :first-of-type его не находит). */
@media (max-width: 480px) {
    /* Hide ВСЕ items по умолчанию */
    .rcp-crumbs ol.mod-breadcrumbs > li.mod-breadcrumbs__item {
        display: none !important;
    }
    /* Show Home (item right after divider) */
    .rcp-crumbs ol.mod-breadcrumbs > li.mod-breadcrumbs__divider + li.mod-breadcrumbs__item {
        display: inline-flex !important;
    }
    /* Fallback: если нет divider — первый ребёнок */
    .rcp-crumbs ol.mod-breadcrumbs > li.mod-breadcrumbs__item:first-child {
        display: inline-flex !important;
    }
    /* Show last 2: parent + active */
    .rcp-crumbs ol.mod-breadcrumbs > li.mod-breadcrumbs__item:nth-last-child(-n+2) {
        display: inline-flex !important;
    }

    /* Между Home и parent (когда middle скрыты) — "/ … /" */
    .rcp-crumbs ol.mod-breadcrumbs > li.mod-breadcrumbs__item:nth-last-child(2)::before {
        content: "/ … /" !important;
        color: var(--c-line-strong) !important;
        margin: 0 5px !important;
        font-size: 12px !important;
        letter-spacing: .04em;
        flex-shrink: 0;
    }
    /* Если Home + parent смежные (всего 2 ссылки) — обычный "/" */
    .rcp-crumbs ol.mod-breadcrumbs > li.mod-breadcrumbs__divider + li.mod-breadcrumbs__item + li.mod-breadcrumbs__item:nth-last-child(2)::before {
        content: "/" !important;
    }
}
