/* chef.ru core — «Направление А»
   Трёхколоночный десктоп: слева навигация, центр 800px, справа 220–240px.
   Золотисто-хаки — единственный маркер действия.
   Буквица заменяет портрет, когда фотографии нет: на запуске это основное
   состояние, а не исключение. */

:root{
  --c-ink:#141210;
  --c-ink-2:#4a443d;
  --c-ink-3:#8a8178;
  --c-rule:#e2ddd4;
  --c-paper:#fbfaf7;
  --c-accent:#9a8542;          /* золотисто-хаки */
  --c-accent-ink:#fff;
  --c-serif:"PT Serif",Georgia,"Times New Roman",serif;
  --c-sans:"Inter","Helvetica Neue",Arial,sans-serif;
  --c-center:800px;
  --c-aside:230px;
  --c-gap:28px;
}

.c-shell{
  display:grid;
  grid-template-columns:minmax(0,var(--c-center)) var(--c-aside);
  gap:var(--c-gap);
  max-width:1120px;
  margin:0 auto;
  padding:32px 20px 80px;
  color:var(--c-ink);
  font-family:var(--c-sans);
  font-size:17px;
  line-height:1.62;
}
@media (max-width:1000px){
  .c-shell{grid-template-columns:minmax(0,1fr)}
  .c-aside{order:2}
}

/* ---------- типографика ---------- */
.c-title{
  font-family:var(--c-serif);
  font-weight:700;
  font-size:clamp(30px,4.4vw,52px);
  line-height:1.08;
  letter-spacing:-.015em;
  margin:0 0 10px;
}
.c-tagline{font-size:18px;color:var(--c-ink-2);margin:0}
.c-meta{font-size:14px;color:var(--c-ink-3);margin:8px 0 0}
.c-lead{
  font-family:var(--c-serif);
  font-size:21px;
  line-height:1.5;
  color:var(--c-ink);
  margin:26px 0;
}
.c-lead p:first-child{margin-top:0}
.c-content{font-size:17.5px}
.c-content h2,.c-rel__title,.c-facts__title{
  font-family:var(--c-serif);font-weight:700;font-size:24px;margin:34px 0 14px;
}
.c-crumbs{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--c-ink-3);margin-bottom:22px}
.c-crumbs a{color:var(--c-ink-3);text-decoration:none}
.c-crumbs a:hover{color:var(--c-accent)}
.c-crumbs span{opacity:.5;margin:0 6px}

/* ---------- шапка карточки ---------- */
/* Фотографии нет — колонка под неё не существует: заголовок занимает
   всю ширину. Никаких буквиц, рамок и заглушек. */
.c-head{display:grid;grid-template-columns:260px minmax(0,1fr);gap:28px;align-items:start;margin-bottom:8px}
.c-head--nophoto{display:block}
.c-head--wide{grid-template-columns:minmax(0,1fr)}
.c-head--article{display:block}
@media (max-width:640px){.c-head{grid-template-columns:1fr}}

.c-portrait{margin:0;overflow:hidden;background:var(--c-paper)}
.c-portrait img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.c-single--place .c-portrait img,.c-single--dish .c-portrait img{aspect-ratio:4/3}

/* карточка в сетке без фото: заголовок и подпись прижаты к верху ячейки */
.c-card--minimal .c-card__title{margin-top:0}
.c-card--minimal{padding-top:2px;border-top:1px solid var(--c-rule)}

.c-hero{margin:22px 0}
.c-hero img{width:100%;height:auto;display:block}

/* ---------- строка факта ---------- */
.c-facts{margin:28px 0;border-top:1px solid var(--c-rule);padding-top:14px}
.c-fact{display:grid;grid-template-columns:168px minmax(0,1fr);gap:16px;padding:9px 0;border-bottom:1px solid var(--c-rule)}
.c-fact:last-child{border-bottom:0}
.c-fact__label{font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--c-ink-3);padding-top:3px}
.c-fact__value{min-width:0;overflow-wrap:anywhere}
.c-fact__value p:first-child{margin-top:0}
.c-fact__value p:last-child{margin-bottom:0}
@media (max-width:640px){
  .c-fact{grid-template-columns:1fr;gap:2px}
  .c-fact__label{padding-top:0}
}
.c-fact--list{grid-template-columns:1fr}
.c-link{color:var(--c-ink);text-decoration:none;border-bottom:1px solid var(--c-accent)}
.c-link:hover{color:var(--c-accent)}

