/* ===== единый хидер сайта — ЕДИНСТВЕННЫЙ источник (правки только здесь) =====
   Подключение на странице:
     <link rel="stylesheet" href="header.css">   (в <head>, после fonts.css)
     <script src="header.js" data-active="docs|about|contacts" data-root="../" data-claim="drawer"></script>
       — первым элементом <body>; data-root для страниц в подпапках (legal/),
         data-claim="drawer" = кнопка «Оставить заявку» открывает шторку (витрина).
   Переменные префиксованы sh-* и не зависят от стилей страниц;
   тёмная тема — html[data-theme=dark] (ставит header.js + инлайн-скрипт в <head>). */

header, .mnav {
  --sh-navy: #0B1D2E;
  --sh-card: #fff;
  --sh-ink: #172733;
  --sh-line: #DDE5EA;
  --sh-hover: #F2F6F8;
  --sh-accent: #0879B5;
  --sh-ice: #55BCE8;
  --sh-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --sh-mono: 'JetBrains Mono', ui-monospace, 'Cascadia Mono', Consolas, monospace;
}
html[data-theme=dark] header, html[data-theme=dark] .mnav {
  --sh-card: #151D26;
  --sh-ink: #E7EDF3;
  --sh-line: #243240;
  --sh-hover: #19232E;
  --sh-accent: #4FA8D8;
}

html { scroll-padding-top: 84px; }

