/* ==========================================================================
   AMADEYA WEB CORE — core.css v1.0.0 (ex v36.css детокса, 2026-08-22)
   Canonical source: репо amadeya-web-core/css/core.css. В сайте — sync-копия,
   НЕ редактировать (drift-гейт check-core). Токены вынесены в tokens.css.
   Подключается ПОСЛЕ темы в layout.tsx. Только визуал: токены, шрифты,
   цвета, тени, анимации. Тексты/URL/SEO — не тронуты.
   ========================================================================== */

/* ---------- база ---------- */
/* фон body убран: базовый пергамент даёт фиксированный «мир»-слой (.v36-world),
   чтобы сквозь прозрачные места секций виднелись знак, свечение и зерно (макет v36-16) */
body {
  background: transparent;
  font-family: var(--sans);
  color: var(--inkl);
  -webkit-font-smoothing: antialiased;
}

/* ---------- «мир»-фон v36-16: знак + свечение + зерно (на всех страницах) ---------- */
.v36-world {
  position: fixed;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(120% 90% at 50% 0%, var(--paper) 0%, var(--parch) 58%, #EFE8D8 100%);
  pointer-events: none;
}
.v36-world-glow {
  position: absolute;
  width: 130vmax;
  height: 130vmax;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(closest-side, rgba(214, 179, 102, 0.10), rgba(214, 179, 102, 0) 72%);
  opacity: 0;
  will-change: transform;
}
.v36-loaded .v36-world-glow { opacity: 1; transition: opacity 1.8s var(--BREATH) 0.2s; }
.v36-world-mark {
  position: absolute;
  left: 50%;
  top: 46%;
  width: min(115vh, 105vw);
  transform: translate(-50%, -50%) scale(var(--ms, 1));
  opacity: var(--mo, 0.05);
  will-change: transform, opacity;
}
.v36-world-mark img {
  width: 100%;
  height: auto;
  display: block;
  animation: v36breathe 9s var(--BREATH) infinite;
  transform-origin: center;
}
@keyframes v36breathe { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.03); } }
.v36-grain {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.25;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E");
}

h1, h2, h3, h4,
.section-title h2, .post-item-title h4, .people-item-name, .reviews-item-title {
  font-family: var(--serif);
  font-weight: 500;
  color: var(--abyss);
  letter-spacing: -0.01em;
}

::selection { background: var(--gold); color: var(--abyss); }

/* ремап палитры темы (--color1..4) живёт в tokens.css (canonical tokens.json);
   сборщик бандла (scripts/build-css-bundle.mjs) дописывает его ПОСЛЕДНИМ —
   иначе дефолты темы (#141752/#4B4FAC/#c9966c/#F3F4FF) перебивают бренд */
/* ---------- шапка ---------- */
.header {
  background: var(--paper);
  box-shadow: inset 0 -1px 0 var(--linel);
}
.header .header-slogan {
  color: var(--mutel);
  font-size: 12px;
  letter-spacing: 0.06em;
}
.header-phone {
  color: var(--abyss) !important;
  font-weight: 600;
}
.header-item-phone span { color: var(--mutel); }
.header .social { opacity: 0.85; transition: opacity 0.25s var(--EO); }
.header .social:hover { opacity: 1; }

/* кнопка «Вызвать врача» в шапке — btn-n из макета v36-16:
   заливка «глубина», белый текст (золотая заливка запрещена Design OS) */
.header .button {
  background: var(--depth) !important;
  border: 1px solid var(--depth) !important;
  color: #fff !important;
  border-radius: 0 !important;
  font-family: var(--sans);
  font-size: 11.5px !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  padding: 12px 22px !important;
  min-height: 44px;
  max-width: none !important;
  width: auto !important;
  white-space: nowrap;
  transition: background 0.25s var(--EO), color 0.25s var(--EO), border-color 0.25s var(--EO);
}
.header .button:hover {
  background: #0A1A2E !important;
  border-color: #0A1A2E !important;
  color: #fff !important;
}
/* прочие .button темы — золотой контур */
.button {
  background: transparent !important;
  border: 1px solid var(--gold) !important;
  color: var(--abyss) !important;
  border-radius: 0 !important;
  font-family: var(--sans);
  font-size: 11.5px !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  padding: 14px 26px !important;
  white-space: nowrap;
  transition: background 0.25s var(--EO), color 0.25s var(--EO), border-color 0.25s var(--EO);
}
.button:hover {
  background: var(--gold) !important;
  color: var(--abyss) !important;
}

/* ---------- навигация ---------- */
.nav {
  background: var(--abyss);
  box-shadow: inset 0 1px 0 rgba(242, 223, 160, 0.12);
}
/* контейнер меню: тема красит его в #F3F4FF со скруглением — это и была
   «белая полоса» под шапкой. Перекрашиваем в глубину. */
.header-menu {
  background: var(--abyss) !important;
  border-radius: 0 !important;
  box-shadow: inset 0 1px 0 rgba(242, 223, 160, 0.12);
}
.over-content .header-menu { background: var(--depth) !important; }
.header-menu .menu-items.level-1 > li > a {
  color: rgba(247, 243, 234, 0.78);
  font-family: var(--sans);
  font-weight: 400;
  letter-spacing: 0.02em;
  transition: color 0.25s var(--EO);
}
.header-menu .menu-items.level-1 > li > a:hover,
.header-menu .menu-items.level-1 > li > a.active {
  color: var(--g2);
}
.header-menu .menu-items.level-2 {
  background: var(--depth);
  box-shadow: 0 24px 48px rgba(3, 21, 42, 0.35);
}
.header-menu .menu-items.level-2 a { color: var(--mutedd); }
.header-menu .menu-items.level-2 a:hover { color: var(--g2); }
/* тема красит выпадашку в #dadbf0 со своей специфичностью — перебиваем явно */
.menu-wrapper li.level-1:hover ul.level-2,
.menu-wrapper ul.level-2 {
  background: var(--depth) !important;
  border-radius: 0 0 14px 14px !important;
  box-shadow: 0 24px 48px rgba(3, 21, 42, 0.45) !important;
  padding: 8px 0 !important;
}
.menu-wrapper li.level-2 { border-bottom: 1px solid rgba(242, 223, 160, 0.12) !important; }
.menu-wrapper li.level-2:last-child { border-bottom: none !important; }
.menu-wrapper li.level-2 a {
  color: var(--mutedd) !important;
  padding: 6px 18px !important;
  display: block;
  transition: color 0.25s var(--EO);
}
.menu-wrapper li.level-2 a:hover {
  color: var(--g2) !important;
  text-decoration: none !important;
}

