/* ══════════════════════════════════════════
   MAP SECTION
   ══════════════════════════════════════════ */

.map-section {
    width: 100%;
    padding: 3vw 0;
    background: #fdfdfd;
}

.map-container {
    max-width: 85vw;
    margin: 0 auto;
    background: #fff;
    padding: 1vw;
    border-radius: 1.5vw;
    box-shadow: 0 1vw 3vw rgba(0,0,0,0.06);
    border: 1px solid #f0f0f0;
    overflow: hidden;
}

.map-header {
    text-align: center;
    margin-bottom: 2vw;
}

.map-label {
    display: inline-block;
    font-size: 1vw;
    letter-spacing: 0.3vw;
    text-transform: uppercase;
    color: var(--theme-primary, #f1c40f);
    margin-bottom: 1vw;
    font-weight: 700;
}

.map-title {
    font-family: var(--font-heading, 'Marcellus', serif);
    font-size: clamp(1.5vw, 2.2vw, 2.5vw);
    color: var(--theme-accent, #1a1a1a);
    line-height: 1.2;
}

.map-iframe-wrapper {
    width: 100%;
    height: 35vw;
    border-radius: 1vw;
    overflow: hidden;
    position: relative;
    box-shadow: inset 0 0 2vw rgba(0,0,0,0.05);
}

.map-iframe-wrapper iframe {
    width: 100% !important;
    height: 100% !important;
    border: 0;
    filter: grayscale(0.2) contrast(1.1);
    transition: filter 0.5s ease;
}

.map-iframe-wrapper:hover iframe {
    filter: grayscale(0);
}

@media (max-width: 960px) {
    .map-section { padding: 8vw 0; }
    .map-container { padding: 3vw; border-radius: 4vw; max-width: 92vw; }
    .map-header { margin-bottom: 6vw; }
    .map-label { font-size: 3.5vw; }
    .map-title { font-size: 8vw; }
    .map-iframe-wrapper { height: 80vw; border-radius: 3vw; }
}
