/* ==========================================================================
   pages.css — служебные страницы: методика, о редакции, контакты, политика, 404.
   Подключается только там; страницы обзоров его не грузят.
   ========================================================================== */

/* Без правой колонки-содержания макет остаётся одноколоночным на любой ширине. */
.shell--solo { grid-template-columns: minmax(0, 1fr); max-width: 980px; }
@media (min-width: 1180px) { .shell--solo { grid-template-columns: minmax(0, 1fr); } }

.shell--solo .sec { padding-top: clamp(7rem, 5rem + 6vw, 10rem); }

.page__h { max-width: 24ch; }

.prose { margin-top: clamp(2rem, 1.4rem + 2vw, 3.4rem); max-width: 68ch; }
.prose h2 {
  font-size: var(--t-h3); margin-top: clamp(2.2rem, 1.6rem + 1.6vw, 3.2rem);
  padding-top: 1.4rem; border-top: 1px solid var(--line);
}
.prose h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.prose p { margin-top: 1rem; color: var(--cream-2); }
.prose strong { color: var(--cream); font-weight: 500; }
.prose a { color: var(--amber); text-decoration: underline; text-underline-offset: .18em; }
.prose a:hover { color: var(--amber-hi); }

.prose ul { margin-top: 1.2rem; display: grid; gap: .85rem; }
.prose ul li {
  position: relative; padding-left: 1.5rem; color: var(--cream-2); line-height: 1.6;
}
.prose ul li::before {
  content: ""; position: absolute; left: 0; top: .62em;
  width: 7px; height: 7px; border-radius: 2px; background: var(--amber-32);
}

.prose__cta {
  margin-top: clamp(2.4rem, 1.8rem + 2vw, 3.6rem); padding-top: 1.4rem;
  border-top: 1px solid var(--line); font-size: .95rem;
}

/* --- 404 ---------------------------------------------------------------- */

.err { min-height: 72vh; display: grid; place-items: center; text-align: center; padding: 8rem 1.2rem 4rem; }
.err__code {
  font: 500 var(--t-mono)/1 var(--mono); letter-spacing: .3em; text-transform: uppercase;
  color: var(--amber); border: 1px solid var(--amber-32); border-radius: 999px;
  padding: .5rem 1rem; display: inline-block;
}
.err__h { font-size: var(--t-h2); margin-top: 1.6rem; }
.err__p { margin-top: 1.2rem; color: var(--cream-2); max-width: 46ch; margin-inline: auto; }
.err__links { margin-top: 2.2rem; display: flex; flex-wrap: wrap; gap: .8rem; justify-content: center; }
.err__links a { font-size: .92rem; }

/* --- корневой редирект --------------------------------------------------- */

.redir { min-height: 100vh; display: grid; place-items: center; text-align: center; padding: 2rem; }
.redir p { color: var(--cream-2); margin-top: 1rem; }
