.hym-map {
    --hym-surface: #292824;
    --hym-accent: #b49a75;
    --hym-text: #f1ebe3;
    --hym-border: rgba(180, 154, 117, 0.4);
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: auto !important;
    min-width: 0;
    overflow: hidden;
    background: var(--hym-surface);
    border: 1px solid var(--hym-border);
    border-radius: 8px;
}
.hym-map-frame {
    display: block;
    width: 100%;
    height: 360px;
    border: 0;
}
.hym-map-compact .hym-map-frame { height: 280px; }
.hym-map .hym-map-actions {
    padding: 4px 18px;
    background: var(--hym-surface);
    border-top: 1px solid var(--hym-border);
}
.hym-map .hym-map-link,
.hym-map .hym-map-link:visited {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    box-sizing: border-box;
    max-width: 100%;
    min-height: 44px;
    padding: 6px 0;
    color: var(--hym-accent);
    font-family: inherit;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    text-decoration: none;
}
.hym-map .hym-map-link::after {
    content: '\2197';
    flex: 0 0 auto;
    font: 20px/1 sans-serif;
}
.hym-map .hym-map-link:hover,
.hym-map .hym-map-link:focus-visible {
    color: var(--hym-text);
    text-decoration: underline;
    text-underline-offset: 4px;
}
.hym-map .hym-map-link:focus-visible {
    outline: 2px solid var(--hym-accent);
    outline-offset: 2px;
    border-radius: 2px;
}
.hym-preview-notice {
    position: relative;
    z-index: 10;
    padding: 18px 24px;
    border-top: 3px solid #b77700;
    background: #fff3cd;
    color: #332600;
    font: 14px/1.6 system-ui, sans-serif;
}
.hym-preview-notice a { color: #1e4770; text-decoration: underline; }
@media (max-width: 767px) {
    .hym-map-frame { height: 300px; }
    .hym-map .hym-map-actions { padding: 4px 14px; }
    .hym-map .hym-map-link { width: 100%; justify-content: space-between; }
}

/* The gallery tab gets its size from Houzez. Fill that box, including the
   API wrapper, rather than letting its iframe resolve 100% against auto. */
.property-banner #pills-map .map-wrap > .hym-map {
    display: flex;
    flex-direction: column;
    height: 100% !important;
    min-height: 0;
}
.property-banner #pills-map .hym-map > .hym-front-surface {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    min-height: 0;
}
.property-banner #pills-map .hym-front-surface > .hym-map-frame,
.property-banner #pills-map .hym-front-surface > .hym-api-stage {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100% !important;
    min-height: 0;
}
.property-banner #pills-map .hym-map > .hym-map-frame {
    flex: 1 1 0;
    height: 0 !important;
    min-height: 0;
}
.property-banner #pills-map .hym-map > .hym-map-actions {
    flex: 0 0 auto;
}
