/* Deux magasins : petits ajustements de layout */
.footer-stores-two .fa-ul {margin-bottom: 0;}

/* Autres magasins (cas 3+) */
.footer-other-stores .fa-store {font-size: 0.9rem;}
.footer-other-stores ul li {line-height: 1.3;}
.footer-all-stores-link {text-decoration: underline; text-underline-offset: 2px;}

.footer-stores-switcher .form-select {
    background-color: transparent;
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.4);
    font-size: 0.85rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.footer-stores-switcher .form-select:focus {box-shadow: none; border-color: #00a8ff;}
.footer-stores-switcher .form-select option {color: #000;}
.footer-stores-switcher .disabled {pointer-events: none; opacity: 0.5;}

/* Onglets de la page contact (3+ magasins) */
.contact-stores-tabs {border-bottom: 1px solid rgba(255, 255, 255, 0.4) !important;}
.contact-stores-helper {color: rgba(255, 255, 255, 0.7);}
/* Boutons d'onglets */
.contact-stores-tabs .nav-link {
    color: #ffffff; background-color: transparent; border: 1px solid transparent; border-bottom: none;
    border-radius: 0.35rem 0.35rem 0 0; margin-right: 0.25rem; padding: 0.35rem 1rem; font-weight: 400;
}
/* Onglets non actifs : contour léger */
.contact-stores-tabs .nav-link:not(.active) {border-color: rgba(255, 255, 255, 0.4); opacity: 0.85;}
/* Hover : un peu plus marqué */
.contact-stores-tabs .nav-link:not(.active):hover {border-color: rgba(255, 255, 255, 0.35); opacity: 1;}
/* Onglet actif : bien lisible */
.contact-stores-tabs .nav-link.active {
    background-color: #ffffff; color: var(--bs-primary); border-color: #ffffff; border-bottom: 1px solid #ffffff;
}
/* Accessibilité clavier */
.contact-stores-tabs .nav-link:focus-visible {outline: 2px solid #ffffff; outline-offset: 2px;}
/* Contenu des onglets */
.contact-stores-tabs-content {border-radius: 0 0 0.35rem 0.35rem; padding-top: 1rem;}
.contact-stores-2 .contact-store-item:first-child {border-bottom: 1px solid rgba(255, 255, 255, 0.4);}
.contact-stores-2 .contact-store-item:last-child {margin-bottom: 0 !important;}


/* Label au-dessus des marqueurs sur la carte contact */
.leaflet-tooltip.contact-map-label {
    background: rgba(8, 11, 15, 0.9); color: #ffffff; border: 0; border-radius: 4px; padding: 2px 8px;
    font-size: 12px; font-weight: 500; box-shadow: none; pointer-events: none;
}
.leaflet-tooltip.contact-map-label::before {border-top-color: rgba(8, 11, 15, 0.9);}
/* Wrapper pour pouvoir positionner l'overlay */
.contact-map-wrapper {position: relative;}
.contact-map {width: 100%; height: 350px; z-index: 10;}
@media (min-width: 992px) {
    .contact-map {height: 450px;}
}
/* Overlay façon Google Maps */
.contact-map-overlay {
    position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; pointer-events: none;
    background: rgba(8, 11, 15, 0.50); z-index: 15; cursor: pointer; transition: opacity .25s ease; opacity: 0;
}
.contact-map-overlay span {
    background: rgba(8, 11, 15, 0.9); color: #fff; font-size: 13px; padding: 6px 16px; border-radius: 12px;
    transform: translateY(6px) scale(0.98); opacity: 0; transition: opacity .22s ease, transform .22s ease;
}
/* Animation quand overlay devient visible */
.contact-map-wrapper:hover .contact-map-overlay:not(.is-hidden) span {opacity: 1; transform: translateY(0) scale(1);}
/* Quand on survole la map : afficher l’overlay */
.contact-map-wrapper:hover .contact-map-overlay {opacity: 1; pointer-events: auto;}
/* Quand la carte est "active" : on masque l'overlay et on ne bloque plus les clics */
.contact-map-overlay.is-hidden {opacity: 0 !important; pointer-events: none !important;}
.contact-map-overlay.is-hidden span {opacity: 0 !important; transform: translateY(6px) scale(0.98) !important;}

/* Layout du footer en desktop : centre plus large que les côtés */
@media (min-width: 768px) {
    .footer-stores-two .col-md-6 {position: relative; display: flex;}
    .footer-stores-two .col-md-6:first-child::after {
        content: ''; position: absolute; top: 0; bottom: 0; right: 0; width: 1px; pointer-events: none;
        background: rgba(255, 255, 255, 0.2);
    }
    .footer-stores-two .col-md-6 {padding-right: 1rem; padding-left: 1rem;}
}
@media (max-width: 767px) {
    .footer-stores-two .col-md-6:first-child {border-bottom: 1px solid rgba(255, 255, 255, 0.2);}
    .footer-stores-two .col-md-6 {padding: 0;}
}

/* Page magasins */
.page-stores .store-card {border-radius: 0.75rem; overflow: hidden;}
.page-stores .store-hours li:last-child {border-bottom: 0 !important;}
