.contacts-intro { max-width: 480px; }
.contacts-hero .catalog-page-head { align-items: center; }
.contacts-hero .contacts-intro p { margin: 0; color: #3f4748; font-size: 17px; line-height: 1.45; }
.contacts-feedback { margin-top: 22px; }
.contacts-map-card { position: relative; }
.contacts-map-tabs { position: absolute; top: 6px; left: 6px; right: 16px; z-index: 2; display: flex; width: fit-content; max-width: calc(100% - 32px); padding: 5px; gap: 4px; border-radius: 12px; background: #fff; box-shadow: 0 3px 15px #00000018; }
.contacts-map-tabs button { border: 0; border-radius: 8px; padding: 11px 15px; background: #fff; color: var(--sun-text); font: inherit; font-size: 14px; }
.contacts-map-tabs button.active { background: var(--sun-yellow); }
.contacts-map-tabs button:focus-visible { outline: 2px solid var(--sun-deep); outline-offset: 2px; }
.contacts-map-panel { position: absolute; inset: 0; }
.contacts-map-panel:not(.active) { display: none; }
.contacts-map-panel iframe { height: 100%; min-height: 0; }
.contacts-schema-panel { padding: 82px 16px 16px; background: var(--sun-cream); }
.contacts-schema-link { display: flex; flex-direction: column; gap: 10px; height: 100%; align-items: center; color: var(--sun-text); }
.contacts-schema-link img { display: block; width: 100%; height: calc(100% - 32px); min-height: 0; object-fit: contain; }
.contacts-schema-link span { font-size: 13px; text-decoration: underline; }
.contacts-schema-modal .modal-content { padding: 20px; }
.contacts-schema-modal .modal-header { padding: 0 0 16px; }
.contacts-schema-modal .modal-title { font-size: 20px; }
.contacts-schema-modal img { width: 100%; height: auto; }
/* Merge the slightly lighter raster background into the site's cream surface. */
.contacts-schema-panel,
.contacts-schema-modal .modal-body { background: var(--sun-cream); isolation: isolate; }
.contacts-schema-link img,
.contacts-schema-modal img { mix-blend-mode: darken; }
@media (max-width: 767px) {
  .contacts-intro { max-width: none; width: 100%; }
  .contacts-feedback { width: 100%; }
  .contacts-map-tabs { top: 2px; left: 2px; right: 12px; max-width: calc(100% - 24px); }
  .contacts-map-tabs button { padding: 10px 12px; }
}
