/* Высоты строк хедера — фиксированные константы дизайна.
   Контент центрируется внутри строки, а не задаёт её высоту.
   Меняешь дизайн шапки — правишь токен здесь. */
:root { --row1-h: 64px; --row2-h: 0px; }
@media (min-width: 640px) { :root { --row1-h: 90px; } }
@media (min-width: 1024px) { :root { --row2-h: 52px; } }

.header-row1 { height: var(--row1-h); display: flex; align-items: center; }
.header-main { height: var(--row2-h); display: flex; align-items: center; }

/* Фон хедера */
.header-bg { background: var(--c-secondary); }

/* Прозрачный хедер поверх hero-видео на главной и hero калькулятора */
body[data-template="index"] .header-bg,
body[data-template="calculate"] .header-bg { background: transparent; }
body[data-template="index"] [data-block="main-hero"],
body[data-template="calculate"] [data-block="simple-hero"] { margin-top: calc(-1 * (var(--row1-h) + var(--row2-h))); }

/* Прилипшая строка навигации при скролле — белая, текст тёмный */
body[data-template="index"] .header-main.is-stuck,
body[data-template="calculate"] .header-main.is-stuck { background: #fff; color: #000; box-shadow: 0 2px 8px rgba(0,0,0,.08); }

/* Кнопка "Скачать прайс" — фон primary при наведении */
.btn-price-download { color: var(--c-primary); transition: background-color .25s ease, color .25s ease; }
.btn-price-download:hover { background: var(--c-primary); color: white; }

/* Buyan — шрифт заголовков (liga-remont.ru) */
@font-face { font-family: "Buyan"; src: url("/_assets/fonts/blocks/Buyan/BuyanThin.woff2") format("woff2"); font-weight: 100; font-style: normal; font-display: swap; }
@font-face { font-family: "Buyan"; src: url("/_assets/fonts/blocks/Buyan/BuyanRegular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Buyan"; src: url("/_assets/fonts/blocks/Buyan/BuyanBold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }

/* Hamburger menu */
.hamburger { display: flex; flex-direction: column; gap: 4px; width: 100%; height: 100%; justify-content: center; align-items: center; }
.hamburger-line { display: block; width: 20px; height: 2px; background: currentColor; transition: all 0.3s ease; }
.hamburger.active .hamburger-line:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.hamburger.active .hamburger-line:nth-child(2) { opacity: 0; }
.hamburger.active .hamburger-line:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* Megamenu */
.header-main:has(.uslugi-trigger:hover) .megamenu,
.header-main .megamenu:hover { visibility: visible; opacity: 1; }
.header-main:has(.uslugi-trigger:hover) .uslugi-trigger i,
.header-main:has(.megamenu:hover) .uslugi-trigger i { transform: rotate(180deg); }
.uslugi-trigger { position: relative; }
.uslugi-trigger::after { content: ""; position: absolute; top: 100%; left: -20px; right: -20px; height: 50px; }

/* Утилиты вместо bracket-классов Tailwind */
.hover-primary:hover { color: var(--c-primary); }
.lh-tight { line-height: 1.2; }
