:root,
:root[data-theme="light"],
[data-theme="light"] {
  --accent: #0085c0;
  --accent-hover: #00679a;
  --accent-soft: oklch(0.95 0.035 235);
  --accent-glow: rgba(0, 133, 192, 0.25);
  --info: #0085c0;
  --info-bg: rgba(0, 133, 192, 0.08);

  --bg-primary: #ffffff;
  --bg-secondary: #ffffff;   /* «день» */
  --bg-tertiary: #f4f1ea;    /* тёплый */
  --text-primary: #1a1b1e;   /* ink */
  --text-secondary: #4a4c52;
  --text-tertiary: #1a1b1e;
  --border: #ece8df;
  --border-hover: #ddd8cc;

  /* собственные токены «Один день» */
  --od-dawn: #fdf4e9;
  --od-day: #fafaf6;
  --od-night: #16181f;
  --od-night-border: #2c303d;
  --od-night-muted: #9aa1b3;
  --od-accent-strong: #00679a;
  --od-font-ui: "Geist", system-ui, -apple-system, sans-serif;
  --od-font-mono: "Geist Mono", ui-monospace, monospace;
  --od-font-voice: "Fraunces", Georgia, serif;
}

/* тёмная тема — тоже на sky, чтобы единообразно */
[data-theme="dark"] {
  --accent: #2bb3ec;
  --accent-hover: #66cdf6;
  --accent-soft: rgba(43, 179, 236, 0.12);
  --accent-glow: rgba(43, 179, 236, 0.25);
  --info: #2bb3ec;
}

