/*
 * Стили только страницы app/views/pages/news-show.php. Подключаются layout.php
 * после общего app.css. Порядок правил — исходный; сюда перенесены только
 * правила, которым ни одно более позднее общее правило не мешает (см.
 * docs/AST-PUBLIC-DESIGN-REFERENCE-20260717.md, «Стили страниц»).
 */
/* detail reading hero */
.ast-news-detail-hero { position: relative; overflow: hidden; }
.ast-news-detail-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; }
.ast-news-crumbs a:hover { color: #fff; text-decoration: underline; }
.ast-news-detail-hero h1 { margin: 0; max-width: 22ch; }
.ast-news-detail-hero__meta time { font-weight: 700; color: var(--nw-cyan); }
.ast-news-detail-hero__lead { max-width: 52ch; margin: 0; }
.ast-news-detail-hero .button { justify-self: start; margin-top: 4px; }
.ast-news-article { max-width: 820px; margin-inline: auto; }
.ast-news-article > p { font-size: 1.08rem; line-height: 1.72; color: #2b3f63; margin: 0 0 1.15rem; }
.ast-news-article > p:first-child { font-size: 1.16rem; color: var(--nw-ink); }
.ast-news-article a:not(.button) { color: var(--nw-blue); overflow-wrap: anywhere; }
@media (max-width: 767px) {
  .ast-news-article > p { font-size: 1.02rem; }
}
/* Материал с иллюстрациями (`sections` в app/data/news.php): компактный
   первый экран без сцены раздела и статья по макету
   ~/Загрузки/ast-news-network-prototype.png. Фон и узор первого экрана —
   общий блок AST hero background, типографика — токены --hero-*. */
.ast-news-detail-hero--compact .ast-news-detail-hero__inner { max-width: 1000px; grid-template-columns: minmax(0, 1fr); min-height: 0; padding: clamp(26px, 3.2vw, 40px) 0 clamp(24px, 3vw, 36px); }
.ast-news-detail-hero--compact h1 { max-width: 24ch; }
.ast-news-detail-hero--compact .ast-news-detail-hero__meta { gap: 0; }
.ast-news-detail-hero--compact .ast-news-detail-hero__meta > * + *::before { content: "·"; margin: 0 .5em; }
.ast-news-story { max-width: 1000px; margin-inline: auto; color: #2b3f63; }
.ast-news-story__lead { max-width: 60ch; margin: 0 0 .6rem; font-size: clamp(1.08rem, 1.4vw, 1.22rem); line-height: 1.55; color: var(--nw-ink); }
.ast-news-story__hint { display: flex; align-items: center; gap: 8px; margin: 0; font-size: .84rem; color: var(--nw-muted); }
.ast-news-story__hint svg { flex: none; width: 15px; height: 15px; }
.ast-news-story__section { margin-top: clamp(22px, 3vw, 34px); }
.ast-news-story h2 { margin: 0 0 .35rem; font-family: var(--font-heading); font-size: clamp(1.4rem, 2.4vw, 1.9rem); font-weight: 700; line-height: 1.2; color: var(--nw-ink); }
.ast-news-story__section > p { max-width: 70ch; margin: 0 0 .9rem; font-size: 1.04rem; line-height: 1.6; }
.ast-news-story__gallery { margin: 0; }
/* Две иллюстрации одной высоты: доля ширины каждой равна её пропорции. */
.ast-news-story__row { display: flex; gap: 12px; }
.ast-news-story__row > .ast-news-zoom { flex: var(--ar) 1 0; min-width: 0; }
.ast-news-story__gallery[data-count="1"] { width: min(100%, 560px); margin-inline: auto; }
.ast-news-story__gallery[data-count="1"] .ast-news-zoom { flex: 1 1 0; }
.ast-news-story__gallery figcaption { margin-top: 10px; font-size: .9rem; line-height: 1.4; color: var(--nw-ink); }
.ast-news-zoom { position: relative; display: block; border-radius: 12px; overflow: hidden; background: #d7e0ee; box-shadow: 0 2px 14px rgba(23,42,77,.1); cursor: zoom-in; }
.ast-news-zoom img { display: block; width: 100%; height: auto; transition: transform .25s ease; }
.ast-news-zoom:hover img { transform: scale(1.015); }
.ast-news-zoom:focus-visible { outline: 3px solid var(--nw-blue); outline-offset: 3px; }
.ast-news-zoom__icon { position: absolute; right: 10px; bottom: 10px; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: rgba(5,14,40,.78); color: #fff; }
.ast-news-story__foot { margin-top: clamp(26px, 3.4vw, 40px); padding: 18px 0 clamp(26px, 3vw, 40px); border-top: 1px solid rgba(58,117,255,.18); }
.ast-news-story__back { display: inline-flex; gap: .6em; align-items: center; font-weight: 600; color: var(--nw-blue); text-decoration: none; }
.ast-news-story__back:hover { text-decoration: underline; }
@media (max-width: 767px) {
  .ast-news-story__row { flex-direction: column; }
  .ast-news-story__row > .ast-news-zoom,
  .ast-news-story__gallery[data-count="1"] .ast-news-zoom { flex: none; }
}
@media (prefers-reduced-motion: reduce) {
  .ast-news-zoom img { transition: none; }
}
