/* Définition de la couleur bleue personnalisée */
        :root {
            --custom-blue: #0570b6;
            --custom-blue-darker: #045a94; /* Teinte plus foncée pour le survol */
        }

        /* Appliquer la police Inter par défaut */
        body {
            font-family: 'Inter', sans-serif;
        }

        /* Styles utilisant la couleur bleue personnalisée */
        .custom-blue-text { color: var(--custom-blue); }
        .custom-blue-bg { background-color: var(--custom-blue); }
        .custom-blue-border { border-color: var(--custom-blue); }

        /* Styles de survol */
        .hover\:custom-blue-text-darker:hover { color: var(--custom-blue-darker); }
        .hover\:custom-blue-bg-darker:hover { background-color: var(--custom-blue-darker); }
        .hover\:underline:hover { text-decoration: underline; }

        /* Style pour les onglets d'événements actifs/inactifs */
        .tab-active {
            border-bottom: 2px solid var(--custom-blue);
            color: var(--custom-blue);
            font-weight: 600;
        }
        .tab-inactive {
            border-bottom: 2px solid transparent;
            color: #6b7280; /* gray-500 */
        }
        .tab-inactive:hover {
             color: var(--custom-blue); /* Change la couleur au survol pour les inactifs */
        }

        /* Style pour cacher/afficher le contenu des onglets */
        .tab-content {
            display: none;
        }
        .tab-content.active {
            display: block;
        }

        /* Section Hero */
        .hero-section {
            min-height: 400px;
            height: 60vh;
            background-size: cover;
            background-position: center;
        }

        /* Images Flyer */
        .flyer-img {
            aspect-ratio: 210 / 297;
            object-fit: cover;
            width: 100%;
            border-top-left-radius: 0.5rem;
            border-top-right-radius: 0.5rem;
        }

        /* Images Complexes */
        .complex-img {
             width: 100%;
             height: 10rem;
             object-fit: cover;
             border-top-left-radius: 0.5rem;
             border-top-right-radius: 0.5rem;
        }

        /* Style pour l'anneau de focus personnalisé */
        .focus\:ring-custom-blue:focus {
            outline: 2px solid transparent;
            outline-offset: 2px;
            box-shadow: 0 0 0 2px var(--custom-blue);
        }

         /* Mise à jour : Style pour l'icône map */
        .map-icon {
            display: inline-block;
            width: 1.2em; /* Taille légèrement augmentée */
            height: 1.2em; /* Taille légèrement augmentée */
            margin-right: 0.3em; /* Espace ajusté */
            vertical-align: -0.2em; /* Ajustement vertical affiné */
            fill: currentColor; /* L'icône prendra la couleur du texte parent (qui sera bleu) */
        }

        /* Styles pour la modale d'image */
        .image-modal {
            display: none; /* Caché par défaut */
            position: fixed;
            z-index: 1000;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            overflow: auto;
            background-color: rgba(0,0,0,0.8);
            justify-content: center;
            align-items: center;
        }

        .image-modal-content {
            margin: auto;
            display: block;
            max-width: 90%;
            max-height: 90vh;
        }

        .image-modal-close {
            position: absolute;
            top: 15px;
            right: 35px;
            color: #f1f1f1;
            font-size: 40px;
            font-weight: bold;
            transition: 0.3s;
        }

        .image-modal-close:hover,
        .image-modal-close:focus {
            color: #bbb;
            text-decoration: none;
            cursor: pointer;
        }