/* ---- 2. Шрифты и фон страницы ---- */
body {
  font-family: var(--od-font-ui) !important;
  background-image: linear-gradient(180deg, #fde9d4 0%, #fde9d4 40%, var(--od-day) 100%) !important;
  background-repeat: no-repeat !important;
  background-size: 100% 700px !important;
  background-color: var(--od-day) !important;
  color: var(--text-primary);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  /* На коротких страницах окно занято целиком — подвал прижимается к низу,
     при этом раскладка остаётся блочной (ширина контента не меняется) */
  min-height: 100vh;
}
/* Sticky-footer без влияния на ширину: на коротких страницах прижат к низу окна,
   на длинных ведёт себя как обычный элемент в потоке */
.od-footband { position: sticky; top: 100vh; }
h1, h2, h3, h4, h5, h6,
.sf-navbar-brand-text { font-family: var(--od-font-ui); letter-spacing: -0.02em; }

/* ---- 3. Шапка (sf-navbar) — чище, на тёплом ---- */
.sf-navbar {
  background: rgba(250, 250, 246, 0.82) !important;
  border-bottom: 1px solid var(--border) !important;
}
.sf-navbar-brand-text { font-weight: 600; letter-spacing: -0.03em; }
.sf-nav-site-link {
  background: var(--accent) !important;
  color: #fff !important;
  font-weight: 600 !important;
}
.sf-nav-site-link:hover { background: var(--od-accent-strong) !important; }

/* кнопки платформы — sky + округлые «таблетки» «Один день» */
.sf-btn-primary, .btn-primary {
  background: var(--accent);
  border-color: var(--accent);
}
.sf-btn-primary:hover, .btn-primary:hover {
  background: var(--od-accent-strong);
  border-color: var(--od-accent-strong);
}

/* ---- 4. Подвал (sf-footer) — ночная полоса ---- */
.sf-footer {
  background: var(--od-night) !important;
  border-top: none !important;
  color: var(--od-night-muted) !important;
}
.sf-footer a { color: var(--od-night-muted) !important; }
.sf-footer a:hover { color: #eef0f6 !important; }
.sf-footer h1, .sf-footer h2, .sf-footer h3, .sf-footer h4, .sf-footer strong,
.sf-footer .sf-footer-title, .sf-footer b { color: #eef0f6 !important; }

/* ---- 5. Типографика контента (статьи и лендинги) ----
   Цель — единый «журнальный» вид заголовков/текста/ссылок
   внутри основного контента, не ломая секционные сетки страниц. */
.wrapper, main, article, .sf-container, .about-wrap, .page-content, .seo-content {
  --_od-content: 1;
}
.wrapper h2, main h2, article h2, .page-content h2 {
  letter-spacing: -0.025em;
  position: relative;
}
/* акцентное подчёркивание у h2 как в концепте (через ::before-черту,
   только для заголовков прямого контента, чтобы не задеть карточки) */
.page-content > h2::before,
article > .art-body > h2::before {
  content: "";
  position: absolute; left: 0; top: -12px;
  width: 34px; height: 3px; border-radius: 999px; background: var(--accent);
}
.wrapper p a, .wrapper li a,
.page-content p a, .page-content li a,
.art-body p a, .art-body li a {
  color: var(--od-accent-strong);
  text-decoration-color: color-mix(in srgb, var(--accent) 40%, transparent);
  text-underline-offset: 2px;
}
/* кнопки/карточки/теги внутри контента — не как ссылки */
.wrapper .art-cta-btn, .wrapper .btn, .wrapper .art-related-card, .wrapper .art-tag,
.art-body .art-cta-btn, .art-body .art-related-card, .art-body .art-tag {
  text-decoration: none;
}
.wrapper .art-cta-btn, .art-body .art-cta-btn,
.wrapper .art-cta-btn:hover, .art-body .art-cta-btn:hover { color: #fff; }

/* акцентный текст/иконки/цитаты, заданные через токены, уже стали sky.
   Дополнительно — «голосовые» курсивы Fraunces, если страница их использует */
.voice, .art-cover .ct, .art-quote p, .art-cta + *, .scene-label {
  font-family: var(--od-font-voice);
}

/* ---- 6. Карточки/секции на тёплом фоне читаются мягче ---- */
.sf-card, .card, .sf-section .sf-card { border-color: var(--border); }

/* ---- 7. Мелочи ---- */
::selection { background: var(--accent); color: #fff; }
.sf-tag, .badge { border-radius: 999px; }

/* ============================================================
   Шапка и подвал как в page/index.php (Один день).
   Разметка перенесена в _top.php / _bottom.php; стили scoped
   под .od-topband / .od-footband, чтобы не задеть классы страниц.
   ============================================================ */
:root{
  --ink:#1a1b1e; --ink-muted:#67696e; --ink-subtle:#a4a6ab;
  --accent-strong:#00679a;
  --night:#16181f; --night-fg:#eef0f6; --night-border:#2c303d; --night-muted:#9aa1b3;
  --dawn:#fdf4e9; --day:#fafaf6;
}
.od-wrap{max-width:1180px;margin:0 auto;padding:0 48px;}

/* шапка-полоса (рассвет) */
.od-topband{background:transparent;position:relative;}
.od-topband::before{content:none;}
.od-topband .od-wrap{position:relative;z-index:1;}
.od-topband .site-header{display:flex;justify-content:space-between;align-items:center;padding:22px 0;}
.od-topband .logo{display:inline-flex;align-items:center;gap:11px;font-size:19px;font-weight:600;letter-spacing:-.02em;color:var(--ink);text-decoration:none;}
.od-topband .logo-mark{display:block;border-radius:9px;box-shadow:0 6px 14px -6px color-mix(in oklch,var(--accent) 60%,transparent);}
.od-topband .logo-word .g{color:var(--accent-strong);font-weight:500;}
.od-topband .site-nav{display:flex;gap:26px;font-size:14px;font-weight:500;align-items:center;}
.od-topband .site-nav a{color:var(--ink-muted);text-decoration:none;}
.od-topband .site-nav a:hover{color:var(--ink);}
.od-topband .header-actions{display:flex;gap:8px;align-items:center;}
.od-topband .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border-radius:999px;font-size:13.5px;font-weight:500;font-family:var(--od-font-ui);text-decoration:none;transition:transform .1s,background .15s,color .15s,border-color .15s;}
.od-topband .btn:active{transform:translateY(1px);}
.od-topband .btn-dark{background:var(--ink);color:#fff;}
.od-topband .btn-dark:hover{background:var(--accent-strong);color:#fff;}
.od-topband .btn-line{border:1px solid rgba(26,27,30,.25);color:var(--ink);background:transparent;}
.od-topband .btn-line:hover{border-color:var(--ink);}

/* подвал-полоса (ночь) */
/*.od-footband{background:var(--night);margin-top:56px;}*/
.od-footband{background:var(--night);}
.od-footband .site-footer{display:flex;justify-content:space-between;align-items:center;padding:26px 0;font-size:13px;color:var(--night-muted);}
.od-footband .site-footer span{color:var(--night-muted);}
.od-footband .site-footer nav{display:flex;gap:24px;}
.od-footband .site-footer a{color:var(--night-muted);text-decoration:none;}
.od-footband .site-footer a:hover{color:var(--night-fg);}

@media(max-width:1000px){
  .od-wrap{padding:0 36px;}
  .od-topband .site-nav{display:none;}
}
@media(max-width:760px){
  .od-wrap{padding:0 18px;}
  .od-topband .site-header{padding:16px 0;}
  .od-topband .header-actions .btn-line{display:none;}
  .od-footband .site-footer{flex-direction:column;align-items:flex-start;gap:14px;}
  .od-footband .site-footer nav{flex-wrap:wrap;gap:8px 18px;}
}

/* ═══ Единое выравнивание контента модулей с шапкой (.cn-in: 1240px / 26px) ═══
   Селектор html body … !important выигрывает по специфичности у одиночных
   классов модулей независимо от порядка подключения CSS. Меняем только
   max-width и горизонтальные отступы — вертикальные ритмы модулей сохраняются. */
html body .mui,
html body .sf-admin-wrapper,
html body .st-wrap,
html body .clinic-wrap,
html body .cn-wrap,
html body .dl-wrap,
html body .ev-wrap,
html body .htla-wrap,
html body .pm-wrap,
html body .rl-wrap,
html body .rv-wrap,
html body .ed-wrap,
html body .edsvc-wrap,
html body .adm-wrap,
html body .wt-wrap {
  width: auto !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 26px !important;
  padding-right: 26px !important;
}
@media (max-width: 600px) {
  html body .mui,
  html body .sf-admin-wrapper,
  html body .st-wrap,
  html body .clinic-wrap,
  html body .cn-wrap,
  html body .dl-wrap,
  html body .ev-wrap,
  html body .htla-wrap,
  html body .pm-wrap,
  html body .rl-wrap,
  html body .rv-wrap,
  html body .ed-wrap,
  html body .edsvc-wrap,
  html body .adm-wrap,
  html body .wt-wrap {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
}

/* ═══ Унификация «плоских» шапок модулей под общий hero ═══
   delivery / realty / event / waiter / clinic / service / booking(.st-page-head) */
html body .dl-header,
html body .rl-header,
html body .ev-header,
html body .wt-header,
html body .clinic-header,
html body .ed-header,
html body .st-page-head {
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  background: linear-gradient(118deg,#0085c0 0%,#00679a 58%,#055a86 100%) !important;
  border: 0 !important;
  border-radius: 22px !important;
  padding: 24px 28px !important;
  margin-bottom: 22px !important;
  box-shadow: 0 20px 44px -22px rgba(0,103,154,.7) !important;
  color: #fff !important;
}
html body .dl-header::after,
html body .rl-header::after,
html body .ev-header::after,
html body .wt-header::after,
html body .clinic-header::after,
html body .ed-header::after,
html body .st-page-head::after {
  content: "" !important;
  position: absolute !important;
  right: -80px; top: -120px;
  width: 340px; height: 340px;
  border-radius: 50%;
  background: radial-gradient(closest-side,rgba(255,255,255,.16),transparent 70%);
  pointer-events: none;
}
html body .dl-header > *,
html body .rl-header > *,
html body .ev-header > *,
html body .wt-header > *,
html body .clinic-header > *,
html body .ed-header > *,
html body .st-page-head > * { position: relative; z-index: 1; }
html body .dl-title,
html body .rl-title,
html body .ev-title,
html body .wt-title,
html body .clinic-title,
html body .ed-title,
html body .st-page-head h1 {
  color: #fff !important;
  margin: 0 !important;
  font-size: clamp(1.5rem,3.4vw,2.1rem) !important;
  font-weight: 800 !important;
}
html body .dl-header p,
html body .rl-header p,
html body .ev-header p,
html body .wt-header p,
html body .wt-header .wt-desc,
html body .clinic-header p,
html body .ed-header p,
html body .ed-header .ed-sub,
html body .st-page-head p {
  color: rgba(255,255,255,.85) !important;
  margin: 6px 0 0 !important;
}
/* кнопки в такой шапке — белые на синем */
html body .rl-header .rl-btn,
html body .ev-header .ev-btn,
html body .wt-header .wt-btn,
html body .st-page-head .st-btn {
  background: #fff !important;
  color: #00679a !important;
  border: 0 !important;
}
html body .rl-header .rl-btn:hover,
html body .ev-header .ev-btn:hover,
html body .wt-header .wt-btn:hover,
html body .st-page-head .st-btn:hover { filter: brightness(.95) !important; }

/* ═══ Единый блок «Опасная зона» (.mui-danger) для всех модулей ═══
   Самодостаточные стили (литеральные цвета), чтобы блок одинаково выглядел
   и в bespoke-модулях, не подключающих module-admin.css. */
.mui-danger{
  display:flex; align-items:center; gap:16px; flex-wrap:wrap;
  border:1px solid rgba(210,75,79,.22);
  background:linear-gradient(180deg,rgba(210,75,79,.05),transparent);
  border-radius:16px; padding:18px 22px; margin:24px 0 8px;
}
.mui-danger>div{min-width:0}
.mui-danger b{font-size:14.5px;font-weight:700;color:#d24b4f;display:block}
.mui-danger span{font-size:13px;color:#7b828f;display:block;margin-top:2px}
.mui-danger .mui-btn-danger{margin-left:auto}
.mui-danger .mui-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:42px;padding:0 18px;border-radius:999px;font-family:inherit;
  font-weight:700;font-size:14px;line-height:1;cursor:pointer;text-decoration:none;
  white-space:nowrap;border:1px solid transparent;
}
.mui-danger .mui-btn svg{width:16px;height:16px;flex:none}
.mui-danger .mui-btn-danger{background:#fff;border:1px solid rgba(210,75,79,.3);color:#d24b4f}
.mui-danger .mui-btn-danger:hover{background:rgba(210,75,79,.08)}
@media(max-width:560px){
  .mui-danger{flex-direction:column;align-items:stretch}
  .mui-danger .mui-btn-danger{margin-left:0;width:100%}
}
