/* ==========================================================================
   Главная — контакты и города работы (site/layouts/750-contacts.php). Только var(--es-*).
   ========================================================================== */
body.main-page .home-contacts__container {display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(32px, 4vw, 64px); align-items: stretch}
body.main-page .home-contacts__info .es-section-title {margin-bottom: 30px}
body.main-page .home-contacts__list {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; margin: 0; padding: 0; list-style: none}
body.main-page .home-contacts__list li {display: flex; align-items: flex-start; gap: 14px; color: var(--es-text); font-size: 15px; line-height: 1.5}
body.main-page .home-contacts__list i {display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; flex-shrink: 0; border-radius: 10px; background: var(--es-primary-soft); color: var(--es-accent-text); font-size: 19px}
body.main-page .home-contacts__list strong {display: block; margin-bottom: 2px; color: var(--es-muted); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase}
body.main-page .home-contacts__list a {color: var(--es-heading); font-weight: 700; transition: color var(--general-transition)}
body.main-page .home-contacts__list a:hover {color: var(--es-accent-text)}
body.main-page .home-contacts__cities {margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--es-border)}
body.main-page .home-contacts__cities-title {margin: 0 0 14px; color: var(--es-heading); font-size: 17px; font-weight: 700}
body.main-page .home-contacts__chips {display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none}
body.main-page .home-contacts__chips li {padding: 7px 14px; border: 1px solid var(--es-border); border-radius: 999px; background: var(--es-surface-alt); color: var(--es-heading); font-size: 14px; font-weight: 600}
body.main-page .home-contacts__note {margin: 14px 0 0; color: var(--es-muted); font-size: 14px}
body.main-page .home-contacts__actions {display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px}
body.main-page .home-contacts__map {position: relative; min-height: 420px; overflow: hidden; border: 1px solid var(--es-border); border-radius: var(--es-radius-lg); background: var(--es-surface-alt); box-shadow: var(--es-shadow)}
body.main-page .home-contacts__map iframe {position: absolute; inset: 0; width: 100%; height: 100%; border: 0}

@media (max-width: 992px) {
    body.main-page .home-contacts__container {grid-template-columns: 1fr}
    body.main-page .home-contacts__map {min-height: 360px}
}
@media (max-width: 560px) {
    body.main-page .home-contacts__list {grid-template-columns: 1fr}
    body.main-page .home-contacts__actions .es-btn {flex: 1 1 100%}
    body.main-page .home-contacts__map {min-height: 300px}
}
body.main-page .home-contacts__map-consent {position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 32px; text-align: center; background: var(--es-surface-alt); background-image: linear-gradient(var(--es-border) 1px, transparent 1px), linear-gradient(90deg, var(--es-border) 1px, transparent 1px); background-size: 48px 48px}
body.main-page .home-contacts__map-consent i {display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; background: var(--es-primary); color: #fff; font-size: 28px; box-shadow: 0 10px 24px rgba(255, 107, 19, .35)}
body.main-page .home-contacts__map-title {margin: 6px 0 0; color: var(--es-heading); font-size: 18px; font-weight: 700}
body.main-page .home-contacts__map-text {max-width: 320px; margin: 0 0 6px; color: var(--es-muted); font-size: 14px}
