/* ============================================================================
   Главная — фаза 2 TASK-005, направление OPEN-035 (A+C, вариант 1).
   Перенос принятого образец-главная-2026-08-29 на разметку блоков ядра
   (Query Loop для ведущей и яруса, шорткоды для рубрик и категорий).
   Числа — только через var() из tokens.css.

   Носитель: ведущую и ярус рисует ядро (post-template → li.wp-block-post),
   поэтому сетка вешается на .wp-block-post внутри именованного post-template.
   Содержание главной прижато влево (как весь brand-регистр), полосы идут во
   всю дорожку .home.
   ============================================================================ */

/* --- полосы главной ---
   Внешний FSE block-gap гасится: вертикальный ритм задаёт только сама главная.
   Линия отмечает смену режима, а не механически повторяется перед каждой секцией. */
main.home > * + *{ margin-block-start:0; }
.home .strip{ padding-block:var(--space-6); }
.home .strip--ruled{ border-block-start:1px solid var(--rule); }
.strip__title{
  font-family:var(--font-apparatus); font-size:var(--step-1); font-weight:var(--wght-meta);
  letter-spacing:.08em; text-transform:uppercase; color:var(--ink-mute); margin:0 0 var(--space-5);
}
.strip__head{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--space-4); flex-wrap:wrap; margin-block-end:var(--space-5); }
.strip__head .strip__title{ margin:0; }
.strip__more{ font-family:var(--font-apparatus); font-size:var(--step-1); color:var(--ink-soft); text-decoration:none; white-space:nowrap; }
.strip__more:hover{ text-decoration:underline; text-underline-offset:.2em; }
.strip--feature .strip__title,
.strip--feature-secondary .strip__title{
  font-family:var(--font-text); font-size:var(--step-4); font-weight:var(--wght-head3);
  line-height:var(--lh-tight); letter-spacing:-.01em; text-transform:none; color:var(--ink);
}
.home .showcase{ padding-block:var(--space-6); border-block-end:0; }
.strip--archive-index{ padding-block-end:0; }

/* --- кикер = ТЕМА (post-terms) и мета --- */
.kicker{ font-family:var(--font-apparatus); font-size:var(--step-1); font-weight:var(--wght-meta); letter-spacing:.06em; text-transform:uppercase; color:var(--ink-mute); }
.kicker a{ color:inherit; text-decoration:none; }
.kicker a:hover{ text-decoration:underline; text-underline-offset:.2em; }
.home .meta{ font-family:var(--font-apparatus); font-size:var(--step-1); color:var(--ink-mute); display:flex; flex-wrap:wrap; gap:0 .1em; font-variant-numeric:tabular-nums; }
.home .meta > * + *::before{ content:"\00B7"; color:var(--rule-strong); margin-inline:.5em; }
.home .meta a{ color:inherit; text-decoration:none; }
.home .meta a:hover{ text-decoration:underline; text-underline-offset:.2em; }

/* --- ВЕДУЩАЯ ИСТОРИЯ (Query Loop, 1 материал) --- */
.lead-t{ list-style:none; margin:0; padding:0; }
.lead-t .wp-block-post{ display:grid; gap:var(--space-5); align-items:start; margin:0; padding-block-end:var(--space-7); border-block-end:1px solid var(--rule); }
@media(min-width:52rem){ .lead-t .wp-block-post{ grid-template-columns:1.15fr .85fr; gap:var(--space-7); } }
/* Кадр — аспект-бокс: figure держит соотношение, картинка заполняет (у блока
   изображения ядра figure иначе выше картинки на «резерв» интринсик-размера). */
.lead__frame{ margin:0; aspect-ratio:4/3; overflow:hidden; box-shadow:0 0 0 1px var(--rule-strong); }
.lead__frame a{ display:block; height:100%; }
.lead__frame img{ width:100%; height:100%; object-fit:cover; }
.lead__body{ margin:0; }
.lead__kicker{ margin:0 0 var(--space-3); }
.lead__title{
  font-family:var(--font-text); font-weight:var(--wght-display); font-variation-settings:"opsz" var(--opsz-display);
  font-size:var(--step-6); line-height:var(--lh-display); letter-spacing:-.025em; text-wrap:balance; margin:0;
}
.lead__title a{ color:inherit; text-decoration:none; }
.lead__title a:hover{ text-decoration:underline; text-decoration-color:var(--accent); text-decoration-thickness:.05em; text-underline-offset:.12em; }
.lead__deck{ margin-block-start:var(--space-4); font-size:var(--step-4); font-variation-settings:"opsz" var(--opsz-deck); color:var(--ink-soft); line-height:var(--lh-deck); max-width:var(--measure-deck); text-wrap:pretty; }
.lead__deck p{ margin:0; }
.lead__meta{ margin-block-start:var(--space-4); }
.lead__meta a{ color:var(--ink); font-weight:var(--wght-strong); }

