/* ==========================================================================
   STYLE GÉNÉRAL
   ========================================================================== */
	body { 
		overflow-x: hidden; /* Évite le défilement horizontal */
	}

/* ==========================================================================
   BANNIÈRE SWIPER (SLIDER)
   ========================================================================== */
	.main-banner {
		width: 100vw !important; /* Largeur totale de l'écran */
		height: 15vh !important;  /* HAUTEUR ORIGINALE : 15% de la hauteur de l'écran */
		margin-left: calc(-50vw + 50%); /* Centrage forcé du bandeau large */
		position: relative;
		overflow: hidden;
        background: #000;
        margin-bottom: 10px !important; /* Collé aux tuiles */
        box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    }
	/* Barre de progression en bas du slider */
	.swiper-progress-bar {
		width: 100%;
		height: 4px;
		background: rgba(255, 255, 255, 0.2);
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 30;
	}
	.progress-fill {
        height: 100%;
        width: 0%; /* Commence à 0 */
        background: linear-gradient(90deg, #6c7a89, #2e3b4e);
        /* Suppression de la transition CSS ici pour la gérer en JS */
    }
	
	/* La partie qui avance (Dégradé bleu selon votre image) */
	.swiper-progress-bar .progress-fill {
		height: 100%;
		width: 0;
		background: linear-gradient(90deg, #205081, #5b9bd5);
		transition: width linear; /* Transition fluide */
	}
	
    @media (max-width: 767px) {
        .main-banner { height: 25vh; }
    }
    
    .main-banner .swiper-slide img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
	.main-banner .swiper-button-next, 
	.main-banner .swiper-button-prev {
		transform: scale(0.8); /* Augmenté pour faciliter le clic */
		color: #ffffff; /* S'assure qu'elles sont bien visibles sur les images sombres */
	}

/* ==========================================================================
   GRILLE DES TUILES (FORMATIONS)
   ========================================================================== */
	.style-tuiles {
		display: grid;
		/* Crée autant de colonnes que possible de minimum 200px chacune */
        grid-template-columns: repeat(8, 1fr); 
        width: 100vw !important;
        margin-left: calc(-50vw + 50%);
        margin-top: 5px !important; 
        margin-bottom: 0 !important; 
        gap: 5px; /* Espace entre les tuiles */
        padding: 0;
        box-sizing: border-box;
        background: #fff; /* Fond blanc de la zone */
    }

	/* --- NOUVELLE PALETTE BLEU DÉGRADÉ --- */
    /* On applique le dégradé à toutes les tuiles par défaut */
    .tuile-item {
        background: linear-gradient(180deg, #6c7a89 0%, #2e3b4e 100%);
        min-height: 75px; /* Hauteur de chaque tuile */
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        color: #ffffff !important;
        text-decoration: none !important;
        font-weight: bold;
        font-size: 1.2em; 
        text-align: center;
		padding: 10px 5px;
        transition: all 0.3s ease-in-out;
        text-transform: uppercase;
        border-radius: 0;
        line-height: 1.2;
		border-top: 1px solid rgba(255, 255, 255, 0.4);
        box-sizing: border-box;
    }
    /* --- EFFET AU SURVOL (Changement fond et texte) --- */
    .tuile-item:hover {
        background: #ffffff !important; /* Devient blanc pur */
        color: #2e3b4e !important;    /* Texte devient bleu foncé */
        transform: translateY(-5px);
        box-shadow: 0 4px 15px rgba(0,0,0,0.4);
        z-index: 5;
		border-top-color: transparent; /* On enlève le liseré au survol pour la pureté du blanc */
    }
    /* Si vous voulez garder des classes spécifiques, elles écraseront le dégradé par défaut */
    /* Sinon, supprimez simplement les .bg-auto, .bg-moto etc. de votre HTML */

    /* Images/Icônes dans les tuiles */
    .tuile-item img {
        height: 25px;
        width: auto;
        margin-bottom: 4px;
    }

    /* Responsive Tuiles */
	@media (max-width: 1024px) { .style-tuiles { grid-template-columns: repeat(4, 1fr); } }
    @media (max-width: 600px) { .style-tuiles { grid-template-columns: repeat(2, 1fr); } }

    /* --- AJUSTEMENT METRO --- */
	.vc_banner.block {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}
    
    center h3 { margin-bottom: 5px !important; }
    center h4 { margin-top: 0 !important; margin-bottom: 15px !important; }
		/* Ajustement pour Mobile (Écrans de moins de 768px) */
    @media (max-width: 767px) {
        .main-banner {
            height: 15vh; /* Changez 25vh par 15vh pour un bandeau plus petit */
        }
        
        /* On réduit aussi la taille des flèches pour qu'elles ne mangent pas toute l'image */
        .main-banner .swiper-button-next, 
        .main-banner .swiper-button-prev {
            transform: scale(0.4);
        }
    }
	
	/* ==========================================================================
	   POPUP (FENÊTRE PORTES OUVERTES)
	   ========================================================================== */
	/* Le fond noir transparent */
	.popup-overlay {
		display: none; /* Caché par défaut */
		position: fixed;
		z-index: 9999;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 0, 0, 0.8) !important; /* NOIR à 80% d'opacité */
	}

	/* Boîte de dialogue */
	.popup-content {
		background-color: #fff;
		margin: 10% auto;
		padding: 0;
		border-radius: 10px;
		width: 90%;
		max-width: 500px;
		position: relative;
		animation: slideDown 0.4s ease-out;
		overflow: hidden;
		text-align: center;
	}

	@keyframes slideDown {
		from { transform: translateY(-50px); opacity: 0; }
		to { transform: translateY(0); opacity: 1; }
	}

	/* LE BOUTON FERMER (X) */
	.close-popup {
		position: absolute;
		top: 10px;
		right: 15px;
		color: #aaa;
		font-size: 28px;
		font-weight: bold;
		cursor: pointer;
		z-index: 10;
	}
	.close-popup:hover { color: #e31e24; }

	/* Logo dans le popup */
	.popup-header { background: #2e3b4e; padding: 20px; }
	.popup-logo { height: 50px; }
	.popup-body { padding: 30px; font-family: sans-serif; }
	.popup-body h2 { color: #2e3b4e; margin-top: 0; }	/* ZONE DATE ORIGINALE (Agrandie comme demandé) */
	.popup-date { 
		background: #f8f9fa; 
		padding: 15px; 
		border-left: 4px solid #e31e24; 
		margin: 20px 0;
		font-weight: bold;
		/* Ajoutez ou modifiez cette ligne : */
		font-size: 24px; /* Paramètre agrandi pour lisibilité */
		color: #2e3b4e; /* Pour une meilleure lisibilité avec le gris ardoise */
	}
	/* Bouton "Plus d'infos" */
	.btn-popup {
		display: inline-block;
		background: #e31e24;
		color: white !important;
		padding: 12px 25px;
		text-decoration: none;
		border-radius: 5px;
		font-weight: bold;
		transition: background 0.3s;
	}
	.btn-popup:hover { 
		background: #2e3b4e;
	}
	