/* ---------- HERO v36 (разметка из home.ts, redesign/v36) ---------- */
.v36-hero {
  position: relative;
  min-height: max(560px, 72vh);
  display: flex;
  align-items: center;
  background:
    radial-gradient(95% 80% at 50% 38%, #122A44 0%, #071D33 48%, #03152A 100%);
  overflow: hidden;
}
.v36-hero-photo {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.v36-hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  opacity: 0.9;
}
/* вуаль: глубина поверх фото, читабельность текста (ФОТО-3) */
.v36-hero-veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(3, 21, 42, 0.94) 0%, rgba(3, 21, 42, 0.82) 34%, rgba(7, 29, 51, 0.55) 62%, rgba(7, 29, 51, 0.45) 100%);
}
.v36-hero-in {
  position: relative;
  z-index: 2;
  max-width: 1280px;
  margin: 0 auto;
  width: 100%;
  padding: clamp(90px, 12vh, 140px) clamp(18px, 4vw, 56px) clamp(70px, 9vh, 110px);
}
.v36-eb {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: var(--g2);
  font-size: 10.5px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 600;
}
.v36-eb i {
  display: block;
  height: 1px;
  width: 46px;
  background: var(--gold);
}
.v36-hero h1 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(38px, 5.2vw, 72px);
  line-height: 1.06;
  letter-spacing: -0.024em;
  color: #fff;
  max-width: 16ch;
  margin: 26px 0 0;
  text-wrap: balance;
}
.v36-hero h1 em {
  font-style: italic;
  color: var(--g2);
}
.v36-lead {
  font-size: clamp(15.5px, 1.25vw, 17.5px);
  line-height: 1.75;
  /* пергамент вместо серо-голубого --mutedd: читается и на холодной, и на тёплой половине фото */
  color: var(--parch);
  font-weight: 400;
  max-width: 52ch;
  margin-top: 26px;
  text-wrap: pretty;
}
.v36-acts {
  display: flex;
  gap: 14px;
  margin-top: 36px;
  flex-wrap: wrap;
}
.v36-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 15px 32px;
  font-size: 11.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background 0.25s var(--EO), color 0.25s var(--EO), border-color 0.25s var(--EO);
}
.v36-btn-g { border-color: var(--gold); color: var(--g2); }
.v36-btn-g:hover { background: var(--gold); color: var(--abyss); }
.v36-btn-w { border-color: rgba(255, 255, 255, 0.38); color: #fff; }
.v36-btn-w:hover { background: #fff; color: var(--abyss); }
.v36-btn { white-space: nowrap; }

/* знак внутри hero — дышит над вуалью, под контентом (макет v36-16) */
.v36-hero-mark {
  position: absolute;
  right: clamp(-40px, 2vw, 60px);
  top: 50%;
  width: min(72vh, 44vw);
  transform: translateY(-50%);
  z-index: 2;
  opacity: 0.14;
  pointer-events: none;
}
.v36-hero-mark img {
  width: 100%;
  height: auto;
  display: block;
  animation: v36breathe 9s var(--BREATH) infinite;
  transform-origin: center;
}

/* скролл-индикатор hero (макет: .cue) */
.v36-cue {
  position: absolute;
  left: 50%;
  bottom: 22px;
  width: 1px;
  height: 52px;
  overflow: hidden;
  z-index: 2;
}
.v36-cue::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(var(--gold), transparent);
  animation: v36cue 2.6s var(--BREATH) infinite;
}
@keyframes v36cue {
  0% { opacity: 0; transform: translateY(-100%); }
  45% { opacity: 1; }
  100% { opacity: 0; transform: translateY(100%); }
}

/* входная анимация hero (макет: оркестрованный момент) — ЧИСТЫЙ CSS с 21.08:
   раньше срабатывала только после JS (классы .v36-anim/.v36-loaded) и под 4x CPU-throttle
   LCP-текст появлялся на ~3.8с. Теперь keyframes играют от парсинга страницы —
   WOW-вход сохранён, LCP не зависит от гидрации. */
@keyframes v36-rise { from { transform: translateY(110%); } to { transform: none; } }
@keyframes v36-fadeup-hero { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes v36-fadex-hero { from { opacity: 0; transform: translateX(-6px); } to { opacity: 1; transform: none; } }
@keyframes v36-ebw { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.v36-hero .v36-eb i { width: 46px; transform-origin: left center; animation: v36-ebw 0.35s var(--EO) 0.1s both; }
.v36-hero .v36-eb span { display: inline-block; animation: v36-fadex-hero 0.3s var(--EO) 0.16s both; }
.v36-hero h1 .ln { display: block; overflow: hidden; }
.v36-hero h1 .ln > span { display: block; animation: v36-rise 0.3s var(--EO) both; }
.v36-hero h1 .ln:nth-child(2) > span { animation-delay: 0.04s; }
.v36-hero h1 .ln:nth-child(3) > span { animation-delay: 0.08s; }
.v36-hero .v36-lead { animation: v36-fadeup-hero 0.35s var(--EO) 0.14s both; }
.v36-hero .v36-acts { animation: v36-fadeup-hero 0.35s var(--EO) 0.22s both; }

/* контейнер свайпера hero — убрать дефолтные отступы темы */
.banner-section { background: var(--abyss); }
.banner-section .swiper { margin: 0; }

/* ---------- офферы (скорая помощь / выезд врача) ---------- */
/* фон секций прозрачный — сквозь него виден «мир»-слой со знаком */
.offers-section { background: transparent; }
.reviews-block { background: transparent !important; }
.offer-inner {
  background: var(--paper);
  border: 1px solid var(--linel);
  border-radius: 22px;
  box-shadow: 0 18px 44px rgba(14, 34, 61, 0.07);
  transition: transform 0.45s var(--EO), box-shadow 0.45s var(--EO);
}
.offer-inner:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 60px rgba(14, 34, 61, 0.11);
}
.offer-item-title h2 {
  font-family: var(--serif);
  font-weight: 500;
  color: var(--abyss);
}
/* иконки офферов: фиолет #4B4FAC темы → глубина + тонкое золотое кольцо */
.offer-item-icon {
  background-color: var(--abyss) !important;
  box-shadow: inset 0 0 0 1px rgba(214, 179, 102, 0.55);
}
.offer-item-text p { color: var(--mutel); line-height: 1.7; }
.offer-action-call p { color: var(--mutel); }
.offer-action-call a {
  color: var(--abyss);
  font-family: var(--serif);
  font-size: 24px;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px solid var(--gold);
  transition: color 0.25s var(--EO);
}
.offer-action-call a:hover { color: var(--golddeep); }

/* ---------- заголовки секций ---------- */
.section-title h2 {
  font-size: clamp(30px, 3.2vw, 44px);
  line-height: 1.12;
}
.section-title h2 span {
  color: var(--golddeep);
  font-style: italic;
  font-weight: 400;
}

/* ---------- карточки услуг ---------- */
.post-item {
  background: var(--paper);
  border: 1px solid var(--linel);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 14px 36px rgba(14, 34, 61, 0.06);
  transition: transform 0.45s var(--EO), box-shadow 0.45s var(--EO);
}
.post-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 26px 56px rgba(14, 34, 61, 0.1);
}
.post-item-title h4 {
  font-family: var(--serif);
  font-size: 21px;
  font-weight: 500;
  color: var(--abyss);
}
.post-item-title p { color: var(--mutel); line-height: 1.6; }
.post-item-title a {
  color: var(--golddeep) !important;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  text-decoration: none;
}
.post-item-title a::after {
  content: " →";
  color: var(--gold);
  display: inline-block;
  transition: transform 0.35s var(--EO);
}
.posts-block .post-item:hover .post-item-title a::after,
.post-item-title a:hover::after { transform: translateX(5px); }

/* ---------- контактная полоса + форма ---------- */
.contact-block-2 {
  background:
    radial-gradient(120% 160% at 50% 0%, #122A44 0%, #071D33 55%, #03152A 100%);
  border-radius: 26px;
  box-shadow: 0 30px 70px rgba(3, 21, 42, 0.35);
}
.contact-block-2-content p {
  color: var(--parch);
  font-family: var(--serif);
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1.4;
}
.contact-block-2-content p + p { color: var(--mutedd); }
a.page-form-phone {
  color: var(--g2) !important;
  font-family: var(--serif);
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px solid var(--gold);
}
.contact-block-2 .form-title {
  color: var(--abyss);
  font-family: var(--serif);
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}
/* форма — светлая paper-карточка внутри тёмной полосы
   (тема красила её в грязно-бронзовый rgb(193 154 121 / 88%)) */
.contact-block-2-form {
  background: var(--paper) !important;
  border-radius: 18px !important;
  box-shadow: 0 24px 50px rgba(3, 21, 42, 0.28);
}
.contact-block-2 input[type="text"],
.contact-block-2 input[type="tel"],
.contact-block-2 input {
  background: #fff !important;
  border: 1px solid var(--linel) !important;
  border-radius: 0 !important;
  color: var(--inkl) !important;
  font-family: var(--sans);
}
.contact-block-2 input::placeholder { color: var(--mutedd2); }
.contact-block-2 input:focus {
  border-color: var(--gold) !important;
  outline: none;
}
.contact-block-2 .form-row.checkbox label { color: var(--mutel); }
.contact-block-2 .form-row.checkbox a { color: var(--golddeep); }
.contact-block-2 .button,
.contact-block-2 button {
  border: 1px solid var(--gold) !important;
  color: var(--abyss) !important;
  background: transparent !important;
  border-radius: 0 !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 11.5px;
  font-weight: 600;
}
.contact-block-2 .button:hover,
.contact-block-2 button:hover {
  background: var(--gold) !important;
  color: var(--abyss) !important;
}

/* ---------- врачи / отзывы / статьи ---------- */
.people-item, .reviews-item {
  background: var(--paper);
  border: 1px solid var(--linel);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 14px 36px rgba(14, 34, 61, 0.06);
}
.people-item-name {
  font-family: var(--serif);
  font-weight: 500;
  color: var(--abyss);
}
.people-item-spec {
  color: var(--golddeep) !important;
  font-size: 11.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  line-height: 1.6;
}
.people-item-exp, .people-item-desc { color: var(--mutel); }
.reviews-item-title { font-family: var(--serif); color: var(--abyss); }
.reviews-item-text { color: var(--mutel); line-height: 1.65; }

/* стрелки слайдеров */
.swiper-nav-button {
  border: 1px solid var(--gold) !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: var(--golddeep) !important;
  transition: background 0.25s var(--EO), color 0.25s var(--EO);
}
.swiper-nav-button:hover {
  background: var(--gold) !important;
  color: var(--abyss) !important;
}

/* ---------- подвал ---------- */
footer {
  background:
    radial-gradient(120% 150% at 50% 0%, #122A44 0%, #071D33 55%, #03152A 100%);
  color: var(--mutedd);
}
footer .footer-company p,
footer .footer-contacts p { color: var(--mutedd); }
footer .footer-phone {
  color: var(--g2);
  font-family: var(--serif);
  font-size: 24px;
  font-weight: 500;
  text-decoration: none;
}
footer .footer-email {
  color: var(--mutedd);
  text-decoration: none;
  border-bottom: 1px solid rgba(214, 179, 102, 0.4);
}
footer .footer-email:hover { color: var(--g2); }
footer .footer-copyright { color: var(--mutedd2); }
footer .footer-low-menu a {
  color: var(--mutedd2);
  text-decoration: none;
  transition: color 0.25s var(--EO);
}
footer .footer-low-menu a:hover { color: var(--g2); }
footer .footer-notice p { color: rgba(143, 160, 178, 0.75); }

/* ---------- адаптив ---------- */
@media (max-width: 768px) {
  .v36-hero { min-height: 520px; }
  .v36-hero-veil {
    background: linear-gradient(180deg, rgba(3, 21, 42, 0.62) 0%, rgba(3, 21, 42, 0.45) 55%, rgba(7, 29, 51, 0.34) 100%);
  }
  .v36-acts .v36-btn { width: 100%; }
}

/* ---------- полироль: остатки фиолета темы (hardcoded, вары не покрывают) ---------- */
/* знак-подложка в тёмных зонах каждой страницы: контактная полоса и подвал */
.contact-block-2, footer { position: relative; overflow: hidden; }
.contact-block-2::before, footer::before {
  content: "";
  position: absolute;
  top: 50%;
  width: min(60vh, 38vw);
  aspect-ratio: 1;
  background: url("/redesign/mark.webp") center / contain no-repeat;
  opacity: 0.06;
  pointer-events: none;
  animation: v36breathe 9s var(--BREATH) infinite;
}
.contact-block-2::before { right: -4%; transform: translateY(-50%); }
footer::before { left: -3%; transform: translateY(-50%); }
/* иконки соцсетей в шапке — бронзовое кольцо темы → золото */
.header-item-social a { border-color: var(--gold) !important; }

/* «Подробнее» — современный CTA: текстовая ссылка с тонким подчёркиванием,
   БЕЗ пилюли и play-иконки темы (пилюля устарела, вся карточка и так кликабельна через .overlink) */
.posts-block .post-item-title a,
.post-item-title a {
  display: inline-block;
  height: auto !important;
  line-height: 1.7 !important;
  padding: 0 0 4px !important;
  margin-top: 15px;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  border-bottom: 1px solid rgba(214, 179, 102, 0.45) !important;
  transition: color 0.3s, border-color 0.3s;
}
.posts-block .post-item-title a:before,
.post-item-title a:before { content: none !important; }

/* пункты-списки в текстовых блоках внутренних страниц */
.page .text-block .list-blocks li {
  background: var(--paper) !important;
  color: var(--inkl) !important;
  box-shadow: inset 0 0 0 1px var(--linel);
}

/* внутренний баннер страниц (tpl_page-banner): индиго-плашка → глубина */
.page-banner-content {
  background: rgba(7, 29, 51, 0.72) !important;
  backdrop-filter: blur(3px);
}
.page-banner-content h1 { color: #fff; }
/* кнопки внутри тёмной стеклянной плашки баннера — светлый текст (перебивает глобальный .button) */
.page-banner-content .button { color: var(--g2) !important; }
.page-banner-content .button:hover { background: var(--gold) !important; color: var(--abyss) !important; }

/* ==========================================================================
   ТЁМНАЯ ГЛАВНАЯ (v36-16 «До и после»): иммерсивность, шапка поверх hero,
   граница света за курсором. Скоуп: body:has(.v36-dark) / .v36-dark —
   внутренние страницы не затрагиваются.
   ========================================================================== */

/* мир-фон главной — тёмный, как в макете */
body:has(.v36-dark) .v36-world {
  background:
    radial-gradient(95% 80% at 50% 38%, #122A44 0%, #071D33 48%, #03152A 100%);
}
body:has(.v36-dark) .v36-world-glow {
  background: radial-gradient(closest-side, rgba(1, 3, 5, 0.85), rgba(1, 3, 5, 0) 72%);
}
body:has(.v36-dark) .v36-world-mark { top: 50%; }

/* шапка главной — фиксированная, прозрачная поверх hero, при скролле тёмное стекло (.on ставит JS).
   В теме шапка — div.header, а НЕ тег header: селекторы на тег молча не срабатывали (найдено матрицей HD-02) */
body:has(.v36-dark) .header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 900;
  background: linear-gradient(rgba(4, 24, 49, 0.78), rgba(4, 24, 49, 0.35) 65%, rgba(4, 24, 49, 0));
  box-shadow: none;
  transition: background 0.4s var(--EO), box-shadow 0.4s var(--EO), backdrop-filter 0.4s var(--EO);
}
body:has(.v36-dark) .header.on {
  background: rgba(4, 24, 49, 0.88);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: inset 0 -1px 0 rgba(242, 223, 160, 0.12);
}
/* десктопная полоса меню фиксируется под шапкой и разделяет её стекло; --hdr-h ставит JS */
body:has(.v36-dark) .nav {
  position: fixed;
  top: var(--hdr-h, 72px);
  left: 0;
  right: 0;
  z-index: 890;
  transition: background 0.4s var(--EO), backdrop-filter 0.4s var(--EO);
}
body:has(.v36-dark) .nav.on {
  background: rgba(4, 24, 49, 0.88) !important; /* !important: базовое правило .nav{transparent !important} иначе побеждает */
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
body:has(.v36-dark) .header .header-slogan { color: var(--mutedd); }
body:has(.v36-dark) .header-phone { color: #fff !important; }
body:has(.v36-dark) .header-item-phone span { color: var(--mutedd); }
body:has(.v36-dark) .header-item-social a { border-color: rgba(214, 179, 102, 0.6) !important; }
/* полоса меню растворяется в шапке — бара нет, как в макете */
body:has(.v36-dark) .nav,
body:has(.v36-dark) .header-menu {
  background: transparent !important;
  box-shadow: none !important;
}
body:has(.v36-dark) .header-menu .menu-items.level-1 > li > a {
  color: rgba(247, 243, 234, 0.88) !important;
  text-shadow: 0 1px 10px rgba(3, 21, 42, 0.9);
  transition: color 0.25s var(--EO);
}
body:has(.v36-dark) .header-menu .menu-items.level-1 > li > a:hover { color: var(--g2) !important; }
body:has(.v36-dark) .menu-wrapper ul.level-1 > li:hover > a { background: rgba(214, 179, 102, 0.12); }
body:has(.v36-dark) .header-menu-button span { background: var(--g2) !important; }
/* кнопка «Вызвать врача» в шапке — по эталону макета (.btn .btn-g): золотой контур, капс */
body:has(.v36-dark) .header-item-button .button {
  background: transparent !important;
  border: 1px solid var(--gold) !important;
  border-radius: 0;
  color: var(--g2) !important;
  font-size: 11.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  min-height: 44px;
  padding: 12px 22px;
  box-shadow: none;
  transition: background 0.25s var(--EO), color 0.25s var(--EO);
}
body:has(.v36-dark) .header-item-button .button:hover {
  background: var(--gold) !important;
  color: var(--abyss) !important;
}

/* hero главной — на весь экран (макет: 100svh) */
.v36-dark .v36-hero { min-height: 100svh; }

/* граница света за курсором (макет: hero36 до/после) */
/* вся поверхность фото — hit-area бегунка; вертикальный жест остаётся скроллом страницы (pan-y) */
.h36-stage {
  touch-action: pan-y;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}
.h36-stage.h36-grabbing { cursor: grabbing; }
.h36-stage img { -webkit-user-drag: none; }
.h36-stage:focus-visible { outline: 2px solid var(--gold); outline-offset: -2px; }
.h36-layer { position: absolute; inset: 0; }
.h36-layer img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 62%;
}
.h36-cold img { filter: brightness(0.82) saturate(0.9) hue-rotate(10deg); }
.h36-warm { clip-path: inset(0 calc(100% - var(--x, 62%)) 0 0); }
.h36-warm img { filter: sepia(0.38) saturate(1.2) brightness(1.06) hue-rotate(-12deg); }
/* слайд с реальными фото ресепшна (утро/вечер из макета) — ярко, как в макете */
.h36-real .h36-cold img { filter: brightness(1.04) saturate(1.0); }
.h36-real .h36-warm img { filter: brightness(1.14) saturate(1.14); }
.h36-warm { will-change: clip-path; }
/* читаемость текста на ярком фото — мягкая тень */
.v36-dark .v36-hero h1, .v36-dark .v36-hero .v36-lead, .v36-dark .v36-hero .v36-eb {
  text-shadow: 0 2px 26px rgba(3, 21, 42, 0.65), 0 1px 6px rgba(3, 21, 42, 0.5);
}
.h36-labels {
  position: absolute;
  bottom: 3.5vh; left: 0; right: 0;
  display: flex; justify-content: space-between;
  padding: 0 5vw; z-index: 4;
  font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  pointer-events: none;
}
.h36-hint {
  position: absolute;
  top: 14vh; left: 50%;
  transform: translateX(-50%);
  z-index: 6;
  font-size: 10.5px; letter-spacing: 0.3em; text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
  background: rgba(10, 20, 34, 0.4);
  padding: 9px 18px;
  border-radius: 100px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  white-space: nowrap;
}
.h36-div {
  position: absolute;
  top: 0; bottom: 0;
  left: var(--x, 62%);
  width: 1px;
  z-index: 3;
  background: linear-gradient(180deg, transparent, rgba(242, 223, 160, 0.9) 30%, rgba(242, 223, 160, 0.9) 70%, transparent);
}
.h36-div::before {
  content: "";
  position: absolute;
  top: 55%; left: 50%;
  transform: translate(-50%, -50%);
  width: 46px; height: 46px;
  border-radius: 50%;
  border: 1px solid rgba(242, 223, 160, 0.8);
  /* без backdrop-filter: переблюр каждый кадр — причина лагов слайдера на Android */
  background: rgba(10, 26, 46, 0.72);
}
.h36-div::after {
  content: "← →";
  position: absolute;
  top: 55%; left: 50%;
  transform: translate(-50%, -50%);
  font-size: 11px;
  letter-spacing: 2px;
  color: var(--g2);
}
/* в тёмной hero вуаль мягкая — фото яркое, как в макете; читаемость даёт text-shadow */
.v36-dark .v36-hero-veil {
  background:
    linear-gradient(90deg, rgba(3, 21, 42, 0.66) 0%, rgba(3, 21, 42, 0.42) 34%, rgba(7, 29, 51, 0.14) 62%, rgba(7, 29, 51, 0.07) 100%);
}

/* бегущая строка (макет: .mq) */
.v36-mq { overflow: hidden; padding: 22px 0; position: relative; }
.v36-mq::before, .v36-mq::after {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  width: 120px;
  z-index: 2;
  pointer-events: none;
}
.v36-mq::before { left: 0; background: linear-gradient(90deg, #071D33, transparent); }
.v36-mq::after { right: 0; background: linear-gradient(270deg, #071D33, transparent); }
.v36-mq div {
  display: flex;
  gap: 52px;
  white-space: nowrap;
  animation: v36run 80s linear infinite;
  width: max-content;
}
.v36-mq span {
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(18px, 2vw, 27px);
  color: rgba(242, 223, 160, 0.75);
}
.v36-mq span::after {
  content: "◆";
  font-style: normal;
  font-size: 8px;
  color: var(--gold);
  margin-left: 52px;
  vertical-align: 60%;
}
@keyframes v36run { to { transform: translateX(-50%); } }

/* секции главной прозрачны — сквозь них живой мир-фон */
.v36-dark section { background: transparent !important; }
.v36-dark section { position: relative; }
/* золотые ромбы-мосты между секциями убраны по решению владельца (19.08) */

/* бургер — золото как логотип, во всех состояниях (в теме var(--color1) — тёмный, терялся на тёмном фоне) */
.header-menu-button .menu-icon,
.header-menu-button .menu-icon::before,
.header-menu-button .menu-icon::after { background: var(--gold) !important; }

/* v36-fix (21.08): зона нажатия 44×44 (наш UX-стандарт), видимый значок тот же 22px —
   иконка центрируется абсолютным позиционированием темы, отрицательный margin
   сохраняет оптическое положение в шапке */
.header-menu-button .menu-button { width: 44px; height: 44px; margin: -11px; position: relative; }

/* типографика и карточки — светлое по тёмному */
.v36-dark .section-title h2 { color: var(--parch); }
.v36-dark .section-title h2 span { color: var(--g2); }

.v36-dark .offer-item {
  background: rgba(19, 45, 78, 0.45) !important;
  border: 1px solid rgba(242, 223, 160, 0.14);
  box-shadow: 0 18px 44px rgba(3, 21, 42, 0.4) !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: transform 0.45s var(--EO), box-shadow 0.45s var(--EO);
}
.v36-dark .offer-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 60px rgba(3, 21, 42, 0.55) !important;
}
.v36-dark .offer-inner {
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.v36-dark .offer-inner:hover { transform: none; box-shadow: none; }
.v36-dark .offer-item-title h2 { color: var(--parch); }
.v36-dark .offer-item-text p { color: var(--mutedd); }
.v36-dark .offer-action-call p { color: var(--mutedd); }
.v36-dark .offer-action-call a { color: var(--g2); }
.v36-dark .offer-action-call a:hover { color: var(--gold); }
.v36-dark .offer-item-icon {
  background-color: rgba(214, 179, 102, 0.12) !important;
  box-shadow: inset 0 0 0 1px rgba(214, 179, 102, 0.5);
}

.v36-dark .post-item {
  background: rgba(19, 45, 78, 0.45) !important;
  border-color: rgba(242, 223, 160, 0.14);
  box-shadow: 0 14px 36px rgba(3, 21, 42, 0.4);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
/* тема перекрашивает чётные карточки в #F6F0EB — гасим */
.v36-dark .posts-block .post-item:nth-child(even) { background: rgba(19, 45, 78, 0.45) !important; }
.v36-dark .post-item:hover { box-shadow: 0 26px 56px rgba(3, 21, 42, 0.55); }
.v36-dark .post-item-title h4 { color: var(--parch); }
.v36-dark .post-item-title p { color: var(--mutedd); }
.v36-dark .post-item-title a { color: var(--g2) !important; }

.v36-dark .people-item,
.v36-dark .reviews-item {
  background: rgba(19, 45, 78, 0.45);
  border-color: rgba(242, 223, 160, 0.14);
  box-shadow: 0 14px 36px rgba(3, 21, 42, 0.4);
  color: var(--mutedd);
}
.v36-dark .people-item-name { color: var(--parch); }
.v36-dark .people-item-name a { color: var(--parch) !important; }
/* spec на тёмном: светлое золото, крупнее — читаемость (замечание владельца 19.08) */
.v36-dark .people-item-spec { color: var(--g2) !important; font-size: 12px; letter-spacing: 0.11em; line-height: 1.65; }
.v36-dark .people-item-exp,
.v36-dark .people-item-desc,
.v36-dark .people-item-desc p { color: #C4D0DC !important; }
.v36-dark .reviews-item-title { color: var(--parch); }
.v36-dark .reviews-item-text,
.v36-dark .reviews-item p { color: var(--mutedd) !important; }
.v36-dark .reviews-item { color: var(--mutedd) !important; }

/* кнопки .button на тёмной главной — светлый текст в золотом контуре */
.v36-dark .button { color: var(--g2) !important; }
.v36-dark .button:hover { background: var(--gold) !important; color: var(--abyss) !important; }

/* кнопка внутри белой формы контактной полосы — тёмный текст (перебивает .v36-dark .button) */
.v36-dark .contact-block-2 .button,
.v36-dark .contact-block-2 button { color: var(--abyss) !important; }
.v36-dark .contact-block-2 .button:hover,
.v36-dark .contact-block-2 button:hover { background: var(--gold) !important; color: var(--abyss) !important; }

/* затемняющая пелена под шапкой на тёмной главной — читаемость меню и телефона */
.v36-dark .v36-hero::after {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 150px;
  background: linear-gradient(rgba(3, 21, 42, 0.62), transparent);
  z-index: 4;
  pointer-events: none;
}

/* тег header темы сам по себе fixed с белым фоном и z-index:100 — гасим на тёмной главной */
body:has(.v36-dark) header {
  background: transparent !important;
  border-bottom: 0 !important;
}

/* ============ итерация 5: цифры, момент, шапка, подвал (макет v36-16) ============ */

/* фикс: тема резервирует 123px под fixed-шапку — на тёмной главной hero идёт под шапку */
body:has(.v36-dark) .__wrapper { padding-top: 0 !important; }

/* цифры клиники (макет: .nums) */
.v36-nums-wrap { padding: clamp(50px, 8vh, 96px) 0 clamp(30px, 5vh, 60px); }
.v36-nums {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(20px, 3vw, 48px);
}
.v36-num b {
  display: block;
  font-family: var(--serif);
  font-size: clamp(54px, 7vw, 96px);
  line-height: 0.94;
  letter-spacing: -0.03em;
  color: var(--g2);
  font-variant-numeric: tabular-nums;
  font-weight: 400;
}
.v36-num span {
  display: block;
  font-size: 13.5px;
  color: var(--mutedd2);
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(242, 223, 160, 0.22);
  line-height: 1.6;
  max-width: 26ch;
}
@media (max-width: 980px) {
  .v36-nums { grid-template-columns: 1fr 1fr; }
}

/* full-bleed эмоциональный момент (макет: .moment) */
.v36-moment {
  position: relative;
  min-height: 76vh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
.v36-moment img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 7%; /* портрет врача: держим лицо в кадре на широком блоке */
  filter: brightness(0.6) saturate(0.95) contrast(1.03);
}
.v36-moment::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(4, 24, 49, 0.62), rgba(4, 24, 49, 0.3) 45%, rgba(4, 24, 49, 0.9));
}
.v36-moment .__side-padding {
  position: relative;
  z-index: 2;
  padding-bottom: clamp(48px, 8vh, 90px);
}
.v36-moment blockquote {
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(26px, 3.8vw, 54px);
  line-height: 1.28;
  letter-spacing: -0.015em;
  max-width: 22ch;
  color: var(--parch);
  margin: 0;
}
.v36-moment-src {
  margin-top: 26px;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--g2);
  font-weight: 600;
}
.v36-moment-src span { color: var(--mutedd2); font-weight: 400; }

/* появление по скроллу (макет: .rv — класс вешает JS, контент не гейтится) */
.v36-rv {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 0.9s var(--EO), transform 0.9s var(--EO);
  transition-delay: calc(var(--i, 0) * 80ms);
}
.v36-rv.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .v36-rv { opacity: 1; transform: none; }
  /* v36-fix (21.08): меню — не исключение из AM-042. Гасим каскад пунктов,
     дыхание знака, дрейф свечения, fadeup футера, транзит панели и аккордеона */
  .over-content .menu-items.level-1 > li { opacity: 1 !important; transform: none !important; transition: none !important; }
  .v36-mmenu-world .w-mark,
  .over-content:has(.header-menu)::after { animation: none !important; }
  .v36-mmenu-foot { animation: none !important; }
  .over-container .over-content { transition: none !important; }
  .over-content .menu-items.level-1 > li.v36-has-sub > ul.level-2 { transition: none !important; }
  /* hero-вход на чистом CSS — тоже гасим (AM-042) */
  .v36-hero .v36-eb i, .v36-hero .v36-eb span, .v36-hero h1 .ln > span,
  .v36-hero .v36-lead, .v36-hero .v36-acts { animation: none !important; }
}

/* подвал — минимальный центрованный легал по макету (.legal), данные и ссылки сохранены.
   селектор усилен: перебивает утилиту темы .__line-blocks._row-w1024 (0,2,0) */
footer .footer-items.__line-blocks {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center;
  gap: 14px;
  padding-top: clamp(26px, 4vh, 42px);
  border-top: 1px solid rgba(242, 223, 160, 0.18);
}
footer .footer-logo { margin: 0 auto; }
footer .footer-company p {
  font-family: var(--serif);
  font-size: 14px;
  color: var(--mutedd);
  line-height: 1.55;
}
footer .footer-contacts { display: flex; flex-direction: column; align-items: center; gap: 5px; }
footer .footer-item-menu { display: flex; justify-content: center; }
footer .footer-item-copyright {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 18px 0 28px;
  font-size: 11px;
  line-height: 1.65;
  color: #4E5B6C;
}
footer .footer-copyright { color: #7E8B9B; }
footer .footer-low-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 26px;
}
footer .footer-low-menu a { font-size: 11px; }

/* ---------- мобильная шапка (все страницы) и hero на тёмной главной ---------- */
@media (max-width: 1023px) {
  .header-items { gap: 10px; }
  .header-item-phones { margin-right: 0; }
  .header-item-phone span { display: none; }
  body:has(.v36-dark) .header-item-button .button {
    min-height: 38px;
    padding: 8px 14px;
    font-size: 10px;
    letter-spacing: 0.1em;
  }
  /* курсора на таче нет — подсказка и подписи границы света только на десктопе */
  .v36-dark .h36-hint { display: none; }
  .v36-dark .h36-labels { font-size: 8px; }
  .v36-dark .v36-eb { letter-spacing: 0.18em; }
  .v36-dark .v36-eb span { white-space: normal; }
}
@media (max-width: 560px) {
  /* телефон + бургер; кнопка и соцсети уступают место */
  .header-item-button { display: none; }
  .header-item-social { display: none !important; }
  .header-phone { font-size: 14px !important; }
  /* баннер внутренних страниц: кнопки в колонку, плашка по краям уже */
  .page-banner-content { margin: 0 12px; padding: 24px 18px; }
  .page-banner-content .buttons { flex-wrap: wrap; gap: 10px; }
  .page-banner-content .buttons > *:first-child { margin-right: 0; }
  .page-banner-content .buttons .button { width: 100%; box-sizing: border-box; text-align: center; }
}

/* ============ итерация 6 ============ */

/* hover «Подробнее» — без заливки: глубокое золото текста + сплошное подчёркивание */
.posts-block .post-item-title a:hover,
.posts-block .post-item:hover .post-item-desc a {
  background: none !important;
  color: var(--golddeep) !important;
  border-color: var(--gold) !important;
}
/* на тёмных стеклянных карточках (вне светлого листа) hover — наоборот, светлее */
.v36-dark .post-item:not(.v36-sheet .post-item):hover .post-item-title a {
  color: #fff !important;
  border-color: var(--g2) !important;
}

/* социконки в шапке тёмной главной — белая версия спрайта (светлая, не фиолет) */
body:has(.v36-dark) .header-item-social a.s-wt {
  background-image: url("/template/amadeya/images/sprite.svg#wt-icon-w") !important;
}
body:has(.v36-dark) .header-item-social a.s-tg {
  background-image: url("/template/amadeya/images/sprite.svg#tg-icon-w") !important;
}

/* светлые «документы» над глубиной (макет: .sheet) — услуги и отзывы */
.v36-dark section.v36-sheet {
  background: var(--parch) !important;
  border-radius: 26px;
  margin: clamp(16px, 2.5vw, 32px) clamp(12px, 2.5vw, 40px);
  padding: clamp(34px, 4.5vw, 64px) 0;
  box-shadow: 0 60px 140px -50px rgba(4, 12, 24, 0.85), 0 0 0 1px rgba(242, 223, 160, 0.08);
}
.v36-dark .v36-sheet .section-title h2 { color: var(--inkl); }
.v36-dark .v36-sheet .section-title h2 span { color: #3D5A78; }

/* карточки услуг на пергаменте */
.v36-dark .v36-sheet .post-item {
  background: #fff !important;
  border-color: var(--linel);
  box-shadow: 0 14px 34px rgba(4, 24, 49, 0.1);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.v36-dark .v36-sheet .posts-block .post-item:nth-child(even) { background: #fff !important; }
.v36-dark .v36-sheet .post-item:hover { box-shadow: 0 22px 48px rgba(4, 24, 49, 0.16); }
.v36-dark .v36-sheet .post-item-title h4 { color: var(--inkl); }
.v36-dark .v36-sheet .post-item-title p { color: var(--mutel); }
.v36-dark .v36-sheet .post-item-title a { color: var(--golddeep) !important; }

/* карточки отзывов на пергаменте */
.v36-dark .v36-sheet .reviews-item {
  background: #fff;
  border-color: var(--linel);
  box-shadow: 0 14px 34px rgba(4, 24, 49, 0.1);
}
.v36-dark .v36-sheet .reviews-item-title { color: var(--inkl); }
.v36-dark .v36-sheet .reviews-item-text,
.v36-dark .v36-sheet .reviews-item p { color: var(--mutel) !important; }

/* ============ мобильное меню-оверлей v36 (глобально, все страницы) ============ */
/* скоуп :has(.header-menu) — фильтры и прочие оверлеи темы не задеваем */
.over-container { background: rgba(3, 21, 42, 0) !important; }
.over-container.is_show { background: rgba(3, 21, 42, 0.55) !important; }

.over-content:has(.header-menu) {
  background:
    radial-gradient(120% 90% at 50% calc(0% + var(--mm-shift, 0px)), #122A44 0%, #071D33 55%, #03152A 100%) !important;
  box-shadow: -30px 0 80px rgba(3, 21, 42, 0.6);
  border-left: 1px solid rgba(242, 223, 160, 0.14);
}
/* оверлей меню монтируется в body (без data-append_to_parent): на весь экран, поверх cookie-баннера;
   в теме .header .over-container{top:71px} оставлял полосу страницы сверху — больше не применяется */
/* cookie-баннер (z 11000) не должен перекрывать меню-оверлей (z 7000) */
.cookies-notice-container { z-index: 6500; }
/* анимированная подложка меню — как мир-слой на главной: дрейфующее золотое свечение, без водяного знака */
.over-content:has(.header-menu)::after {
  content: "";
  position: fixed;
  inset: -18%;
  pointer-events: none;
  background:
    radial-gradient(40% 32% at 80% 10%, rgba(214, 179, 102, 0.17), rgba(214, 179, 102, 0) 70%),
    radial-gradient(52% 42% at 8% 88%, rgba(214, 179, 102, 0.10), rgba(214, 179, 102, 0) 72%),
    radial-gradient(60% 50% at 50% 45%, rgba(18, 42, 68, 0.5), rgba(18, 42, 68, 0) 75%);
  animation: v36mmglow 16s var(--BREATH) infinite alternate;
}
@keyframes v36mmglow {
  0% { transform: translate3d(-3.5%, -2%, 0) scale(1); }
  100% { transform: translate3d(3.5%, 3%, 0) scale(1.09); }
}
.over-content .header-menu { background: transparent !important; }
/* тема задаёт .header-menu{height:100%} — это растягивало меню и ломало геометрию липкого футера */
.over-content .header-menu { height: auto !important; }
/* вертикальный скролл меню — нативный; горизонтальный жест — наш свайп-закрытие */
.over-content:has(.header-menu) { touch-action: pan-y; }
/* v36-fix (21.08): .header-menu-content в разметке темы НЕТ (мёртвый селектор, P-03) —
   раскладку назначаем реальному контейнеру .menu-wrapper: воздух сверху под крестик,
   читабельная колонка 460px по центру панели; боковые 40px = сетка футера меню
   (нумерация пунктов начинается на 42px — визуально совпадает с футером) */
.over-content .menu-wrapper { padding: clamp(48px, 8vh, 72px) 40px 40px; max-width: 460px; margin: 0 auto; box-sizing: border-box; }

/* v36-fix (21.08, регрессия 768+): тема ov.css на ≥768px открывает панель транзитом
   translateX(50%) — полноширинная панель уезжала наполовину за экран, центрированная
   колонка резалась пополам. Делаем честную правую панель: ширина min(560px, 52%),
   прячется полностью, остальное экран — дымка .over-container */
@media (min-width: 768px) {
  .over-container .over-content:has(.header-menu) {
    width: min(560px, 52%);
    margin-left: auto;
    transform: translateX(100%);
  }
  .over-container.is_show .over-content:has(.header-menu) { transform: translateX(0); }
}

/* уровень 1 — сериф, крупно, с каскадным появлением */
.over-content .menu-items.level-1 > li {
  margin: 0 !important;
  border-bottom: 1px solid rgba(242, 223, 160, 0.12);
  opacity: 0;
  transform: translateX(34px);
  transition: opacity 0.5s var(--EO), transform 0.5s var(--EO);
}
.over-container.is_show .menu-items.level-1 > li { opacity: 1; transform: none; }
.over-container.is_show .menu-items.level-1 > li:nth-child(1) { transition-delay: 0.10s; }
.over-container.is_show .menu-items.level-1 > li:nth-child(2) { transition-delay: 0.17s; }
.over-container.is_show .menu-items.level-1 > li:nth-child(3) { transition-delay: 0.24s; }
.over-container.is_show .menu-items.level-1 > li:nth-child(4) { transition-delay: 0.31s; }
.over-container.is_show .menu-items.level-1 > li:nth-child(5) { transition-delay: 0.38s; }
.over-content .menu-items.level-1 > li > a {
  /* display:block обязателен: шеврон ::after позиционируется right:4px от бокса ссылки;
     при inline-ссылке (сайт без legacy-стилей темы, a26) шеврон «прилипал» к тексту
     вместо правой кромки колонки. На детоксе block задавался legacy ov.css — регрессии нет. */
  display: block;
  font-family: var(--serif);
  font-size: clamp(21px, 5.2vw, 26px) !important;
  font-weight: 400;
  letter-spacing: -0.01em;
  color: var(--parch) !important;
  padding: 13px 0 !important;
  line-height: 1.25;
  border-bottom: 0 !important;
  transition: color 0.25s var(--EO), padding-left 0.35s var(--EO);
}
.over-content .menu-items.level-1 > li > a:hover,
.over-content .menu-items.level-1 > li > a.active {
  color: var(--g2) !important;
  padding-left: 10px !important;
}

/* уровень 2 — тихие подпункты с золотым ромбом */
.over-content .menu-items.level-2 {
  margin: 0 0 8px !important;
  padding: 2px 0 8px 14px !important;
  background: transparent !important;
  border-left: 1px solid rgba(242, 223, 160, 0.16);
}
.over-content .menu-items.level-2 li { margin: 0 !important; border-bottom: 0 !important; }
.over-content .menu-items.level-2 a {
  font-size: 14.5px !important;
  font-weight: 300;
  color: var(--mutedd) !important;
  padding: 7px 0 7px 14px !important;
  line-height: 1.4;
  position: relative;
  border-bottom: 0 !important;
  display: block;
}
.over-content .menu-items.level-2 a::before {
  content: "◆";
  position: absolute;
  left: -5px;
  top: 10px;
  font-size: 7px;
  color: var(--gold);
}
.over-content .menu-items.level-2 a:hover { color: var(--g2) !important; text-decoration: none !important; }

/* крестик закрытия — золото вместо красного */
.over-container .overheight_close_button:before,
.over-container .overheight_close_button:after { background: var(--g2) !important; }

/* v36-fix (21.08): зона нажатия крестика 44×44 (было 20×22), safe-area для notch,
   видимый крест остаётся 20px — псевдоэлементы центрируются margin:auto темы */
.over-container .overheight_close_button {
  width: 44px !important; height: 44px !important;
  top: calc(8px + env(safe-area-inset-top, 0px)) !important;
  right: calc(8px + env(safe-area-inset-right, 0px)) !important;
}
.over-container .overheight_close_button:before,
.over-container .overheight_close_button:after { width: 20px !important; }

/* контактный низ меню (инжектится JS в .over-container): fixed к вьюпорту — на iOS
   встаёт прямо над панелью браузера (sticky к 100vh-контейнеру там «провисал») */
.v36-mmenu-foot {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 5;
  margin: 0;
  padding: 16px 40px calc(12px + env(safe-area-inset-bottom, 0px));
  text-align: left;
  background: #03152A;
  border-top: 1px solid rgba(242, 223, 160, 0.16);
  box-shadow: 0 -14px 30px rgba(3, 21, 42, 0.55);
}
/* десктоп: панель меню — правая половина, футер повторяет её ширину */
@media (min-width: 768px) {
  .v36-mmenu-foot { left: 50%; }
}
.v36-mmenu-foot .v36-mmenu-tel {
  font-family: var(--serif);
  font-size: clamp(20px, 5.4vw, 26px);
  color: #fff;
  text-decoration: none;
  border-bottom: 1px solid rgba(242, 223, 160, 0.4);
  padding-bottom: 4px;
}
.v36-mmenu-foot .v36-mmenu-acts {
  display: flex;
  gap: 10px;
  margin-top: 14px;
  flex-wrap: wrap;
}
.v36-mmenu-foot .v36-btn { flex: 1 1 100%; min-height: 44px; padding: 12px 20px; }
.v36-mmenu-foot .v36-mmenu-addr {
  margin-top: 12px;
  font-size: 11.5px;
  color: var(--mutedd2);
  line-height: 1.55;
}

/* ============ Меню v2 (19.08): аккордеон, мир-подложка, ease ============ */
/* панель едет с фирменным ease, не линейно */
.over-container .over-content { transition: transform 0.5s var(--EO) !important; }

/* «мир» внутри меню: знак дышит, свечение; оба движутся за скроллом меню (--mm-shift) */
.v36-mmenu-world {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.v36-mmenu-world .w-glow {
  position: absolute;
  width: 120vmax; height: 120vmax;
  left: 62%; top: calc(30% + var(--mm-shift, 0px) * -0.5);
  transform: translate(-50%, -50%);
  background: radial-gradient(closest-side, rgba(214, 179, 102, 0.14), rgba(214, 179, 102, 0) 72%);
}
.v36-mmenu-world .w-mark {
  position: absolute;
  left: 50%; top: calc(44% + var(--mm-shift, 0px) * -0.3);
  width: min(96vw, 460px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  background: url("/redesign/mark.webp") center / contain no-repeat;
  opacity: 0.1;
  animation: v36breathe 9s var(--BREATH) infinite;
}
.over-content .header-menu { position: relative; z-index: 1; }

/* аккордеон подменю: свёрнуто по умолчанию, раскрыт активный раздел */
.over-content .menu-items.level-1 > li.v36-has-sub > ul.level-2 {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-left-color: transparent;
  transition: max-height 0.45s var(--EO), opacity 0.35s var(--EO), padding 0.35s var(--EO);
}
.over-content .menu-items.level-1 > li.v36-has-sub.open > ul.level-2 {
  max-height: 460px;
  opacity: 1;
  margin: 0 0 8px !important;
  padding: 2px 0 8px 14px !important;
  border-left-color: rgba(242, 223, 160, 0.16);
}
/* шеврон на родительском пункте */
.over-content .menu-items.level-1 > li.v36-has-sub > a::after {
  content: "›";
  position: absolute;
  right: 4px;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  font-size: 22px;
  line-height: 1;
  color: var(--gold);
  transition: transform 0.35s var(--EO), color 0.25s var(--EO);
}
.over-content .menu-items.level-1 > li.v36-has-sub.open > a::after {
  transform: translateY(-50%) rotate(-90deg);
  color: var(--g2);
}
/* ссылка «Перейти в раздел →» — только внутри мобильного оверлея (на десктопе скрыта) */
.menu-items.level-2 > li.v36-goto { display: none; }
.over-content .menu-items.level-2 > li.v36-goto { display: block; }
.over-content .menu-items.level-2 > li.v36-goto > a {
  color: var(--g2) !important;
  font-weight: 500;
}
.over-content .menu-items.level-2 > li.v36-goto > a::before { content: "→"; left: -14px; top: 7px; font-size: 12px; color: var(--gold); }

/* ============ меню v36 — «интереснее»: проявление ============ */
/* редакционная нумерация 01–05 убрана по решению владельца (21.08) —
   пункты выравниваются по левой кромке колонки (сетка футера) */
.over-content .menu-items.level-1 > li > a { position: relative; }
/* контактный низ — всплывает последним */
.v36-mmenu-foot { animation: v36fadeup 0.6s var(--EO) 0.45s both; }
@keyframes v36fadeup {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: none; }
}

/* отзывы: гигантская кавычка-водяной знак темы (50% ширины карточки!) → компактный знак */
.reviews-block .reviews-item:before {
  width: 54px !important;
  height: 54px !important;
  max-width: none;
  opacity: 0.35;
  top: 18px;
  right: 20px;
}
/* фото Скляровой на /vrachi/: лицо внизу кадра — поднимаем фокус */
.post-item-image img[src*="sklyarova"] { object-position: center 22% !important; }

/* ============ итерация 10 (19.08): карточки без фото + h1 контактов ============ */
/* карточки с пустым src (отзывы без фото, заглушки): фото-зону скрываем,
   карточка становится элегантной цитатной с золотой кавычкой */
.posts-block .post-item-image:has(img[src=""]) { display: none; }
.posts-block .post-item:has(.post-item-image img[src=""]) .post-item-desc { padding: 28px 30px; }
.posts-block .post-item:has(.post-item-image img[src=""]) .post-item-title h4 {
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.posts-block .post-item:has(.post-item-image img[src=""]) .post-item-title h4::before {
  content: "«";
  font-family: var(--serif);
  font-size: 34px;
  line-height: 0;
  color: var(--gold);
  transform: translateY(6px);
}
/* контакты: заголовок стал h1 (был h2) — сохраняем вид в духе макета */
.page-contacts .text-block h1 {
  font-family: var(--serif);
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 500;
  color: var(--abyss);
  letter-spacing: -0.01em;
  margin: 0 0 18px;
}

/* ============ итерация 9 (19.08): финальный CTA подвала (макет v36-16) ============ */
.v36-final {
  position: relative;
  text-align: center;
  padding: clamp(36px, 6vh, 64px) 0 clamp(30px, 5vh, 52px);
}
.v36-final-mark {
  display: block;
  width: 76px;
  height: 76px;
  margin: 0 auto 20px;
  animation: v36breathe 9s var(--BREATH) infinite;
}
.v36-final-title {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(30px, 4.6vw, 54px);
  line-height: 1.14;
  letter-spacing: -0.01em;
  color: var(--parch);
  margin: 0 0 16px;
}
.v36-final-title em { font-style: italic; color: var(--g2); }
.v36-final-sub {
  color: var(--mutedd);
  font-size: 15px;
  line-height: 1.6;
  margin: 0 0 26px;
}
.v36-final-acts {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 26px;
}
.v36-final-phone {
  display: inline-block;
  font-family: var(--serif);
  font-size: clamp(24px, 3vw, 34px);
  color: var(--parch);
  text-decoration: underline;
  text-underline-offset: 7px;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(242, 223, 160, 0.35);
  transition: color 0.25s var(--EO);
}
.v36-final-phone:hover { color: var(--g2); }
@media (max-width: 560px) {
  .v36-final-acts .v36-btn { width: 100%; }
  .v36-final-sub br { display: none; }
}

/* уплотнение контактного низа меню */
.v36-mmenu-foot .v36-mmenu-acts { margin-top: 14px; }
.v36-mmenu-foot .v36-mmenu-addr { margin-top: 12px; }

/* подвал тёмной главной — прозрачный, как в макете: сквозь него живой мир-фон
   (синяя заливка остаётся только на светлых внутренних страницах) */
body:has(.v36-dark) footer { background: transparent !important; }
/* свой водяной знак подвала на главной убираем — за него работает мир-знак, иначе дубль */
body:has(.v36-dark) footer::before { content: none; }

/* ============ итерация 11 (19.08): профили врачей .v36-doc (светлые страницы) ============
   Страницы врачей пришли из CMS пустыми (только h1). Профиль собран
   из существующих данных сайта (partials: фото, специальность, стаж) —
   ни одного нового факта. */
.v36-doc {
  display: grid;
  grid-template-columns: minmax(280px, 400px) 1fr;
  gap: clamp(32px, 5.5vw, 76px);
  align-items: center;
  padding: clamp(36px, 6vh, 72px) 0 clamp(30px, 5vh, 56px);
}
.v36-doc-photo {
  position: relative;
  aspect-ratio: 3 / 4;
  border-radius: 200px 200px 18px 18px;
  overflow: hidden;
  border: 1px solid var(--linel);
  background: linear-gradient(160deg, var(--paper), var(--parch));
  box-shadow: 0 30px 60px -30px rgba(14, 34, 61, 0.35), 0 0 0 8px rgba(214, 179, 102, 0.08);
}
.v36-doc-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.9s var(--EO);
}
.v36-doc:hover .v36-doc-photo img { transform: scale(1.03); }
.v36-doc-exp {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--golddeep);
  border: 1px solid rgba(173, 130, 71, 0.45);
  border-radius: 999px;
  padding: 8px 18px;
  margin-bottom: 20px;
}
.v36-doc h1 {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(32px, 4.6vw, 54px);
  line-height: 1.12;
  letter-spacing: -0.01em;
  color: var(--abyss);
  margin: 0 0 16px;
}
.v36-doc h1 em { font-style: italic; color: var(--golddeep); }
.v36-doc-spec {
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--mutel);
  margin: 0 0 28px;
  max-width: 46ch;
}
.v36-doc-acts {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 26px;
}
/* светлые варианты кнопок v36 (базовые .v36-btn-g/-w — под тёмный фон) */
.v36-btn-p { background: var(--abyss); color: var(--parch); border-color: var(--abyss); }
.v36-btn-p:hover { background: var(--gold); border-color: var(--gold); color: var(--abyss); }
.v36-btn-o { border-color: rgba(14, 34, 61, 0.35); color: var(--abyss); }
.v36-btn-o:hover { border-color: var(--golddeep); color: var(--golddeep); }
.v36-doc-phone {
  display: inline-block;
  font-family: var(--serif);
  font-size: clamp(24px, 2.8vw, 33px);
  color: var(--abyss);
  text-decoration: underline;
  text-underline-offset: 7px;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(173, 130, 71, 0.4);
  transition: color 0.25s var(--EO);
  margin-bottom: 10px;
}
.v36-doc-phone:hover { color: var(--golddeep); }
.v36-doc-note { font-size: 13px; color: var(--mutel); margin: 0; }
.v36-doc-back {
  display: inline-block;
  margin-top: 26px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--steel);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color 0.25s var(--EO), border-color 0.25s var(--EO);
}
.v36-doc-back:hover { color: var(--golddeep); border-color: rgba(173, 130, 71, 0.4); }
@media (max-width: 860px) {
  .v36-doc { grid-template-columns: 1fr; gap: 30px; text-align: center; }
  .v36-doc-photo { max-width: 330px; margin: 0 auto; width: 100%; }
  .v36-doc-spec { margin-left: auto; margin-right: auto; }
  .v36-doc-acts { justify-content: center; }
}
@media (max-width: 560px) {
  .v36-doc-acts .v36-btn { width: 100%; }
}

/* итерация 11б: отзывы на СВЕТЛЫХ страницах — бумажные карточки.
   Тема красит .reviews-block .reviews-item в --color1 (0-2-1) — перебиваем
   скоупом body:not(:has(.v36-dark)), тёмная главная не затрагивается. */
body:not(:has(.v36-dark)) .reviews-block .reviews-item {
  background: var(--paper);
  color: var(--inkl);
  border: 1px solid var(--linel);
  border-radius: 20px;
  box-shadow: 0 14px 36px rgba(14, 34, 61, 0.06);
}
body:not(:has(.v36-dark)) .reviews-block .reviews-item-title h4 { color: var(--abyss); }
body:not(:has(.v36-dark)) .reviews-block .reviews-item-text,
body:not(:has(.v36-dark)) .reviews-block .reviews-item p { color: var(--mutel); }

/* итерация 11в: cookie-баннер в дизайн-системе (тёмное стекло + золото).
   Белый фон в модуле сидит на .cookies-notice-inner — стилизуем его,
   контейнер оставляем прозрачным (у него лишь отступы/позиционирование). */
.cookies-notice-container {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.cookies-notice-inner {
  background: rgba(14, 34, 61, 0.94) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(214, 179, 102, 0.35) !important;
  border-radius: 16px !important;
  box-shadow: 0 24px 60px -20px rgba(3, 21, 42, 0.55) !important;
  padding: 18px 20px !important;
}
.cookies-notice-inner p {
  color: #D7DFE9 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}
.cookies-notice-inner p strong { color: var(--parch) !important; }
.cookies-notice-inner a {
  color: var(--g2) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: rgba(242, 223, 160, 0.4);
}
.cookies-notice-inner a:hover { color: var(--gold) !important; }
.cookies-notice-inner button {
  background: var(--gold) !important;
  color: var(--abyss) !important;
  border: none !important;
  border-radius: 0 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  padding: 12px 26px !important;
  transition: background 0.25s var(--EO), color 0.25s var(--EO) !important;
}
.cookies-notice-inner button:hover { background: var(--g2) !important; }

/* ==========================================================================
   ИТЕРАЦИЯ 12 (20.08): ТЁМНЫЕ ВНУТРЕННИЕ СТРАНИЦЫ — эталон = главная.
   Всё scoped под .v36-dark: внутренние page.tsx оборачиваются в тот же
   класс, что и главная. Тексты/URL/SEO не тронуты — только визуальный слой.
   ========================================================================== */

/* --- отступы под фиксированную шапку: баннер уходит под стекло, как hero главной --- */
.v36-dark .page-banner { padding-top: calc(var(--hdr-h, 72px) + 92px); }
/* страницы без баннера: контент не прячем под фикс-шапку и полосу меню */
.v36-dark .page:not(:has(.page-banner)) { padding-top: calc(var(--hdr-h, 72px) + 118px); }
@media (max-width: 1023px) {
  /* мобильная: полосы меню нет (бургер), шапка ниже */
  .v36-dark .page-banner { padding-top: calc(var(--hdr-h, 64px) + 34px); }
  .v36-dark .page:not(:has(.page-banner)) { padding-top: calc(var(--hdr-h, 64px) + 40px); }
}

/* --- типографика длинных текстов на глубине --- */
.v36-dark .page h1, .v36-dark .page h2, .v36-dark .page h3, .v36-dark .page h4,
.v36-dark .page-title h1 { color: var(--parch); }
.v36-dark .text-block h2, .v36-dark .text-block h3 { letter-spacing: -0.005em; }
.v36-dark .text-block p, .v36-dark .text-block li { color: #C4D0DC; }
.v36-dark .text-block { line-height: 1.7; }
.v36-dark .text-block strong, .v36-dark .text-block b { color: var(--parch); }
.v36-dark .text-block a { color: var(--g2); text-decoration-color: rgba(242, 223, 160, 0.4); }
.v36-dark .text-block a:hover { color: var(--gold); }
.v36-dark .text-block li::marker { color: var(--gold); }
.v36-dark .text-block hr { border-color: rgba(242, 223, 160, 0.15); }
.v36-dark .text-block img { border-radius: 14px; box-shadow: 0 18px 44px -18px rgba(3, 21, 42, 0.6); }
/* h1 контактов из итерации 10 — тёмный вариант */
.v36-dark .page-contacts .text-block h1 { color: var(--parch); }

/* --- плашки-пункты списков: стекло вместо бумаги --- */
.v36-dark .page .text-block .list-blocks li {
  background: rgba(19, 45, 78, 0.45) !important;
  color: #C4D0DC !important;
  box-shadow: inset 0 0 0 1px rgba(242, 223, 160, 0.14);
}
.v36-dark .page .text-block .list-blocks li strong { color: var(--parch); }

/* --- контакты на глубине --- */
.v36-dark .contacts p { color: #C4D0DC; }
.v36-dark .contacts p span:first-child { color: var(--mutedd); }
.v36-dark .contacts a.phone { color: var(--g2); }
.v36-dark .contacts a.phone:hover { color: var(--gold); }
.v36-dark .contacts-map {
  border: 1px solid rgba(242, 223, 160, 0.18);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 24px 60px -24px rgba(3, 21, 42, 0.6);
}

/* --- профиль врача .v36-doc: тёмный вариант --- */
.v36-dark .v36-doc-photo {
  border-color: rgba(242, 223, 160, 0.2);
  background: rgba(19, 45, 78, 0.45);
  box-shadow: 0 30px 60px -30px rgba(3, 21, 42, 0.7), 0 0 0 8px rgba(214, 179, 102, 0.06);
}
.v36-dark .v36-doc h1 { color: var(--parch); }
.v36-dark .v36-doc h1 em { color: var(--g2); }
.v36-dark .v36-doc-spec { color: var(--mutedd); }
.v36-dark .v36-doc-exp { color: var(--g2); border-color: rgba(214, 179, 102, 0.5); }
.v36-dark .v36-doc .v36-btn-p { background: var(--gold); border-color: var(--gold); color: var(--abyss); }
.v36-dark .v36-doc .v36-btn-p:hover { background: var(--g2); border-color: var(--g2); }
.v36-dark .v36-doc .v36-btn-o { border-color: rgba(255, 255, 255, 0.38); color: #fff; }
.v36-dark .v36-doc .v36-btn-o:hover { border-color: var(--gold); color: var(--g2); }
.v36-dark .v36-doc-phone { color: var(--parch); text-decoration-color: rgba(242, 223, 160, 0.35); }
.v36-dark .v36-doc-phone:hover { color: var(--g2); }
.v36-dark .v36-doc-note { color: var(--mutedd); }
.v36-dark .v36-doc-back { color: var(--mutedd); }
.v36-dark .v36-doc-back:hover { color: var(--g2); border-color: rgba(242, 223, 160, 0.4); }

/* итерация 12б: корневой фон тёмных страниц — убирает белый rubber-band
   (overscroll iOS/macOS) и артефакт полностраничных скриншотов */
html:has(.v36-dark) { background: #071D33; }

/* 404 на глубине */
.v36-dark.error404-wrapper, .v36-dark .error404 h1, .v36-dark .error404 h2 { color: var(--parch); }
.v36-dark .error404 p { color: #C4D0DC; }
.v36-dark .error404 a { color: var(--g2); }
.v36-dark .error404 a:hover { color: var(--gold); }

/* ============ a11y-пакет (21.08, PageSpeed) ============ */
/* карточные заголовки переведены h4→h3 (heading-order) — алиасы стилей темы и редизайна */
.posts-block .post-item-title h3 { margin: 10px 0; font-size: 20px; font-weight: 700; }
.post-item-title h3 { font-family: var(--serif); font-size: 21px; font-weight: 500; color: var(--abyss); }
.reviews-item-title h3 { font-size: 18px; line-height: 1.2; font-weight: 700; margin: 0; font-family: var(--serif); }
.v36-dark .post-item-title h3 { color: var(--parch); }
.v36-dark .v36-sheet .post-item-title h3 { color: var(--inkl); }
.posts-block .post-item:has(.post-item-image img[src=""]) .post-item-title h3 { display: flex; align-items: baseline; gap: 10px; }
.posts-block .post-item:has(.post-item-image img[src=""]) .post-item-title h3::before {
  content: "«"; font-family: var(--serif); font-size: 34px; line-height: 0;
}
body:not(:has(.v36-dark)) .reviews-block .reviews-item-title h3 { color: var(--abyss); }
.page .text-block h3 { font-size: 18px; }
@media (max-width: 1024px) { .page .text-block h3 { font-size: 20px; } }

/* контраст 4.5:1 (AA): дисклеймер в подвале и ссылка «Политики» */
footer .footer-notice p { color: #B0C0D0; }
footer .footer-notice a { color: var(--g2) !important; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(242, 223, 160, 0.4); }
