.map-section {
    padding: 60px 0;
    width: 100%;
}

.map-container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    height: 500px;
}

.map-container iframe {
    width: 100%;
    height: 100%;
    border: none;
    filter: grayscale(0.5);
}
/* --------------------------------------------------------------------------
   Consent-gated placeholder — shown until the visitor asks for the embed
   -------------------------------------------------------------------------- */

.map-placeholder {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 22px;
    text-align: center;
    padding: 34px 24px;
    background: var(--cream-soft);
    border: 1px solid var(--rule-strong);
}

.map-address {
    font-family: var(--body);
    font-size: 1.02rem;
    line-height: 1.8;
    color: var(--ink);
    letter-spacing: 0.04em;
}

.map-note {
    font-size: 0.82rem;
    color: var(--ink-muted);
    max-width: 46ch;
    line-height: 1.6;
}

.map-note a {
    color: var(--moss-dark);
    text-underline-offset: 3px;
}