.c-list{margin:6px 0 14px;padding-left:22px}
.c-list li{margin:4px 0}
.c-list--news{list-style:none;padding:0}
.c-list--news li{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--c-rule)}
.c-list--news a{color:var(--c-ink);text-decoration:none}
.c-list--news a:hover{color:var(--c-accent)}
.c-list--news time{color:var(--c-ink-3);font-size:14px;white-space:nowrap}
.c-list__head{font-family:var(--c-serif);font-size:17px;margin:14px 0 4px}

/* ---------- сетка карточек ---------- */
.c-grid{display:grid;gap:22px}
.c-grid--3{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.c-grid--4{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
/* :visited указывается отдельно: тема задаёт свой цвет посещённой ссылки,
   и её правило перебивает color:inherit — в сетке каталога одна карточка
   вдруг оказывается другого цвета. */
.c-card__link,.c-card__link:visited,.c-card__link:hover{text-decoration:none;color:inherit;display:block}
.c-card__title{font-family:var(--c-serif);font-size:19px;line-height:1.2;margin:10px 0 4px}
.c-card__sub{font-size:14px;color:var(--c-ink-3);margin:0}
.c-card:hover .c-card__title{color:var(--c-accent)}

.c-chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 26px}
.c-chip{
  font-size:14px;padding:5px 12px;border:1px solid var(--c-rule);border-radius:999px;
  color:var(--c-ink-2);text-decoration:none;
}
.c-chip:hover{border-color:var(--c-accent);color:var(--c-accent)}

/* ---------- правая колонка: только действия ---------- */
.c-aside{display:flex;flex-direction:column;gap:10px;align-self:start;position:sticky;top:24px}
.c-btn{
  display:block;text-align:center;padding:11px 14px;
  background:var(--c-accent);color:var(--c-accent-ink);
  text-decoration:none;font-size:15px;letter-spacing:.02em;
}
.c-btn:hover{filter:brightness(.93)}
.c-btn--ghost{background:transparent;color:var(--c-accent);border:1px solid var(--c-accent)}

/* ---------- галерея ---------- */
.c-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:14px 0}
.c-gal__item{margin:0}
.c-gal__item img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/3}

.c-pager{margin:36px 0 0;display:flex;gap:8px;flex-wrap:wrap}
.c-pager a,.c-pager span{padding:7px 12px;border:1px solid var(--c-rule);text-decoration:none;color:var(--c-ink-2)}
.c-pager .current{border-color:var(--c-accent);color:var(--c-accent)}
.c-empty{color:var(--c-ink-3)}
.c-article-foot{margin-top:34px;border-top:1px solid var(--c-rule);padding-top:14px}

/* ---------- отбор по типу в архивах таксономий ---------- */
.c-chips--type{margin:0 0 20px}
.c-chip.is-on{border-color:var(--c-accent);color:var(--c-accent)}
.c-chip__n{
  font-size:12px;color:var(--c-ink-3);margin-left:6px;
  font-variant-numeric:tabular-nums;
}
.c-chip.is-on .c-chip__n,.c-chip:hover .c-chip__n{color:inherit;opacity:.75}

/* ---------- заходные страницы-подборки ---------- */
.c-collection .c-arch-head{margin-bottom:26px}
.c-body--after{margin-top:40px;border-top:1px solid var(--c-rule);padding-top:22px}

/* указатель на другие подборки: «Серии», «Атлас шефа» */
.c-hub{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin:8px 0 30px}
.c-hub__item{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  padding:16px 18px;border:1px solid var(--c-rule);text-decoration:none;
  color:var(--c-ink-1);transition:border-color .15s,color .15s;
}
.c-hub__item:hover{border-color:var(--c-accent);color:var(--c-accent)}
.c-hub__name{font-size:17px;line-height:1.25}
.c-hub__n{font-size:13px;color:var(--c-ink-3);font-variant-numeric:tabular-nums;flex:none}
.c-hub__item:hover .c-hub__n{color:var(--c-accent)}

@media print{
  .c-aside,.c-chips,.c-pager{display:none}
  .c-shell{grid-template-columns:1fr;max-width:none}
}
