/**
 * Habillage de la carte Leaflet (page À propos) pour rester cohérent avec la
 * charte du site (fond sombre, accent or, typographie Playfair/Montserrat).
 */

.location-map-wrap {
    max-width: 900px;
    margin-inline: auto;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    overflow: hidden;
}
.coverage-tools { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin:24px 0 16px; }
.coverage-tools [hidden] { display:none; }
.coverage-tools [aria-pressed=true] { box-shadow:0 0 0 2px var(--color-secondary); }
.coverage-note { max-width:750px; margin:0 auto 24px; text-align:center; font-size:.85rem; }
.coverage-list { max-width:900px; margin:24px auto 0; border:1px solid var(--color-border); border-radius:12px; padding:20px; }
.coverage-list summary { cursor:pointer; font-weight:600; }
.coverage-list ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; list-style:none; padding:20px 0 0; }
.coverage-list span { display:block; font-size:.8rem; color:var(--color-accent); }
#map-error { text-align:center; margin-top:16px; }
@media(max-width:640px) { .coverage-list ul { grid-template-columns:1fr; } .coverage-tools .btn { width:100%; } }

#location-map {
    height: 520px;
    width: 100%;
    background: var(--color-bg);
}

@media (max-width: 640px) {
    #location-map {
        height: 380px;
    }
}

/* Marqueurs personnalisés (remplacent l'icône Leaflet par défaut) */
.location-pin {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: var(--color-secondary);
    border: 2px solid rgba(17, 17, 17, 0.6);
    box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.25);
    cursor: pointer;
}

.location-pin-home {
    background: var(--color-secondary);
    box-shadow: 0 0 0 6px rgba(212, 175, 55, 0.2);
    animation: locationPinPulse 2.4s ease-in-out infinite;
}

.location-pin-exceptional {
    background: transparent;
    border: 3px solid var(--color-secondary);
}

.location-pin-exceptional::after {
    content: '';
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    background: var(--color-secondary);
}

@keyframes locationPinPulse {
    0%, 100% { box-shadow: 0 0 0 6px rgba(212, 175, 55, 0.2); }
    50% { box-shadow: 0 0 0 10px rgba(212, 175, 55, 0.08); }
}

@media (prefers-reduced-motion: reduce) {
    .location-pin-home { animation: none; }
}

/* Popups Leaflet, redessinés dans la charte du site */
.leaflet-popup-content-wrapper {
    background: var(--color-bg-elevated);
    color: var(--color-primary);
    border-radius: var(--radius-sm);
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-elevated);
}

.leaflet-popup-content {
    font-family: var(--font-body);
    font-size: var(--fs-sm);
    margin: 0.75rem 1rem;
}

.leaflet-popup-content strong {
    font-family: var(--font-heading);
    font-size: var(--fs-base);
}

.leaflet-popup-content a {
    color: var(--color-secondary);
}

.location-popup-label {
    color: var(--color-accent);
    font-size: var(--fs-xs);
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.leaflet-popup-tip {
    background: var(--color-bg-elevated);
    border: 1px solid var(--color-border);
}

.leaflet-container a.leaflet-popup-close-button {
    color: var(--color-accent);
}

.leaflet-control-zoom a {
    background: var(--color-bg-elevated) !important;
    color: var(--color-primary) !important;
    border-color: var(--color-border) !important;
}

.leaflet-control-zoom a:hover {
    background: var(--color-bg-elevated-2) !important;
}

.leaflet-control-attribution {
    background: rgba(17, 17, 17, 0.7) !important;
    color: var(--color-accent) !important;
}

.leaflet-control-attribution a {
    color: var(--color-accent) !important;
}
