/* ====================================================
    =============== PAGES ---------------------------
=====================================================*/

/* --- HERO SECTION BASE
----------------------- */
/* Centrage du contenu interne (IMPORTANT pour éviter décalage builder) */
.hero-content {
    margin: 0 auto;
    max-width: 600px;
    text-align: center;
}

.hero-events-content {
    position: relative;
    display: flex;
    justify-content: center; /* Centre le panneau horizontalement */
    align-items: center;     /* Centre le panneau verticalement (ou flex-end pour le bas) */
    height: 70vh;
    padding: 0 25px;
}

/* ------ TYPO HERO -------- */
.hero-content h1 {
    color: var(--orange-02);
    font-size: 2.5rem;
    margin-bottom: 1rem;
    text-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
.hero-content p {
    color: var(--vanilla);
    font-size: 1.6rem;
    margin-bottom: 2rem;
    line-height: 1.6;
}


/* ================= PAGE ACUUEIL --------------------
=====================================================*/

/* ---  GLASS PANEL (CORE STABLE)
-------------------------------- */
.glass-panel {
    position: relative;
    z-index: 2;

    /* On garde ton style desktop, mais on sécurise le flex */
    flex: 0 1 auto; /* Laisse la taille être définie par max-width */
    width: auto;
    max-width: 700px;
    margin: 0 auto; /* Centrage horizontal garanti */

    padding: 3rem 2rem;
    text-align: center;

    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    border: 1px solid rgba(255, 255, 255, 0.3);
    border-top: 1px solid rgba(255, 255, 255, 0.5);
    border-left: 1px solid rgba(255, 255, 255, 0.5);

    box-shadow: 0 8px 32px rgba(41, 60, 36, 0.3);
    border-radius: 16px;

    opacity: 0;
    transform: translateY(20px);
    animation: fadeUp 0.8s ease-out forwards;
}



/* Animation */
@keyframes fadeUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ----- BUTTONS ------ */
.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
}
.btn {
    padding: 12px 28px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.3rem;
    transition: all 0.3s ease;
    backdrop-filter: blur(4px);
}
/* Primary */
.btn-primary {
    background: #e67e3a;
    color: #f3eeda;
    border: 1px solid rgba(255,255,255,0.4);
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}
.btn-primary:hover {
    background: #ff914d;
    color: #293c24;
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.3);
}
/* Secondary */
.btn-secondary {
    background: #293c24;
    color: #f3eeda;
    border: 1px solid rgba(243, 238, 218, 0.8);
}
.btn-secondary:hover {
    background: #7d8d73;
    color: #e67e3a;
    transform: translateY(-3px);
}

/* ---- FULLWIDTH BUILDER FIX
---------------------------- */
#hero-section .fullwidth-block {
    left: 0 !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ----- RESPONSIVE MOBILE (Max 768px)
------------------------------------- */
@media (max-width: 768px) {

    /* 1. RESET TOTAL DES CONTENEURS BUILDER (Pour tuer le décalage) */
    #hero-section .vc_row,
    #hero-section [data-vc-full-width],
    #hero-section .fullwidth-block,
    #hero-section .fullwidth-block-inner {
        left: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        transform: none !important;
        box-sizing: border-box !important; /* CRUCIAL */
    }

    /* 2. COLONNES PARENTES */
    #hero-section .vc_column_container, 
    #hero-section .wpb_column,
    #hero-section .gem-content-alignment-center {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important; /* On retire TOUT padding ici pour laisser le panneau respirer */
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    /* 3. LE PANNEAU GLASSMORPHISM */
    .glass-panel {
        width: 100% !important;
        max-width: 100% !important;
        
        /* 100% de la largeur MOINS 30px de marge totale (15px de chaque côté) */
        width: calc(100% - 30px) !important; 
        
        min-width: 280px; /* Sécurité pour très petits écrans */
        margin: 0 auto !important; /* Centre le bloc */
        
        padding: 2rem 1.5rem !important; /* padding interne */
        box-sizing: border-box !important; /* Inclut le padding dans la largeur calculée */
        
        position: relative !important;
        left: 0 !important;
        flex: none !important;
        border-radius: 12px;
    }

    /* 4. TYPOGRAPHIE */
    .hero-content h1 {
        font-size: 2rem;
        line-height: 1.2;
    }

    .hero-content p {
        font-size: 1.3rem;
        line-height: 1.5;
    }

    /* 5. BOUTONS (Empilés, taille desktop) */
    .hero-actions {
        display: flex;
        flex-direction: column !important;
        align-items: center;
        width: 100%;
        gap: 1rem;
        justify-content: center;
        margin-top: 1rem; /* Petit espace avec le texte */
    }

    .btn {
        width: auto !important;
        display: inline-block;
        /* Garde sa taille desktop (1.3rem, padding 12px 28px) */
    }
}

