/* Уютные иллюстрированные шапки страниц: картинка справа, мягкая вуаль слева, текст всегда читается. */
body.page-home .greet,
body.page-weather .pagehead,
body.page-trains .pagehead,
body.page-directory .pagehead,
body.page-kino .pagehead,
body.page-eco .pagehead,
body.page-sky .pagehead,
body.page-utilities .pagehead,
body.page-today .dayhead,
body.page-buses .transit-hero,
body.page-bus-page .bp-hero,
body.page-getthere .bp-hero {
  position: relative; isolation: isolate; overflow: hidden;
  padding: clamp(22px, 3.6vw, 40px) clamp(20px, 3.6vw, 40px);
  border-radius: 26px; border: 1px solid var(--line);
  background: var(--surface) var(--cozy) right center / cover no-repeat;
  max-width: none; min-height: 168px; margin-bottom: 22px;
}
body.page-home .greet::before,
body.page-weather .pagehead::before,
body.page-trains .pagehead::before,
body.page-directory .pagehead::before,
body.page-kino .pagehead::before,
body.page-eco .pagehead::before,
body.page-sky .pagehead::before,
body.page-utilities .pagehead::before,
body.page-today .dayhead::before,
body.page-buses .transit-hero::before,
body.page-bus-page .bp-hero::before,
body.page-getthere .bp-hero::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--surface) 97%, transparent) 0%,
    color-mix(in srgb, var(--surface) 90%, transparent) 34%,
    color-mix(in srgb, var(--surface) 38%, transparent) 62%,
    color-mix(in srgb, var(--surface) 4%, transparent) 100%);
}
body.page-home .greet { --cozy: url('/assets/img/cozy-home.jpg'); align-items: center; min-height: clamp(230px, 26vw, 320px); background-position: right 40%; }
body.page-weather .pagehead { --cozy: url('/assets/img/cozy-weather.jpg'); }
body.page-trains .pagehead, body.page-getthere .bp-hero { --cozy: url('/assets/img/cozy-trains.jpg'); }
body.page-directory .pagehead { --cozy: url('/assets/img/cozy-directory.jpg'); }
body.page-kino .pagehead { --cozy: url('/assets/img/cozy-kino.jpg'); }
body.page-eco .pagehead { --cozy: url('/assets/img/cozy-eco.jpg'); }
body.page-sky .pagehead { --cozy: url('/assets/img/cozy-sky.jpg'); }
body.page-utilities .pagehead { --cozy: url('/assets/img/hero-kostroma-otklyucheniya.jpg'); }
body.page-today .dayhead { --cozy: url('/assets/img/cozy-news.jpg'); }
body.page-buses .transit-hero, body.page-bus-page .bp-hero { --cozy: url('/assets/img/cozy-buses.jpg'); }
body.page-buses .transit-hero { grid-template-columns: auto 1fr; gap: 20px; }
body.page-weather .pagehead h1, body.page-directory .pagehead h1 { margin-top: 4px; }
@media (max-width: 700px) {
  body.page-home .greet, body.page-weather .pagehead, body.page-trains .pagehead, body.page-directory .pagehead, body.page-kino .pagehead,
  body.page-eco .pagehead, body.page-sky .pagehead, body.page-utilities .pagehead, body.page-today .dayhead, body.page-buses .transit-hero,
  body.page-bus-page .bp-hero, body.page-getthere .bp-hero { border-radius: 20px; min-height: 140px; background-position: 70% center; }
  body.page-home .greet::before, body.page-weather .pagehead::before, body.page-trains .pagehead::before, body.page-directory .pagehead::before,
  body.page-kino .pagehead::before, body.page-eco .pagehead::before, body.page-sky .pagehead::before, body.page-utilities .pagehead::before,
  body.page-today .dayhead::before, body.page-buses .transit-hero::before, body.page-bus-page .bp-hero::before, body.page-getthere .bp-hero::before {
    background: linear-gradient(180deg, color-mix(in srgb, var(--surface) 95%, transparent), color-mix(in srgb, var(--surface) 84%, transparent)); }
}

