/* ===== Шапка ===== */
.header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(246, 245, 252, .82);
  backdrop-filter: saturate(1.4) blur(14px);
  -webkit-backdrop-filter: saturate(1.4) blur(14px);
  transition: box-shadow .25s, background .25s;
}
.header.is-solid { background: rgba(255, 255, 255, .94); box-shadow: 0 1px 0 var(--line); }
.header__row { display: flex; align-items: center; gap: 28px; height: var(--header-h); }
.header__logo img { width: 168px; height: auto; }
.nav { display: flex; gap: 26px; margin-left: auto; }
.nav a { text-decoration: none; font-weight: 500; font-size: 15px; color: var(--ink-2); transition: color .2s; }
.nav a:hover { color: var(--brand); }
.nav__phone { display: none; }
.header__cta { display: flex; align-items: center; gap: 18px; }
.header__contact { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.25; }
.header__phone { font-weight: 700; font-size: 16px; text-decoration: none; white-space: nowrap; }
.header__hours { font-size: 12px; color: var(--ink-3); }

.burger { display: none; width: 46px; height: 46px; border: 0; border-radius: 12px; background: #fff; cursor: pointer; position: relative; margin-left: auto; }
.burger span { position: absolute; left: 13px; right: 13px; height: 2px; background: var(--ink); border-radius: 2px; transition: transform .25s, top .25s; }
.burger span:first-child { top: 18px; }
.burger span:last-child { top: 26px; }
.header.menu-open .burger span:first-child { top: 22px; transform: rotate(45deg); }
.header.menu-open .burger span:last-child { top: 22px; transform: rotate(-45deg); }

@media (max-width: 1180px) {
  .header__contact { display: none; }
}
@media (max-width: 980px) {
  :root { --header-h: 64px; }
  /* backdrop-filter делает шапку рамкой для position:fixed и обрезает меню */
  .header, .header.is-solid { backdrop-filter: none; -webkit-backdrop-filter: none; background: #fff; }
  .header__logo img { width: 140px; }
  .burger { display: block; }
  .header__cta { display: none; }
  .nav {
    position: fixed; left: 0; right: 0; top: var(--header-h); bottom: 0;
    flex-direction: column; gap: 0; margin: 0;
    padding: 12px var(--gutter) 32px; background: #fff;
    transform: translateX(100%); transition: transform .3s ease; overflow-y: auto;
  }
  .nav.is-open { transform: none; }
  .nav a { font-size: 22px; font-weight: 600; color: var(--ink); padding: 16px 0; border-bottom: 1px solid var(--line); }
  .nav__phone { display: block; color: var(--brand) !important; border-bottom: 0 !important; }
  .header.menu-open { background: #fff; }
}
