/* Карта на странице контактов: статичный снимок + кнопка «Подробнее» в Яндекс Карты */
.contacts_map {
  position: relative;
  display: block;
  /* высота зарезервирована до загрузки картинки — без скачка вёрстки */
  aspect-ratio: 3 / 1;
  margin-top: var(--size64);
  border-radius: 1.4285714286vw;
  overflow: hidden;
  background: #f2efe9;
}

.contacts_map picture,
.contacts_map_img {
  display: block;
  width: 100%;
  height: 100%;
}

.contacts_map_img {
  object-fit: cover;
  object-position: 50% 45%;
}

.contacts_map_btn {
  position: absolute;
  left: var(--size20);
  bottom: var(--size20);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border-radius: 100px;
  background: var(--accent-color);
  color: #fff;
  font-weight: 500;
  font-size: 16px;
  line-height: 1;
  box-shadow: 0 4px 16px rgba(20, 16, 36, 0.18);
  transition: background-color 0.3s, transform 0.3s;
}

.contacts_map_btn svg {
  width: 16px;
  height: 16px;
}

.contacts_map:hover .contacts_map_btn,
.contacts_map:focus-visible .contacts_map_btn {
  background: var(--dark-color);
  transform: translateY(-2px);
}

@media (max-width: 576px) {
  .contacts_map {
    aspect-ratio: auto;
    height: 280px;
    margin-top: 40px;
    border-radius: 20px;
  }
  .contacts_map_btn {
    left: 16px;
    bottom: 16px;
    padding: 11px 18px;
    font-size: 15px;
  }
}