/* ── Вторая волна: ленты, рубрики и сервисные страницы (по одной картинке на страницу) ── */
body.page-feed .wrap > .section:first-of-type > .section__head,
body.page-week .wrap > .section:first-of-type > .section__head,
body.page-error .err,
body.page-rating .pagehead,
body.page-map .pagehead,
body.page-firsttime .cp-hero,
body.page-thennow .cp-hero {
  position: relative; overflow: hidden; max-width: none;
  padding: clamp(22px, 3.6vw, 40px) clamp(20px, 3.6vw, 40px);
  border-radius: 26px; border: 1px solid var(--line); min-height: 168px; margin-bottom: 22px;
  background-color: var(--surface);
  background-image:
    linear-gradient(90deg, color-mix(in srgb, var(--surface) 97%, transparent) 0%, color-mix(in srgb, var(--surface) 90%, transparent) 34%, color-mix(in srgb, var(--surface) 38%, transparent) 62%, color-mix(in srgb, var(--surface) 4%, transparent) 100%),
    var(--cozy);
  background-size: auto, cover; background-position: 0 0, right center; background-repeat: no-repeat;
}
body.page-error .err { text-align: left; align-items: flex-start; min-height: 260px; }
body.feed-all.page-feed .wrap > .section:first-of-type > .section__head { --cozy: url('/assets/img/cozy-feed.jpg'); }
body.feed-cat-novosti.page-feed .wrap > .section:first-of-type > .section__head { --cozy: url('/assets/img/cozy-feed.jpg'); }
body.feed-cat-pogoda.page-feed .wrap > .section:first-of-type > .section__head { --cozy: url('/assets/img/cozy-weather.jpg'); }
body.feed-cat-proisshestviya.page-feed .wrap > .section:first-of-type > .section__head { --cozy: url('/assets/img/cozy-proisshestviya.jpg'); }
body.feed-cat-dorogi.page-feed .wrap > .section:first-of-type > .section__head { --cozy: url('/assets/img/cozy-dorogi.jpg'); }
body.feed-cat-zhkh.page-feed .wrap > .section:first-of-type > .section__head { --cozy: url('/assets/img/cozy-zhkh.jpg'); }
body.feed-cat-vlast.page-feed .wrap > .section:first-of-type > .section__head { --cozy: url('/assets/img/cozy-vlast.jpg'); }
body.feed-cat-ekonomika.page-feed .wrap > .section:first-of-type > .section__head { --cozy: url('/assets/img/cozy-ekonomika.jpg'); }
body.feed-cat-sport.page-feed .wrap > .section:first-of-type > .section__head { --cozy: url('/assets/img/cozy-sport.jpg'); }
body.feed-cat-kultura.page-feed .wrap > .section:first-of-type > .section__head { --cozy: url('/assets/img/cozy-kultura.jpg'); }
body.feed-cat-obrazovanie.page-feed .wrap > .section:first-of-type > .section__head { --cozy: url('/assets/img/cozy-obrazovanie.jpg'); }
body.feed-cat-zdorove.page-feed .wrap > .section:first-of-type > .section__head { --cozy: url('/assets/img/cozy-zdorove.jpg'); }
body.feed-cat-obyavleniya.page-feed .wrap > .section:first-of-type > .section__head { --cozy: url('/assets/img/cozy-obyavleniya.jpg'); }
body.feed-cat-zhivotnye.page-feed .wrap > .section:first-of-type > .section__head { --cozy: url('/assets/img/cozy-zhivotnye.jpg'); }
body.page-week .wrap > .section:first-of-type > .section__head { --cozy: url('/assets/img/cozy-week.jpg'); }
body.page-error .err { --cozy: url('/assets/img/cozy-error.jpg'); }
body.page-rating .pagehead { --cozy: url('/assets/img/cozy-rating.jpg'); }
body.page-map .pagehead { --cozy: url('/assets/img/cozy-map.jpg'); }
body.page-firsttime .cp-hero { --cozy: url('/assets/img/cozy-firsttime.jpg'); }
body.page-thennow .cp-hero { --cozy: url('/assets/img/cozy-thennow.jpg'); }
@media (max-width: 700px) {
  body.page-feed .wrap > .section:first-of-type > .section__head, body.page-week .wrap > .section:first-of-type > .section__head,
  body.page-error .err, body.page-rating .pagehead, body.page-map .pagehead,
  body.page-firsttime .cp-hero, body.page-thennow .cp-hero {
    border-radius: 20px; min-height: 140px; background-position: 0 0, 70% center;
    background-image: linear-gradient(180deg, color-mix(in srgb, var(--surface) 95%, transparent), color-mix(in srgb, var(--surface) 84%, transparent)), var(--cozy);
  }
}

/* ── Погода: вкладки городов не ломают слова; при большом числе городов переносятся на несколько строк ── */
.wxtab { white-space: nowrap; word-break: normal; overflow-wrap: normal; hyphens: none; }
.wxtabs--many { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px; border-radius: 24px; max-width: 100%; }
.wxtabs--many .wxtabs__ink { display: none; }
.wxtabs--many .wxtab { padding: 9px 16px; border: 1px solid transparent; background: var(--sunk); }
.wxtabs--many .wxtab:hover { border-color: var(--line); }
.wxtabs--many .wxtab.is-on { background: var(--signal); border-color: var(--signal); color: #fff; }
@media (max-width: 600px) { .wxtabs--many { border-radius: 20px; padding: 6px; } .wxtabs--many .wxtab { padding: 8px 13px; font-size: 13.5px; } }

/* ── Упоминания людей в тексте новости: спокойная ссылка вместо «маркера» (перебивает правила refresh.css) ── */
.prose a.person-hl:not(.btn):not(.tag), .person-hl:not(.btn):not(.tag), main :where(p, li, dd) a.person-hl:not(.btn):not(.tag) {
  color: inherit; font-weight: inherit; background: none; padding: 0; border-radius: 0;
  text-decoration: underline dotted; text-decoration-thickness: 1.5px; text-underline-offset: .2em;
  text-decoration-color: color-mix(in srgb, var(--signal) 60%, transparent);
  transition: color .2s, text-decoration-color .2s;
}
.prose a.person-hl:not(.btn):not(.tag):hover, .person-hl:not(.btn):not(.tag):hover, .person-hl:not(.btn):not(.tag):focus-visible {
  color: var(--signal); background: none; text-decoration-color: var(--signal);
}
.prose a.person-hl.vk-mention::before, a.person-hl.vk-mention::before { display: none; }