/* ====================================================
PAGE ÉVÈNEMENTS -------------------------------------
=====================================================*/
#home-hero-inter-section {
    display: flex;
    justify-content: center; 
    align-items: center;
    background: url("https://etais.org/wp-content/uploads/2026/05/hero-prez-02-scaled.jpg") center/cover no-repeat;
    height: 70vh;
    padding: 0 25px;
}


/* ================================================================
        ================ PLUGINS  ================
===================================================================*/

/* ================= EVENTS MANAGER -------------------
   ================================================== */

/* ----- SUR LA PAGE DE l'ÉVÈNEMENT  -----------
================================================== */

/* --- DESACTIVER LIENS EVENTS --- */
.em-event-location a,
.em-event-categories a {
    pointer-events: none;
    cursor: default;
    text-decoration: none !important;
}

.em {
    /* Couleurs principales */
    --accent-color: #e67e3a !important;
    --accent-color-hover: #ff914d !important;

    /* Texte */
    --text-color-richer: #f3eeda  !important;
    --text-color-normal: #293c24 !important;
    --text-color-softer: rgba(243,238,218,0.75)  !important;

    /* Fonds */
    /* --background-color: #f3eeda  !important; */
    /* --background-color-softer: #7d8d73  !important; */

    /* Bordures */
    --border-color: rgba(243,238,218,0.25)  !important;
    --border-color-softer: rgba(243,238,218,0.15)  !important;
  	--defautl-border: #ff914d !important;

    /* Boutons */
    --button-primary-color: #f3eeda  !important;

    /* Meta */
    --meta-color: #e67e3a  !important;
	/*--meta-color: #293c24  !important;/*

    /* Divers */
    --default-color: #e67e3a !important;
    --default-border: #e67e3a !important;
}

.em-events-list .em-event {
    --default-border: #ff914d !important;
}

/* --- EVENT META / INFOS EVENT --- */
/* CONTENEUR GLOBAL */
.em-item-header {
    background: #7d8d73 !important; /* Ici on modifie la couleur du fond du résumé */
    padding: 40px !important;
    border-radius: 18px;
    margin-top: 50px !important;
    /*box-shadow: 0 8px 24px rgba(0,0,0,0.12);*/
}
/* LAYOUT COLONNES */
.em-item-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
}
.em-item-meta-column {
    flex: 1 1 400px;
}

/* --- TITRES SECTIONS --- */
.em-item-header h3 {
    font-size: 1.4rem;
    color: #f3eeda !important;
    margin-bottom: 20px;
    border-bottom: 2px solid rgba(243,238,218,0.3);
    padding-bottom: 10px;
}

/* --- LIGNES META --- */
.em-item-meta-line {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 18px;
    color: #f3eeda;
    line-height: 1.6;
}

/* --- ICONES --- */
.em-icon {
    color: #e67e3a !important;
    font-size: 1.2rem;
    min-width: 24px;
    margin-top: 4px;
}

.em-icon svg {
    fill: #e67e3a !important;
}

/* --- LIENS --- */
.em-item-header .em-item-meta a {
    color: #f3eeda !important;
    text-decoration: none;
    transition: all 0.3s ease;
}

.em-item-header .em-item-meta a:hover {
    color: #e67e3a !important;
}

