/* GDErevan v4 — облик страниц гидов, площадок, контактов, правовых и датовых страниц.
   Подключается после site_v4.css. Владелец — задача Codex (см. .design/v4-work-plan.md). */

/* Старый SEO-контент использовал тёмную «ночную» палитру. Здесь остаются
   только светлые редакционные поверхности; синими намеренно остаются первые
   экраны гидов и справочника площадок из site_v4.css. */
body.site-v4 .seo-guide,
body.site-v4 .seo-legal,
body.site-v4 .seo-contact,
body.site-v4 .seo-topic-guide { color: #17181c; font-family: 'Golos Text', sans-serif; }
body.site-v4 .seo-guide h1,
body.site-v4 .seo-guide h2,
body.site-v4 .seo-legal h1,
body.site-v4 .seo-legal h2,
body.site-v4 .seo-contact h1,
body.site-v4 .seo-contact h2,
body.site-v4 .seo-topic-guide h1,
body.site-v4 .seo-topic-guide h2,
body.site-v4 .seo-venue h1,
body.site-v4 .seo-venue h2 { color: #17181c; font-family: Manrope, sans-serif; font-weight: 800; }
body.site-v4 .seo-guide p,
body.site-v4 .seo-legal p,
body.site-v4 .seo-contact p,
body.site-v4 .seo-topic-guide p { color: #596170; font-size: 15px; line-height: 1.7; }
body.site-v4 .seo-guide a,
body.site-v4 .seo-legal a,
body.site-v4 .seo-contact a,
body.site-v4 .seo-topic-guide a { color: #0a4fff; }

/* Гиды: спокойные карточки и шаги вместо тёмных градиентов. */
body.site-v4 .seo-guide-intro { border: 0; background: #f4f5f7; }
body.site-v4 .seo-guide-intro > div > span { color: #0a4fff; background: #e4ebff; }
body.site-v4 .seo-route { border: 1px solid #e6e9f0; color: #17181c; background: #fff; box-shadow: none; }
body.site-v4 .seo-route:hover { border-color: #b9caff; transform: translateY(-2px); }
body.site-v4 .seo-route::after { background: #edf2ff; }
body.site-v4 .seo-route > span { color: #0a4fff; background: #e7edff; }
body.site-v4 .seo-route small { color: #667085; }
body.site-v4 .seo-route h3 { color: #17181c; font-family: Manrope, sans-serif; }
body.site-v4 .seo-route p { color: #626a78; }
body.site-v4 .seo-route b { color: #0a4fff; }
body.site-v4 .seo-route--comedy,
body.site-v4 .seo-route--music,
body.site-v4 .seo-route--city,
body.site-v4 .seo-route--screen { background: #fff; }
body.site-v4 .seo-guide-steps { border-color: #e7e9ef; }
body.site-v4 .seo-guide-steps li > span,
body.site-v4 .seo-simple-guide section > span,
body.site-v4 .seo-topic-guide .seo-topic-number { border: 0; color: #0a4fff; background: #e4ebff; }
body.site-v4 .seo-guide-steps h3 { color: #17181c; font-family: Manrope, sans-serif; }
body.site-v4 .seo-guide-steps p { color: #626a78; }
body.site-v4 .seo-spotlight > a { border: 1px solid #e6e9f0; background: #fff; box-shadow: none; }
body.site-v4 .seo-guide-events .seo-spotlight { align-items: stretch; }
body.site-v4 .seo-guide-events .seo-spotlight { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; overflow: visible; }
body.site-v4 .seo-guide-events .seo-spotlight > a { display: flex; width: auto; min-width: 0; flex-direction: column; overflow: hidden; border-radius: 18px; text-decoration: none; }
body.site-v4 .seo-guide-events .seo-spotlight img,
body.site-v4 .seo-guide-events .seo-spotlight i { display: block; width: 100%; height: auto !important; aspect-ratio: 16 / 10; object-fit: cover; }
body.site-v4 .seo-guide-events .seo-spotlight span { display: grid; flex: 1; }
body.site-v4 .seo-spotlight span,
body.site-v4 .seo-spotlight b { color: #17181c; }
body.site-v4 .seo-spotlight em,
body.site-v4 .seo-spotlight small { color: #687182; }
body.site-v4 .seo-guide-venues,
body.site-v4 .seo-topic-crosslinks,
body.site-v4 .seo-simple-guide__cta,
body.site-v4 .seo-venue-context { border: 0; background: #f4f5f7; box-shadow: none; }
body.site-v4 .seo-guide-venues h2,
body.site-v4 .seo-topic-crosslinks h2,
body.site-v4 .seo-simple-guide__cta h2,
body.site-v4 .seo-venue-context h2 { color: #17181c; font-family: Manrope, sans-serif; }
body.site-v4 .seo-guide-venues p:not(.seo-kicker),
body.site-v4 .seo-topic-crosslinks p:not(.seo-kicker),
body.site-v4 .seo-simple-guide__cta p:not(.seo-kicker),
body.site-v4 .seo-venue-context p:not(.seo-kicker) { color: #596170; }
body.site-v4 .seo-guide-venues a,
body.site-v4 .seo-venue-context a { color: #0a4fff; }
body.site-v4 .seo-guide-venues__mark b { color: #fff; }
body.site-v4 .seo-guide-directory { border: 0; background: #f4f5f7; }
body.site-v4 .seo-guide-directory a,
body.site-v4 .seo-topic-crosslinks nav a { border: 1px solid #e4e8f0; color: #17181c; background: #fff; }
body.site-v4 .seo-guide-directory a:hover,
body.site-v4 .seo-topic-crosslinks nav a:hover { border-color: #b9caff; color: #0a4fff; background: #fff; }
body.site-v4 .seo-guide-directory p,
body.site-v4 .seo-topic-crosslinks nav a { color: #596170; }
body.site-v4 .seo-simple-guide { border-color: #e7e9ef; background: #e7e9ef; }
body.site-v4 .seo-simple-guide section { background: #fff; }
body.site-v4 .seo-simple-guide h2 { color: #17181c; font-family: Manrope, sans-serif; }
body.site-v4 .seo-simple-guide p { color: #626a78; }
body.site-v4 .seo-simple-guide__cta > a,
body.site-v4 .seo-topic-guide__aside > a { color: #fff; background: #0a4fff; }

/* Развёрнутые тематические гиды. Первый экран оставляем существующим синим,
   а чтение и навигацию делаем светлыми. */
body.site-v4 .seo-topic-guide__aside { border: 1px solid #e4e8f0; background: #f4f5f7; box-shadow: none; }
body.site-v4 .seo-topic-guide__aside > p,
body.site-v4 .seo-topic-guide__aside li span { color: #0a4fff; }
body.site-v4 .seo-topic-guide__aside li { color: #343b48; }
body.site-v4 .seo-topic-photo-break { border: 0; background: #f4f5f7; box-shadow: none; }
body.site-v4 .seo-topic-photo-break::after { background: linear-gradient(180deg, transparent 50%, rgba(23,24,28,.35)); }

/* Справочник и страницы площадок. */
body.site-v4 .seo-venue-card { border: 1px solid #e4e8f0; background: #fff; box-shadow: none; }
body.site-v4 .seo-venue-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
body.site-v4 .seo-venue-list .seo-venue-card { min-height: 280px; }
body.site-v4 .seo-venue-list .seo-venue-card:last-child:nth-child(3n + 2) { grid-column: span 2; }
body.site-v4 .seo-venue-card::after { background: linear-gradient(180deg, rgba(23,24,28,0) 28%, rgba(23,24,28,.58)); }
body.site-v4 .seo-venue-card__art,
body.site-v4 .seo-venue-cover--art { color: #0a4fff; background: #e7edff; }
body.site-v4 .seo-venue-card small { color: #e5ebff; }
body.site-v4 .seo-venue-cover { min-height: 0; height: 100%; background: #f4f5f7; }
body.site-v4 .seo-venue-cover { position: relative; display: block; }
body.site-v4 .seo-venue-cover > img {
  position: absolute; inset: 0; width: 100%; height: 100%; max-height: none;
  min-height: 0; object-fit: cover;
}
body.site-v4 .seo-venue-cover::after { background: linear-gradient(180deg, transparent 48%, rgba(23,24,28,.48)); }
body.site-v4 .seo-venue > div { border: 1px solid #e6e9f0; background: #fff; }
body.site-v4 .seo-venue > div > p:not(.seo-kicker) { color: #596170; }
body.site-v4 .seo-venue .seo-facts div { color: #17181c; background: #f4f5f7; }
body.site-v4 .seo-venue-context figure::after { background: linear-gradient(180deg, transparent 52%, rgba(23,24,28,.42)); }
body.site-v4 .seo-venue-row { border-color: #e4e8f0; color: #17181c; background: #fff; }
body.site-v4 .seo-venue-row small { color: #687182; }
body.site-v4 .seo-venue-row em { color: #0a4fff; }
body.site-v4 .seo-venue-rest h2 { font-family: Manrope, sans-serif; }
body.site-v4 .seo-venue-events { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
body.site-v4 .seo-venue-event { min-height: 122px; border: 1px solid #e4e8f0; border-radius: 18px; background: #fff; overflow: hidden; }
body.site-v4 .seo-venue-event img,
body.site-v4 .seo-venue-event i { height: 122px; min-height: 122px; object-fit: cover; }
body.site-v4 .seo-venue-event span { padding: 14px 16px; }
body.site-v4 .seo-venue-event small { color: #0a4fff; font-size: 12px; }
body.site-v4 .seo-venue-event b { color: #17181c; font: 700 15px/1.3 Manrope, sans-serif; }
body.site-v4 .seo-venue-event em { color: #596170; font-size: 13px; }
body.site-v4 .seo-gallery > .seo-section-title { margin: 44px 0 14px; }
body.site-v4 .seo-gallery > div:not(.seo-section-title) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 180px; gap: 12px; overflow: hidden; border-radius: 18px; }
body.site-v4 .seo-gallery > div:not(.seo-section-title) > a,
body.site-v4 .seo-gallery > div:not(.seo-section-title) > a:first-child { display: block; height: 180px; min-height: 0; grid-row: auto; }
body.site-v4 .seo-gallery > div:not(.seo-section-title) > a img { display: block; width: 100%; height: 100%; object-fit: cover; }
body.site-v4 .seo-venue-cover__credit { border: 0; color: #fff; background: rgba(23,24,28,.72); box-shadow: none; }
body.site-v4 .seo-venue-cover__credit:hover { color: #fff; background: rgba(23,24,28,.88); }

/* Второй тип гида использует старую hero-разметку: контрастные светлые CTA
   удерживают её в одном языке с фирменным первым экраном. */
body.site-v4 .seo-topic-hero .seo-topic-guide__links a { border: 0; color: #0a4fff; background: #fff; }
body.site-v4 .seo-topic-hero .seo-topic-guide__links a:first-child { color: #0a4fff; background: #fff; }
body.site-v4 .seo-topic-hero .seo-topic-guide__links a:hover { color: #fff; background: #0843dd; }

/* Контакты, legal и календарные страницы. */
body.site-v4 .seo-contact { border: 0; background: transparent; box-shadow: none; }
body.site-v4 .seo-contact > header { border: 0; background: #f4f5f7; }
body.site-v4 .seo-contact > header::after { display: none; }
body.site-v4 .seo-contact > header .seo-button { color: #fff; background: #0a4fff; }
body.site-v4 .seo-contact > header .seo-button:hover { color: #fff; background: #0843dd; }
body.site-v4 .seo-contact > header > p:not(.seo-kicker),
body.site-v4 .seo-contact > section p { color: #596170; }
body.site-v4 .seo-contact__facts > div,
body.site-v4 .seo-contact > section { border-color: #e5e8ef; background: #fff; }
body.site-v4 .seo-contact__facts span,
body.site-v4 .seo-contact > section > span { color: #0a4fff; background: #e7edff; }
body.site-v4 .seo-contact__facts small { color: #737b89; }
body.site-v4 .seo-contact__facts strong { color: #17181c; }
body.site-v4 .seo-contact__links a,
body.site-v4 .seo-legal a { color: #0a4fff; }
body.site-v4 .seo-legal p { color: #596170; }
body.site-v4 .seo-legal h1 { line-height: 1.1; }
body.site-v4 .seo-legal__meta { margin: 16px 0 36px; }
body.site-v4 .seo-footer { border-color: #e3e6ed; }
body.site-v4 .seo-footer nav a { color: #0a4fff; }
body.site-v4 .seo-schedule,
body.site-v4 .seo-date-panel,
body.site-v4 .seo-day-list { border-color: #e3e7ee; background: #f4f5f7; box-shadow: none; }
body.site-v4 .seo-schedule__day,
body.site-v4 .seo-schedule__slot { border-color: #e1e6ef; color: #17181c; background: #fff; }
body.site-v4 .seo-schedule__slot time,
body.site-v4 .seo-schedule__slot svg { color: #0a4fff; }
body.site-v4 .seo-schedule__slot small { color: #687182; }
body.site-v4 .seo-schedule__slot em { color: #273044; }

@media (max-width: 767px) {
  body.site-v4 .seo-route-grid { gap: 12px; }
  body.site-v4 .seo-route { min-height: 0; padding: 20px; }
  body.site-v4 .seo-guide-venues,
  body.site-v4 .seo-topic-crosslinks,
  body.site-v4 .seo-simple-guide__cta,
  body.site-v4 .seo-venue-context { padding: 22px; border-radius: 22px; }
  body.site-v4 .seo-venue > div { padding: 22px; }
  body.site-v4 .seo-venue-cover,
  body.site-v4 .seo-venue-cover > img,
  body.site-v4 .seo-venue-cover--art { max-height: 220px; }
  body.site-v4 .seo-contact > header { padding: 26px 22px; }
  body.site-v4 .seo-guide-events .seo-spotlight { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  body.site-v4 .seo-gallery > .seo-section-title { margin-top: 36px; }
  body.site-v4 .seo-gallery > div:not(.seo-section-title) { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 128px; gap: 8px; }
  body.site-v4 .seo-gallery > div:not(.seo-section-title) > a,
  body.site-v4 .seo-gallery > div:not(.seo-section-title) > a:first-child { height: 128px; }
  body.site-v4 .seo-venue-list { grid-template-columns: 1fr; gap: 12px; }
  body.site-v4 .seo-venue-list .seo-venue-card:last-child:nth-child(3n + 2) { grid-column: auto; }
  body.site-v4 .seo-venue-list .seo-venue-card { min-height: 220px; }
  body.site-v4 .seo-venue-events { grid-template-columns: 1fr; }
  body.site-v4 .seo-contact__facts { grid-template-columns: 1fr; gap: 10px; }
  body.site-v4 .seo-contact__facts > div { min-height: 0; padding: 14px; }
}

/* ─── С13: «Все площадки в афише» — вместо стены из четырёх узких колонок ───
   Три колонки на компьютере, две на планшете, одна на телефоне; кегли подняты
   с 11–10px до читаемых. Содержимое (в том числе мусорные записи) не трогаем. */
body.site-v4 .seo-venue-rows { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
body.site-v4 .seo-venue-row { min-height: 74px; padding: 14px 16px; gap: 12px; border-radius: 16px; background: #fff; }
body.site-v4 .seo-venue-row b { font-size: 14px; line-height: 1.35; font-weight: 700; }
body.site-v4 .seo-venue-row small { margin-top: 3px; color: #737b89; font-size: 13px; line-height: 1.4; }
body.site-v4 .seo-venue-row em { min-width: 34px; color: #0a4fff; font-size: 14px; text-align: right; }
body.site-v4 .seo-venue-rest { margin: 44px 0; }
body.site-v4 .seo-venue-rest .seo-section-title > span { color: #737b89; font-size: 14px; font-weight: 600; }

/* ─── С14: первый экран площадки. Текстовая колонка занимает всего ~200px, а
   фотография задавала строке 406px — под текстом оставалась половина пустой.
   Ограничиваем высоту кадра, чтобы строка шла по контенту. ─── */
body.site-v4 .seo-venue > div { display: flex; flex-direction: column; justify-content: flex-start; }
body.site-v4 .seo-venue > div > p:not(.seo-kicker) { margin-bottom: 18px; }
body.site-v4 .seo-venue .seo-facts { margin-top: 0; }
body.site-v4 .seo-venue-cover { max-height: 300px; }
body.site-v4 .seo-venue-cover > img,
body.site-v4 .seo-venue-cover--art { max-height: 300px; }

/* ─── С15: два кадра оставляли пустую треть — колонки по факту числа фото. ─── */
body.site-v4 .seo-gallery > .seo-section-title { margin: 40px 0 16px; }
body.site-v4 .seo-gallery > div:not(.seo-section-title) { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); grid-auto-rows: 200px; }
body.site-v4 .seo-gallery > div:not(.seo-section-title) > a,
body.site-v4 .seo-gallery > div:not(.seo-section-title) > a:first-child { height: 200px; grid-row: auto; }

/* ─── С16: строки событий площадки — крупный кадр 16:10 и читаемый текст,
   как в карточках сайта, вместо квадратика 120px. ─── */
body.site-v4 .seo-venue-events { gap: 14px; }
body.site-v4 .seo-venue-event { display: flex; align-items: stretch; min-height: 128px; }
body.site-v4 .seo-venue-event img,
body.site-v4 .seo-venue-event i { flex: 0 0 190px; width: 190px; height: auto; min-height: 128px; }
body.site-v4 .seo-venue-event span { display: flex; flex-direction: column; justify-content: center; gap: 5px; padding: 16px 18px; }
body.site-v4 .seo-venue-event small { font-size: 13px; font-weight: 600; }
body.site-v4 .seo-venue-event b { font: 700 17px/1.3 Manrope, sans-serif; letter-spacing: -.02em; }
body.site-v4 .seo-venue-event em { color: #596170; font-size: 14px; }

@media (max-width: 1099px) {
  body.site-v4 .seo-venue-rows { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  body.site-v4 .seo-venue-rows { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  body.site-v4 .seo-venue-row { min-height: 68px; padding: 13px 15px; }
  body.site-v4 .seo-venue-event img,
  body.site-v4 .seo-venue-event i { flex-basis: 132px; width: 132px; min-height: 118px; }
  body.site-v4 .seo-venue-event span { padding: 14px; }
  body.site-v4 .seo-venue-event b { font-size: 16px; }
  body.site-v4 .seo-gallery > div:not(.seo-section-title) { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); grid-auto-rows: 140px; }
  body.site-v4 .seo-gallery > div:not(.seo-section-title) > a,
  body.site-v4 .seo-gallery > div:not(.seo-section-title) > a:first-child { height: 140px; }
}

/* ─── М8: плитки площадок в гиде. Разметка ведущего —
   <a class="seo-guide-venues__mark"><img><b>Имя</b></a>: фото 16:10 во всю плитку,
   имя поверх кадра на затемнении. 2×2 и на ПК, и на планшете, и на телефоне. ─── */
body.site-v4 .seo-guide-venues__marks {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px; transform: none; align-content: center;
}
body.site-v4 .seo-guide-venues__mark {
  position: relative; display: block; overflow: hidden; isolation: isolate;
  aspect-ratio: 16 / 10; border-radius: 18px; background: #eceff5;
  text-decoration: none; box-shadow: 0 2px 10px rgba(23, 27, 40, .07);
  transition: transform .18s ease, box-shadow .18s ease;
}
body.site-v4 .seo-guide-venues__mark img {
  display: block; width: 100%; height: 100%; object-fit: cover;
  transition: transform .3s ease;
}
body.site-v4 .seo-guide-venues__mark b {
  position: absolute; right: 0; bottom: 0; left: 0; z-index: 1;
  padding: 30px 14px 12px; color: #fff;
  font: 700 15px/1.25 Manrope, sans-serif; letter-spacing: -.02em;
  background: linear-gradient(180deg, transparent, rgba(12, 16, 26, .82));
}
body.site-v4 .seo-guide-venues__mark:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(23, 27, 40, .14); }
body.site-v4 .seo-guide-venues__mark:hover img { transform: scale(1.04); }

/* ─── Н18: кнопка-счётчик в hero справочника была тёмно-синей на синем —
   слабый контраст. Белая пилюля с акцентным текстом, как в гидах. ─── */
body.site-v4 .seo-venues-hero--photo > div > span,
body.site-v4 .seo-venues-hero > span {
  border: 1px solid #fff; color: #0a4fff; background: #fff;
  font-size: 14px; font-weight: 700; box-shadow: 0 6px 18px rgba(8, 16, 44, .18);
}
body.site-v4 .seo-venues-hero--photo > div > span svg,
body.site-v4 .seo-venues-hero > span svg { color: #0a4fff; }
body.site-v4 .seo-venues-hero p:not(.seo-kicker) { color: #e8ecff; }

/* ─── С17 и Н16: кадры площадки. Подпись автора — белым на тёмной
   подложке-градиенте, кадр кадрируется по верхней части, чтобы не срезать
   голову у портретных фотографий. ─── */
body.site-v4 .seo-gallery > div:not(.seo-section-title) > a img { object-position: center 32%; }
body.site-v4 .seo-gallery > div > a::after {
  content: ''; position: absolute; right: 0; bottom: 0; left: 0; height: 52%; z-index: 1;
  background: linear-gradient(180deg, transparent, rgba(12, 16, 26, .76)); pointer-events: none;
}
body.site-v4 .seo-gallery > div > a span {
  z-index: 2; right: 0; bottom: 0; left: 0; padding: 0 14px 12px;
  color: #fff; font-size: 12px; font-weight: 600; line-height: 1.35;
  text-decoration: none; text-shadow: none; white-space: normal;
}
body.site-v4 .seo-gallery > .seo-section-title > span { color: #737b89; font-size: 14px; }

/* ─── Н17: полоса фактов на контактах. На телефоне между карточками
   просвечивал фон толстыми лавандовыми полосами, а подписи были 9–10px. ─── */
@media (max-width: 767px) {
  body.site-v4 .seo-contact__facts {
    gap: 0; overflow: hidden; border: 1px solid #e5e8ef; border-radius: 18px; background: #fff;
  }
  body.site-v4 .seo-contact__facts > div {
    min-height: 0; padding: 15px 16px; border: 0; border-radius: 0;
    border-top: 1px solid #eef0f4;
  }
  body.site-v4 .seo-contact__facts > div:first-child { border-top: 0; }
  body.site-v4 .seo-contact__facts small { font-size: 12px; letter-spacing: .04em; }
  body.site-v4 .seo-contact__facts strong { font-size: 15px; }
  body.site-v4 .seo-contact__facts span { width: 34px; height: 34px; border-radius: 10px; }
}

/* ─── С14: обложка площадки. Убираем серую градиентную заливку поверх фото
   и вторую подпись — остаётся авторский кредит белым на тёмной подложке. ─── */
body.site-v4 .seo-venue-cover { background: #eceff5 !important; }
body.site-v4 .seo-venue-cover::after { display: none !important; content: none !important; background: none !important; }
body.site-v4 .seo-venue-cover > span { display: none; }
body.site-v4 .seo-venue-cover__credit {
  top: auto; bottom: 12px; left: 12px; max-width: calc(100% - 24px);
  padding: 8px 14px; border: 0; border-radius: 12px;
  color: #fff; background: rgba(14, 18, 28, .78);
  font-size: 12px; font-weight: 600; line-height: 1.35; text-decoration: none;
  box-shadow: 0 6px 18px rgba(10, 14, 26, .28);
}
body.site-v4 .seo-venue-cover__credit:hover { color: #fff; background: rgba(14, 18, 28, .9); }

/* ─── Н16: галерея. Кадры выше и с кадрированием по верхней части, чтобы
   не срезать голову у портретных фотографий. ─── */
body.site-v4 .seo-gallery > div:not(.seo-section-title) { grid-auto-rows: 230px; }
body.site-v4 .seo-gallery > div:not(.seo-section-title) > a,
body.site-v4 .seo-gallery > div:not(.seo-section-title) > a:first-child { height: 230px; }
body.site-v4 .seo-gallery > div:not(.seo-section-title) > a img { object-position: 50% 18%; }

/* ─── С15: зазор под заголовком галереи. Заголовок секции имеет собственный
   нижний отступ, а сетка — свой верхний: вместе выходило больше 80px. ─── */
body.site-v4 .seo-gallery > .seo-section-title {
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between;
  gap: 4px 24px; min-height: 0; margin: 40px 0 12px; padding-bottom: 0;
}
body.site-v4 .seo-gallery > div:not(.seo-section-title) { margin-top: 0; }

/* ─── С17: подписи авторов. Синяя ссылка без класса поверх фото не читалась
   ни на галерее, ни в подписи к фотографии в шапке справочника. ─── */
body.site-v4 .seo-venues-hero--photo figcaption { right: 0; bottom: 0; left: 0; padding: 34px 16px 12px; background: linear-gradient(180deg, transparent, rgba(10, 14, 26, .8)); font-size: 12px; font-weight: 600; }
body.site-v4 .seo-venues-hero--photo figcaption a { color: #fff; text-decoration: none; }
body.site-v4 .seo-venues-hero--photo figcaption a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
body.site-v4 .seo-gallery > div > a span { text-decoration: none; }

/* ─── Р3: подпись справа от заголовка галереи сжималась в узкую колонку. ─── */
@media (max-width: 767px) {
  body.site-v4 .seo-gallery .seo-section-title { flex-wrap: wrap; align-items: flex-start; gap: 6px; }
  body.site-v4 .seo-gallery .seo-section-title > span { max-width: 100%; text-align: left; }
}

/* ─── Р6: кнопка «Открыть Telegram» в шапке гида — тёмная на синем. ─── */
body.site-v4 .seo-guide-hero__actions a { border: 1px solid rgba(255, 255, 255, .55); color: #fff; background: rgba(255, 255, 255, .14); }
body.site-v4 .seo-guide-hero__actions a:first-child { border-color: #fff; color: #0a4fff; background: #fff; }
body.site-v4 .seo-guide-hero__actions a:hover { border-color: #fff; color: #0a4fff; background: #fff; }

@media (max-width: 767px) {
  body.site-v4 .seo-guide-venues__marks { gap: 10px; }
  body.site-v4 .seo-guide-venues__mark { border-radius: 16px; }
  body.site-v4 .seo-guide-venues__mark b { padding: 24px 12px 10px; font-size: 14px; }
}

/* ─── C1 и C2: первый экран гидов и справочника площадок — в языке v4 ───
   Как первый экран разделов: белый фон вместо синей заливки, заголовок Manrope,
   картинка справа со скруглением 24px. Наклон кадра, декоративные круги и
   тёмные кнопки остаются в прошлой теме. */
body.site-v4 .seo-guide-hero,
body.site-v4 .seo-topic-hero,
body.site-v4 .seo-venues-hero {
  position: relative;
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 44%);
  gap: 28px 48px; align-items: center;
  min-height: 0; margin: 24px 0 0; padding: 0;
  overflow: visible; border: 0; border-radius: 0;
  background: transparent; color: var(--v4-ink); box-shadow: none;
}
body.site-v4 .seo-guide-hero::before,
body.site-v4 .seo-topic-hero::before,
body.site-v4 .seo-venues-hero::before { content: none; display: none; }
body.site-v4 .seo-guide-hero > div,
body.site-v4 .seo-topic-hero > div,
body.site-v4 .seo-venues-hero > div { align-self: center; animation: none; min-width: 0; }

body.site-v4 .seo-guide-hero h1,
body.site-v4 .seo-topic-hero h1,
body.site-v4 .seo-venues-hero h1 {
  max-width: 20ch; margin: 0; color: var(--v4-ink);
  font: 800 clamp(32px, 4vw, 52px)/1.06 Manrope, sans-serif;
  letter-spacing: -.055em; text-wrap: balance;
}
body.site-v4 .seo-guide-hero h1 em,
body.site-v4 .seo-topic-hero h1 em { color: var(--v4-ink); font-style: normal; }

body.site-v4 .seo-guide-hero > div > p:not(.seo-kicker),
body.site-v4 .seo-topic-hero > div > p:not(.seo-kicker),
body.site-v4 .seo-venues-hero > div > p:not(.seo-kicker) {
  max-width: 46ch; margin: 18px 0 0; color: #555c68;
  font-size: 16px; line-height: 1.6;
}

body.site-v4 .seo-guide-hero figure,
body.site-v4 .seo-topic-hero figure,
body.site-v4 .seo-venues-hero figure {
  position: relative; z-index: 1; align-self: center;
  height: auto; min-height: 0; max-height: none; margin: 0;
  overflow: hidden; border: 0; border-radius: 24px; background: #eef1f8;
  transform: none; box-shadow: none; aspect-ratio: 4 / 3; animation: none;
}
body.site-v4 .seo-guide-hero figure::after,
body.site-v4 .seo-topic-hero figure::after,
body.site-v4 .seo-venues-hero figure::after { display: none; content: none; }
body.site-v4 .seo-guide-hero figure img,
body.site-v4 .seo-topic-hero figure img,
body.site-v4 .seo-venues-hero figure img {
  display: block; width: 100%; height: 100%; max-height: none; min-height: 0; object-fit: cover;
}
body.site-v4 .seo-guide-hero figcaption,
body.site-v4 .seo-topic-hero figcaption,
body.site-v4 .seo-venues-hero figcaption {
  right: 12px; bottom: 12px; left: auto; max-width: calc(100% - 24px);
  padding: 7px 12px; border-radius: 12px;
  color: #fff; background: rgba(14, 18, 28, .62);
  font-size: 12px; font-weight: 600; line-height: 1.35;
}
body.site-v4 .seo-guide-hero figcaption a,
body.site-v4 .seo-topic-hero figcaption a,
body.site-v4 .seo-venues-hero figcaption a { color: #fff; text-decoration: none; }
body.site-v4 .seo-guide-hero figcaption a:hover,
body.site-v4 .seo-topic-hero figcaption a:hover,
body.site-v4 .seo-venues-hero figcaption a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

/* Кнопки первого экрана — светлые пилюли, главная — акцентная. */
body.site-v4 .seo-guide-hero__actions,
body.site-v4 .seo-topic-hero .seo-topic-guide__links { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 0; }
body.site-v4 .seo-guide-hero__actions a,
body.site-v4 .seo-topic-hero .seo-topic-guide__links a {
  display: inline-flex; align-items: center; gap: 8px;
  min-height: 48px; padding: 0 24px; border: 0; border-radius: 999px;
  color: var(--v4-ink); background: var(--v4-surface);
  font-family: 'Golos Text', sans-serif; font-size: 15px; font-weight: 600; text-decoration: none;
  white-space: nowrap;
}
body.site-v4 .seo-guide-hero__actions a:first-child,
body.site-v4 .seo-topic-hero .seo-topic-guide__links a:first-child { color: #fff; background: var(--v4-accent); }
body.site-v4 .seo-guide-hero__actions a:hover,
body.site-v4 .seo-topic-hero .seo-topic-guide__links a:hover { color: var(--v4-accent); background: #edf2ff; }
body.site-v4 .seo-guide-hero__actions a:first-child:hover,
body.site-v4 .seo-topic-hero .seo-topic-guide__links a:first-child:hover { color: #fff; background: #0843dd; }

body.site-v4 .seo-topic-hero__facts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; color: #4a4f5c; }
body.site-v4 .seo-topic-hero__facts span {
  display: inline-flex; align-items: center; gap: 7px;
  min-height: 34px; padding: 0 14px; border-radius: 999px;
  background: var(--v4-surface); color: #4a4f5c; font-size: 13px; font-weight: 600;
}
body.site-v4 .seo-topic-hero__facts svg { width: 16px; height: 16px; color: var(--v4-accent); }

/* Счётчик справочника — светлая пилюля, а не белая плашка на синем. */
body.site-v4 .seo-venues-hero--photo > div > span,
body.site-v4 .seo-venues-hero > span {
  display: inline-flex; align-items: center; gap: 8px;
  margin-top: 20px; padding: 0 14px; min-height: 34px;
  border: 0; border-radius: 999px; color: #4a4f5c; background: var(--v4-surface);
  font-size: 13px; font-weight: 600; box-shadow: none;
}
body.site-v4 .seo-venues-hero--photo > div > span svg,
body.site-v4 .seo-venues-hero > span svg { width: 16px; height: 16px; color: var(--v4-accent); }

/* «Выберите формат вечера»: светлые карточки #f5f6f8 радиусом 20, без капса. */
body.site-v4 .seo-route-grid { gap: 18px; }
body.site-v4 .seo-route {
  min-height: 0; padding: 24px; border: 0; border-radius: 20px;
  background: #f5f6f8; color: var(--v4-ink); transform: none;
  box-shadow: none; transition: transform .18s ease, box-shadow .18s ease;
}
body.site-v4 .seo-route:hover { transform: translateY(-2px); border-color: transparent; box-shadow: 0 14px 28px -20px rgba(23, 27, 40, .55); }
body.site-v4 .seo-route::after { display: none; content: none; }
body.site-v4 .seo-route--comedy,
body.site-v4 .seo-route--music,
body.site-v4 .seo-route--city,
body.site-v4 .seo-route--screen { background: #f5f6f8; }
body.site-v4 .seo-route > span {
  width: 44px; height: 44px; border-radius: 14px;
  color: var(--v4-accent); background: #fff;
}
body.site-v4 .seo-route > span svg { width: 22px; height: 22px; }
body.site-v4 .seo-route small {
  margin-top: 20px; color: #737b89; font-size: 13px; font-weight: 600;
  letter-spacing: 0; text-transform: none;
}
body.site-v4 .seo-route h3 { margin: 8px 0 0; color: var(--v4-ink); font: 800 19px/1.25 Manrope, sans-serif; letter-spacing: -.03em; }
body.site-v4 .seo-route p { margin: 10px 0 0; color: #626a78; font-size: 14px; line-height: 1.55; }
body.site-v4 .seo-route b { margin-top: 18px; color: var(--v4-accent); font-size: 14px; font-weight: 600; }

@media (max-width: 1024px) {
  body.site-v4 .seo-guide-hero,
  body.site-v4 .seo-topic-hero,
  body.site-v4 .seo-venues-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 40%); gap: 24px 28px; }
}

@media (max-width: 767px) {
  body.site-v4 .seo-guide-hero,
  body.site-v4 .seo-topic-hero,
  body.site-v4 .seo-venues-hero { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body.site-v4 .seo-guide-hero figure,
  body.site-v4 .seo-topic-hero figure,
  body.site-v4 .seo-venues-hero figure { aspect-ratio: 16 / 10; }
  body.site-v4 .seo-guide-hero h1,
  body.site-v4 .seo-topic-hero h1,
  body.site-v4 .seo-venues-hero h1 { max-width: none; }
  body.site-v4 .seo-guide-hero__actions a,
  body.site-v4 .seo-topic-hero .seo-topic-guide__links a { flex: 1 1 100%; justify-content: center; }
  body.site-v4 .seo-route { padding: 20px; }
}