header { height: 72px; background: var(--sh-navy); display: flex; align-items: center; padding: 0 48px; position: sticky; top: 0; z-index: 10; font-family: var(--sh-sans); }
.logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.logo:hover { text-decoration: none; }
.logo img { display: block; }
.logo img.mk-dark { width: 30px; height: 30px; }
.logo img.mk-print { display: none; }
.logo .word { color: #fff; font: 800 17px var(--sh-sans); letter-spacing: .16em; }
.logo .word em { font-style: normal; color: var(--sh-ice); }
.hsub { margin-left: 14px; padding-left: 14px; border-left: 1px solid rgba(255,255,255,.18); color: #C6D6E2; font: 600 12px var(--sh-mono); letter-spacing: .18em; text-transform: uppercase; }
header nav { display: flex; gap: 30px; margin-left: 48px; }
header nav a { color: #C6D6E2; text-decoration: none; font: 500 14px var(--sh-sans); padding: 6px 0; border-bottom: 1.5px solid transparent; }
header nav a:hover { color: #fff; text-decoration: none; }
header nav a.on { color: #fff; border-bottom-color: var(--sh-ice); }
.hright { margin-left: auto; display: flex; align-items: center; gap: 18px; }
.hphone { color: #fff; font: 600 14px var(--sh-sans); text-decoration: none; }
.hbtn { font: 600 13.5px var(--sh-sans); color: #fff; border: 1px solid rgba(255,255,255,.35); border-radius: 5px; padding: 10px 18px; cursor: pointer; background: none; }
.hbtn:hover { border-color: var(--sh-ice); color: var(--sh-ice); }
.tbtn { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.35); border-radius: 5px; background: none; color: #fff; cursor: pointer; padding: 0; }
.tbtn:hover { border-color: var(--sh-ice); color: var(--sh-ice); }
.burger { display: none; width: 36px; height: 36px; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.35); border-radius: 5px; background: none; color: #fff; cursor: pointer; padding: 0; }
.burger:hover { border-color: var(--sh-ice); color: var(--sh-ice); }
.burger svg { width: 18px; height: 18px; }
.burger line { transition: transform .2s ease, opacity .15s ease; transform-origin: center; }
.burger[aria-expanded=true] .b1 { transform: translateY(5px) rotate(45deg); }
.burger[aria-expanded=true] .b2 { opacity: 0; }
.burger[aria-expanded=true] .b3 { transform: translateY(-5px) rotate(-45deg); }
.mnav { position: fixed; top: 72px; left: 0; right: 0; background: var(--sh-navy); border-top: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); transform: translateY(-110%); transition: transform .25s ease; z-index: 39; display: flex; flex-direction: column; padding: 4px 0 14px; box-shadow: 0 6px 18px rgba(0,0,0,.25); visibility: hidden; font-family: var(--sh-sans); }
.mnav.open { transform: translateY(0); visibility: visible; }
.mnav a { display: block; padding: 14px 24px; color: #C6D6E2; font: 600 15px var(--sh-sans); border-bottom: 1px solid rgba(255,255,255,.06); text-decoration: none; }
.mnav a:hover { color: #fff; background: rgba(85,188,232,.06); text-decoration: none; }
.mnav .mph { display: block; padding: 14px 24px 4px; color: #fff; font: 700 17px var(--sh-mono); letter-spacing: .04em; border-bottom: 1px solid rgba(255,255,255,.12); }
.mnav .mph a { color: #fff; font: 700 17px var(--sh-mono); padding: 0; border: 0; }
.mnav a.mnav-sub { padding: 8px 24px 8px 40px; color: #9FB1C2; font: 500 13.5px var(--sh-sans); border-bottom: 1px solid rgba(255,255,255,.06); }
.mnav a.mnav-sub:hover { color: #fff; background: rgba(85,188,232,.06); }
.navdd { position: relative; display: inline-flex; align-items: center; }
.navdd .navdd-t { padding: 6px 0; }
.navdd .navdd-t .caret { font-size: 10px; margin-left: 4px; opacity: .7; }
.navdd .navdd-m { position: absolute; top: 100%; left: -12px; min-width: 360px; background: var(--sh-card); border: 1px solid var(--sh-line); border-radius: 6px; padding: 6px 0; display: none; z-index: 20; }
.navdd:hover .navdd-m, .navdd:focus-within .navdd-m { display: block; }
.navdd .navdd-m a { display: block; padding: 8px 16px; color: var(--sh-ink); font: 500 13.5px var(--sh-sans); border: 0; white-space: nowrap; text-decoration: none; }
.navdd .navdd-m a:hover { background: var(--sh-hover); color: var(--sh-accent); text-decoration: none; }
@media (max-width: 1300px) { .hsub { display: none; } }
@media (max-width: 1100px) { header nav { display: none; } .burger { display: inline-flex; } }
@media (max-width: 820px) { header { padding: 0 20px; } .hsub { display: none; } .hphone { display: none; } }

/* ===== печатные формы (единый стиль всех страниц: шапка-бланк + футер с датой;
   специфика документов — в legal.css/index, этот блок — общий хром ===== */
@media print {
  @page { size: A4; margin: 12mm 14mm; }
  html, body { background: #fff !important; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }

  /* шапка → бланк: только знак + слово + реквизиты */
  header { position: static !important; display: block; height: auto; padding: 0 0 8px; background: #fff !important; border-bottom: 1.5pt solid #0B1D2E; z-index: auto; }
  header .hsub, header nav, header .hright { display: none !important; }
  header::after { content: "ООО «АЙСБЕРГ» · ИНН 7801721889 · КПП 780101001 · ОГРН 1237800032161 · Санкт-Петербург, Шушары · info@iceberg-w.com · +7 921 931-34-90 (Пн–Пт 9:00–18:00)"; display: block; margin-top: 6px; font: 400 8.5pt/1.4 var(--sh-mono); color: #40566B; }
  header .logo { gap: 8px; }
  header .logo .word { color: #0B1D2E; font-size: 15pt; }
  header .logo .word em { color: #0879B5; }
  .logo img.mk-dark { display: none !important; }
  .logo img.mk-print { display: block !important; width: 22px; height: 22px; }

  /* служебные слои не печатаются */
  .mnav, .ovl, .drw, .navdd-m { display: none !important; }

  /* футер печатной формы: сайт + дата формирования */
  body::after { content: "iceberg-w.com — АЙСБЕРГ, Санкт-Петербург · сформировано " attr(data-print-date); display: block; margin-top: 10mm; padding-top: 3mm; border-top: .5pt solid #8B9CA8; font: 400 8.5pt/1.4 'JetBrains Mono', ui-monospace, 'Cascadia Mono', Consolas, monospace; color: #5C6B7A; }
}
