#pilgrimage-section {
    padding: 2rem;
}

#catholic-map {
    border: 1px solid rgba(197, 164, 78, 0.3);
    z-index: 1;
}

/* Dark theme for Leaflet */
.leaflet-tile-pane {
    filter: invert(1) hue-rotate(180deg) brightness(0.8) contrast(1.2);
}

.leaflet-container {
    background: #1a1a2e;
    font-family: 'Inter', sans-serif;
}

.location-popup {
    font-family: 'Inter', sans-serif;
    color: #1a1a2e;
}

.location-popup h3 {
    font-family: 'Playfair Display', serif;
    color: #9B1B30;
    margin: 0 0 0.5rem 0;
}

.location-popup .type-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
}

.location-popup .type-parish { background: rgba(197, 164, 78, 0.2); color: #C5A44E; }
.location-popup .type-shrine { background: rgba(212, 175, 55, 0.2); color: #D4AF37; }
.location-popup .type-diocese { background: rgba(155, 27, 48, 0.2); color: #9B1B30; }
.location-popup .type-business { background: rgba(245, 240, 232, 0.3); color: #666; }

.location-popup .popup-address {
    font-size: 0.85rem;
    color: #555;
    margin: 0.4rem 0;
}

.location-popup .popup-patron {
    font-size: 0.85rem;
    color: #C5A44E;
    font-style: italic;
    margin: 0.3rem 0;
}

.location-popup .popup-mass {
    font-size: 0.85rem;
    margin: 0.3rem 0;
}

.location-popup .popup-phone a {
    color: #1B3A9B;
}

.location-popup .popup-link {
    display: inline-block;
    padding: 4px 12px;
    background: #9B1B30;
    color: #fff;
    border-radius: 4px;
    text-decoration: none;
    font-size: 0.8rem;
    margin-top: 0.3rem;
}

.location-popup .add-stop-link {
    display: inline-block;
    color: #C5A44E;
    font-size: 0.8rem;
    margin-top: 0.3rem;
}

#map-legend {
    display: flex;
    gap: 1.5rem;
    justify-content: center;
    padding: 1rem;
    flex-wrap: wrap;
}

.legend-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: rgba(245, 240, 232, 0.7);
}

.legend-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
}

.section-title {
    font-family: 'Playfair Display', serif;
    color: var(--gold, #C5A44E);
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 1.5rem;
}