/* --- BOUTON AJOUT CALENDRIER --- */
.em-event-add-to-calendar {
    margin-top: 20px;
    padding: 14px 22px;
    display: block;
    margin: 20px auto 0 auto;
    border: none;
    border-radius: 50px;
    background: #e67e3a !important;
    color: #f3eeda !important;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,0.18);
}
/* HOVER */
.em-event-add-to-calendar:hover,
.em-event-add-to-calendar.input:hover {
    background: #ff914d !important;
    color: #293c24 !important;
}

/* --- MENU DROPDOWN CALENDRIER --- */
.tippy-box {
	position: relative;
	}
.tippy-content {
	position: absolute;
	top: 5px;
	left: -140px;
	overflow: hideen !important}
.tippy-content, .tippy-box {
	background: #7d8d73 !important;
  	color: #ff914d !important;
  	border-radius: 14px;
}

.em-event-add-to-calendar-content {
  	position: absolute;
    background: #7d8d73 !important;
    border-radius: 14px;
    overflow: hidden !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}
.em-event-add-to-calendar-content a {
    display: block;
    /*padding: 12px 16px;*/
    color: #de7c28 !important;
    border-bottom: 1px solid rgba(0,0,0,0.08);
}

body .em .em-event-add-to-calendar-content a:hover {
    /*background: #7d8d73 !important;*/
    background-color: #7d8d73 !important;
    color: #ff914d !important;
}

/* --- CATEGORIES --- */
.event-categories {
    list-style: none;
    margin: 0;
    padding: 0;
}
.event-categories li {
    display: inline-block;
    /*background: rgba(243,238,218,0.15);
    border: 1px solid rgba(243,238,218,0.25);
    padding: 8px 14px;
    border-radius: 5px;*/
}


/* ==== RESPONSIVE Page Évènements ==== */
@media (max-width: 768px) {
    .em-item-header {
        padding: 25px;
    }
    .em-item-meta {
        flex-direction: column;
        gap: 30px;
    }
    .em-item-header h3 {
        text-align: center;
    }
    .em-item-meta-line {
        justify-content: center;
        text-align: center;
    }
    .em-event-add-to-calendar {
        width: 100%;
    }
    .event-categories li {
        display: block;
        text-align: center;
    }
}

/* ------------------------------------------------------*/

 /* ----- SHORTCODE LISTE 1 ou X ÉVÈNEMENTS --------
================================================== */

  /*  ------ VARIABLES GLOBALES ------
  ---------------------------------- */
.em-events-list .em-event {
    --default-border: #ff914d !important;
}

  /*  ------ CONTAINER LISTE ------
  -------------------------------- */
