/* ================================================================
   Общее оформление внутренних страниц сайта МирМед: лента новостей,
   отдельные страницы владельца, словарь жалоб. Волна 126 (23.09.2026).

   До этой волны страницы жили в светлом оформлении волны 67, а главная
   с волны 74 — в тёмном «Нейро» (Liquid Glass, системный синий, чёрный
   фон). Владелец: «дизайн новых страниц тоже как Нейро должен быть».
   Теперь один мир: те же токены, что на главной, стеклянные карточки,
   тот же синий, те же радиусы и шрифт. Главная по-прежнему самодостаточна
   (у неё нет внешних файлов на пути к первому экрану); если правите цвета
   здесь — правьте и там.

   Имена старых переменных (--ink-900, --mint-400, --paper-soft…) оставлены:
   их знает тема из админки (site-pages.js → applyTheme).
   ================================================================ */
:root {
  /* Токены главной */
  --bg:#050507;
  --glass-rgb:28, 28, 32;
  --glass:rgba(var(--glass-rgb), .55);
  --glass-line:rgba(255,255,255,.10);
  --line:rgba(255,255,255,.08);
  --ink:#f5f5f7;
  --muted:#a3a3ac;
  --subtle:#7c7c85;
  --blue:#0a84ff;
  --blue-soft:#7cbfff;
  --indigo:#5e5ce6;
  --teal:#40c8e0;
  --green:#30d158;
  --orange:#ff9f0a;
  --pink:#ff375f;
  --font:-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Inter', system-ui, 'Segoe UI', Roboto, sans-serif;
  --mono:'SF Mono', 'JetBrains Mono', ui-monospace, Menlo, Consolas, monospace;
  --ease:cubic-bezier(.32,.72,0,1);
  --r-2xl:26px;
  --r-btn:12px;
  --radius:18px;
  --container:1180px;
  /* Имена, которые знает тема из админки */
  --ink-900:#050507; --ink-800:#0b0b10; --ink-700:#1c1c20; --ink-600:#26262c;
  --mint-300:#7cbfff; --mint-400:#0a84ff; --mint-500:#0a84ff; --mint-600:#0066d6; --mint-700:#0052ad;
  --sun-300:#ffc46b; --sun-400:#ff9f0a;
  --paper:#f5f5f7; --paper-soft:#f5f5f7; --paper-line:rgba(255,255,255,.10);
  --gray-900:#f5f5f7; --gray-700:#d6d6dc; --gray-500:#a3a3ac; --gray-400:#7c7c85;
  --shadow-sm:0 1px 2px rgba(0,0,0,.4);
  --shadow-md:0 18px 40px rgba(0,0,0,.45);
  --shadow-lg:0 30px 70px rgba(0,0,0,.55);
  --glow:0 0 0 1px rgba(10,132,255,.25), 0 18px 50px rgba(10,132,255,.28);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
html, body { margin:0; padding:0; }
body {
  font-family:var(--font); font-size:15px; line-height:1.55;
  color:var(--ink); background:var(--ink-900);
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
  /* Тихое свечение сверху — отголосок мозга из частиц на главной, без WebGL */
  background-image:
    radial-gradient(900px 420px at 70% -120px, rgba(10,132,255,.18), transparent 70%),
    radial-gradient(600px 300px at 10% 0, rgba(94,92,230,.12), transparent 70%);
  background-repeat:no-repeat;
}
img, svg { max-width:100%; }
a { color:var(--blue-soft); text-decoration:none; }
a:hover { text-decoration:underline; }
:focus-visible { outline:none; box-shadow:0 0 0 4px rgba(10,132,255,.45); border-radius:8px; }
.container { max-width:var(--container); margin:0 auto; padding:0 24px; }
h1, h2, h3 { line-height:1.1; letter-spacing:-.028em; margin:0; text-wrap:balance; }
section { position:relative; }

/* ---------- Появление при прокрутке ----------
   Если скрипт не отработал, класс no-js держит всё видимым: страница
   не должна остаться пустой из-за анимации. */
[data-rise] { opacity:0; transform:translateY(22px); }
[data-rise].is-in { opacity:1; transform:none; transition:opacity .7s var(--ease), transform .7s var(--ease); }
.no-js [data-rise] { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) { [data-rise] { opacity:1; transform:none; transition:none; } }

/* ---------- Шапка: стекло, как на главной ---------- */
.topbar {
  position:sticky; top:0; z-index:60;
  background:rgba(5,5,7,.72);
  -webkit-backdrop-filter:saturate(160%) blur(18px); backdrop-filter:saturate(160%) blur(18px);
  border-bottom:1px solid var(--line);
}
.topbar-inner { max-width:var(--container); margin:0 auto; padding:12px 24px; display:flex; align-items:center; gap:18px; }
.brand { display:flex; align-items:center; gap:10px; font-weight:700; font-size:17px; color:#fff; }
.brand:hover { text-decoration:none; }
.brand-mark {
  width:34px; height:34px; border-radius:10px;
  background:linear-gradient(135deg, var(--blue), var(--indigo));
  display:grid; place-items:center; box-shadow:0 6px 18px rgba(10,132,255,.35), inset 0 1px 0 rgba(255,255,255,.3);
}
.nav { margin-left:auto; display:flex; gap:22px; align-items:center; }
.nav a { font-size:14px; color:rgba(255,255,255,.78); font-weight:500; white-space:nowrap; }
/* 🔎 Волна 123: страницы владельца ставятся в <span id="nav-pages"> — он не должен ломать промежутки flex-меню */
#nav-pages { display: contents; }
.nav a:hover { color:#fff; text-decoration:none; }
@media (max-width: 960px) { .nav .nav-hide { display:none; } }
@media (max-width: 560px) {
  .nav .btn-primary { display:none; }
  .topbar-inner { padding:10px 16px; gap:10px; }
  .brand { font-size:16px; }
  .brand-mark { width:30px; height:30px; }
}

/* ---------- Кнопки: как на главной ---------- */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font:inherit; font-weight:600; font-size:14px;
  padding:11px 20px; border-radius:var(--r-btn); border:1px solid transparent;
  cursor:pointer; transition:transform .2s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease);
  position:relative; overflow:hidden; text-decoration:none; color:#fff; white-space:nowrap;
}
.btn:hover { text-decoration:none; transform:translateY(-2px); }
.btn:active { transform:translateY(0); }
.btn-lg { font-size:16px; padding:15px 28px; border-radius:14px; }
.btn-primary {
  background:linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0) 45%), var(--blue);
  box-shadow:0 12px 32px rgba(10,132,255,.42), inset 0 1px 0 rgba(255,255,255,.3);
}
.btn-primary:hover { box-shadow:0 18px 44px rgba(10,132,255,.55), inset 0 1px 0 rgba(255,255,255,.3); }
.btn-primary::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(110deg, transparent 25%, rgba(255,255,255,.5) 48%, transparent 70%);
  transform:translateX(-130%);
}
.btn-primary:hover::after { transform:translateX(130%); transition:transform .9s var(--ease); }
.btn-ghost { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.22); }
.btn-ghost:hover { background:rgba(255,255,255,.12); }
.btn-light { background:rgba(255,255,255,.92); color:var(--ink-900); }
.btn-light:hover { background:#fff; }

/* ---------- Стеклянная карточка ---------- */
.glass, .news-card, .blk-card, .faq-item {
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.015) 40%), var(--glass);
  border:1px solid var(--glass-line); border-radius:var(--r-2xl);
  -webkit-backdrop-filter:saturate(160%) blur(22px); backdrop-filter:saturate(160%) blur(22px);
  box-shadow:0 30px 70px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.14);
}

