/* Справочник площадок и хаб «Ресурсы» (TASK-006 / OPEN-087): указатель «Места»,
   страница площадки, блок площадки в анонсе. Ритм, линейки и шрифты — как у
   указателя «Имена» (photographer.css): заголовок страницы над --rule-strong,
   строки списка над --rule-soft, служебное — шрифтом аппарата тоном --ink-mute. */

.main--places > .crumbs,
.main--place > .crumbs,
.main--resources > .crumbs{ margin-block-start:0; margin-block-end:var(--space-4); }

/* --- Указатель «Места» ------------------------------------------------------ */
.places-index__head,
.resources__head{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:var(--space-3) var(--space-4);
  padding-block-end:var(--space-4); border-block-end:1px solid var(--rule-strong);
}
.places-index__title,
.resources__title,
.place__title{
  margin:0; font-size:var(--step-6); font-weight:var(--wght-display);
  font-variation-settings:"opsz" var(--opsz-display); line-height:var(--lh-display);
  letter-spacing:-.02em; text-wrap:balance;
}
.places-index__scope{ margin:0; font-family:var(--font-apparatus); font-size:var(--step-1); line-height:var(--lh-meta); color:var(--ink-mute); }
.places-index__empty,
.place__empty{ color:var(--ink-mute); font-style:italic; }
.places-index__cities{
  display:flex; flex-wrap:wrap; gap:var(--space-2) var(--space-4); padding-block:var(--space-4);
  font-family:var(--font-apparatus);
}
.places-index__cities a{ color:var(--ink); text-underline-offset:.16em; }
.places-index__count,
.place__count,
.resources__count{ color:var(--ink-mute); font-weight:var(--wght-normal); font-variant-numeric:tabular-nums; }
.places-index__city{ margin-block:var(--space-6) 0; scroll-margin-block-start:var(--space-4); }
.places-index__city h2{
  margin:0 0 var(--space-3); padding-block-end:var(--space-2); border-block-end:1px solid var(--rule-strong);
  font-family:var(--font-apparatus); font-size:var(--step-3); font-weight:var(--wght-strong);
}
.places-index__list,
.place__list,
.resources__list{ list-style:none; margin:0; padding:0; }
.places-index__list--many{ columns:3; column-gap:var(--space-6); }
.places-index__list li{ break-inside:avoid; padding-block:var(--space-2); border-block-end:1px solid var(--rule-soft); }
.places-index__list a,
.place__list a{ color:var(--ink); text-decoration:none; overflow-wrap:anywhere; }
.places-index__addr{
  display:block; margin-block-start:.15em; font-family:var(--font-apparatus);
  font-size:var(--step-1); line-height:var(--lh-meta); color:var(--ink-mute);
}
.places-index__list a:hover,
.place__list a:hover,
.resources__link:hover .resources__name{
  text-decoration:underline; text-decoration-color:var(--accent); text-underline-offset:.16em;
}
.places-index__cities a:focus-visible,
.places-index__list a:focus-visible,
.place__list a:focus-visible,
.place__facts a:focus-visible,
.venue a:focus-visible,
.resources__link:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; }
@media(max-width:63.99rem){ .places-index__list--many{ columns:2; } }
@media(max-width:47.99rem){ .places-index__list--many{ columns:1; } }

/* --- Страница площадки ------------------------------------------------------ */
.place__head{ padding-block-end:var(--space-4); border-block-end:1px solid var(--rule-strong); }
.place__kicker{
  margin:0 0 var(--space-2); font-family:var(--font-apparatus); font-size:var(--step-1);
  line-height:var(--lh-meta); color:var(--ink-mute);
}
.place__facts,
.venue__facts{ margin:0; }
.place__facts{ margin-block-start:var(--space-4); }
.place__facts > div,
.venue__facts > div{ display:grid; grid-template-columns:9em minmax(0,1fr); gap:var(--space-3); align-items:baseline; }
.place__facts > div{ padding-block:var(--space-2); border-block-end:1px solid var(--rule-soft); }
.place__facts dt,
.venue__facts dt{ font-family:var(--font-apparatus); font-size:var(--step-1); line-height:var(--lh-meta); color:var(--ink-mute); }
.place__facts dd,
.venue__facts dd{ margin:0; overflow-wrap:anywhere; }
.place__facts a,
.venue a{
  color:var(--ink); text-decoration-line:underline; text-decoration-color:var(--accent);
  text-decoration-thickness:.07em; text-underline-offset:.16em;
}
.place__about{ margin-block-start:var(--space-6); }
.place__about > * + *{ margin-block-start:var(--space-4); }
.place__about img{ max-inline-size:100%; block-size:auto; }
.place__about a{ color:inherit; text-underline-offset:.18em; overflow-wrap:anywhere; }
.place__events{ margin-block-start:var(--space-7); }
.place__events h2{
  margin:0; padding-block-end:var(--space-2); border-block-end:1px solid var(--rule-strong);
  font-family:var(--font-apparatus); font-size:var(--step-3); font-weight:var(--wght-strong);
}
.place__year{
  margin:var(--space-5) 0 0; padding-block-end:var(--space-2); border-block-end:1px solid var(--rule-soft);
  font-family:var(--font-apparatus); font-size:var(--step-2); font-weight:var(--wght-strong);
  font-variant-numeric:tabular-nums;
}
.place__list li{
  display:grid; grid-template-columns:minmax(0,13em) minmax(0,1fr); gap:var(--space-3); align-items:baseline;
  padding-block:var(--space-2); border-block-end:1px solid var(--rule-soft);
}
.place__when{
  font-family:var(--font-apparatus); font-size:var(--step-1); line-height:var(--lh-meta);
  color:var(--ink-mute); font-variant-numeric:tabular-nums;
}
@media(max-width:31.99rem){
  .place__facts > div,
  .venue__facts > div,
  .place__list li{ grid-template-columns:minmax(0,1fr); gap:.15em; }
}

/* --- Площадка в анонсе (single.html, [ph_event_venue]) ---------------------- */
.venue{
  max-width:var(--measure-text); margin-block:0 var(--space-6); padding-block:var(--space-3);
  border-block:1px solid var(--rule-soft);
  font-family:var(--font-apparatus); font-size:var(--step-1); line-height:var(--lh-meta);
}
.venue__name{ margin:0 0 var(--space-2); font-size:var(--step-2); font-weight:var(--wght-strong); }
.venue__facts > div + div{ margin-block-start:var(--space-1); }

/* --- Хаб «Ресурсы» --------------------------------------------------------- */
.resources__list li{ padding-block:var(--space-4); border-block-end:1px solid var(--rule-soft); }
.resources__link{ display:inline-flex; align-items:baseline; gap:var(--space-3); color:var(--ink); text-decoration:none; }
.resources__name{ font-size:var(--step-5); font-weight:var(--wght-head2); line-height:var(--lh-head2); }
.resources__count{ font-family:var(--font-apparatus); font-size:var(--step-1); }
.resources__desc{ margin:var(--space-2) 0 0; color:var(--ink-soft); }

@media print{
  .places-index__list--many{ columns:1; }
  .place__head{ break-after:avoid; }
}