.em-events-list {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

  /*  ------ CARD EVENT ------
  ----------------------------- */
.em-events-list .em-event {
    display: flex;
    gap: 30px;
    background: #7d8d73 !important; /* ICI on modifie */
    border-radius: 18px;
    padding: 30px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}
/* --- HOVER CARD --- */
.em-events-list .em-event:hover {
    transform: translateY(-4px);
    box-shadow:
        0 14px 32px rgba(0,0,0,0.18);
}

  /*  ------  IMAGE / DATE  ------
  --------------------------------- */
.em-item-image-placeholder {
    background: #293c24 !important;
    border-radius: 14px;
    min-width: 120px;
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* --- JOUR --- */
.em-item-image-placeholder .day {
    display: block;
    font-size: 2.5rem;
    font-weight: 700;
    color: #f3eeda;
    line-height: 1;
    text-align: center;
}
/* --- MOIS --- */
.em-item-image-placeholder .month {
    display: block;
    margin-top: 8px;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #e67e3a;
    text-align: center;
}

  /*  ------ CONTENU EVENT ------
  --------------------------------- */
.em-item-info {
    flex: 1;
}

  /*  ------ TITRE EVENT ------
  --------------------------------- */
.em-item-title {
    margin-bottom: 12px !important;
}

.em-item-title a {
    color: #f3eeda !important;
    font-size: clamp(1.4rem, 2vw, 2rem);
    font-weight: 700 !important;
    text-decoration: none;
    line-height: 1.2;
    transition: color 0.3s ease;
}
/* --- HOVER TITRE --- */
.em-item-title a:hover {
    color: #ff914d !important;
}

/* ------- META INFOS ---------------
  --------------------------------- */
.em-events-list .em-item-meta {
    display: grid !important;
    gap: 4px !important;
}

/* --- LIGNES META --- */
.em-events-list .em-item-meta-line {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 2px !important;
    color: #f3eeda !important;
    line-height: 1.25;
    font-size: 1.6rem;
}

/* --- LIENS META --- */
.em-events-list .em-item-meta-line a {
    color: #293c24 !important;
    text-decoration: none !important;
  	font-size: 1.6rem;
    font-weight: 700;
    transition: color 0.3s ease;
}
.em-events-list .em-item-meta-line a:hover {
    color: #293c24 !important;
}


/* ---------- ICONES -----------------
  --------------------------------- */
.em-events-list .em-icon {
    color: #e67e3a !important;
    font-size: 1rem;
    min-width: 18px !important;
    margin-top: 1px !important;
}

/* ---------- BOUTON ----------------
  --------------------------------- */
.em-item-actions {
    margin: 16px !important;
}
.em-item-read-more.button {
    display: inline-block;
    padding: 12px 22px;
    border-radius: 50px;
    background: #e67e3a !important;
    color: #f3eeda !important;
    text-decoration: none;
    font-weight: 600;
    transition:
        background 0.3s ease,
        color 0.3s ease,
        transform 0.3s ease;
}
/* --- HOVER BOUTON --- */
.em-item-read-more.button:hover {
    background: #ff914d !important;
    color: #293c24 !important;
    transform: translateY(-2px);
}

/* ------- RESPONSIVE ----------------
  --------------------------------- */
@media (max-width: 768px) {

    /* ----- CARD ------ */
    .em-events-list .em-event {
        flex-direction: column;
        padding: 25px;
    }


    /* ------ IMAGE / DATE ------ */
    .em-item-image {
        width: 100%;
    }
    .em-item-image-placeholder {
        width: 100%;
        min-height: 100px;

        margin: 0 auto;
    }

    /* ------ CONTENU ------ */
    .em-item-info {
        text-align: center;
    }

    /* ========= META INFOS ========= */
    .em-events-list .em-item-meta {
        width: fit-content;
        margin: 0 auto;
        justify-items: center;
    }

    .em-events-list .em-item-meta-line {
        justify-content: center;
        gap: 6px !important;
        width: 100%;
    }

    /* ========= ICONES ========= */
    .em-events-list .em-icon {
        min-width: auto !important;
    }

    /* ========= BOUTON ========= */
    .em-item-actions {
        display: flex;
        justify-content: center;
    }

}

/* ------------------------------------*/

/*  ===== EVENT PREZ PAGE --------------
   ================================== */

/* === GESTION DES ICONES === */
.em-icon .em-icon-calendar {
    color: #e67e3a !important;
}

/* --------- SECTION PRESENTATION EVENT
   ======================================= */
/* --- RESET WPBAKERY / THEGEM FULLWIDTH --- */
#prez_event,
#prez_event .vc_row {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
}

/* --- SECTION GLOBALE --- */
#prez_event {
    padding: 80px 150px;
}

/* --- ROW PRINCIPALE --- */
#prez_event .vc_row {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 50px;
}

/* --- COLONNES --- */
#prez_event .wpb_column {
    flex: 1 1 400px;
}

/* ------- IMAGE ------------- */
#prez_event #prez-event-img img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 12px;
}

/* ------- BLOC TEXTE ------- */
#prez_event .prez-event-textbloc {
    text-align: left;
}

/* TITRE */
#prez_event h2 {
    font-size: clamp(1.5rem, 3vw, 2.6rem) !important;
    line-height: 1.2;
    margin-bottom: 1.5rem;
    text-align: left !important;
}

