/* Compact regional phone + city, with a shared disclosure on desktop and touch. */
.header-contacts { position: relative; flex: 0 0 auto; margin-inline: 2px 10px; }
.header-contacts__summary { display: grid; grid-template-columns: minmax(0, 1fr) 32px; align-items: center; gap: 0 7px; }
.header-contacts__phone { display: flex; align-items: center; gap: 7px; white-space: nowrap; font-size: 1rem; font-weight: 700; line-height: 1.25; }
.header-contacts__phone .icon { width: 17px; height: 17px; color: var(--ink-soft); }
.header-contacts__toggle { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 9px; background: var(--surface-2); color: var(--ink-soft); cursor: pointer; }
.header-contacts__toggle:hover, .header-contacts__toggle[aria-expanded="true"] { color: var(--orange-dark); background: var(--orange-soft); }
.header-contacts__toggle[aria-expanded="true"] .nav-chevron { transform: rotate(225deg); }
.header-contacts__mobile-icon { display: none; }
.site-header .header-contacts .header-contacts__city { display: inline-flex; grid-column: 1 / -1; justify-self: start; max-width: 220px; gap: 7px; padding: 0 0 2px; color: var(--muted); font-size: .8125rem; font-weight: 600; line-height: 1.4; }
.header-contacts__city span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.header-contacts__city .icon { width: 16px; height: 16px; color: var(--orange-dark); flex-shrink: 0; }
.header-contacts__phone:hover, .site-header .header-contacts__city:hover { color: var(--orange-dark); }
.header-contacts__panel { position: fixed; z-index: 120; top: var(--contacts-top); left: var(--contacts-left); width: var(--contacts-width); max-height: calc(100dvh - var(--contacts-top) - 12px); overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--line); border-radius: 20px; background: var(--paper); color: var(--ink); box-shadow: 0 18px 48px rgba(34, 34, 34, .15); }
.header-contacts__panel[hidden] { display: none; }
.header-contacts__section { padding: 18px 20px; }
.header-contacts__section + .header-contacts__section { border-top: 1px solid var(--line); }
.header-contacts__caption { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 6px; color: var(--orange-dark); font-size: .8125rem; font-weight: 700; }
.header-contacts__close { display: grid; place-items: center; width: 28px; height: 28px; margin: -6px -6px 0 0; padding: 0; border: 0; border-radius: 8px; background: var(--surface); color: var(--muted); font-size: 1.25rem; cursor: pointer; }
.header-contacts__close:hover { background: var(--orange-soft); color: var(--orange-dark); }
.header-contacts__number { display: inline-block; font-size: 1.25rem; font-weight: 700; line-height: 1.3; }
.header-contacts__schedule { display: flex; align-items: center; gap: 7px; margin: 8px 0 16px; color: var(--muted); font-size: .8125rem; }
.header-contacts__schedule .icon { width: 16px; height: 16px; }
.site-header .header-contacts .header-contacts__support { width: 100%; min-height: 42px; padding: 10px 12px; font-size: .875rem; }
.header-contacts__email { display: flex; align-items: center; gap: 9px; color: var(--orange-dark); font-size: .875rem; font-weight: 600; }
.header-contacts__email .icon { width: 18px; height: 18px; flex-shrink: 0; }
.header-contacts__email span { min-width: 0; overflow-wrap: anywhere; }
.header-contacts__hint { margin: 5px 0 0 27px; color: var(--muted); font-size: .8125rem; }
.header-contacts__location { display: grid; gap: 15px; }
.header-contacts__region { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; padding: 12px; border: 1px solid transparent; border-radius: 12px; background: var(--orange-soft); text-align: left; cursor: pointer; }
.header-contacts__region > span { display: flex; align-items: center; gap: 10px; min-width: 0; }
.header-contacts__region small { display: block; margin-bottom: 2px; color: var(--muted); font-size: .75rem; }
.header-contacts__region strong { display: block; font-size: .9375rem; font-weight: 700; overflow-wrap: anywhere; }
.header-contacts__region .icon, .header-contacts__offices .icon { width: 18px; height: 18px; flex-shrink: 0; color: var(--orange-dark); }
.header-contacts__region:hover { border-color: var(--orange); }
.header-contacts__offices { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: .875rem; font-weight: 600; }
.header-contacts__panel a:hover { color: var(--orange-dark); }
.header-contacts :is(a, button):focus-visible { outline: 2px solid var(--orange-dark); outline-offset: 2px; }

@media (min-width: 1181px) {
  .site-header .header-main { grid-template-columns: 140px minmax(0, 1fr) auto; gap: 12px; }
  .site-header .header-main .logo { width: 140px; }
  .site-header .main-nav { gap: 0; }
  .site-header .main-nav .nav-link { padding-inline: 7px; font-size: .9375rem; white-space: nowrap; }
  .site-header .main-nav .nav-item--split > a { padding-right: 0; }
  .site-header .main-nav .nav-link--toggle { width: 22px; padding: 0; }
}
@media (min-width: 1181px) and (max-width: 1440px) {
  .site-header .main-nav .nav-link { padding-inline: 5px; font-size: .875rem; }
  .header-contacts { margin-inline: 0 4px; }
  .header-contacts__phone { font-size: .9375rem; }
  .site-header .header-actions > .button { padding-inline: 16px; font-size: .9375rem; }
}
@media (min-width: 1181px) and (max-width: 1280px) {
  .header-login__label { display: none; }
  .site-header .header-actions > .header-login { width: 44px; padding-inline: 0; }
}
@media (max-width: 1180px) {
  .site-header .header-main { grid-template-columns: 150px minmax(0, 1fr); }
  .header-contacts { margin-inline: 4px; }
}
@media (max-width: 600px) {
  .site-header .header-main { grid-template-columns: 132px minmax(0, 1fr); gap: 8px; }
  .header-contacts { margin: 0; }
  .header-contacts__summary { display: block; }
  .header-contacts__phone, .site-header .header-contacts .header-contacts__city { display: none; }
  .header-contacts__toggle { width: 40px; height: 40px; background: var(--orange-soft); color: var(--orange-dark); }
  .header-contacts__toggle > .nav-chevron { display: none; }
  .header-contacts__mobile-icon { display: inline-flex; }
}
