:root {
    --couleur-principale: #a20d35;
    --couleur-secondaire: #125875;
    --couleur-texte: #6e6e6e;
    --couleur-fond-page: #ffffff;
    --couleur-fond-footer: #00173c;
    --couleur-bouton-texte: #ffffff;
}

body {
    color: var(--couleur-texte);
    background-color: var(--couleur-fond-page);
}

.footer-bg,
.copyright-wrap {
    background-color: var(--couleur-fond-footer) !important;
}

.footer-social a:hover,
.contact-form .btn,
.bsingle__content .blog__btn .btn,
.project-detail .project-info li .btn,
.testimonial-active2 .slick-dots .slick-active button,
.home-blog-active .slick-arrow,
.home-blog-active2 .slick-arrow,
.button-group button.active,
.breadcrumb,
.copyright-wrap,
.cta-area .btn,
.event-content .date,
.blog-thumb2 .date-home,
.step-box .date-box,
.services-box07:hover,
.services-box07.active,
.second-header::before,
.second-header-btn .btn,
.slider-active .slider-btn .btn,
.comment-form .submit,
#scrollUp,
.search-form .search-submit,
.wp-block-search .wp-block-search__button,
.top-btn,
.widget-social a:hover,
.blog-content2 .date-home,
.f-cta-icon i,
.contact-bg02 .btn.ss-btn.active {
    background-color: var(--couleur-principale) !important;
}

.slider-active .slider-btn .btn,
.contact-form .btn,
.faq-btn,
.about-area .btn:hover,
.menu .sub-menu,
.menu .children,
.second-header-btn .btn,
.cta-area .btn,
.pricing-box2.active,
.sidebar-widget .widgettitle,
.tag-cloud-link:hover,
.widget-social a:hover,
.services-08-item:hover .readmore,
.team-info .text,
.blog-btn a,
.contact-bg02 .btn.ss-btn.active {
    border-color: var(--couleur-principale) !important;
}

.event03 .event-content .time i,
.faq-wrap .card-header h2 button::after,
.bsingle__content h2:hover a,
.testimonial-active2 .ta-info span,
.services-box a:hover,
.main-menu ul li:hover > a,
.main-menu ul li a::after,
.project-detail .project-info li .icon,
.cta-title h2 span,
.recent-blog-footer span,
.b-meta i,
.section-title h5,
.event-content .time strong,
.courses-content a.readmore,
.about-title h5,
.header-cta ul li i,
blockquote footer,
.pricing-body li::before,
.pricing-box2.active .price-count h2,
.pricing-box2.active .pricing-head h2,
.header-three .main-menu .sub-menu li a:hover,
.menu .children li a:hover,
.footer-link ul li a:hover,
.comment-text .avatar-name span,
.team-area-content span,
.team-area-content li .icon i,
.header-social a,
a:hover,
.services-08-thumb.glyph-icon i,
.gallery-image figcaption .span,
.team-info span,
.team-info h4 a:hover,
.single-team:hover .team-info h4,
.testimonial-active .slick-arrow,
.blog-btn a,
.bsingle__post .video-p .video-i,
.bsingle__content .meta-info ul li i,
.about-content li .icon i {
    color: var(--couleur-principale) !important;
}

.event-item:hover .event-content,
.header-three .second-header,
.project-detail .info-column .inner-column2 h3,
.btn:hover::before,
.conterdown,
.s-about-content .footer-social a,
.about-area .btn,
.second-header-btn .btn:hover {
    background-color: var(--couleur-secondaire) !important;
}

.about-area .btn,
.second-header-btn .btn:hover,
.services-box:hover,
.single-team .team-thumb .social {
    border-color: var(--couleur-secondaire) !important;
}

