/* ==========================================================================
   Новая шапка сайта (редизайн кейсов, Figma: TolkaDigital | Cases)
   Грузится глобально на каждой странице (см. functions.php).
   Все селекторы намеренно продублированы под .header-v2 (доп. класс на
   <header class="header header-v2">), чтобы гарантированно перебивать
   старые правила для .header/.header__nav/.header__logo/.header__phone,
   которые всё ещё есть в assets/css/main.css (компилированный общий файл,
   не трогаем) — специфичность .header-v2 .xxx (0,2,0) выше их (0,1,0)
   независимо от порядка подключения стилей.
   ========================================================================== */

@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/golos-text/golos-text-400-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/golos-text/golos-text-400-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/golos-text/golos-text-600-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/golos-text/golos-text-600-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122;
}

.header.header-v2 {
  padding: 0;
  font-family: 'Golos Text', -apple-system, Arial, sans-serif;
  box-sizing: border-box;
}
.header-v2 *, .header-v2 *::before, .header-v2 *::after { box-sizing: border-box; }
.header-v2 img { max-width: none; }
.header-v2 a { color: inherit; text-decoration: none; }

.header-v2 .header__topbar { position: relative; background: #171818; color: #fff; overflow: hidden; }
.header-v2 .header__topbar-inner {
  max-width: 1609px;
  margin: 0 auto;
  padding: 0 204px;
  height: 70px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.header-v2 .header__topbar-text strong { display: block; font-size: 18px; font-weight: 600; }
.header-v2 .header__topbar-text span { display: block; font-size: 15px; color: #9f9f9f; margin-top: 4px; }
.header-v2 .header__topbar-right { position: relative; height: 100%; display: flex; align-items: center; gap: 24px; flex-shrink: 0; padding-right: 113px; }
.header-v2 .header__subscribe-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #339dff;
  color: #fff;
  border-radius: 100px;
  padding: 14px 24px;
  font-size: 15px;
  font-weight: 500;
  white-space: nowrap;
}
.header-v2 .header__subscribe-btn img { width: 16px; height: 14px; }
.header-v2 .header__topbar-avatar {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 89px;
  height: 67px;
  object-fit: cover;
  object-position: top;
}

.header-v2 .header__main { }
.header-v2 .header__main-inner {
  max-width: 1609px;
  margin: 0 auto;
  padding: 17px 204px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.header-v2 .header__logo { display: flex; align-items: center; gap: 6px; flex-shrink: 0; text-decoration: none; color: inherit; }
.header-v2 .header__logo img { width: 107px; height: 51px; }
.header-v2 .header__logo span {
  font-size: 13px;
  color: #7e7e88;
  max-width: 160px;
  line-height: 1.3;
}
.header-v2 .header__nav {
  display: flex;
  gap: 28px;
  font-size: 15px;
  flex-shrink: 0;
  padding: 0;
  margin: 0;
  list-style: none;
}
.header-v2 .header__nav a { white-space: nowrap; color: #1a1a1a; }
.header-v2 .header__contact {
  display: flex;
  align-items: center;
  gap: 42px;
}
.header-v2 .header__social { display: flex; align-items: center; gap: 8px; }
.header-v2 .header__social-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.header-v2 .header__social-icon img { width: 16px; height: 16px; }
.header-v2 .header__social-icon--telegram { background: #339dff; }
.header-v2 .header__social-icon--messenger { background: linear-gradient(135deg, #67a1f4, #8368e6); }
.header-v2 .header__social-icon--whatsapp { background: #75b611; }
.header-v2 .header__phone-block { text-align: left; }
.header-v2 .header__phone {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  font-size: 16px;
  white-space: nowrap;
  color: #1a1a1a;
}
.header-v2 .header__phone img { width: 16px; height: 16px; }
.header-v2 .header__callback {
  display: block;
  font-size: 13px;
  color: #d7483f;
  margin: 2px 0 0 22px;
}

@media (max-width: 1200px) {
  .header-v2 .header__topbar-inner {
    padding-right: 32px;
    padding-left: 32px;
  }

  .header-v2 .header__main-inner {
    padding-right: 32px;
    padding-left: 32px;
  }
}

@media (max-width: 960px) {
  .header-v2 .header__nav { display: none; }
}

@media (max-width: 768px) {
  .header-v2 .header__topbar-inner {
    gap: 16px;
    padding-right: 20px;
    padding-left: 20px;
  }

  .header-v2 .header__topbar-right {
    gap: 0;
    padding-right: 0;
  }

  .header-v2 .header__topbar-avatar { display: none; }

  .header-v2 .header__subscribe-btn {
    padding: 12px 18px;
  }

  .header-v2 .header__main-inner {
    padding: 14px 20px;
  }

  .header-v2 .header__social { display: none; }
  .header-v2 .header__contact { gap: 0; }
}

@media (max-width: 480px) {
  .header-v2 .header__topbar-inner {
    gap: 12px;
    min-height: 70px;
    height: auto;
    padding: 8px 16px;
  }

  .header-v2 .header__topbar-text {
    min-width: 0;
  }

  .header-v2 .header__topbar-text strong {
    font-size: 14px;
    line-height: 1.2;
  }

  .header-v2 .header__topbar-text span {
    font-size: 12px;
    line-height: 1.2;
  }

  .header-v2 .header__subscribe-btn {
    flex: 0 0 40px;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    font-size: 0;
  }

  .header-v2 .header__main-inner {
    padding: 12px 16px;
  }

  .header-v2 .header__logo img {
    width: 90px;
    height: auto;
  }

  .header-v2 .header__logo span { display: none; }

  .header-v2 .header__phone {
    gap: 4px;
    font-size: 14px;
  }

  .header-v2 .header__callback {
    margin-left: 20px;
    font-size: 12px;
  }
}