/* ---------- Заголовок страницы ---------- */
.page-head { padding:72px 0 30px; position:relative; }
.page-head-inner { position:relative; max-width:var(--container); margin:0 auto; padding:0 24px; }
.page-head h1 { font-size:clamp(32px, 4.6vw, 56px); font-weight:800; margin-bottom:14px; overflow-wrap:anywhere; }
/* «Политика конфиденциальности»: одно слово шире экрана телефона при 32px */
@media (max-width: 560px) { .page-head h1 { font-size:clamp(24px, 7.6vw, 30px); } .news-head h1, .news-one h1 { font-size:clamp(24px, 7.6vw, 30px); overflow-wrap:anywhere; } }
.page-head p { font-size:clamp(15px, 1.6vw, 19px); color:var(--muted); max-width:36em; margin:0; }
.page-empty, .news-empty { text-align:center; color:var(--muted); padding:70px 24px; }
.eyebrow { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--blue-soft); margin-bottom:12px; }
.hero-sub { font-size:clamp(15px, 1.5vw, 18px); color:var(--muted); max-width:36em; margin:0 0 26px; }

/* ---------- Лента новостей ---------- */
.news-wrap { padding:56px 0 90px; min-height:60vh; }
.news-head { max-width:var(--container); margin:0 auto 34px; padding:0 24px; }
.news-head h1 { font-size:clamp(30px, 4.2vw, 50px); font-weight:800; margin-bottom:10px; }
.news-head p { color:var(--muted); font-size:16px; margin:0; }
.news-grid { max-width:var(--container); margin:0 auto; padding:0 24px; display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:18px; }
.news-card { display:flex; flex-direction:column; overflow:hidden; color:inherit; transition:transform .3s var(--ease), border-color .3s var(--ease); }
.news-card:hover { transform:translateY(-4px); border-color:rgba(10,132,255,.45); text-decoration:none; }
.news-card img { width:100%; aspect-ratio:16/9; object-fit:cover; background:rgba(255,255,255,.04); display:block; }
.news-card-body { padding:20px 22px 22px; display:flex; flex-direction:column; gap:8px; flex:1; }
.news-date { font-size:12px; color:var(--blue-soft); font-weight:600; letter-spacing:.04em; }
.news-card h2 { font-size:19px; font-weight:700; line-height:1.25; }
.news-card p { font-size:14px; color:var(--muted); margin:0; }
.news-more { margin-top:auto; font-size:13px; font-weight:600; color:var(--blue-soft); }
.news-one { max-width:760px; margin:0 auto; padding:0 24px; }
.news-one h1 { font-size:clamp(28px, 3.8vw, 44px); font-weight:800; margin-bottom:12px; }
.news-one .news-date { display:block; margin-bottom:18px; }
.news-one img { width:100%; border-radius:var(--radius); margin:6px 0 24px; box-shadow:var(--shadow-md); }
.news-one .news-body { font-size:17px; line-height:1.7; color:rgba(245,245,247,.86); white-space:pre-line; overflow-wrap:anywhere; }
.news-back { display:inline-block; margin-top:34px; font-size:14px; font-weight:600; }

