/* Контакты дилеров в шапке. */
.header__right .dealer-contacts {
    position: relative;
    z-index: 5;
}
.dealer-contacts__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 44px;
    padding: 10px 17px;
    border: 1px solid #fff;
    border-radius: 24px;
    background: #fff;
    color: #172027;
    font: 500 15px/1.2 'candara', Arial, sans-serif;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color .2s, border-color .2s, color .2s;
}
.dealer-contacts__toggle:hover,
.dealer-contacts.is-open .dealer-contacts__toggle {
    background: #339586;
    border-color: #339586;
    color: #fff;
}
.dealer-contacts__toggle:focus-visible,
.dealer-contacts__phone:focus-visible,
    outline: 2px solid #339586;
    outline-offset: 3px;
}
.dealer-contacts__toggle-icon,
.dealer-contacts__location-icon { flex: none; }
.dealer-contacts__panel {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    width: 410px;
    max-width: calc(100vw - 24px);
    padding: 19px 21px;
    background: #fff;
    border: 1px solid #e2e7e6;
    border-radius: 5px;
    box-shadow: 0 10px 32px rgba(0,0,0,.18);
    color: #182027;
    text-align: left;
    box-sizing: border-box;
    z-index: 20;
}
.dealer-contacts__panel[hidden] { display: none !important; }
.dealer-contacts__item { display: flex; align-items: flex-start; gap: 12px; }
.dealer-contacts__item + .dealer-contacts__item { margin-top: 17px; }
.dealer-contacts__location-icon { margin-top: 2px; color: #339586; }
.dealer-contacts__details { flex: 1; min-width: 0; }
.dealer-contacts__address { font-size: 15px; line-height: 1.35; overflow-wrap: anywhere; }
.dealer-contacts__phone { display: inline-block; margin-top: 4px; font-size: 15px; line-height: 1.3; text-decoration: none; color: #626b70; }
.dealer-contacts__phone:hover { color: #23766c; text-decoration: underline; }

/* Обновлённые телефонные данные в карточке над Яндекс.Картами. */
.imap__location { display: flex; align-items: flex-start; margin-top: 15px; }
.imap__location .imap__icon { flex: 0 0 32px; }
.imap__location-address { line-height: 1.3; }
.imap__location-phone { display: inline-block; margin-top: 5px; color: #23766c; text-decoration: none; }
.imap__location-phone:hover { text-decoration: underline; }

@media (max-width: 767px) {
    .header__left { gap: 12px; }
    .header__left .logotype img { max-width: 82px; }
    .header__left .avilon__logo img { max-width: 90px; }
    .dealer-contacts__toggle { gap: 8px; padding: 10px 12px; font-size: 14px; }
    .dealer-contacts__panel { padding: 18px; }
}
@media (max-width: 575px) {
    .header__left { gap: 10px; }
    .header__left .logotype img { max-width: 75px; }
    .header__left .avilon__logo img { max-width: 80px; }
    .header__right { gap: 0; }
    .dealer-contacts__toggle { width: 44px; min-width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: #fff; }
    .dealer-contacts__toggle:hover,
    .dealer-contacts.is-open .dealer-contacts__toggle { background: rgba(51,149,134,.35); border-color: transparent; }
    .dealer-contacts__toggle-text { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
    .dealer-contacts__toggle-icon { width: 23px; height: 23px; }
    .dealer-contacts__panel { top: calc(100% + 10px); width: 350px; }
    .dealer-contacts__address { font-size: 14px; }
    .dealer-contacts__phone { font-size: 14px; }
}
@media (max-width: 360px) {
    .header__left { gap: 7px; }
    .header__left .logotype img { max-width: 70px; }
    .header__left .avilon__logo img { max-width: 70px; }
    .dealer-contacts__panel { right: -3px; }
}