/* --- ЯРУС «Рекомендуем» (до 05.10.2026 «Редакция выбрала»; Query Loop, 3 материала) ---
   Список — FLEX-WRAP, а не grid: у grid строки залипали на высоте кадра
   (aspect-ratio-картинка в grid-элементе недосчитывает трек в Chromium), и
   заголовок с метой уходили под кадр соседней карточки. flex-элементы считаются
   по содержимому. Базис 15rem даёт 3 колонки на широком, 2 на среднем, 1 на узком. */
.picks{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:var(--space-6) var(--space-5); }
.picks .wp-block-post{ flex:1 1 15rem; min-width:0; margin:0; }
.pick__frame{ margin:0; aspect-ratio:3/2; overflow:hidden; box-shadow:0 0 0 1px var(--rule-strong); }
.pick__frame a{ display:block; height:100%; }
.pick__frame img{ width:100%; height:100%; object-fit:cover; }
.pick__kicker{ margin-block:var(--space-3) var(--space-2); }
.pick__title{
  font-family:var(--font-text); font-weight:var(--wght-head3); font-variation-settings:"opsz" var(--opsz-head3);
  font-size:var(--step-4); line-height:var(--lh-tight); letter-spacing:-.01em; text-wrap:balance; margin:0;
}
.pick__title a{ color:inherit; text-decoration:none; }
.pick__title a:hover{ text-decoration:underline; text-decoration-color:var(--accent); text-decoration-thickness:.05em; text-underline-offset:.12em; }
.pick__meta{ margin-block-start:var(--space-2); }

/* --- АФИША · БЛИЖАЙШЕЕ (шорткод ph_afisha) ---
   Только идущее/предстоящее из раздела «Афиша». Мета — город, площадка
   и срок; конкурсы остаются в своём подразделе группы «События». */
.afisha{ list-style:none; margin:0; padding:0; display:grid; gap:var(--space-3) var(--space-6); }
@media(min-width:52rem){ .afisha{ grid-template-columns:repeat(2,1fr); } }
.af{ padding-block:var(--space-3); border-block-end:1px solid var(--rule-soft); }
.af--with-thumb{ display:grid; grid-template-columns:7.5rem minmax(0,1fr); grid-template-rows:min-content min-content 1fr; gap:0 var(--space-3); align-items:start; }
.af__thumb{ grid-row:1 / span 3; display:block; aspect-ratio:3/2; overflow:hidden; outline:1px solid var(--rule-strong); outline-offset:-1px; }
.af__thumb img{ display:block; inline-size:100%; block-size:100%; object-fit:cover; }
.af__title{ font-family:var(--font-text); font-weight:var(--wght-head3); font-size:var(--step-3); line-height:var(--lh-tight); letter-spacing:-.005em; text-decoration:none; color:var(--ink); display:block; text-wrap:balance; }
.af__title:hover{ text-decoration:underline; text-decoration-color:var(--accent); text-decoration-thickness:.05em; text-underline-offset:.12em; }
.af__meta{ margin-block-start:var(--space-2); font-family:var(--font-apparatus); font-size:var(--step-1); line-height:var(--lh-meta); color:var(--ink-mute); font-variant-numeric:tabular-nums; }

