@layer pages {
  /* Как добраться (/top/leftmenu4/consult/) */
  .contacts-nowrap { white-space: nowrap; }

  /* Контакты слева, карта справа */
  .contacts-card {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr));
    gap: 12px;
    padding: 12px;
  }
  .contacts-card__info { display: flex; flex-direction: column; gap: 20px; padding: 28px; min-width: 0; }
  .contacts-card__map { position: relative; min-height: 440px; }

  .contacts-item { display: flex; gap: 14px; }
  .contacts-item > .icon { margin-top: 3px; color: var(--accent-ink); }
  .contacts-item__address { display: block; font-size: 20px; line-height: 1.35; }
  .contacts-item__phones { display: flex; flex-direction: column; }
  .contacts-item__phones .phone-link { font-weight: 500; }
  .contacts-item__phones .contacts-item__phone--main { font-size: 22px; font-weight: 600; }

  .contacts-mail { max-width: 760px; }

  @media (max-width: 820px) {
    .contacts-card__info { padding: 8px; }
    .contacts-card__map { min-height: 280px; }
    .contacts-card__map .map { --map-h: 280px; }
  }
}