/* PARAGRAPHE */
#prez_event p {
    line-height: 1.7;
    margin-bottom: 1rem;
}

/* ---------- RESPONSIVE TABLET / MOBILE
   ====================================== */
@media (max-width: 768px) {
    /* --- SECTION --- */
    #prez_event {
        padding: 25px !important;
    }
    /* --- ROW --- */
    #prez_event .vc_row {
        flex-direction: column;
        gap: 30px;
    }
    /* --- COLONNES --- */
    #prez_event .wpb_column {
        width: 100%;
        flex: unset;
    }
    /* --- IMAGE --- */
    #prez_event #prez-event-img img {
        width: 100%;
    }
    /* --- TEXTE --- */
    #prez_event .prez-event-textbloc {
        text-align: center;
    }
    /* --- TITRE --- */
    #prez_event h2 {
        font-size: clamp(1.6rem, 6vw, 2.2rem) !important;
        text-align: center !important;
    }
    /* --- PARAGRAPHE --- */
    #prez_event p {
        text-align: center;
        font-size: 1.6rem;
    }
}

/* ---------------------------------------------- */

/*  ------ EVENTS MANAGER - CALENDRIER MENSUEL
   ======================================== */

/* ---------- CONTAINER GLOBAL------------ */
.em-calendar {
    background: #7d8d73 !important;
    border-radius: 24px;
    padding: 30px;

    /*box-shadow: 0 10px 30px rgba(0,0,0,0.12);*/
}

/* -------- JOURS SEMAINE ----------- */
.em-cal-week-days {
    margin-bottom: 10px;
}

.em-cal-week-days .em-cal-day {
    color: #ff914d !important;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    background: transparent !important;
}


/* -------- GRILLE CALENDRIER ------------ */
.em-cal-body {
    gap: 8px;
}

/* --------- CASES JOURS --------- */
.em-cal-body .em-cal-day {
    background: rgba(41,60,36,0.35);
    border: 1px solid rgba(243,238,218,0.08);
    border-radius: 14px;
    padding: 8px;
    transition: all 0.25s ease;
}

/* Hover */
.em-cal-body .em-cal-day:hover {
    background: rgba(41,60,36,0.6);
}

/* ----------- NUMEROS JOURS ------------- */
.em-cal-day-date span {
    color: #f3eeda !important;
    font-weight: 600;
}

/* -------- JOURS AVEC EVENTS ------------- */
.em-cal-day.eventful {
    background: rgba(230,126,58,0.12);

    border: 1px solid rgba(255,145,77,0.35);
}


/* --------- CERCLE DATE EVENT ---------- */
.em-cal-day-date.colored .ring {
    background: #e67e3a !important;
    border: none !important;
    border-radius: 999px;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.em-cal-day-date.colored .ring a {
    color: #f3eeda !important;
    font-weight: 700;
    text-decoration: none;
}


/* ------- EVENTS DANS LES CASES ------- */
.em-cal-event {
    background: #e67e3a !important;
    border: none !important;
    border-radius: 10px;
    padding: 6px 10px;
    margin-top: 8px;
}

/* Texte event */
.em-cal-event,
.em-cal-event div {
    color: #f3eeda !important;
}

/* Liens event */
.em-cal-event a {
    color: #f3eeda !important;
    text-decoration: none;
    font-weight: 600;
}
.em-cal-event a:hover {
    color: #293c24 !important;
}


/* ----- MODALES EVENTS - Se reporter aux réglages EM
   ================================================== */


/* ----- RESPONSIVE ---------------- */
@media (max-width: 768px) {
    .em-calendar {
        padding: 18px;
    }

    .em-cal-nav {
        flex-direction: column;
        align-items: stretch;
    }
    .em-cal-nav .month-nav {
        justify-content: center;
    }

    .em-cal-body {
        gap: 6px;
    }

    .em-cal-event {
        font-size: 0.8rem;
        padding: 4px 6px;
    }

    .em-cal-day-date.colored .ring {
        width: 30px;
        height: 30px;
    }

}