/* ================================================================
   УЧАСТКИ, ДОБАВЛЕННЫЕ ВЛАДЕЛЬЦЕМ (волна 65). Светлый и тёмный вид —
   выбор владельца в редакторе: на тёмном сайте «светлый» участок —
   это стеклянная панель, «тёмный» — чистый фон.
   ================================================================ */
.blk { padding:14px 0; }
.page-head + * .blk:first-child, main > .blk:first-child { padding-top:0; }
.blk--dark { color:#fff; }
.blk--light { color:var(--ink); }
.blk--light .blk-inner {
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.012) 50%), rgba(255,255,255,.02);
  border:1px solid var(--line); border-radius:var(--r-2xl); padding:34px 32px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09);
}
.blk-inner { max-width:var(--container); margin:0 auto; padding:0 24px; }
@media (max-width: 860px) { .blk { padding:10px 0; } .blk--light .blk-inner { padding:22px 16px; border-radius:20px; } .page-head { padding:44px 0 22px; } }
.blk-eyebrow { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--blue-soft); margin-bottom:12px; }
.blk h2 { font-size:clamp(24px, 3.2vw, 38px); font-weight:800; margin-bottom:14px; }
.blk p { font-size:16px; line-height:1.65; margin:0 0 14px; color:var(--muted); white-space:pre-line; overflow-wrap:anywhere; }
.blk-inner, .news-one, .news-card-body { min-width:0; }
.blk h2, .blk h3, .news-one h1, .news-card h2 { overflow-wrap:anywhere; }
.blk-split { display:grid; grid-template-columns:1fr 1fr; gap:44px; align-items:center; }
.blk-split--right .blk-figure { order:2; }
@media (max-width: 860px) { .blk-split { grid-template-columns:1fr; gap:26px; } .blk-split--right .blk-figure { order:0; } }
.blk-figure { margin:0; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-md); background:rgba(255,255,255,.04); border:1px solid var(--line); }
.blk-figure img { width:100%; height:100%; object-fit:cover; display:block; }
.blk-cards { display:grid; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr)); gap:16px; margin-top:22px; }
.blk-card { padding:22px; border-radius:20px; transition:transform .3s var(--ease), border-color .3s var(--ease); }
.blk-card:hover { transform:translateY(-3px); border-color:rgba(10,132,255,.4); }
.blk-card-icon { font-size:26px; margin-bottom:10px; }
.blk-card h3 { font-size:17px; font-weight:700; margin-bottom:6px; color:#fff; }
.blk-card p { font-size:14px; margin:0; }
.blk-quote { max-width:820px; margin:0 auto; text-align:center; }
.blk-quote blockquote { font-size:clamp(19px, 2.4vw, 28px); line-height:1.4; font-weight:600; margin:0 0 18px; color:#fff; }
.blk-quote figcaption { font-size:14px; color:var(--muted); }
.blk-quote img { width:74px; height:74px; border-radius:50%; object-fit:cover; margin:0 auto 16px; display:block; }
.blk-gallery { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:12px; margin-top:22px; }
.blk-gallery img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--radius); display:block; background:rgba(255,255,255,.04); }
.blk-cta { text-align:center; max-width:720px; margin:0 auto; }
.blk-actions { margin-top:8px; }

/* ---------- Подвал: как на главной ---------- */
footer { border-top:1px solid var(--line); padding:34px 0; font-size:12.5px; color:var(--subtle); }
.footer-inner { max-width:var(--container); margin:0 auto; padding:0 24px; display:flex; align-items:center; gap:14px 22px; flex-wrap:wrap; }
.footer-links { margin-left:auto; display:flex; gap:16px; flex-wrap:wrap; }
.footer-links a { color:var(--muted); }
.footer-links a:hover { color:#fff; text-decoration:none; }
.footer-links .foot-social { color:var(--blue-soft); }
.footer-note { width:100%; font-size:12px; color:var(--subtle); line-height:1.6; }
