/* Контакты: список контактов и схематичная карта со ссылкой на 2ГИС (без внешних виджетов) */

.contacts-hero__link { color: inherit; text-decoration: none; }
.contacts-hero__link:hover { text-decoration: underline; text-decoration-color: var(--c-honey); }

.contacts { display: grid; gap: var(--sp-8); min-width: 0; }
.contacts__head { margin-bottom: 0; }
.contacts__list { margin: 0; border-top: 1px solid var(--c-line); }
.contacts__row { display: grid; gap: var(--sp-1); padding-block: var(--sp-4); border-bottom: 1px solid var(--c-line); }
@media (min-width: 560px) { .contacts__row { grid-template-columns: 9rem minmax(0, 1fr); gap: var(--sp-4); align-items: baseline; } }
.contacts__row dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.contacts__row a { color: var(--c-text); text-decoration-color: var(--c-honey); text-decoration-thickness: 2px; text-underline-offset: .2em; }
.contacts__big { display: grid; gap: var(--sp-1); justify-items: start; font: 600 1.25rem/1.35 var(--font-mono); font-variant-numeric: tabular-nums; }
.contacts__big a { text-decoration: none; }
.contacts__big a:hover { text-decoration: underline; text-decoration-color: var(--c-honey); }

/* Заглушка карты: условные улицы и медовая метка */
.map-card { display: grid; margin: 0; min-width: 0; border: 1px solid var(--c-line); border-radius: var(--r-lg); overflow: hidden; background: var(--c-surface); }
.map-card__canvas {
  position: relative; aspect-ratio: 4 / 3; min-height: 240px;
  background-color: var(--c-surface-2);
  background-image:
    linear-gradient(var(--c-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--c-line) 1px, transparent 1px);
  background-size: 48px 48px;
}
.map-card__street { position: absolute; background: var(--c-surface); border: 1px solid var(--c-line-strong); }
.map-card__street--h { left: -2px; right: -2px; top: 58%; height: 18px; }
.map-card__street--v { top: -2px; bottom: -2px; left: 40%; width: 14px; }
.map-card__pin {
  position: absolute; left: calc(40% + 7px); top: 58%; width: 28px; height: 28px;
  transform: translate(-50%, -100%) rotate(-45deg); transform-origin: center;
  margin-top: -6px;
  background: var(--c-honey); border: 3px solid var(--c-text); border-radius: 50% 50% 50% 0;
  box-shadow: var(--shadow-pop);
}
.map-card__caption { display: grid; gap: var(--sp-3); justify-items: start; padding: var(--sp-5) clamp(var(--sp-5), 2.5vw, var(--sp-6)); border-top: 1px solid var(--c-line); }
.map-card__address { font-weight: 600; }