.page-dev {
    margin: 0;
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 32px;
    background:
        radial-gradient(circle at top left, rgba(255, 115, 80, 0.16), transparent 35%),
        linear-gradient(135deg, #f7fafc 0%, #eef4f8 100%);
    font-family: "Jost", "Roboto", sans-serif;
}

.page-dev__contenu {
    width: min(720px, 100%);
    padding: 40px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(18, 88, 117, 0.12);
    box-shadow: 0 24px 70px rgba(18, 88, 117, 0.14);
}

.page-dev__sur-titre {
    margin: 0 0 12px;
    color: var(--couleur-principale);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.page-dev__titre {
    margin: 0 0 16px;
    color: #141b22;
    font-size: clamp(32px, 5vw, 48px);
    line-height: 1.1;
}

.page-dev__texte {
    margin: 0 0 24px;
    font-size: 18px;
    line-height: 1.7;
}

.page-dev__liste {
    margin: 0 0 28px;
    padding-left: 18px;
}

.page-dev__liste li + li {
    margin-top: 10px;
}

.page-dev__bouton {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 22px;
    border-radius: 999px;
    background: var(--couleur-principale);
    color: var(--couleur-bouton-texte) !important;
    text-decoration: none;
    font-weight: 700;
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.page-dev__bouton:hover {
    transform: translateY(-2px);
    background: var(--couleur-secondaire);
}

/* ==========================================================================
   LES MEMBRES DE NOTRE ÉQUIPE (QEDUCATO TESTIMONIAL SLIDER 1:1 - EXACT FIT)
   ========================================================================== */

/* 1. Masquer les titres/labels dupliqués de Drupal */
#block-esetec-lesmembresdenotreequipe > h2,
#block-esetec-lesmembresdenotreequipe .block-title,
#block-esetec-lesmembresdenotreequipe .field__label {
    display: none !important;
}

#block-esetec-lesmembresdenotreequipe {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

/* 2. Section global Testimonial */
.testimonial-area {
    position: relative;
    padding-top: 90px;
    padding-bottom: 90px;
    background-color: #ffffff;
    overflow: hidden;
}

.testimonial-area .container {
    position: relative;
    z-index: 2;
}

/* En-tête de section aux couleurs du projet */
.testimonial-area .section-title h5 {
    color: var(--couleur-principale, #a20d35) !important;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 12px;
    display: inline-block;
}

.testimonial-area .section-title h5 i {
    margin-right: 8px;
    color: var(--couleur-principale, #a20d35) !important;
}

.testimonial-area .section-title h2 {
    font-size: 36px;
    font-weight: 700;
    color: var(--couleur-secondaire, #125875) !important;
    margin-bottom: 45px;
    line-height: 1.3;
}

/* 3. Egalisation de la hauteur de TOUTES les cartes (Equal Height Cards) */
.testimonial-active .slick-list {
    overflow: hidden !important;
}

.testimonial-active .slick-track {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
}

.testimonial-active .slick-slide {
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    outline: none !important;
    float: none !important;
}

.testimonial-active .slick-slide > div {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

/* 4. Style individuel de la carte (Single Testimonial Card Qeducato) */
.testimonial-active .single-testimonial {
    height: 100% !important;
    flex: 1 1 auto !important;
    position: relative;
    background-color: #f0f7ff !important;
    padding: 35px 25px 30px 25px !important;
    margin: 10px !important;
    box-shadow: 1px 1.732px 30px 0px rgba(0, 0, 0, 0.03) !important;
    border-radius: 6px !important;
    transition: all 0.3s ease !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.testimonial-active .single-testimonial:hover {
    background-color: #ffffff !important;
    box-shadow: 0 10px 40px 0px rgba(0, 0, 0, 0.08) !important;
}

/* 5. Icône de guillemets Qeducato (CENTREMENT PARFAIT) */
.testimonial-active .qt-img,
.single-testimonial .qt-img {
    width: 100% !important;
    text-align: center !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto 20px auto !important;
    flex-shrink: 0 !important;
}

.testimonial-active .qt-img img,
.single-testimonial .qt-img img {
    display: block !important;
    margin: 0 auto !important;
    width: 60px !important;
    height: auto !important;
    max-width: 60px !important;
}

/* 6. Paragraphe / Citation */
.testimonial-active .single-testimonial p {
    font-size: 14.5px !important;
    line-height: 1.7 !important;
    color: #6e6e6e !important;
    margin-bottom: 20px !important;
    font-weight: 400 !important;
    flex-grow: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* 7. Image / Avatar du membre (AVATAR CIRCULAIRE PARFAIT) */
.testimonial-active .testi-author {
    width: 100% !important;
    text-align: center !important;
    margin-bottom: 12px !important;
    flex-shrink: 0 !important;
}

.testimonial-active .testi-author img {
    display: block !important;
    width: 90px !important;
    height: 90px !important;
    max-width: 90px !important;
    max-height: 90px !important;
    min-width: 90px !important;
    min-height: 90px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    margin: 0 auto !important;
    border: 3px solid var(--couleur-principale, #a20d35) !important;
    box-shadow: 0 4px 14px rgba(162, 13, 53, 0.25) !important;
}

/* 8. Nom et poste du membre aux couleurs du projet */
.testimonial-active .ta-info {
    width: 100% !important;
    margin-top: 6px !important;
    display: block !important;
    text-align: center !important;
    flex-shrink: 0 !important;
}

.testimonial-active .ta-info h6 {
    font-size: 18px !important;
    margin-top: 0 !important;
    margin-bottom: 3px !important;
    font-weight: 700 !important;
    color: #141b22 !important;
}

.testimonial-active .ta-info span {
    color: var(--couleur-principale, #a20d35) !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
}

/* 9. Points de navigation (Slick Dots) aux couleurs du projet */
.testimonial-active .slick-dots {
    text-align: center !important;
    position: relative !important;
    width: 100% !important;
    margin-top: 35px !important;
    padding: 0 !important;
    list-style: none !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.testimonial-active .slick-dots li {
    display: inline-block !important;
    margin: 0 4px !important;
    line-height: 0 !important;
}

.testimonial-active .slick-dots li button {
    text-indent: -99999px !important;
    border: none !important;
    padding: 0 !important;
    z-index: 1 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    background-color: #ccc !important;
    height: 10px !important;
    width: 10px !important;
    border-radius: 50% !important;
}

.testimonial-active .slick-dots .slick-active button {
    width: 25px !important;
    border-radius: 10px !important;
    background-color: var(--couleur-principale, #a20d35) !important;
}

/* 10. Animations d'arrière-plan */
.testimonial-area .animations-01 {
    position: absolute !important;
    left: 0 !important;
    bottom: 30px !important;
    z-index: 1 !important;
    animation: alltuchtopdown 3s infinite !important;
    -webkit-animation: alltuchtopdown 3s infinite !important;
}

.testimonial-area .animations-02 {
    position: absolute !important;
    right: 0 !important;
    bottom: -10px !important;
    z-index: 1 !important;
    animation: alltuchtopdown 5s infinite !important;
    -webkit-animation: alltuchtopdown 5s infinite !important;
}

/* ==========================================================================
   BLOCK 42: APPRENDRE, PRATIQUER ET SE PROFESSIONNALISER (OUR EXPERIENCE MOCKUP)
   ========================================================================== */
#block-esetec-apprendrepratiqueretseprofessionnaliser > h2,
#block-esetec-apprendrepratiqueretseprofessionnaliser .block-title,
#block-esetec-apprendrepratiqueretseprofessionnaliser .field__label {
    display: none !important;
}

#block-esetec-apprendrepratiqueretseprofessionnaliser {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

.approach-experience-section {
    position: relative;
    padding: 110px 0;
    background-color: #ffffff;
    overflow: hidden;
}

/* Bande horizontale d'arrière-plan aux couleurs du projet */
.approach-bg-band {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 500px;
    transform: translateY(-50%);
    background: var(--couleur-principale, #a20d35);
    z-index: 1;
}

/* Grille principale 2 colonnes */
.approach-wrapper {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 1.08fr;
    gap: 18px;
    align-items: center;
}

/* Carte blanche de gauche avec cadre épais */
.approach-card-box {
    background: #ffffff;
    border: 6px solid var(--couleur-principale, #a20d35);
    padding: 45px 40px;
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.08);
    border-radius: 0;
    position: relative;
    z-index: 3;
}

.approach-tag {
    display: inline-block;
    color: var(--couleur-principale, #a20d35);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.approach-title {
    font-size: 45px;
    font-weight: 800;
    color: var(--couleur-secondaire, #125875);
    line-height: 1.25;
    margin-bottom: 18px;
}

.approach-intro {
    font-size: 15px;
    color: #555555;
    line-height: 1.65;
    margin-bottom: 25px;
}

/* Liste des 3 points forts avec icônes */
.approach-features-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 20px;
}

.approach-feature-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 14px 16px;
    background: #f8fafc;
    border-radius: 8px;
    border-left: 4px solid var(--couleur-principale, #a20d35);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.approach-feature-item:hover {
    transform: translateX(4px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.approach-feature-item .feature-icon {
    width: 42px;
    height: 42px;
    border-radius: 8px;
    background: rgba(162, 13, 53, 0.1);
    color: var(--couleur-principale, #a20d35);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.approach-feature-item .feature-text h3 {
    font-size: 16px;
    font-weight: 700;
    color: #141b22;
    margin: 0 0 4px 0;
}

.approach-feature-item .feature-text p {
    font-size: 13.5px;
    color: #666666;
    margin: 0;
    line-height: 1.5;
}

/* Layout 2 colonnes principal */
.approach-wrapper {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 530px;
    gap: 40px;
    align-items: start;
}

/* Colonne de gauche: Carte blanche + Petite image sous la carte */
.approach-left-col {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    position: relative;
}

.approach-card-box {
    width: 100%;
    background: #ffffff;
    border: 4px solid var(--couleur-principale, #a20d35);
    padding: 45px 40px;
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.08);
    border-radius: 4px;
    position: relative;
    z-index: 3;
}

/* Petite image carrée en bas à gauche sous la carte blanche (Dépasse en bas de la bande) */
.collage-item-bottom-left {
    position: relative;
    width: 220px;
    height: 220px;
    margin-top: 10px;
    /* margin-right: 30px; */
    border: 4px solid #ffffff;
    border-radius: 0;
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.18);
    overflow: hidden;
    z-index: 3;
    transition: transform 0.3s ease;
}

.collage-item-bottom-left:hover {
    transform: scale(1.04);
}

.collage-item-bottom-left img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Colonne de droite: Petite image en haut + Grande image en bas */
.approach-right-col {
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: relative;
    z-index: 3;
    margin-top: -35px; /* Dépasse en haut de la bande orange/rouge! */
    width: 100%;
}

/* Petite image horizontale en haut à droite (Au-dessus de la bande) */
.collage-item-top-right {
    width: 330px;
    height: 185px;
    border: 4px solid #ffffff;
    border-radius: 6px;
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.18);
    overflow: hidden;
    align-self: flex-start;
    transition: transform 0.3s ease;
}

.collage-item-top-right:hover {
    transform: scale(1.04);
}

.collage-item-top-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Grande image carrée/verticale en bas à droite (Traverse et dépasse en bas) */
.collage-item-main-right {
    width: 100%;
    height: 480px;
    border: 4px solid #ffffff;
    border-radius: 0;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    transition: transform 0.3s ease;
}

.collage-item-main-right:hover {
    transform: scale(1.02);
}

.collage-item-main-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Responsivité Mobile */
@media (max-width: 991px) {
    .approach-wrapper {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .approach-left-col {
        align-items: center;
    }

    .collage-item-bottom-left {
        margin-right: 0;
        margin-top: 20px;
    }

    .approach-right-col {
        margin-top: 0;
        align-items: center;
    }

    .collage-item-top-right {
        align-self: center;
        width: 100%;
        max-width: 320px;
        height: 180px;
    }
}

/* ==========================================================================
   BLOCK 43: LES VALEURS QUI NOUS GUIDENT (INNOVATIVE APP MOCKUP 1:1)
   ========================================================================== */
#block-esetec-lesvaleursquinousguident > h2,
#block-esetec-lesvaleursquinousguident .block-title,
#block-esetec-lesvaleursquinousguident .field__label {
    display: none !important;
}

#block-esetec-lesvaleursquinousguident {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

.values-section {
    position: relative;
    padding: 100px 0;
    background-color: rgba(162, 13, 53, 0.03); /* Fond très doux teinté de la couleur principale bordeaux */
    overflow: hidden;
}

.values-wrapper {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 50px;
    align-items: center;
}

/* Colonne En-tête Gauche */
.values-header-col {
    padding-right: 20px;
}

.values-tag {
    display: inline-block;
    color: var(--couleur-principale, #a20d35);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.values-title {
    font-size: 100px;
    font-weight: 800;
    color: var(--couleur-secondaire, #125875);
    line-height: 1.18;
    margin-bottom: 22px;
    letter-spacing: -0.02em;
}

.values-intro {
    font-size: 22px;
    color: #555555;
    line-height: 1.7;
    margin-bottom: 30px;
}

/* Grille de Cartes Blanches à Bords Arrondis 24px (Mockup 1:1) */
.values-grid-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.value-card {
    background: #ffffff;
    /* border-radius: 24px; Coin super arrondi comme sur le mockup! */
    padding: 32px 26px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border: 1px solid rgba(0, 0, 0, 0.03);
}

.value-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(162, 13, 53, 0.12);
    border-color: rgba(162, 13, 53, 0.2);
}

/* Badge icône aux couleurs du projet (Bordeaux #a20d35) */
.value-card .value-icon {
    width: 48px;
    height: 48px;
    border-radius: 0;
    background: var(--couleur-principale, #a20d35); /* Couleur principale du projet */
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-bottom: 18px;
    /* box-shadow: 0 6px 15px rgba(162, 13, 53, 0.25); */
}

.value-card h3 {
    font-size: 22px;
    font-weight: 700;
    color: var(--couleur-secondaire, #125875); /* Couleur secondaire du projet */
    margin-bottom: 10px;
    line-height: 1.3;
}

.value-card p {
    font-size: 15px;
    text-align: justify !important;
    color: #555555;
    line-height: 1.6;
    margin: 0;
}

/* Responsivité Mobile */
@media (max-width: 991px) {
    .values-wrapper {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .values-header-col {
        padding-right: 0;
    }
}

@media (max-width: 575px) {
    .values-grid-col {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .value-card {
        border-radius: 18px;
        padding: 24px 20px;
    }
}

/* ==========================================================================
   BLOCK 44: CONSTRUISEZ VOTRE AVENIR AVEC L'ESETEC (SPLIT BG MOCKUP 1:1)
   ========================================================================== */
#block-esetec-construisezvotreaveniraveclesetec > h2,
#block-esetec-construisezvotreaveniraveclesetec .block-title,
#block-esetec-construisezvotreaveniraveclesetec .field__label {
    display: none !important;
}

#block-esetec-construisezvotreaveniraveclesetec {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}

.future-section {
    position: relative;
    padding: 90px 0 110px 0;
    background-color: #ffffff;
    overflow: hidden;
}

/* Fond bicolore fendu (Haut gris clair / Bas blanc) */
.future-bg-top {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 52%;
    background-color: #e9ecef;
    /* z-index: 1; */
}

.future-header {
    margin-bottom: 55px;
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
}

.future-tag {
    display: inline-block;
    color: var(--couleur-principale, #a20d35);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.future-title {
    font-size: 42px;
    font-weight: 800;
    color: #141b22;
    margin-bottom: 16px;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

.future-intro {
    font-size: 16px;
    color: #555555;
    line-height: 1.6;
}

/* Grille de 4 colonnes de cartes alternées */
.future-cards-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    align-items: stretch;
}

.future-card {
    padding: 48px 28px;
    /* border-radius: 12px; */
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
}

.future-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 22px 45px rgba(0, 0, 0, 0.16);
}

/* Carte 1 & 3: Bordeaux Principal du Projet */
.future-card-dark {
    background-color: var(--couleur-principale, #a20d35);
    color: #ffffff;
}

/* Carte 2 & 4: Bleu Nuit Secondaire du Projet */
.future-card-secondary {
    background-color: var(--couleur-secondaire, #125875);
    color: #ffffff;
}

.future-card .card-icon {
    color: #ffffff;
    font-size: 42px;
    margin-bottom: 22px;
}

.future-card h3 {
    color: #ffffff;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 14px;
    line-height: 1.35;
}

.future-card p {
    color: rgba(255, 255, 255, 0.88);
    font-size: 14px;
    line-height: 1.65;
    margin: 0;
}

/* Responsivité Mobile */
@media (max-width: 991px) {
    .future-cards-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media (max-width: 575px) {
    .future-cards-grid {
        grid-template-columns: 1fr;
    }

    .future-title {
        font-size: 32px;
    }
}

/* Inactive slides: hide content & disable pointer events so inactive slide elements never overlap active slides */
.single-slider:not(.slick-active) {
    pointer-events: none !important;
    visibility: hidden !important;
    z-index: 1 !important;
}

.single-slider:not(.slick-active) * {
    pointer-events: none !important;
    visibility: hidden !important;
}

/* Active slide: enable pointer events, full visibility & top z-index for buttons */
.single-slider.slick-active {
    pointer-events: auto !important;
    visibility: visible !important;
    z-index: 10 !important;
}

.single-slider.slick-active .slider-content {
    position: relative !important;
    z-index: 50 !important;
}

.single-slider.slick-active .slider-btn {
    position: relative !important;
    z-index: 100 !important;
    pointer-events: auto !important;
}

.single-slider.slick-active .slider-btn a,
.single-slider.slick-active .slider-btn .btn {
    position: relative !important;
    z-index: 101 !important;
    pointer-events: auto !important;
    visibility: visible !important;
    cursor: pointer !important;
}

/* Ensure slide paragraph description never exceeds 3 lines max and truncates gracefully */
.slider-content p,
.s-slider-content p {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-height: calc(1.6em * 3) !important;
    line-height: 1.6em !important;
}

/* Rentrée Académique Hero Block Styling - Exact Project Colors */
.rentree-hero-wrapper {
    position: relative;
    padding: 70px 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    overflow: hidden;
    margin-bottom: 40px;
    background-color: var(--couleur-fond-footer, #00173c);
}

.rentree-hero-wrapper .rentree-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Dark Blue Overlay using Project Dark Blue colors */
    background: linear-gradient(135deg, rgba(0, 23, 60, 0.88) 0%, rgba(18, 88, 117, 0.82) 100%) !important;
    z-index: 1;
}

.rentree-hero-wrapper .container {
    position: relative;
    z-index: 2;
}

.rentree-grid {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 40px;
    align-items: center;
}

/* Left Column Styling */
.rentree-left-col {
    display: flex;
    flex-direction: column;
}

.rentree-eyebrow {
    color: #f3c263 !important;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin-bottom: 12px;
    display: block;
}

.rentree-main-title {
    color: #ffffff !important;
    font-size: 38px;
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 24px;
}

.rentree-desc {
    color: #e2e8f0 !important;
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 16px;
    font-weight: 400;
}

/* Callout Box */
.rentree-callout-box {
    background-color: rgba(255, 255, 255, 0.08) !important;
    border-left: 4px solid var(--couleur-principale, #a20d35) !important;
    border-radius: 12px;
    padding: 20px 24px;
    margin-top: 20px;
    display: flex;
    align-items: flex-start;
    gap: 18px;
    backdrop-filter: blur(5px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
}

.rentree-callout-icon {
    color: #f3c263 !important;
    font-size: 26px;
    margin-top: 2px;
}

.rentree-callout-text h3 {
    color: #ffffff !important;
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 6px 0 !important;
}

.rentree-callout-text p {
    color: #cbd5e1 !important;
    font-size: 14px;
    margin: 0 !important;
}

/* Right Column Card - Official Project Primary Color */
.rentree-right-col {
    display: flex;
    justify-content: center;
}

.rentree-green-card {
    background: linear-gradient(145deg, var(--couleur-principale, #a20d35) 0%, #680821 100%) !important;
    border-radius: 24px !important;
    padding: 50px 32px !important;
    text-align: center !important;
    color: #ffffff !important;
    box-shadow: 0 20px 40px rgba(162, 13, 53, 0.4) !important;
    width: 100%;
    max-width: 380px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
}

.rentree-card-badge {
    width: 64px;
    height: 64px;
    background: rgba(255, 255, 255, 0.18) !important;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
}

.rentree-card-badge i {
    color: #f3c263 !important;
    font-size: 28px;
}

.rentree-card-eyebrow {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 10px;
    display: block;
}

.rentree-card-year {
    color: #ffffff !important;
    font-size: 42px;
    font-weight: 800;
    letter-spacing: 2px;
    margin: 0 0 16px 0 !important;
}

.rentree-card-desc {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 14px;
    line-height: 1.55;
    max-width: 280px;
    margin: 0 auto !important;
}

/* Responsive Tablet/Mobile */
@media (max-width: 991px) {
    .rentree-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .rentree-green-card {
        max-width: 100%;
    }
}

/* News Cards (block-esetec-views-block-nos-actualites-block-1) - Equal Height & Width */
#block-esetec-views-block-nos-actualites-block-1 .row {
    display: flex !important;
    flex-wrap: wrap !important;
}

#block-esetec-views-block-nos-actualites-block-1 .row > [class*="col-"] {
    display: flex !important;
    flex-direction: column !important;
    margin-bottom: 30px !important;
}

.single-post2 {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    margin-bottom: 0 !important;
    background: #ffffff !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05) !important;
}

.single-post2 .blog-thumb2 {
    height: 230px !important;
    min-height: 230px !important;
    max-height: 230px !important;
    overflow: hidden !important;
    position: relative !important;
    width: 100% !important;
}

.single-post2 .blog-thumb2 a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.single-post2 .blog-thumb2 img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.4s ease 0s !important;
}

.single-post2 .blog-content2 {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    padding: 30px 25px !important;
}

.single-post2 .blog-content2 h4 {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    height: 2.8em !important;
    line-height: 1.4em !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    margin-bottom: 15px !important;
}

.single-post2 .blog-excerpt {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    height: 4.8em !important;
    line-height: 1.6em !important;
    margin-bottom: 20px !important;
    color: var(--couleur-texte, #6e6e6e) !important;
}

.single-post2 .blog-btn {
    margin-top: auto !important;
    padding-top: 10px !important;
}

/* Responsive Menu Adjustments for MacBook Air / Pro & Laptops */
@media (min-width: 992px) {
    .main-menu ul li {
        margin-left: 22px !important;
    }
    .main-menu ul li a {
        font-size: 15px !important;
        white-space: nowrap !important;
        padding: 24px 0 !important;
    }
}

@media (min-width: 992px) and (max-width: 1280px) {
    .main-menu ul li {
        margin-left: 14px !important;
    }
    .main-menu ul li a {
        font-size: 14px !important;
    }
}

@media (min-width: 1281px) and (max-width: 1440px) {
    .main-menu ul li {
        margin-left: 18px !important;
    }
    .main-menu ul li a {
        font-size: 14.5px !important;
    }
}

/* Mobile & Tablet Menu Toggle Button (Galaxy Tab S7, iPad Pro 11, iPad Air 4, Phones) */
@media (max-width: 991px) {
    .main-menu {
        display: none !important;
    }
    
    .menu-area {
        position: relative !important;
        padding: 15px 0 !important;
    }

    .mobile-menu {
        display: block !important;
        position: static !important;
        width: 100% !important;
        z-index: 999 !important;
    }

    .mean-container .mean-bar {
        position: static !important;
        background: transparent !important;
        padding: 0 !important;
        min-height: 0 !important;
        z-index: 9999 !important;
    }

    .mean-container a.meanmenu-reveal {
        position: absolute !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        right: 20px !important;
        margin: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        width: 44px !important;
        height: 42px !important;
        padding: 0 !important;
        background: var(--couleur-principale, #a20d35) !important;
        color: #ffffff !important;
        border-radius: 6px !important;
        border: none !important;
        box-shadow: 0 4px 12px rgba(162, 13, 53, 0.4) !important;
        z-index: 99999 !important;
        cursor: pointer !important;
        text-indent: 0 !important;
        transition: all 0.3s ease !important;
    }

    .mean-container a.meanmenu-reveal:hover {
        background: var(--couleur-secondaire, #125875) !important;
    }

    .mean-container a.meanmenu-reveal span {
        display: block !important;
        background: #ffffff !important;
        height: 3px !important;
        width: 24px !important;
        margin: 2.5px 0 !important;
        border-radius: 2px !important;
    }

    .mean-container a.meanmenu-reveal.meanclose {
        font-size: 26px !important;
        line-height: 42px !important;
        text-align: center !important;
        color: #ffffff !important;
        font-weight: 800 !important;
    }

    .mean-container a.meanmenu-reveal.meanclose span {
        display: none !important;
    }

    .mean-container .mean-nav {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        background: var(--couleur-fond-footer, #00173c) !important;
        margin-top: 0 !important;
        border-radius: 0 0 10px 10px !important;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35) !important;
        overflow: hidden !important;
        border: 1px solid rgba(255, 255, 255, 0.1) !important;
        z-index: 9999 !important;
    }

    .mean-container .mean-nav ul {
        margin: 0 !important;
        padding: 10px 0 !important;
    }

    .mean-container .mean-nav ul li {
        margin: 0 !important;
        display: block !important;
        width: 100% !important;
    }

    .mean-container .mean-nav ul li a {
        color: #ffffff !important;
        font-weight: 600 !important;
        font-size: 15px !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
        padding: 14px 24px !important;
        display: block !important;
        text-align: left !important;
        transition: background 0.2s ease !important;
    }

    .mean-container .mean-nav ul li:last-child a {
        border-bottom: none !important;
    }

    .mean-container .mean-nav ul li a:hover,
    .mean-container .mean-nav ul li a.active {
        color: #ffffff !important;
        background: var(--couleur-principale, #a20d35) !important;
    }
}