/* --- РУБРИЧНАЯ РЕКА (шорткод ph_rubrics) --- */
.rubrics{ display:grid; gap:var(--space-7) var(--space-6); }
@media(min-width:52rem){ .rubrics{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:75rem){ .rubrics{ grid-template-columns:repeat(3,1fr); } }
.rubric__name{ font-family:var(--font-apparatus); font-size:var(--step-2); font-weight:var(--wght-strong); color:var(--ink); padding-block-end:var(--space-2); border-block-end:1px solid var(--rule-strong); margin:0 0 var(--space-3); }
.rubric__name a{ color:inherit; text-decoration:none; }
.rlist{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.rlist li{ padding-block:var(--space-3); border-block-end:1px solid var(--rule-soft); }
.rlist__item--with-thumb{ display:grid; grid-template-columns:6.5rem minmax(0,1fr); grid-template-rows:min-content min-content 1fr; gap:0 var(--space-3); align-items:start; }
.rthumb{ grid-row:1 / span 3; display:block; aspect-ratio:3/2; overflow:hidden; outline:1px solid var(--rule-strong); outline-offset:-1px; }
.rthumb img{ display:block; inline-size:100%; block-size:100%; object-fit:cover; }
.rlist li:last-child{ border-block-end:0; }
.rlink{ font-family:var(--font-text); font-weight:var(--wght-head3); font-size:var(--step-3); line-height:var(--lh-tight); letter-spacing:-.005em; text-decoration:none; display:block; color:var(--ink); }
.rlink:hover{ text-decoration:underline; text-decoration-color:var(--accent); text-decoration-thickness:.05em; text-underline-offset:.12em; }
.rmeta{ margin-block-start:var(--space-2); font-family:var(--font-apparatus); font-size:var(--step-1); line-height:var(--lh-meta); color:var(--ink-mute); }
.rmeta a{ color:inherit; text-decoration:none; }
.rmeta a:hover,
.rmeta a:focus-visible{ color:var(--ink); text-decoration:underline; text-underline-offset:.16em; }

/* --- АРХИВ ПО РАЗДЕЛАМ (OPEN-076, шорткод ph_cats) --- */
.index__lead{ font-family:var(--font-text); font-size:var(--step-4); font-variation-settings:"opsz" var(--opsz-deck); color:var(--ink-soft); line-height:var(--lh-deck); max-width:var(--measure-text); margin-block-end:var(--space-5); text-wrap:pretty; }
.index__lead b{ color:var(--ink); font-weight:var(--wght-strong); }
.themes{ display:flex; flex-wrap:wrap; gap:var(--space-2) var(--space-3); }
.chip{ font-family:var(--font-apparatus); font-size:var(--step-2); color:var(--ink); text-decoration:none; padding:var(--space-2) var(--space-3); border:1px solid var(--rule); border-radius:2px; }
.chip:hover{ border-color:var(--ink-mute); }
.chip b{ color:var(--ink-mute); font-weight:var(--wght-normal); margin-inline-start:.4em; font-variant-numeric:tabular-nums; }
.strip--archive-tools .index__lead{ margin-block-end:var(--space-1); }
.home .strip--archive-tools{ padding-block-start:0; }
.archive-intro{
  margin:0; font-family:var(--font-apparatus); font-size:var(--step-2);
  line-height:var(--lh-meta); color:var(--ink-mute);
}
.archive-tools{ margin-block-start:var(--space-5); color:var(--ink); }
.archive-tools > p{ display:none; }
.archive-search{
  padding:var(--space-4); background:var(--bg-sunk);
  font-family:var(--font-apparatus);
}
.archive-search__label{
  display:block; margin-block-end:var(--space-2); font-size:var(--step-1); line-height:var(--lh-meta);
  font-weight:var(--wght-meta); letter-spacing:.06em; text-transform:uppercase; color:var(--ink-mute);
}
.archive-search__field{ display:grid; grid-template-columns:minmax(0,1fr) auto; min-width:0; }
.archive-search__field:focus-within{ box-shadow:0 0 0 1px var(--accent); }
.archive-search__field input{
  min-width:0; padding:var(--space-3) var(--space-4); border:0; border-radius:0; background:var(--bg);
  color:var(--ink); font-family:var(--font-text); font-size:var(--step-3); line-height:var(--lh-tight);
}
.archive-search__field input::placeholder{ color:var(--ink-mute); opacity:1; }
.archive-search__field input:focus-visible{ outline:0; box-shadow:inset 0 -2px 0 var(--accent); }
.archive-search__field input::-webkit-search-cancel-button{
  -webkit-appearance:none; appearance:none; inline-size:0; margin:0;
}
.archive-search__field button{
  min-inline-size:8rem; padding:var(--space-3) var(--space-5); border:0; border-radius:0;
  background:var(--ink); color:var(--bg); font:inherit; font-size:var(--step-2);
  font-weight:var(--wght-strong); cursor:pointer;
}
.archive-search__field button:hover{ background:var(--ink-soft); }
.archive-search__field button:focus-visible{ outline:2px solid var(--bg); outline-offset:-5px; }
.archive-browse :focus-visible{ outline:2px solid var(--accent); outline-offset:3px; }
.archive-browse{
  display:flex; align-items:center; flex-wrap:wrap; gap:var(--space-3) var(--space-5);
  padding-block:var(--space-4); border-block-end:1px solid var(--rule);
  font-family:var(--font-apparatus); font-size:var(--step-2);
}
.archive-browse__label{
  color:var(--ink-mute); font-size:var(--step-1); font-weight:var(--wght-meta);
  letter-spacing:.06em; text-transform:uppercase;
}
.archive-browse__names{
  display:inline-flex; align-items:baseline; gap:.45em; color:var(--ink);
  text-decoration:none; font-weight:var(--wght-strong);
}
.archive-browse__count{ color:var(--ink-mute); font-weight:var(--wght-normal); font-variant-numeric:tabular-nums; }
.archive-browse__names:hover{ text-decoration:underline; text-decoration-color:var(--accent); text-underline-offset:.18em; }
.archive-year{ position:relative; margin-inline-start:auto; }
.archive-year__trigger{
  display:inline-flex; align-items:center; justify-content:space-between; gap:var(--space-4);
  min-inline-size:12rem; min-block-size:44px; padding:var(--space-2) var(--space-4) var(--space-2) var(--space-3);
  border:1px solid var(--rule-strong); background:var(--bg); color:var(--ink); cursor:pointer;
  font-weight:var(--wght-strong); list-style:none;
}
.archive-year__trigger::-webkit-details-marker{ display:none; }
.archive-year__trigger::marker{ content:""; }
.archive-year__trigger::after{
  content:""; inline-size:0; block-size:0; flex:0 0 auto;
  border-inline:.3125rem solid transparent;
  border-block-start:.375rem solid var(--ink-mute);
  transition:transform .12s ease-out;
}
.archive-year__trigger:hover::after{ border-block-start-color:var(--ink); }
.archive-year[open] .archive-year__trigger::after{ transform:rotate(180deg); border-block-start-color:var(--ink); }
.archive-year__menu{
  position:absolute; z-index:15; inset-inline-end:0; inset-block-start:calc(100% + var(--space-1));
  min-inline-size:100%; max-block-size:20rem; overflow-y:auto;
  list-style:none; margin:0; padding:var(--space-2) var(--space-3);
  background:var(--bg); border:1px solid var(--rule-strong);
}
.archive-year__menu a{
  display:flex; align-items:baseline; justify-content:space-between; gap:var(--space-4);
  min-block-size:2rem; padding-block:var(--space-2); color:var(--ink-soft); text-decoration:none; white-space:nowrap;
}
.archive-year__menu a:hover{ color:var(--ink); text-decoration:underline; text-underline-offset:.25em; }
.archive-year__count{ color:var(--ink-mute); font-size:var(--step-1); font-variant-numeric:tabular-nums; }
@media (prefers-reduced-motion:reduce){ .archive-year__trigger::after{ transition:none; } }
@media(max-width:47.99rem){
  .archive-search{ padding:var(--space-3); }
  .archive-search__field{ grid-template-columns:minmax(0,1fr) auto; }
  .archive-search__field input{ padding-inline:var(--space-3); }
  .archive-search__field button{ min-inline-size:0; padding-inline:var(--space-3); }
  .archive-search__field input,
  .archive-search__field button{ min-block-size:44px; }
  .archive-browse{ align-items:stretch; flex-direction:column; gap:0; }
  .archive-browse__label{ margin-block-end:var(--space-2); }
  .archive-browse__names{ align-items:center; min-block-size:44px; }
  .archive-year{ inline-size:100%; margin-inline-start:0; padding-block-start:var(--space-2); border-block-start:1px solid var(--rule-soft); }
  .archive-year__trigger{ inline-size:100%; }
  .archive-year__menu{ inset-inline:0; }
}

/* --- ЖИВАЯ ВРЕЗКА ВЫСТАВОК (OPEN-077, шорткод ph_gallery_home) -------------
   На главной три обложки собраны в один ровный ряд 4:3; под ними тема,
   название, автор, год и объём. Полная Галерея сохраняет авторские пропорции. */
.home-gallery{ display:flex; align-items:flex-start; gap:var(--space-5); }
.home-gallery__item{ flex:1 1 0; min-width:0; margin:0; }
.home-gallery__frame{
  display:block; aspect-ratio:4 / 3; overflow:hidden; background:var(--bg-sunk);
  color:inherit; outline-offset:3px;
}
.home-gallery__frame:focus-visible{ outline:2px solid var(--accent); }
.home-gallery__frame img{
  display:block; inline-size:100%; block-size:100%; object-fit:cover;
  outline:1px solid var(--rule-strong); outline-offset:-1px;
}
.home-gallery__frame:hover img{ outline-color:var(--ink-mute); }
.home-gallery__frame:active img{ outline-color:var(--ink); }
.home-gallery__item figcaption{ margin-block-start:var(--space-3); }
.home-gallery__item figcaption > p:empty{ display:none; }
.home-gallery__theme{
  display:inline-block; font-family:var(--font-apparatus); font-size:var(--step-1);
  line-height:var(--lh-meta); color:var(--ink-mute); text-decoration:none;
}
.home-gallery__theme:hover{ color:var(--ink); text-decoration:underline; text-underline-offset:.2em; }
.home-gallery__title{
  margin:0; font-family:var(--font-text); font-size:var(--step-3);
  font-weight:var(--wght-head3); line-height:var(--lh-tight); letter-spacing:-.005em;
  text-wrap:balance;
}
.home-gallery__title a{ color:inherit; text-decoration:none; }
.home-gallery__title a:hover{
  text-decoration:underline; text-decoration-color:var(--accent);
  text-decoration-thickness:.05em; text-underline-offset:.12em;
}
.home-gallery__meta{
  margin:var(--space-2) 0 0; font-family:var(--font-apparatus);
  font-size:var(--step-1); line-height:var(--lh-meta); color:var(--ink-mute);
  font-variant-numeric:tabular-nums;
}
.home-gallery__meta a{ color:inherit; text-decoration:none; }
.home-gallery__meta a:hover,
.home-gallery__meta a:focus-visible{ color:var(--ink); text-decoration:underline; text-underline-offset:.16em; }
@media(max-width:39.99rem){
  .home .strip{ padding-block:calc(var(--space-5) + var(--space-1)); }
  .home .strip--archive-tools{ padding-block-start:0; }
  .home .strip--archive-index{ padding-block-end:0; }
  .strip__head{ align-items:center; margin-block-end:var(--space-4); }
  .strip__more{ display:inline-flex; align-items:center; min-block-size:44px; }
  .home-gallery{ flex-direction:column; gap:var(--space-6); }
  .home-gallery__item{ flex:none; inline-size:100%; }
	.af--with-thumb{ grid-template-columns:7rem minmax(0,1fr); }
	.rlist__item--with-thumb{ grid-template-columns:6rem minmax(0,1fr); }
}

/* --- СТРАНИЦА-ГРУППА (шорткод ph_group: «События», «Культпросвет») -----------
   Хаб делится на тематические блоки по разделам: заголовок-раздел (ссылка) со
   счётчиком + три свежих карточки (кикер = тема; раскладка .feed--columns). */
.grp{ margin-block-start:var(--space-7); }
.grp:first-of-type{ margin-block-start:var(--space-5); }
.grp__head{
  display:flex; align-items:baseline; flex-wrap:wrap; gap:var(--space-2) var(--space-3);
  margin-block-end:var(--space-4); padding-block-end:var(--space-2);
  border-block-end:2px solid var(--ink);
}
.grp__name{
  font-size:var(--step-4); font-weight:var(--wght-head3);
  font-variation-settings:"opsz" var(--opsz-head3); line-height:var(--lh-tight);
  letter-spacing:-.01em; margin:0;
}
.grp__name a{ color:inherit; text-decoration:none; }
.grp__name a:hover{ text-decoration:underline; text-decoration-color:var(--accent); text-decoration-thickness:.06em; text-underline-offset:.14em; }
.grp__count{ font-family:var(--font-apparatus); font-size:var(--step-1); color:var(--ink-mute); font-variant-numeric:tabular-nums; }
/* Навигация по разделам без меню шапки (TASK-009, разбор Impeccable 04.10.2026): подводка
   хаба — оглавление (слова-разделы ссылками, волосяное подчёркивание как у меток), под
   блоком — выход в раздел. Без пилюль: панель на хабе снята владельцем 07.09.2026. */
.index__lead--toc a{
  color:var(--ink); text-decoration-line:underline; text-decoration-color:var(--rule-strong);
  text-decoration-thickness:.05em; text-underline-offset:.16em;
}
.index__lead--toc a:hover{ text-decoration-color:var(--accent); }
.index__lead--toc a:focus-visible,
.grp__more a:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
.grp__more{
  margin:var(--space-4) 0 0; font-family:var(--font-apparatus); font-size:var(--step-2);
  line-height:var(--lh-meta);
}
.grp__more a{
  color:var(--ink); text-decoration-line:underline; text-decoration-color:var(--rule-strong);
  text-decoration-thickness:.07em; text-underline-offset:.16em;
}
.grp__more a:hover{ text-decoration-color:var(--accent); }
.grp__more-count{ color:var(--ink-mute); font-variant-numeric:tabular-nums; margin-inline-start:.4em; }

/* Место собственного проекта на главной — живой компонент showcase.css (TASK-006,
   фаза 4; имя нейтральное, не «promo» — режут блокировщики): слот-заглушка снята,
   вместо неё шорткод [ph_promo place="home"] в index.html. */
