@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400&family=Roboto:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap');


/* =====================================================
   EXACT 1:1 QEDUCATO TOPBAR STYLE
   ===================================================== */
.header-three .second-header,
.header-top.second-header {
    background-color: #125875 !important;
    border: none !important;
    padding-top: 15px !important;
    padding-bottom: 15px !important;
    color: #ffffff !important;
    position: relative !important;
    z-index: 999 !important;
    overflow: visible !important;
}

.second-header::before,
.header-three .second-header::before,
.header-top.second-header::before {
    content: "" !important;
    height: 100% !important;
    position: absolute !important;
    width: calc(32% + 150px) !important;
    background-color: var(--couleur-principale) !important;
    top: 0 !important;
    z-index: -1 !important;
    left: -150px !important;
    transform: skew(30deg) !important;
    transform-origin: top left !important;
}

.header-social {
    display: inline-block;
    vertical-align: middle;
}

.header-social span {
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
}

.header-social a {
    color: #ffffff !important;
    margin-left: 12px;
    font-size: 16px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: color 0.2s ease, opacity 0.2s ease;
}

/* Max 5 social icons */
.header-social a:nth-of-type(n+6) {
    display: none !important;
}

.header-social a i,
.header-social a span {
    color: #ffffff !important;
    font-size: 16px !important;
    display: inline-block !important;
}

.header-social a:hover {
    color: rgba(255, 255, 255, 0.75) !important;
}

.header-cta {
    display: inline-block;
}

.header-cta ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: inline-flex;
    align-items: center;
}

.header-cta ul li {
    display: inline-block;
    padding-right: 15px;
    margin-right: 15px;
    border-right: 1px solid rgba(255, 255, 255, 0.25);
    vertical-align: middle;
}

.header-cta ul li:last-child {
    padding-right: 0;
    margin-right: 0;
    border-right: none;
}

.header-cta .call-box {
    display: flex;
    align-items: center;
    text-align: left;
}

.header-cta .call-box .icon {
    display: inline-block;
}

.header-cta .call-box .icon img {
    width: 35px;
    height: auto;
    display: block;
}

.header-cta .call-box .text {
    margin-left: 10px;
    text-align: left;
}

.header-cta .call-box .text span {
    display: block;
    font-size: 12px;
    color: #ffffff;
    margin-bottom: -2px;
    line-height: 1.2;
    font-weight: 400;
}

.header-cta .call-box .text strong,
.header-cta .call-box .text strong a {
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    line-height: 1.2;
}

.header-cta .call-box .text strong a:hover {
    color: rgba(255, 255, 255, 0.85);
}

/* =====================================================
   LANGUAGE SWITCHER BUTTON (AFTER EMAIL NOW)
   ===================================================== */
.header-cta .lang-box {
    position: relative;
    cursor: pointer;
}

.header-cta .lang-box .text strong {
    display: inline-flex !important;
    align-items: center !important;
}

.header-cta .lang-box .dropdown-menu {
    min-width: 140px !important;
    background: #125875 !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 4px !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3) !important;
    padding: 6px 0 !important;
    margin-top: 10px !important;
}

.header-cta .lang-box .dropdown-menu.show {
    display: block !important;
    position: absolute !important;
    right: 0 !important;
    top: 100% !important;
    z-index: 10000 !important;
}

.header-cta .lang-box .dropdown-item {
    color: #ffffff !important;
    font-size: 12px !important;
    padding: 6px 14px !important;
    transition: background 0.2s ease, color 0.2s ease !important;
}

.header-cta .lang-box .dropdown-item:hover,
.header-cta .lang-box .dropdown-item.active {
    background: var(--couleur-principale) !important;
    color: #ffffff !important;
}

/* =====================================================
   EXACT QEDUCATO HOMEPAGE SLIDER & SERVICE CARDS STYLING
   ===================================================== */
.slider-area {
    position: relative;
    overflow: hidden;
}

.slider-active {
    background: #141b22;
    position: relative;
}

.single-slider.slider-bg {
    position: relative;
    padding: 100px 0 100px !important;
}

.slider-content.s-slider-content h5 {
    color: var(--couleur-principale) !important;
    font-size: 16px !important;
    text-transform: uppercase !important;
    line-height: 18px !important;
    letter-spacing: 3px !important;
    margin-bottom: 15px !important;
}

.slider-content.s-slider-content h5::after {
    content: "" !important;
    height: 2.5px !important;
    width: 55px !important;
    position: relative !important;
    display: inline-block !important;
    background: var(--couleur-principale) !important;
    top: -5px !important;
    left: 15px !important;
}

.slider-content.s-slider-content h2 {
    color: #ffffff !important;
    font-size: 55px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin-top: 10px !important;
    margin-bottom: 25px !important;
    letter-spacing: -0.5px !important;
}

.slider-content.s-slider-content p {
    color: #ffffff !important;
    font-size: 18px !important;
    line-height: 1.7 !important;
    margin-bottom: 35px !important;
    max-width: 560px !important;
}

/* Slider Buttons — exact Qeducato style avec animation ::before au survol */
.slider-btn .ss-btn {
    background: var(--couleur-principale) !important;
    color: #ffffff !important;
    padding: 20px 30px !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    text-transform: capitalize !important;
    letter-spacing: 0 !important;
    display: inline-block !important;
    margin-right: 15px !important;
    transition: all 0.3s ease 0s !important;
    text-decoration: none !important;
    border: 1px solid var(--couleur-principale) !important;
    box-shadow: none !important;
    overflow: hidden !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Pseudo-élément ::before pour l'animation en cercle qui s'agrandit au survol */
.slider-btn .ss-btn::before {
    width: 40px !important;
    height: 40px !important;
    position: absolute !important;
    border-radius: 50% !important;
    content: "" !important;
    background: #125875 !important;
    top: -60px !important;
    left: 10px !important;
    z-index: -1 !important;
    transition: all 0.3s ease 0s !important;
}

.slider-btn .ss-btn:hover::before {
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    border-radius: 4px !important;
    content: "" !important;
    background: #125875 !important;
    top: 0 !important;
    left: 0 !important;
    z-index: -1 !important;
}

.slider-btn .ss-btn:hover {
    border-color: #125875 !important;
    color: #ffffff !important;
}

/* Contact Us button — transparent avec bordure blanche */
.slider-btn .ss-btn.active {
    background: none !important;
    color: #ffffff !important;
    border: 1px solid #ffffff !important;
    box-shadow: none !important;
}

.slider-btn .ss-btn.active:hover::before {
    background: #ffffff !important;
}

.slider-btn .ss-btn.active:hover {
    border-color: #ffffff !important;
    color: #125875 !important;
}

.slider-btn .ss-btn i {
    margin-left: 6px !important;
    font-size: 16px !important;
}

/* Slick Arrows (Circle Prev / Next Buttons) */
.slider-active .slick-arrow {
    position: absolute !important;
    top: 45% !important;
    transform: translateY(-50%) !important;
    left: 5% !important;
    color: #00163b !important;
    font-size: 20px !important;
    line-height: 60px !important;
    border: none !important;
    text-align: center !important;
    z-index: 99 !important;
    cursor: pointer !important;
    padding: 0 !important;
    transition: all 0.3s ease !important;
    width: 60px !important;
    height: 60px !important;
    background: #ffffff !important;
    box-shadow: 1px 1.732px 60px 0px rgba(0, 0, 0, 0.1) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;
}

.slider-active .slick-next {
    right: 5% !important;
    left: auto !important;
}

.slider-active:hover .slick-prev {
    left: 4% !important;
    opacity: 1 !important;
}

.slider-active:hover .slick-next {
    right: 4% !important;
    opacity: 1 !important;
}

.slider-active .slick-arrow:hover {
    color: #ffffff !important;
    background: var(--couleur-principale) !important;
}

/* Service Cards bottom of slider — exact Qeducato original values */
.service-details-two {
    margin: 75px 0 -75px 0;
    position: relative !important;
    z-index: 1 !important;
}

.services-box07 {
    background-color: rgba(18, 88, 117, 0.85) !important;
    padding: 25px !important;
    transition: all 0.3s ease 0s !important;
}

.services-box07:hover,
.services-box07.active {
    background: var(--couleur-principale) !important;
}

.services-box07 .sr-contner {
    display: flex !important;
}

.services-box07 .sr-contner .icon {
    width: 80px !important;
    flex-shrink: 0 !important;
    /* margin-right: 20px !important; */
}

.services-box07 .sr-contner .icon img {
    max-width: 100% !important;
    height: auto !important;
}

.services-box07 .sr-contner .text h5 {
    font-size: 25px !important;
    color: #ffffff !important;
    margin-bottom: 15px !important;
}

.services-box07 .sr-contner .text h5 a {
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 20px !important;
}

.services-box07 .sr-contner .text p {
    margin-bottom: 10px !important;
    color: #ffffff !important;
}

.services-box07 .sr-contner .text a {
    color: #ffffff !important;
    text-decoration: none !important;
}

/* =====================================================
   LANGUAGE SWITCHER STYLING
   ===================================================== */
.header-lang-switcher {
    position: relative;
    display: inline-block;
}

.header-lang-switcher .dropdown-toggle {
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    cursor: pointer;
    padding: 3px 8px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.1);
    transition: background 0.2s ease;
}

.header-lang-switcher .dropdown-toggle:hover {
    background: rgba(255, 255, 255, 0.2);
    color: #ffffff !important;
}

.header-lang-switcher .dropdown-toggle::after {
    display: none !important;
}

.header-lang-switcher .fa-globe {
    color: var(--couleur-principale, var(--couleur-principale)) !important;
    font-size: 13px !important;
}

.header-lang-switcher .dropdown-menu {
    min-width: 130px;
    padding: 5px 0;
    margin-top: 8px;
    border: none;
    border-radius: 6px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    background: #ffffff;
}

.header-lang-switcher .dropdown-item {
    font-size: 12px;
    color: #125875;
    padding: 6px 15px;
    transition: background 0.2s ease, color 0.2s ease;
}

.header-lang-switcher .dropdown-item:hover,
.header-lang-switcher .dropdown-item.active {
    background-color: var(--couleur-principale, var(--couleur-principale));
    color: #ffffff !important;
}

/* =====================================================
   LANGUAGE SWITCHER MATCHING CALL-BOX EXACTLY
   ===================================================== */
.lang-item .call-box .icon {
    width: 25px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lang-item .call-box .text strong a.dropdown-toggle::after {
    display: none !important;
}

.lang-item .dropdown-menu {
    min-width: 130px;
    padding: 5px 0;
    margin-top: 8px;
    border: none;
    border-radius: 6px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
    background: #ffffff;
}

.lang-item .dropdown-item {
    font-size: 12px;
    color: #125875;
    padding: 6px 15px;
    transition: background 0.2s ease, color 0.2s ease;
}

.lang-item .dropdown-item:hover,
.lang-item .dropdown-item.active {
    background-color: var(--couleur-principale, var(--couleur-principale));
    color: #ffffff !important;
}

/* =====================================================
   QEDUCATO HOMEPAGE SLIDER & FEATURE CARDS STYLING
   ===================================================== */
.slider-area {
    position: relative;
    overflow: hidden;
}

.slider-content h5 {
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    margin-bottom: 15px !important;
    line-height: 18px !important;
}

.slider-content h2 {
    color: #ffffff !important;
    font-size: 56px !important;
    font-weight: 700 !important;
    margin-top: 15px !important;
    margin-bottom: 20px !important;
    line-height: 1.2 !important;
}

.slider-content p {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 16px !important;
    margin-bottom: 35px !important;
    max-width: 540px !important;
}

.ss-btn {
    background: var(--couleur-principale) !important;
    color: #ffffff !important;
    padding: 15px 30px !important;
    border-radius: 5px !important;
    font-weight: 600 !important;
    display: inline-block !important;
    text-transform: uppercase !important;
    border: 2px solid var(--couleur-principale) !important;
    transition: all 0.3s ease-in-out !important;
}

.ss-btn:hover,
.ss-btn.active {
    background: #125875 !important;
    border-color: #125875 !important;
    color: #ffffff !important;
}

.services-box07 {
    transition: all 0.3s ease 0s !important;
}

/* =====================================================
   EXACT QEDUCATO SLIDER & 3 CARDS CSS
   ===================================================== */
.slider-area {
    position: relative;
    overflow: hidden;
    background: #141b22 !important;
}

.slider-bg {
    min-height: 0 !important;
    background-size: cover !important;
    background-position: center center !important;
    display: block !important;
}

.slider-content.s-slider-content {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.slider-content h5 {
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    margin-bottom: 15px !important;
    line-height: 18px !important;
    font-family: 'Jost', sans-serif !important;
}

.slider-content h2 {
    color: #ffffff !important;
    font-size: 62px !important;
    font-weight: 700 !important;
    margin-top: 15px !important;
    margin-bottom: 25px !important;
    line-height: 1.15 !important;
    font-family: 'Jost', sans-serif !important;
}

.slider-content p {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 16px !important;
    line-height: 28px !important;
    margin-bottom: 35px !important;
    max-width: 550px !important;
}

.slider-btn .ss-btn {
    background: var(--couleur-principale) !important;
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 18px 36px !important;
    border-radius: 4px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    display: inline-block !important;
    transition: all 0.3s ease-in-out !important;
    border: 2px solid var(--couleur-principale) !important;
    margin-right: 15px !important;
}

.slider-btn .ss-btn.active {
    background: transparent !important;
    border-color: #ffffff !important;
    color: #ffffff !important;
}

.slider-btn .ss-btn:hover,
.slider-btn .ss-btn.active:hover {
    background: var(--couleur-principale) !important;
    border-color: var(--couleur-principale) !important;
    color: #ffffff !important;
}

.slider-btn .ss-btn.mr-15:hover {
    background: #125875 !important;
    border-color: #125875 !important;
    color: #ffffff !important;
}

.services-box07 {
    padding: 25px !important;
    border-radius: 0 !important;
    transition: all 0.3s ease 0s !important;
}

/* =====================================================
   QEDUCATO SLIDER ORANGE LINE & SLICK CAROUSEL ARROWS
   ===================================================== */
.slider-content h5 {
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    margin-bottom: 15px !important;
    line-height: 18px !important;
    font-family: 'Jost', sans-serif !important;
    position: relative !important;
    display: inline-block !important;
}

.slider-content h5::after {
    content: "" !important;
    height: 2px !important;
    width: 55px !important;
    position: relative !important;
    display: inline-block !important;
    background: var(--couleur-principale) !important;
    top: -5px !important;
    left: 15px !important;
}

.slider-active .slick-arrow {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 99 !important;
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.15) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    font-size: 18px !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.slider-active .slick-prev {
    left: 30px !important;
}

.slider-active .slick-next {
    right: 30px !important;
}

.slider-active .slick-arrow:hover {
    background: var(--couleur-principale) !important;
    border-color: var(--couleur-principale) !important;
    color: #ffffff !important;
}

/* =====================================================
   100% EXACT MATCH QEDUCATO SLIDER & OVERLAPPING CARDS
   ===================================================== */
.slider-area {
    position: relative;
    overflow: hidden;
    background: #141b22 !important;
}

.single-slider.slider-bg {
    min-height: calc(100vh - 100px) !important;
    background-size: cover !important;
    background-position: center center !important;
    display: flex !important;
    align-items: center !important;
    /* min-height: 750px !important; */
    /* padding: 160px 0 240px 0 !important; */
}

.slider-content h5 {
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
    margin-bottom: 15px !important;
    line-height: 18px !important;
    font-family: 'Jost', sans-serif !important;
    position: relative !important;
    display: inline-block !important;
}

.slider-content h5::after {
    content: "" !important;
    height: 2px !important;
    width: 55px !important;
    position: relative !important;
    display: inline-block !important;
    background: var(--couleur-principale) !important;
    top: -5px !important;
    left: 15px !important;
}

.slider-content h2 {
    color: #ffffff !important;
    font-size: 62px !important;
    font-weight: 700 !important;
    margin-top: 15px !important;
    margin-bottom: 25px !important;
    line-height: 1.15 !important;
    font-family: 'Jost', sans-serif !important;
}

.slider-content p {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 16px !important;
    line-height: 28px !important;
    margin-bottom: 35px !important;
    max-width: 550px !important;
}

/* ===== BOUTONS SLIDER — correspondance exacte avec l'original Qeducato ===== */
.slider-btn .ss-btn {
    background: var(--couleur-principale) !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    padding: 20px 30px !important;
    border-radius: 4px !important;
    text-transform: capitalize !important;
    letter-spacing: 0 !important;
    display: inline-block !important;
    transition: all 0.3s ease 0s !important;
    border: 1px solid var(--couleur-principale) !important;
    margin-right: 15px !important;
    position: relative !important;
    z-index: 1 !important;
    overflow: hidden !important;
}

/* Bouton "Contact Us" — transparent avec bordure blanche, comme l'original */
.slider-btn .ss-btn.active {
    background: none !important;
    color: #ffffff !important;
    border: 1px solid #ffffff !important;
    box-shadow: none !important;
}

.slider-btn .ss-btn:hover {
    border-color: #125875 !important;
    color: #ffffff !important;
}

.slider-btn .ss-btn.active:hover {
    border-color: #ffffff !important;
    color: #125875 !important;
}

/* White Circular Arrows */
.slider-active .slick-arrow {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 99 !important;
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    color: #141b22 !important;
    border: none !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15) !important;
    font-size: 18px !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.slider-active .slick-prev {
    left: 40px !important;
}

.slider-active .slick-next {
    right: 40px !important;
}

.slider-active .slick-arrow:hover {
    background: var(--couleur-principale) !important;
    color: #ffffff !important;
}

/* Overlapping 3 Cards */
.service-details-two {
    margin: 75px 0 -75px 0;
    position: relative !important;
    z-index: 1 !important;
}

.services-box07 {
    background-color: rgba(18, 88, 117, 0.85) !important;
    padding: 25px !important;
    border-radius: 0 !important;
    transition: all 0.3s ease 0s !important;
}

.services-box07:hover,
.services-box07.active {
    background: var(--couleur-principale) !important;
}

.services-box07 .sr-contner {
    display: flex !important;
}

.services-box07 .sr-contner .icon {
    width: 50px !important;
    flex-shrink: 0 !important;
    /* margin-right: 20px !important; */
}

.services-box07 .sr-contner .icon img {
    max-width: 100% !important;
    height: auto !important;
}

.services-box07 .sr-contner .text h5 {
    font-size: 25px !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    margin-bottom: 15px !important;
    font-family: 'Jost', sans-serif !important;
}

.services-box07 .sr-contner .text h5 a {
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 20px !important;
}

.services-box07 .sr-contner .text p {
    margin-bottom: 10px !important;
    color: #ffffff !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    text-align: justify !important;
}

.services-box07 .sr-contner .text a {
    font-family: 'Jost', sans-serif !important;
    color: #ffffff !important;
    font-size: 14px !important;
    text-decoration: none !important;
}

@media (min-width: 1170px) {
    .container {
        max-width: 1320px !important;
    }
}


/* =====================================================
   CORRECTIFS FINAUX — CORRESPONDANCE EXACTE IMAGE 3
   ===================================================== */

/* Garantir que les liens dans les cartes de service restent blancs */
.services-box07 .sr-contner .text a,
.services-box07 .sr-contner .text a:hover,
.services-box07 .sr-contner .text h5 a,
.services-box07 .sr-contner .text h5 a:hover {
    color: #ffffff !important;
    text-decoration: none !important;
}

/* ===================================================================
   SLIDER — proportions correctes (hauteur contrôlée par padding)
   =================================================================== */
.slider-bg,
.single-slider.slider-bg {
    min-height: 0 !important;
    background-size: cover !important;
    background-position: center center !important;
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    /* padding: 120px 0 260px 0 !important; */
}

/* Contenu slider — margin géré par le padding du slider-bg */
.slider-content.s-slider-content {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
}

/* ===================================================================
   ICÔNES DES CARTES — remplir toute la colonne de 138px
   =================================================================== */
.services-box07 .sr-contner .icon {
    width: 50px !important;
    flex-shrink: 0 !important;
    /* min-width: 100px !important; */
    /* margin-right: 20px !important; */
    /* display: flex !important;
    align-items: center !important; */
}

/* Étirer les images d'icône pour remplir les 138px */
.services-box07 .sr-contner .icon img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

/* ===================================================================
   CHEVAUCHEMENT CORRECT DES CARTES SUR LE SLIDER
   =================================================================== */
.service-details-two {
    margin: 75px 0 -75px 0;
    position: relative !important;
    z-index: 10 !important;
}

/* Le slider-area ne doit PAS clipper les cartes qui chevauchent */
.slider-area {
    overflow: visible !important;
}

.highlighted>.container {
    width: 100% !important;
    max-width: 100% !important;
}

/* ===================================================================
   SECTION ABOUT OUR UNIVERSITY — REPRODUCTION EXACTE DE L'IMAGE 2 ET 3
   =================================================================== */
.about-area {
    position: relative !important;
    padding-top: 100px !important;
    padding-bottom: 100px !important;
    background-color: #f2f7fd !important;
    /* Fond bleu tres clair glace */
    font-family: 'Jost', sans-serif !important;
}

/* Filigrane d'architecture en bas a droite de la section */
.about-area::after {
    content: "" !important;
    position: absolute !important;
    bottom: 0 !important;
    right: 0 !important;
    width: 480px !important;
    height: 260px !important;
    background-image: url('../medias/2023/02/an-img-02.png') !important;
    background-repeat: no-repeat !important;
    background-position: bottom right !important;
    background-size: contain !important;
    opacity: 0.18 !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

/* --- COLONNE GAUCHE (Images & Boite "25 + Years of Experience") --- */
.s-about-img {
    position: relative !important;
    display: block !important;
    z-index: 1 !important;
}

.s-about-img .field--name-field-mots-sur-l-universite-gauc .field-item {
    position: relative !important;
    display: block !important;
}

/* Boite "25 + Years of Experience" */
.s-about-img .field--name-field-mots-sur-l-universite-gauc .field-item>.ckeditor-col-container:first-child,
.s-about-img .about-text {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 270px !important;
    background: var(--couleur-principale) !important;
    padding: 15px !important;
    border-radius: 14px !important;
    border-bottom: 4px solid #132c40 !important;
    /* Bordure inferieure bleu marine */
    box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.12) !important;
    text-align: center !important;
    z-index: 10 !important;
    margin: 0 !important;
}

.s-about-img .field--name-field-mots-sur-l-universite-gauc .field-item>.ckeditor-col-container:first-child::after,
.s-about-img .about-text::after {
    display: none !important;
}

.s-about-img .field--name-field-mots-sur-l-universite-gauc .field-item>.ckeditor-col-container:first-child h2,
.s-about-img .about-text span {
    font-size: 44px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    font-family: 'Jost', sans-serif !important;
    margin: 0 !important;
    line-height: 1 !important;
    display: inline-block !important;
}

.s-about-img .field--name-field-mots-sur-l-universite-gauc .field-item>.ckeditor-col-container:first-child p,
.s-about-img .about-text p {
    font-size: 15px !important;
    color: #ffffff !important;
    margin-top: 6px !important;
    margin-bottom: 0 !important;
    font-weight: 500 !important;
    font-family: 'Jost', sans-serif !important;
}

/* Image principale de la colonne gauche */
.s-about-img .field--name-field-mots-sur-l-universite-gauc .field-item>.ckeditor-col-container:nth-child(2) img,
.s-about-img img {
    width: 100% !important;
    height: auto !important;
    border-radius: 20px !important;
    display: block !important;
}


/* --- COLONNE DROITE (Contenu Texte — Style Exact Image 2 & 3) --- */
.s-about-content {
    padding-left: 35px !important;
    z-index: 1 !important;
    position: relative !important;
}

/* Suppression des marges parasites entre h5 et h2 */
.s-about-content .about-title.second-title {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* 1. Sous-titre avec icone "About Our University" */
.about-title.second-title h5,
.s-about-content h5 {
    color: var(--couleur-principale) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    font-family: 'Jost', sans-serif !important;
    margin-top: 0 !important;
    margin-bottom: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.about-title.second-title h5 i,
.s-about-content h5 i {
    color: var(--couleur-principale) !important;
    font-size: 18px !important;
}

/* 2. Titre principal "A Few Words About the University" */
.field--name-field-mots-sur-l-universite-droi .field-item>h2,
.about-title.second-title h2,
.s-about-content h2 {
    font-size: 44px !important;
    font-weight: 800 !important;
    font-family: 'Jost', sans-serif !important;
    color: #132c40 !important;
    /* Bleu marine tres fonce */
    margin-top: 0 !important;
    margin-bottom: 22px !important;
    line-height: 1.2 !important;
    letter-spacing: -0.5px !important;
}

/* 3. Premier paragraphe (Texte bleu moyen mis en valeur) */
.field--name-field-mots-sur-l-universite-droi .field-item>p:first-of-type,
.field--name-field-mots-sur-l-universite-droi .field-item>p:first-of-type strong,
.s-about-content p.txt-clr {
    color: #356283 !important;
    font-size: 17px !important;
    line-height: 28px !important;
    font-weight: 500 !important;
    font-family: 'Jost', sans-serif !important;
    margin-bottom: 15px !important;
    display: block !important;
}

/* 4. Deuxieme paragraphe (Texte grisatre) */
.field--name-field-mots-sur-l-universite-droi .field-item>p:nth-of-type(2),
.s-about-content p {
    color: #6f8298 !important;
    font-size: 15px !important;
    line-height: 26px !important;
    font-weight: 400 !important;
    font-family: 'Jost', sans-serif !important;
    margin-bottom: 30px !important;
}

/* 5. Grille horizontale des 2 items "Doctoral Degrees" et "Global Students" */
.field--name-field-mots-sur-l-universite-droi .field-item>div,
.about-content2 .green2,
.about-content2 ul {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 35px !important;
    margin-top: 20px !important;
    margin-bottom: 35px !important;
    counter-reset: about-counter !important;
    list-style: none !important;
    padding: 0 !important;
}

.field--name-field-mots-sur-l-universite-droi .field-item>div>div,
.about-content2 li,
.about-content2 .abcontent {
    flex: 1 !important;
    position: relative !important;
    padding-left: 68px !important;
    counter-increment: about-counter !important;
    margin-bottom: 0 !important;
    display: block !important;
}

/* Rond parfait 01 / 02 en couleur principale */
.field--name-field-mots-sur-l-universite-droi .field-item>div>div::before,
.about-content2 .ano,
.s-about-content .ano {
    content: "0" counter(about-counter) !important;
    position: absolute !important;
    left: 0 !important;
    top: 2px !important;
    width: 50px !important;
    height: 50px !important;
    background: var(--couleur-principale) !important;
    border-radius: 50% !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    font-family: 'Jost', sans-serif !important;
}

.field--name-field-mots-sur-l-universite-droi .field-item>div>div h4,
.field--name-field-mots-sur-l-universite-droi .field-item>div>div h3,
.about-content2 .text h3 {
    font-size: 20px !important;
    font-weight: 700 !important;
    font-family: 'Jost', sans-serif !important;
    color: #132c40 !important;
    margin-bottom: 6px !important;
    padding-top: 0 !important;
}

.field--name-field-mots-sur-l-universite-droi .field-item>div>div p,
.about-content2 .text p {
    font-size: 14px !important;
    line-height: 22px !important;
    color: #6f8298 !important;
    font-family: 'Jost', sans-serif !important;
    margin: 0 !important;
}

/* 6. Bouton Read More bleu marine */
.field--name-field-mots-sur-l-universite-droi .field-item>p:last-child,
.s-about-content .slider-btn {
    margin-top: 10px !important;
    margin-bottom: 0 !important;
}

.field--name-field-mots-sur-l-universite-droi .field-item>p:last-child a,
.s-about-content a.btn {
    background: #132c40 !important;
    /* Bleu marine fonce */
    color: #ffffff !important;
    padding: 15px 34px !important;
    border-radius: 6px !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    font-family: 'Jost', sans-serif !important;
    text-transform: none !important;
    text-decoration: none !important;
    border: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    position: relative !important;
    overflow: hidden !important;
    z-index: 1 !important;
    transition: all 0.3s ease !important;
}

.field--name-field-mots-sur-l-universite-droi .field-item>p:last-child a::after,
.s-about-content a.btn::after {
    content: " \2192" !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

.field--name-field-mots-sur-l-universite-droi .field-item>p:last-child a:hover,
.s-about-content a.btn:hover {
    background: var(--couleur-principale) !important;
    color: #ffffff !important;
}

/* ==========================================================================
   SECTION & BLOC "NOS MEILLEURS ATOUTS" / "POURQUOI NOUS CHOISIR" (QEDUCATO 1:1 REPLICA)
   ========================================================================== */

#block-esetec-nosmeilleursatouts,
.steps-area {
    position: relative !important;
    left: 50% !important;
    width: 100vw !important;
    margin-left: -50vw !important;
    padding: 0 !important;
    overflow: hidden !important;
    background-color: #032e3f !important;
    font-family: 'Jost', sans-serif !important;
}

.steps-area .animations-10 {
    position: absolute !important;
    bottom: 110px !important;
    left: 0 !important;
    top: auto !important;
    z-index: 1 !important;
    opacity: 1 !important;
    pointer-events: none !important;
}

.steps-area .container {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 1320px !important;
}

/* En-tête : mêmes dimensions et teintes que le composant Qeducato. */
.steps-area .field--name-field-nos-meilleurs-atouts .field-item>h1 {
    margin: 0 0 15px !important;
    color: #fff !important;
    font: 700 50px/1.2 'Jost', sans-serif !important;
}

.steps-area .field--name-field-nos-meilleurs-atouts .field-item>p {
    max-width: 560px !important;
    margin: 0 0 35px !important;
    color: #96bece !important;
    font: 400 18px/26px 'Jost', sans-serif !important;
}

/* La grille créée par CKEditor devient la liste verticale Qeducato. */
.steps-area .field--name-field-nos-meilleurs-atouts .field-item,
.steps-area .field--name-field-nos-meilleurs-atouts .field-item>.ckeditor-col-container,
.steps-area .field--name-field-nos-meilleurs-atouts .field-item>.ckeditor-col-container>.grid-12 {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

.steps-area .field--name-field-nos-meilleurs-atouts .grid-12>.ckeditor-col-container {
    display: block !important;
    width: 100% !important;
    margin: 0 0 30px !important;
    padding: 0 !important;
    float: none !important;
}

.steps-area .field--name-field-nos-meilleurs-atouts .grid-12>.ckeditor-col-container:last-child {
    margin-bottom: 0 !important;
}

.steps-area .field--name-field-nos-meilleurs-atouts .grid-12>.ckeditor-col-container>.grid-12 {
    display: grid !important;
    grid-template-columns: 75px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    /* column-gap: 20px !important; */
    row-gap: 10px !important;
    align-items: flex-start !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

/* Les emojis de contenu deviennent les pictogrammes du modèle dans des pastilles de 75 px. */
.steps-area .field--name-field-nos-meilleurs-atouts .grid-12>.ckeditor-col-container>.grid-12>h1 {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    width: 60px !important;
    height: 60px !important;
    margin: 0 10px 0 0 !important;
    padding: 0 !important;
    border-radius: 50% !important;
    background: var(--couleur-principale) center/36px 36px no-repeat !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 75px !important;
}

.steps-area .field--name-field-nos-meilleurs-atouts .grid-12>.ckeditor-col-container>.grid-12>h3,
.steps-area .field--name-field-nos-meilleurs-atouts .grid-12>.ckeditor-col-container>.grid-12>p {
    margin-left: 0 !important;
    padding-left: 0 !important;
}

.steps-area .field--name-field-nos-meilleurs-atouts .grid-12>.ckeditor-col-container>.grid-12>h3 {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: end !important;
    margin: 0 !important;
    color: #fff !important;
    font: 700 21px/1.25 'Jost', sans-serif !important;
}

.steps-area .field--name-field-nos-meilleurs-atouts .grid-12>.ckeditor-col-container>.grid-12>p {
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    max-width: 500px !important;
    color: #96bece !important;
    font: 400 16px/24px 'Jost', sans-serif !important;
}

.steps-area .field--name-field-nos-meilleurs-atouts .grid-12>.ckeditor-col-container:nth-child(3n + 1) h1 {
    background-image: url('../medias/2023/03/fea-icon01.png') !important;
}

.steps-area .field--name-field-nos-meilleurs-atouts .grid-12>.ckeditor-col-container:nth-child(3n + 2) h1 {
    background-image: url('../medias/2023/03/fea-icon02.png') !important;
}

.steps-area .field--name-field-nos-meilleurs-atouts .grid-12>.ckeditor-col-container:nth-child(3n) h1 {
    background-image: url('../medias/2023/03/fea-icon03.png') !important;
}

/* La photo garde son format natif et déborde à droite, comme dans Qeducato. */
.steps-area .step-img {
    margin-right: -302px !important;
    padding-bottom: 30px !important;
    background: transparent !important;
    /* background: #fff !important; */
}

.steps-area .step-img .field--name-field-nos-meilleurs-atouts-image,
.steps-area .step-img p {
    margin: 0 !important;
}

.steps-area .step-img img {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    margin-top: -30px !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* La zone droite garde le format du modèle, quelle que soit l'image choisie
   dans le champ Drupal. L'image est recadrée, jamais déformée. */
@media (min-width: 992px) {
    .steps-area .row.align-items-center {
        min-height: 780px !important;
    }

    /* .steps-area .step-img {
        height: 750px !important;
        overflow: hidden !important;
    } */

    .steps-area .step-img img {
        width: auto !important;
        max-width: none !important;
        height: 750px !important;
        margin-top: 0 !important;
        object-fit: contain !important;
        object-position: center center !important;
    }
}

@media (max-width: 991px) {
    .steps-area {
        left: auto !important;
        padding: 120px 0 !important;
        margin-left: 0 !important;
        width: 100% !important;
    }

    .steps-area .step-img {
        margin: 50px 0 0 !important;
        padding: 0 !important;
    }

    .steps-area .step-img img {
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 0 !important;
    }
}

/* ==========================================================================
   BREADCRUMB AREA & BDRC BG (QEDUCATO 1:1)
   ========================================================================== */
.breadcrumb-area {
    background-image: url('../medias/2023/03/bdrc-bg.png') !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: #20282E !important;
    min-height: 450px !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 130px 0 120px 0 !important;
}

.breadcrumb-area .container {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
}

section.breadcrumb-area.d-flex.align-items-center.p-relative .region-page-header {
    /* border: 2px solid red; */
    flex-direction: initial;
    justify-content: center;
    align-items: center;
    padding: initial !important;
}

.breadcrumb-wrap {
    text-align: center !important;
    width: 100% !important;
    margin: 0 auto 60px auto !important;
    padding: 0 !important;
}

.breadcrumb-title {
    text-align: center !important;
    width: 100% !important;
    margin: 0 auto !important;
}

.breadcrumb-title h2 {
    font-size: 46px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin: 0 auto !important;
    text-transform: uppercase !important;
    line-height: 1.25 !important;
    text-align: center !important;
    display: block !important;
    width: 100% !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

.breadcrumb-wrap2 {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: -25px !important;
    width: 100% !important;
    text-align: center !important;
    z-index: 10 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto !important;
}

.breadcrumb-wrap2 .block-system-breadcrumb-block,
.breadcrumb-wrap2 nav {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto !important;
    text-align: center !important;
}

.breadcrumb-wrap2 .breadcrumb {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--couleur-principale, #ff7350) !important;
    border-radius: 30px !important;
    padding: 12px 35px !important;
    margin: 0 auto !important;
    list-style: none !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
}

.breadcrumb-wrap2 .breadcrumb .breadcrumb-item {
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
}

.breadcrumb-wrap2 .breadcrumb .breadcrumb-item a,
.breadcrumb-wrap2 .breadcrumb .breadcrumb-item span {
    color: #ffffff !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

.breadcrumb-wrap2 .breadcrumb .breadcrumb-item a:hover {
    color: #ffffff !important;
    opacity: 0.85 !important;
}

.breadcrumb-wrap2 .breadcrumb .breadcrumb-item.active,
.breadcrumb-wrap2 .breadcrumb .breadcrumb-item.active span {
    color: rgba(255, 255, 255, 0.9) !important;
}

.breadcrumb-wrap2 .breadcrumb .breadcrumb-item+.breadcrumb-item::before {
    content: "|" !important;
    color: rgba(255, 255, 255, 0.7) !important;
    padding: 0 12px !important;
}

/* ==========================================================================
   NODE NOS COURS (QEDUCATO 1:1 PROJECT-DETAIL)
   ========================================================================== */
.node-type-nos-cours.project-detail {
    background-color: #ffffff !important;
    padding-top: 60px !important;
    padding-bottom: 90px !important;
}

.node-type-nos-cours .text-column .inner-column {
    background: #ffffff !important;
    padding-right: 25px !important;
}

.node-type-nos-cours .text-column img {
    width: 100% !important;
    height: auto !important;
    /* border-radius: 12px !important; */
    margin-bottom: 30px !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08) !important;
}

.node-type-nos-cours .text-column h1 {
    display: block !important;
    background-color: #125875 !important;
    color: #ffffff !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    padding: 16px 22px !important;
    border-radius: 8px !important;
    /* margin: 30px 0 25px 0 !important; */
    /* border-left: 5px solid var(--couleur-principale, #ff7350) !important; */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06) !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
}


.node-type-nos-cours .field__label.visually-hidden,
.node-type-nos-cours .field__label.hidden,
.node-type-nos-cours .visually-hidden,
.node-type-nos-cours .course-features-wrapper .field__label {
    clip: rect(1px, 1px, 1px, 1px) !important;
    position: absolute !important;
    white-space: nowrap !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.node-type-nos-cours .course-features-wrapper {
    padding: 10px 20px 20px 20px !important;
}

.node-type-nos-cours .course-features-wrapper p {
    margin: 0 !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid #f0f4f8 !important;
    font-size: 14px !important;
    color: #444444 !important;
    line-height: 1.5 !important;
}

.node-type-nos-cours .course-features-wrapper p:last-child {
    border-bottom: none !important;
}

.node-type-nos-cours .course-features-wrapper p strong {
    color: var(--couleur-principale, #ff7350) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}



.node-type-nos-cours .text-column h3 {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #032e3f !important;
    margin-top: 40px !important;
    margin-bottom: 20px !important;
    position: relative !important;
    padding-left: 16px !important;
    border-left: 4px solid var(--couleur-principale, #ff7350) !important;
    line-height: 1.3 !important;
}

.node-type-nos-cours .text-column h4 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #141b22 !important;
    margin-top: 35px !important;
    margin-bottom: 15px !important;
}

.node-type-nos-cours .text-column h5 {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--couleur-principale, #ff7350) !important;
    margin-top: 22px !important;
    margin-bottom: 12px !important;
}

.node-type-nos-cours .text-column p {
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: #555555 !important;
    margin-bottom: 18px !important;
}

.node-type-nos-cours .text-column ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin-top: 15px !important;
    margin-bottom: 30px !important;
}

.node-type-nos-cours .text-column ul li {
    position: relative !important;
    padding-left: 32px !important;
    margin-bottom: 12px !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: #444444 !important;
}

.node-type-nos-cours .text-column ul li::before {
    content: "\f00c" !important;
    font-family: "Font Awesome 5 Pro" !important;
    font-weight: 900 !important;
    position: absolute !important;
    left: 0 !important;
    top: 13px !important;
    color: var(--couleur-principale, #ff7350) !important;
    font-size: 13px !important;
    background: var(--couleur-principale) !important;
    width: 20px !important;
    height: 3px !important;
    /* border-radius: 50% !important; */
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Tables de coordonnées bancaires (BNI & BSIC) */
.node-type-nos-cours .text-column table {
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    margin: 25px 0 35px 0 !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06) !important;
    border: 1px solid #e3e8ee !important;
}

.node-type-nos-cours .text-column table colgroup {
    display: none !important;
}

.node-type-nos-cours .text-column table tr:first-child td,
.node-type-nos-cours .text-column table tr:first-child:hover td,
.node-type-nos-cours .text-column table tr:first-child td:hover {
    background-color: #032e3f !important;
    background: #032e3f !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    text-transform: uppercase !important;
    padding: 14px !important;
    text-align: center !important;
    border: none !important;
}

.node-type-nos-cours .text-column table tr:first-child td p,
.node-type-nos-cours .text-column table tr:first-child:hover td p,
.node-type-nos-cours .text-column table tr:first-child td:hover p {
    color: #ffffff !important;
    margin: 0 !important;
    font-weight: 700 !important;
    text-align: center !important;
}


.node-type-nos-cours .text-column table td {
    padding: 12px 14px !important;
    border: 1px solid #eef2f6 !important;
    font-size: 13px !important;
    color: #333333 !important;
    vertical-align: middle !important;
    word-break: break-word !important;
}

.node-type-nos-cours .text-column table tr:nth-child(2) td {
    background-color: #f8fafc !important;
    font-weight: 600 !important;
    color: #032e3f !important;
    text-align: center !important;
}

.node-type-nos-cours .text-column table p {
    margin: 0 !important;
}

/* Sidebar Caractéristiques du cours (Qeducato 1:1) */
.node-type-nos-cours .sidebar-widget.info-column {
    position: sticky !important;
    top: 100px !important;
}

.node-type-nos-cours .inner-column3 {
    border-radius: 12px !important;
    background-color: #ffffff !important;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.08) !important;
    overflow: hidden !important;
    border: 1px solid #e5e9f2 !important;
}

.node-type-nos-cours .inner-column3 h3 {
    background: #032e3f;
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    padding: 18px 22px !important;
    margin: 0 !important;
    border-bottom: 3px solid var(--couleur-principale, #ff7350) !important;
}

.node-type-nos-cours .course-type-box {
    padding: 20px 20px 10px 20px !important;
}

.node-type-nos-cours .course-type-badge {
    background: rgba(3, 46, 63, 0.06) !important;
    border-left: 4px solid var(--couleur-principale, #ff7350) !important;
    padding: 12px 16px !important;
    border-radius: 6px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.node-type-nos-cours .course-type-badge i {
    font-size: 20px !important;
    color: var(--couleur-principale, #ff7350) !important;
    font-family: "Font Awesome 5 Free", "Font Awesome 5 Pro", FontAwesome !important;
    font-weight: 900 !important;
    font-style: normal !important;
}


.node-type-nos-cours .course-type-label {
    display: block !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    color: #777777 !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
}

.node-type-nos-cours .course-type-val {
    font-weight: 700 !important;
    color: #032e3f !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
}

.node-type-nos-cours .course-features-wrapper {
    padding: 10px 20px 15px 20px !important;
}

.node-type-nos-cours .course-features-wrapper .field__label.visually-hidden,
.node-type-nos-cours .field__label.visually-hidden {
    clip: rect(1px, 1px, 1px, 1px) !important;
    position: absolute !important;
    white-space: nowrap !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden !important;
}

.node-type-nos-cours .course-features-wrapper p {
    margin: 0 !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid #f0f4f8 !important;
    font-size: 14px !important;
    color: #444444 !important;
    line-height: 1.5 !important;
}

.node-type-nos-cours .course-features-wrapper p:last-child {
    border-bottom: none !important;
}

.node-type-nos-cours .course-features-wrapper p strong {
    color: var(--couleur-principale, #ff7350) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}

/* ==========================================================================
   MICRO-ANIMATIONS & HOVER EFFECTS (QEDUCATO WOW)
   ========================================================================== */
/* Image Zoom & Shadow */
.node-type-nos-cours .text-column img {
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.5s ease !important;
    cursor: pointer !important;
}

.node-type-nos-cours .text-column img:hover {
    transform: scale(1.018) !important;
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.14) !important;
}

/* Title Banner Hover Glow */
.node-type-nos-cours .text-column h1 {
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.node-type-nos-cours .text-column h1:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(3, 46, 63, 0.22) !important;
}

/* Right Sidebar Floating Micro-animation */
.node-type-nos-cours .inner-column3 {
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

.node-type-nos-cours .inner-column3:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 15px 45px rgba(3, 46, 63, 0.12) !important;
}

/* Badge Hover Rotation */
.node-type-nos-cours .course-type-badge {
    transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease !important;
}

.node-type-nos-cours .course-type-badge:hover {
    transform: translateY(-2px) !important;
    background: rgba(3, 46, 63, 0.09) !important;
    box-shadow: 0 4px 15px rgba(3, 46, 63, 0.08) !important;
}

.node-type-nos-cours .course-type-badge i {
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.node-type-nos-cours .course-type-badge:hover i {
    transform: rotate(14deg) scale(1.18) !important;
}

/* Feature Row Hover Slide */
.node-type-nos-cours .course-features-wrapper p {
    transition: all 0.25s ease !important;
    padding-left: 6px !important;
    border-radius: 4px !important;
}

.node-type-nos-cours .course-features-wrapper p:hover {
    background-color: rgba(3, 46, 63, 0.03) !important;
    padding-left: 12px !important;
    color: #032e3f !important;
}

/* Section Headings Left Border Animation */
.node-type-nos-cours .text-column h3 {
    transition: border-left-width 0.3s ease, padding-left 0.3s ease, color 0.3s ease !important;
}

.node-type-nos-cours .text-column h3:hover {
    border-left-width: 7px !important;
    padding-left: 18px !important;
    color: var(--couleur-principale, #ff7350) !important;
}

/* List Checkmark Interactive Pop */
.node-type-nos-cours .text-column ul li {
    transition: transform 0.25s ease, color 0.25s ease !important;
}

.node-type-nos-cours .text-column ul li:hover {
    transform: translateX(6px) !important;
    color: #032e3f !important;
}

.node-type-nos-cours .text-column ul li::before {
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.3s ease !important;
}

.node-type-nos-cours .text-column ul li:hover::before {
    transform: scale(1.22) rotate(8deg) !important;
    background: var(--couleur-principale, #ff7350) !important;
    color: #ffffff !important;
}

/* Table Row Smooth Highlight */
.node-type-nos-cours .text-column table tr:not(:first-child) {
    transition: background-color 0.25s ease !important;
}

.node-type-nos-cours .text-column table tr:not(:first-child):hover td {
    background-color: rgba(3, 46, 63, 0.04) !important;
}

/* ==========================================================================
   BLOCK NOS COURS / PROGRAMMES D'ETUDES SUPERIEURES (QEDUCATO IMAGE 2 1:1)
   ========================================================================== */
#block-esetec-views-block-nos-cours-block-1,
section.courses {
    background-color: #ffffff !important;
    padding-top: 100px !important;
    padding-bottom: 90px !important;
    position: relative !important;
}

#block-esetec-views-block-nos-cours-block-1 .animations-01 {
    position: absolute !important;
    top: 50px !important;
    left: 40px !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* Section Header (Left-aligned as in Qeducato Image 2) */
/* Section Header (Left-aligned as in Qeducato Image 2) */
#block-esetec-views-block-nos-cours-block-1 .section-title {
    text-align: left !important;
    position: relative !important;
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
}

#block-esetec-views-block-nos-cours-block-1 .section-title h5 {
    color: var(--couleur-principale, #ff7350) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    /* text-transform: uppercase !important; */
    letter-spacing: 0.5px !important;
    margin-bottom: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-align: left !important;
    width: auto !important;
    justify-content: flex-start !important;
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
    background: transparent !important;
}

#block-esetec-views-block-nos-cours-block-1 .section-title h2 {
    font-size: 36px !important;
    font-weight: 800 !important;
    color: #032e3f !important;
    margin: 0 !important;
    text-align: left !important;
    text-transform: capitalize !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
    background: transparent !important;
}

/* Explicit Navigation Control Arrows (.courses-nav-arrows) - NO SHADOW */
.courses-nav-arrows {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    justify-content: flex-end !important;
    width: 100% !important;
}

.courses-nav-arrows button,
.course-slick-prev,
.course-slick-next,
#block-esetec-views-block-nos-cours-block-1 .slick-arrow {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    border: none !important;
    background: var(--couleur-principale, #ff7350) !important;
    padding: 0 !important;
    color: #ffffff !important;
    z-index: 99 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    width: 50px !important;
    height: 50px !important;
    border-radius: 6px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
    outline: none !important;
}

.courses-nav-arrows button:hover,
.course-slick-prev:hover,
.course-slick-next:hover,
#block-esetec-views-block-nos-cours-block-1 .slick-arrow:hover {
    background-color: #032e3f !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
}

/* Equal Height Grid & Carousel Track */
#block-esetec-views-block-nos-cours-block-1 .esetec-courses-carousel .slick-track,
#block-esetec-views-block-nos-cours-block-1 .class-active .slick-track {
    display: flex !important;
    align-items: stretch !important;
}

#block-esetec-views-block-nos-cours-block-1 .esetec-courses-carousel .slick-slide,
#block-esetec-views-block-nos-cours-block-1 .class-active .slick-slide {
    height: auto !important;
    display: flex !important;
}

#block-esetec-views-block-nos-cours-block-1 .esetec-courses-carousel .slick-slide>div,
#block-esetec-views-block-nos-cours-block-1 .class-active .slick-slide>div {
    width: 100% !important;
    display: flex !important;
    height: 100% !important;
}

#block-esetec-views-block-nos-cours-block-1 .row:not(.slick-initialized) {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
}

#block-esetec-views-block-nos-cours-block-1 .row:not(.slick-initialized)>div {
    display: flex !important;
    flex-direction: column !important;
}


/* Course Item Cards (Equal Height Qeducato Image 2 1:1) */
#block-esetec-views-block-nos-cours-block-1 .courses-item {
    background: #f0f7ff !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    position: relative !important;
    transition: all 0.3s ease 0s !important;
    border: none !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    width: 100% !important;
    margin-bottom: 30px !important;
}

#block-esetec-views-block-nos-cours-block-1 .courses-item:hover {
    box-shadow: 1px 1.732px 40px 0px rgba(0, 0, 0, 0.1) !important;
    transform: translateY(-4px) !important;
}

#block-esetec-views-block-nos-cours-block-1 .courses-item .thumb.fix {
    overflow: hidden !important;
    border-radius: 6px 6px 0 0 !important;
    position: relative !important;
    height: 200px !important;
    width: 100% !important;
    flex-shrink: 0 !important;
}

#block-esetec-views-block-nos-cours-block-1 .courses-item .thumb.fix img,
#block-esetec-views-block-nos-cours-block-1 .courses-item .thumb.fix a img,
#block-esetec-views-block-nos-cours-block-1 .courses-item .thumb.fix .field-content img {
    width: 100% !important;
    height: 200px !important;
    object-fit: cover !important;
    transition: transform 0.5s ease !important;
    display: block !important;
}

#block-esetec-views-block-nos-cours-block-1 .courses-item:hover .thumb.fix img,
#block-esetec-views-block-nos-cours-block-1 .courses-item:hover .thumb.fix a img {
    transform: scale(1.08) !important;
}

#block-esetec-views-block-nos-cours-block-1 .courses-content {
    padding: 30px 25px 25px 25px !important;
    position: relative !important;
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    background: #f0f7ff !important;
    transition: background 0.3s ease !important;
}

#block-esetec-views-block-nos-cours-block-1 .courses-item:hover .courses-content {
    background: #ffffff !important;
}

#block-esetec-views-block-nos-cours-block-1 .courses-content .cat {
    position: absolute !important;
    top: -18px !important;
    right: 25px !important;
    background-color: var(--couleur-principale, #ff7350) !important;
    color: #ffffff !important;
    padding: 5px 12px !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    box-shadow: 0 4px 10px rgba(255, 115, 80, 0.25) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    z-index: 2 !important;
}

#block-esetec-views-block-nos-cours-block-1 .courses-content h3 {
    font-size: 18px !important;
    font-weight: 700 !important;
    margin-top: 5px !important;
    margin-bottom: 12px !important;
    line-height: 1.35 !important;
    text-align: left !important;
    min-height: 52px !important;
    display: flex !important;
    align-items: flex-start !important;
}

#block-esetec-views-block-nos-cours-block-1 .courses-content h3 a {
    color: #032e3f !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

#block-esetec-views-block-nos-cours-block-1 .courses-content h3 a:hover {
    color: var(--couleur-principale, #ff7350) !important;
}

#block-esetec-views-block-nos-cours-block-1 .courses-content .course-desc,
#block-esetec-views-block-nos-cours-block-1 .courses-content p {
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #6e6e6e !important;
    /* margin-bottom: 20px !important; */
    text-align: left !important;
    min-height: 68px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

#block-esetec-views-block-nos-cours-block-1 .courses-content a.readmore {
    color: var(--couleur-principale, #ff7350) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    transition: color 0.3s ease !important;
    margin-top: auto !important;
}

#block-esetec-views-block-nos-cours-block-1 .courses-content a.readmore:hover {
    color: #032e3f !important;
}

#block-esetec-views-block-nos-cours-block-1 .courses-content a.readmore i {
    transition: transform 0.3s ease !important;
}

#block-esetec-views-block-nos-cours-block-1 .courses-content a.readmore:hover i {
    transform: translateX(5px) !important;
}

#block-esetec-views-block-nos-cours-block-1 .courses-item .icon {
    position: absolute !important;
    bottom: 20px !important;
    right: 20px !important;
    opacity: 0.25 !important;
    transition: opacity 0.3s ease, transform 0.3s ease !important;
    pointer-events: none !important;
}

#block-esetec-views-block-nos-cours-block-1 .courses-item:hover .icon {
    opacity: 0.5 !important;
}

/* ==========================================================================
   BLOCK NOUS SOMMES ESETEC ET NOUS SOMMES DIFFERENTS (FULL-WIDTH VIDEO BACKGROUND)
   ========================================================================== */

/* section.cta-area {
    position: relative !important;
    width: 100vw !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    background-image: none !important;
    background-color: #032e3f !important;
    padding-top: 150px !important;
    padding-bottom: 150px !important;
    z-index: 1 !important;
    overflow: hidden !important;
} */

#block-esetec-noussommesesetecetnoussommesdifferents {
    position: relative !important;
    width: 100% !important;
    background-image: none !important;
    background-color: #032e3f !important;
    z-index: 1 !important;
    /* overflow: hidden !important; */
    /* height: 60vh; */
    /* left: 50% !important; */
    /* right: 50% !important; */
    /* margin-left: -50vw !important; */
    /* margin-right: -50vw !important; */
    /* padding-top: 150px !important; */
    /* padding-bottom: 150px !important; */

}

#block-esetec-noussommesesetecetnoussommesdifferents.fix {
    overflow: visible !important;
}

#block-esetec-noussommesesetecetnoussommesdifferents::before {
    content: "";
    position: absolute;
    top: 0;
    left: -18%;
    width: 19%;
    height: 100%;
    background: #032e3f;
    z-index: 2;
}

#block-esetec-noussommesesetecetnoussommesdifferents::after {
    content: "";
    position: absolute;
    top: 0;
    right: -18%;
    width: 19%;
    height: 100%;
    background: #032e3f;
    z-index: 2;
}


#block-esetec-noussommesesetecetnoussommesdifferents .video-bg-wrapper {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1 !important;
    overflow: hidden !important;
}

#block-esetec-noussommesesetecetnoussommesdifferents .video-bg-media {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    pointer-events: none !important;
}

#block-esetec-noussommesesetecetnoussommesdifferents .video-bg-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: #00000047;
    z-index: 2 !important;
}

#block-esetec-noussommesesetecetnoussommesdifferents .container {
    position: relative !important;
    z-index: 3 !important;
}

#block-esetec-noussommesesetecetnoussommesdifferents .cta-title h2,
#block-esetec-noussommesesetecetnoussommesdifferents .field--name-field-texte-pub h2 {
    font-size: 64px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    line-height: 1.2 !important;
    margin-bottom: 20px !important;
    text-transform: none !important;
    box-shadow: none !important;
    text-shadow: 0 3px 15px rgba(0, 0, 0, 0.6) !important;
    text-align: center !important;
}

#block-esetec-noussommesesetecetnoussommesdifferents .cta-title h2 strong,
#block-esetec-noussommesesetecetnoussommesdifferents .cta-title h2 span,
#block-esetec-noussommesesetecetnoussommesdifferents .field--name-field-texte-pub h2 strong,
#block-esetec-noussommesesetecetnoussommesdifferents .field--name-field-texte-pub h2 span {
    color: #ff7350 !important;
    border-bottom: 4px solid #ff7350 !important;
    display: inline-block !important;
    padding-bottom: 3px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

#block-esetec-noussommesesetecetnoussommesdifferents .cta-title p,
#block-esetec-noussommesesetecetnoussommesdifferents .field--name-field-texte-pub p {
    font-size: 20px !important;
    color: #ffffff !important;
    line-height: 1.7 !important;
    margin-top: 20px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    opacity: 0.95 !important;
    text-align: center !important;
    max-width: 820px !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.6) !important;
}

/* Hide popup video modal by default so it never renders directly in the page flow */
.mfp-hide,
#esetec-video-modal.mfp-hide,
#block-esetec-noussommesesetecetnoussommesdifferents .field--name-field-video-pub {
    display: none !important;
}

/* ==========================================================================
   BLOCK VOUS TROUVEREZ ICI TOUTES LES REPONSES (QEDUCATO FAQ AREA 1:1)
   ========================================================================== */
#block-esetec-voustrouverezicitouteslesreponses {
    padding-top: 120px !important;
    padding-bottom: 120px !important;
    position: relative !important;
    background-color: #ffffff !important;
    overflow: hidden !important;
}

#block-esetec-voustrouverezicitouteslesreponses .section-title h2 {
    font-size: 45px !important;
    font-weight: 800 !important;
    color: #141b22 !important;
    line-height: 1.25 !important;
    margin-bottom: 15px !important;
    text-transform: none !important;
    text-align: left !important;
}

#block-esetec-voustrouverezicitouteslesreponses .section-title p {
    font-size: 16px !important;
    color: #666666 !important;
    line-height: 1.7 !important;
    text-align: left !important;
    margin-bottom: 30px !important;
}

#block-esetec-voustrouverezicitouteslesreponses .faq-wrap {
    margin-top: 30px !important;
}

#block-esetec-voustrouverezicitouteslesreponses .faq-wrap .card {
    border: none !important;
    margin-bottom: 15px !important;
    background: transparent !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}

#block-esetec-voustrouverezicitouteslesreponses .faq-wrap .card-header {
    padding: 0 !important;
    background: transparent !important;
    border-bottom: none !important;
}

#block-esetec-voustrouverezicitouteslesreponses .faq-wrap .faq-btn {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #141b22 !important;
    background-color: #ffffff !important;
    border: 1px solid #a20d35 !important;
    border-radius: 6px !important;
    padding: 18px 25px !important;
    padding-right: 75px !important;
    width: 100% !important;
    text-align: left !important;
    position: relative !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

#block-esetec-voustrouverezicitouteslesreponses .faq-wrap .faq-btn.collapsed {
    border: 1px solid #e5e5e5 !important;
    background-color: #ffffff !important;
    color: #141b22 !important;
}

#block-esetec-voustrouverezicitouteslesreponses .faq-wrap .faq-btn::after {
    content: "\f068" !important;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    position: absolute !important;
    top: 50% !important;
    right: 15px !important;
    transform: translateY(-50%) !important;
    width: 40px !important;
    height: 40px !important;
    line-height: 40px !important;
    text-align: center !important;
    border-radius: 4px !important;
    background: #a20d35 !important;
    color: #ffffff !important;
    font-size: 16px !important;
    transition: all 0.3s ease !important;
}


#block-esetec-voustrouverezicitouteslesreponses .faq-wrap .faq-btn.collapsed::after {
    content: "\f067" !important;
    background: #f7f7f7 !important;
    color: #141b22 !important;
    border: 1px solid #e5e5e5 !important;
}

#block-esetec-voustrouverezicitouteslesreponses .faq-wrap .card-body {
    padding: 20px 25px !important;
    font-size: 15px !important;
    color: #666666 !important;
    line-height: 1.8 !important;
    background: #fafafa !important;
    border: 1px solid #e5e5e5 !important;
    border-top: none !important;
    border-radius: 0 0 6px 6px !important;
    margin-top: -2px !important;
}

#block-esetec-voustrouverezicitouteslesreponses .faq-img-box img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 10px !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08) !important;
}

/* ==========================================================================
   BLOCK CONCOURS D'ENTREE EN CLASSE PREPARATOIRE (QEDUCATO SCHOLARSHIP CTA 1:1)
   ========================================================================== */
#block-esetec-concoursdentreeenclassepreparatoirealesetec {
    position: relative !important;
    width: 100vw !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    padding-top: 60px !important;
    padding-bottom: 60px !important;
    background-image: none !important;
    background-color: #125875 !important;
    z-index: 1 !important;
    overflow: hidden !important;
}

#block-esetec-concoursdentreeenclassepreparatoirealesetec .cta-bg-img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1 !important;
    overflow: hidden !important;
}

#block-esetec-concoursdentreeenclassepreparatoirealesetec .cta-bg-img img,
#block-esetec-concoursdentreeenclassepreparatoirealesetec .field--name-field-image-arriere-plan img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
}

#block-esetec-concoursdentreeenclassepreparatoirealesetec .cta-bg-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(18, 88, 117, 0.75) !important;
    z-index: 2 !important;
}

#block-esetec-concoursdentreeenclassepreparatoirealesetec .container {
    position: relative !important;
    z-index: 3 !important;
}

#block-esetec-concoursdentreeenclassepreparatoirealesetec .field--name-field-contenu-de-la-pub,
#block-esetec-concoursdentreeenclassepreparatoirealesetec .field--name-field-contenu-de-la-pub .field-item,
#block-esetec-concoursdentreeenclassepreparatoirealesetec .field--name-field-contenu-de-la-pub .field__item {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
}

#block-esetec-concoursdentreeenclassepreparatoirealesetec .field--name-field-contenu-de-la-pub .ckeditor-col-container,
#block-esetec-concoursdentreeenclassepreparatoirealesetec .field--name-field-contenu-de-la-pub .field-item>div:first-child,
#block-esetec-concoursdentreeenclassepreparatoirealesetec .field--name-field-contenu-de-la-pub .field__item>div:first-child {
    flex: 0 0 68% !important;
    max-width: 68% !important;
}

#block-esetec-concoursdentreeenclassepreparatoirealesetec .field--name-field-contenu-de-la-pub p:has(a),
#block-esetec-concoursdentreeenclassepreparatoirealesetec .field--name-field-contenu-de-la-pub .field-item>p:last-child,
#block-esetec-concoursdentreeenclassepreparatoirealesetec .field--name-field-contenu-de-la-pub .field__item>p:last-child {
    flex: 0 0 30% !important;
    max-width: 30% !important;
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    text-align: right !important;
}

@media (max-width: 991px) {

    #block-esetec-concoursdentreeenclassepreparatoirealesetec .field--name-field-contenu-de-la-pub .ckeditor-col-container,
    #block-esetec-concoursdentreeenclassepreparatoirealesetec .field--name-field-contenu-de-la-pub .field-item>div:first-child,
    #block-esetec-concoursdentreeenclassepreparatoirealesetec .field--name-field-contenu-de-la-pub .field__item>div:first-child {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        margin-bottom: 20px !important;
    }

    #block-esetec-concoursdentreeenclassepreparatoirealesetec .field--name-field-contenu-de-la-pub p:has(a),
    #block-esetec-concoursdentreeenclassepreparatoirealesetec .field--name-field-contenu-de-la-pub .field-item>p:last-child,
    #block-esetec-concoursdentreeenclassepreparatoirealesetec .field--name-field-contenu-de-la-pub .field__item>p:last-child {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        text-align: left !important;
    }
}

#block-esetec-concoursdentreeenclassepreparatoirealesetec .section-title h2,
#block-esetec-concoursdentreeenclassepreparatoirealesetec .field--name-field-contenu-de-la-pub h2 {
    /* font-size: 36px !important; */
    font-size: 45px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    line-height: 1.25 !important;
    margin-bottom: 12px !important;
    text-transform: none !important;
    text-shadow: none !important;
    text-align: left !important;
}

#block-esetec-concoursdentreeenclassepreparatoirealesetec .section-title p,
#block-esetec-concoursdentreeenclassepreparatoirealesetec .field--name-field-contenu-de-la-pub p {
    font-size: 16px !important;
    color: #ffffff !important;
    line-height: 1.7 !important;
    margin-bottom: 0 !important;
    opacity: 0.95 !important;
    text-align: left !important;
}

#block-esetec-concoursdentreeenclassepreparatoirealesetec .field--name-field-contenu-de-la-pub a,
#block-esetec-concoursdentreeenclassepreparatoirealesetec .btn.ss-btn {
    background-color: var(--couleur-principale, #a20d35) !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 16px 36px !important;
    border-radius: 4px !important;
    display: inline-block !important;
    text-decoration: none !important;
    border: none !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15) !important;
    transition: all 0.3s ease !important;
    white-space: nowrap !important;
}

#block-esetec-concoursdentreeenclassepreparatoirealesetec .field--name-field-contenu-de-la-pub a::after {
    content: " \f178" !important;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    margin-left: 8px !important;
}

#block-esetec-concoursdentreeenclassepreparatoirealesetec .field--name-field-contenu-de-la-pub a:hover,
#block-esetec-concoursdentreeenclassepreparatoirealesetec .btn.ss-btn:hover {
    background-color: #141b2200 !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
    transform: translateY(-2px) !important;
}

#block-esetec-concoursdentreeenclassepreparatoirealesetec .field--name-field-image-arriere-plan {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1 !important;
}

/* ==========================================================================
   NOS FORMATIONS NODE DETAILS (EXACT 1:1 REPLICA OF NOS COURS PROJECT-DETAIL)
   ========================================================================== */
.node-type-nos-formations.project-detail {
    background-color: #ffffff !important;
    padding-top: 60px !important;
    padding-bottom: 90px !important;
}

.node-type-nos-formations .text-column .inner-column {
    background: #ffffff !important;
    padding-right: 25px !important;
}

.node-type-nos-formations .text-column img {
    width: 100% !important;
    height: auto !important;
    margin-bottom: 30px !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08) !important;
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.5s ease !important;
    cursor: pointer !important;
}

.node-type-nos-formations .text-column img:hover {
    transform: scale(1.018) !important;
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.14) !important;
}

.node-type-nos-formations .text-column h1 {
    display: block !important;
    background-color: #125875 !important;
    color: #ffffff !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    padding: 16px 22px !important;
    margin: 0 0 1.2rem 0;
    border-radius: 8px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06) !important;
    line-height: 1.3 !important;
    text-transform: uppercase !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.node-type-nos-formations .text-column h1:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(3, 46, 63, 0.22) !important;
}

.node-type-nos-formations .field__label.visually-hidden,
.node-type-nos-formations .field__label.hidden,
.node-type-nos-formations .visually-hidden,
.node-type-nos-formations .course-features-wrapper .field__label {
    clip: rect(1px, 1px, 1px, 1px) !important;
    position: absolute !important;
    white-space: nowrap !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.node-type-nos-formations .course-features-wrapper {
    padding: 10px 20px 20px 20px !important;
}

.node-type-nos-formations .course-features-wrapper p {
    margin: 0 !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid #f0f4f8 !important;
    font-size: 14px !important;
    color: #444444 !important;
    line-height: 1.5 !important;
}

.node-type-nos-formations .course-features-wrapper p:last-child {
    border-bottom: none !important;
}

.node-type-nos-formations .course-features-wrapper p strong {
    color: var(--couleur-principale, #a20d35) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}

.node-type-nos-formations .text-column h3 {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #032e3f !important;
    margin-top: 40px !important;
    margin-bottom: 20px !important;
    position: relative !important;
    padding-left: 16px !important;
    border-left: 4px solid var(--couleur-principale, #a20d35) !important;
    line-height: 1.3 !important;
}

.node-type-nos-formations .text-column h4 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #141b22 !important;
    margin-top: 35px !important;
    margin-bottom: 15px !important;
}

.node-type-nos-formations .text-column h5 {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--couleur-principale, #a20d35) !important;
    margin-top: 22px !important;
    margin-bottom: 12px !important;
}

.node-type-nos-formations .text-column p {
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: #555555 !important;
    margin-bottom: 18px !important;
}

.node-type-nos-formations .text-column ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin-top: 15px !important;
    margin-bottom: 30px !important;
}

.node-type-nos-formations .text-column ul li {
    position: relative !important;
    padding-left: 32px !important;
    margin-bottom: 12px !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: #444444 !important;
}

.node-type-nos-formations .text-column ul li::before {
    content: "\f00c" !important;
    font-family: "Font Awesome 5 Free", "Font Awesome 5 Pro", FontAwesome !important;
    font-weight: 900 !important;
    position: absolute !important;
    left: 0 !important;
    top: 3px !important;
    color: var(--couleur-principale, #a20d35) !important;
    font-size: 14px !important;
}

/* Tables dans le texte de formation (EXACTEMENT comme nos-cours) */
.node-type-nos-formations .text-column table {
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    margin: 25px 0 35px 0 !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06) !important;
    border: 1px solid #e3e8ee !important;
}

.node-type-nos-formations .text-column table colgroup {
    display: none !important;
}

.node-type-nos-formations .text-column table tr:first-child td,
.node-type-nos-formations .text-column table tr:first-child:hover td,
.node-type-nos-formations .text-column table tr:first-child td:hover {
    background-color: #032e3f !important;
    background: #032e3f !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    text-transform: uppercase !important;
    padding: 14px !important;
    text-align: center !important;
    border: none !important;
}

.node-type-nos-formations .text-column table tr:first-child td p,
.node-type-nos-formations .text-column table tr:first-child:hover td p,
.node-type-nos-formations .text-column table tr:first-child td:hover p {
    color: #ffffff !important;
    margin: 0 !important;
    font-weight: 700 !important;
    text-align: center !important;
}

.node-type-nos-formations .text-column table td {
    padding: 12px 14px !important;
    border: 1px solid #eef2f6 !important;
    font-size: 13px !important;
    color: #333333 !important;
    vertical-align: top !important;
    word-break: break-word !important;
}

/* .node-type-nos-formations .text-column table tr:nth-child(2) td {
    background-color: #f8fafc !important;
    font-weight: 600 !important;
    color: #032e3f !important;
} */

.node-type-nos-formations .text-column table p {
    margin: 0 0 8px 0 !important;
}

/* Sidebar Caractéristiques de la formation (EXACTEMENT comme nos-cours) */
.node-type-nos-formations .sidebar-widget.info-column {
    position: sticky !important;
    top: 100px !important;
}

.node-type-nos-formations .inner-column3 {
    border-radius: 12px !important;
    background-color: #ffffff !important;
    /* box-shadow: 0 10px 35px rgba(0, 0, 0, 0.08) !important; */
    overflow: hidden !important;
    border: 1px solid #e5e9f2 !important;
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
}

.node-type-nos-formations .inner-column3:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 15px 45px rgba(3, 46, 63, 0.119) !important;
}

.node-type-nos-formations .inner-column3 h3 {
    background: #032e3f !important;
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    padding: 18px 22px !important;
    margin: 0 !important;
    border-bottom: 3px solid var(--couleur-principale, #a20d35) !important;
}

.node-type-nos-formations .course-type-box {
    padding: 20px 20px 10px 20px !important;
}

.node-type-nos-formations .course-type-badge {
    background: rgba(3, 46, 63, 0.06) !important;
    border-left: 4px solid var(--couleur-principale, #a20d35) !important;
    padding: 12px 16px !important;
    border-radius: 6px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease !important;
}

.node-type-nos-formations .course-type-badge:hover {
    transform: translateY(-2px) !important;
    background: rgba(3, 46, 63, 0.09) !important;
    box-shadow: 0 4px 15px rgba(3, 46, 63, 0.08) !important;
}

.node-type-nos-formations .course-type-badge i {
    font-size: 20px !important;
    color: var(--couleur-principale, #a20d35) !important;
    font-family: "Font Awesome 5 Free", "Font Awesome 5 Pro", FontAwesome !important;
    font-weight: 900 !important;
    font-style: normal !important;
}

.node-type-nos-formations .course-type-val {
    font-weight: 700 !important;
    color: #032e3f !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
}

.node-type-nos-formations .course-features-wrapper {
    padding: 10px 20px 15px 20px !important;
}

.node-type-nos-formations .course-features-wrapper hr {
    margin: 15px 0 !important;
    border-top: 1px dashed #dddddd !important;
}

/* Sticky Sidebar Card overlapping top hero image and fixing under menu on scroll */
.node-type-nos-formations .upper-box-container {
    position: relative !important;
    margin-bottom: 25px !important;
    width: 100% !important;
}

.node-type-nos-formations .upper-box.full-width-hero {
    width: 100% !important;
    overflow: hidden !important;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.1) !important;
}

.node-type-nos-formations .upper-box.full-width-hero figure.image {
    width: 100% !important;
    max-height: 520px !important;
    margin-bottom: 0 !important;
    overflow: hidden !important;
}

.node-type-nos-formations .upper-box.full-width-hero figure.image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.node-type-nos-formations .sidebar-widget.sticky-sidebar-card {
    position: relative !important;
    z-index: 10 !important;
}

@media (min-width: 992px) {
    .node-type-nos-formations .sidebar-widget.sticky-sidebar-card {
        position: sticky !important;
        top: 100px !important;
        /* Fixed position under sticky header/menu on scroll */
        margin-top: -150px !important;
        /* Overlaps bottom-right of top hero image */
        z-index: 100 !important;
    }
}

.node-type-nos-formations .sticky-sidebar-card .inner-column3 {
    background-color: #ffffff !important;
    border-radius: 10px !important;
    /* box-shadow: 0 15px 45px rgba(0, 0, 0, 0.18) !important; */
    overflow: hidden !important;
    border: 1px solid #e3e8ee !important;
}

.node-type-nos-formations .sticky-sidebar-card .inner-column3 h3 {
    background-color: #125875 !important;
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    padding: 16px 22px !important;
    margin: 0 !important;
    border-bottom: 3px solid var(--couleur-principale, #a20d35) !important;
}

.node-type-nos-formations .formation-main-info p img,
.node-type-nos-formations .formation-main-info .ckeditor-col-container:first-child img {
    display: none !important;
}

/* Permanent Fixed positioning under menu throughout full page scroll */
.node-type-nos-formations .sidebar-widget.sticky-sidebar-card.is-fixed-under-menu {
    position: fixed !important;
    top: 85px !important;
    margin-top: 0 !important;
    z-index: 1 !important;
}

/* ==========================================================================
   BLOCK NOS FORMATIONS (SAME BLOCK CONTAINER AS NOS COURS + MAX 2 COLUMNS)
   ========================================================================== */
#block-esetec-views-block-nos-formations-block-1.courses {
    padding-top: 120px !important;
    padding-bottom: 90px !important;
    background-color: #ffffff !important;
    position: relative !important;
}

#block-esetec-views-block-nos-formations-block-1 .block-title {
    display: none !important;
}

#block-esetec-views-block-nos-formations-block-1 .block-content>div,
#block-esetec-views-block-nos-formations-block-1 .block-content .view-content,
#block-esetec-views-block-nos-formations-block-1 .block-content [class*="js-view-dom-id"] {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-left: -15px !important;
    margin-right: -15px !important;
}

#block-esetec-views-block-nos-formations-block-1 .views-row {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    margin-bottom: 30px !important;
}

@media (max-width: 991px) {
    #block-esetec-views-block-nos-formations-block-1 .views-row {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}

#block-esetec-views-block-nos-formations-block-1 .event-item {
    background: #ffffff !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
    transition: transform 0.4s ease, box-shadow 0.4s ease !important;
    position: relative !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}


#block-esetec-views-block-nos-formations-block-1 .event-item:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.12) !important;
}

#block-esetec-views-block-nos-formations-block-1 .event-item .thumb {
    overflow: hidden !important;
    height: 240px !important;
    position: relative !important;
}

#block-esetec-views-block-nos-formations-block-1 .event-item .thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

#block-esetec-views-block-nos-formations-block-1 .event-item:hover .thumb img {
    transform: scale(1.08) !important;
}

#block-esetec-views-block-nos-formations-block-1 .event-content {
    /* padding: 35px 30px 30px 30px !important; */
    background: #f0f7ff !important;
    position: relative !important;
    transition: all 0.5s ease 0s !important;
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

#block-esetec-views-block-nos-formations-block-1 .event-item:hover .event-content {
    background: #125875 !important;
    color: #96bece !important;
}

#block-esetec-views-block-nos-formations-block-1 .event-content .date {
    position: absolute !important;
    background-color: var(--couleur-principale, #a20d35) !important;
    width: 65px !important;
    height: 65px !important;
    left: 30px !important;
    top: -50px !important;
    color: #ffffff !important;
    text-align: center !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 15px rgba(162, 13, 53, 0.35) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 2 !important;
}

#block-esetec-views-block-nos-formations-block-1 .event-content .date i {
    font-size: 26px !important;
    color: #ffffff !important;
    line-height: 1 !important;
}


#block-esetec-views-block-nos-formations-block-1 .event-content h3 {
    font-size: 20px !important;
    font-weight: 700 !important;
    margin-bottom: 0 !important;
    line-height: 1.3 !important;
}

#block-esetec-views-block-nos-formations-block-1 .event-content h3 a {
    color: #141b22 !important;
    transition: color 0.3s ease !important;
    text-decoration: none !important;
}

#block-esetec-views-block-nos-formations-block-1 .event-item:hover .event-content h3 a {
    color: #ffffff !important;
}

#block-esetec-views-block-nos-formations-block-1 .event-content .event-desc p,
#block-esetec-views-block-nos-formations-block-1 .event-content p {
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: #666666 !important;
    margin-bottom: 0 !important;
    transition: color 0.3s ease !important;
}

#block-esetec-views-block-nos-formations-block-1 .event-item:hover .event-content .event-desc p,
#block-esetec-views-block-nos-formations-block-1 .event-item:hover .event-content p {
    color: #96bece !important;
}

#block-esetec-views-block-nos-formations-block-1 .event-content .time {
    font-size: 14px !important;
    font-weight: 600 !important;
    transition: color 0.3s ease !important;
}

#block-esetec-views-block-nos-formations-block-1 .event-content .time a {
    color: var(--couleur-principale, #a20d35) !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

#block-esetec-views-block-nos-formations-block-1 .event-item:hover .event-content .time a {
    color: #bbeafe !important;
}

/* #block-esetec-views-block-nos-formations-block-1 .event-item:hover .event-content .time a i { */


/* ==========================================================================
   BLOCK NOS PERFORMANCES (EXACT .cta-area + .cta-bg-img + .cta-bg-overlay + GLASS CARDS)
   ========================================================================== */
#block-esetec-nosperformances.cta-area {
    position: relative !important;
    width: 100vw !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    margin-top: 60px !important;
    padding-top: 100px !important;
    padding-bottom: 100px !important;
    background-color: #125875 !important;
    z-index: 1 !important;
    overflow: hidden !important;
}

#block-esetec-nosperformances .cta-bg-img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1 !important;
    overflow: hidden !important;
}

#block-esetec-nosperformances .cta-bg-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
}

#block-esetec-nosperformances .cta-bg-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgb(18 88 117 / 28%) !important;
    z-index: 2 !important;
}

#block-esetec-nosperformances .container {
    position: relative !important;
    z-index: 3 !important;
}

#block-esetec-nosperformances .section-title h5 {
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    margin-bottom: 10px !important;
    display: inline-block !important;
    text-transform: uppercase !important;
}

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

#block-esetec-nosperformances .section-title h2 {
    font-size: 38px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    line-height: 1.2 !important;
    margin-bottom: 0 !important;
}

#block-esetec-nosperformances .field--name-field-contenu-de-la-performances .field-item {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-left: -15px !important;
    margin-right: -15px !important;
}

#block-esetec-nosperformances .ckeditor-col-container {
    flex: 0 0 25% !important;
    max-width: 25% !important;
    width: 25% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    margin-bottom: 30px !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

@media (max-width: 1199px) {
    #block-esetec-nosperformances .ckeditor-col-container {
        flex: 0 0 33.333% !important;
        max-width: 33.333% !important;
        width: 33.333% !important;
    }
}

@media (max-width: 991px) {
    #block-esetec-nosperformances .ckeditor-col-container {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        width: 50% !important;
    }
}

@media (max-width: 575px) {
    #block-esetec-nosperformances .ckeditor-col-container {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}

/* Individual Translucent Glass Performance Cards */
#block-esetec-nosperformances .ckeditor-col-container .grid-12 {
    background: rgba(255, 255, 255, 0.1) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 16px !important;

    padding: 32px 20px 28px 20px !important;
    text-align: center !important;
    transition: transform 0.4s ease, background 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease !important;
    /* box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2) !important; */
    position: relative !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 !important;
}

#block-esetec-nosperformances .ckeditor-col-container .grid-12:hover {
    transform: translateY(-8px) !important;
    background: rgba(255, 255, 255, 0.18) !important;
    /* border-color: var(--couleur-principale, #ffffff) !important; */
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.3) !important;
}

#block-esetec-nosperformances .ckeditor-col-container p {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin: 0 0 12px 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    line-height: 1.4 !important;
}

#block-esetec-nosperformances .ckeditor-col-container p strong {
    color: #ffffff !important;
}

#block-esetec-nosperformances .ckeditor-col-container h1 {
    font-size: 42px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    margin: 0 0 18px 0 !important;
    line-height: 1 !important;
    font-family: 'Jost', sans-serif !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3) !important;
}

/* Dynamic Progress Bar */
#block-esetec-nosperformances .perf-progress-track {
    height: 6px !important;
    width: 100% !important;
    background-color: rgba(255, 255, 255, 0.2) !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    margin-top: auto !important;
}

#block-esetec-nosperformances .perf-progress-fill {
    height: 100% !important;
    width: 0% !important;
    background: linear-gradient(90deg, var(--couleur-principale, #a20d35) 0%, #ff4d6d 100%) !important;
    border-radius: 10px !important;
    transition: width 1.8s cubic-bezier(0.1, 0.5, 0.1, 1) !important;
}

/* ==========================================================================
   BLOCK ADMISSION & AID (100% DYNAMIC FROM DATABASE + 1:1 QEDUCATO STYLE)
   ========================================================================== */
#block-esetec-admission.about-area {
    padding-top: 129px !important;
    padding-bottom: 70px !important;
    position: relative !important;
    background-color: #ffffff !important;
}

#block-esetec-admission .field--name-field-contenu-du-bloc .field-item {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: -15px !important;
    margin-right: -15px !important;
}

/* Column 1: Image container (Dynamic from DB) */
#block-esetec-admission .field--name-field-contenu-du-bloc .field-item>.ckeditor-col-container:first-child {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

#block-esetec-admission .field--name-field-contenu-du-bloc .field-item>.ckeditor-col-container:first-child .grid-12 {
    position: relative !important;
}

#block-esetec-admission .field--name-field-contenu-du-bloc .field-item>.ckeditor-col-container:first-child img {
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    border-radius: 12px !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1) !important;
    display: inline-block !important;
    transition: transform 0.4s ease, box-shadow 0.4s ease !important;
}

#block-esetec-admission .field--name-field-contenu-du-bloc .field-item>.ckeditor-col-container:first-child img:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.15) !important;
}

/* Column 2: Text & Content container (Dynamic from DB) */
#block-esetec-admission .field--name-field-contenu-du-bloc .field-item>.ckeditor-col-container:nth-child(2) {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
    padding-left: 30px !important;
    padding-right: 15px !important;
    box-sizing: border-box !important;
}

/* H1 / Title Styling (Qeducato Jost 50px Font 1:1) */
#block-esetec-admission .field--name-field-contenu-du-bloc .field-item>.ckeditor-col-container:nth-child(2) h1,
#block-esetec-admission .field--name-field-contenu-du-bloc .field-item>.ckeditor-col-container:nth-child(2) h2 {
    font-family: 'Jost', sans-serif !important;
    font-size: 50px !important;
    font-weight: 700 !important;
    color: #141b22 !important;
    line-height: 1.2 !important;
    margin-bottom: 20px !important;
    letter-spacing: -0.5px !important;
}

/* Paragraph Text Styling (Qeducato Roboto 16px Font & #6e6e6e color 1:1) */
#block-esetec-admission .field--name-field-contenu-du-bloc .field-item>.ckeditor-col-container:nth-child(2) p {
    font-family: 'Roboto', sans-serif !important;
    font-size: 16px !important;
    line-height: 28px !important;
    color: #6e6e6e !important;
    font-weight: 400 !important;
    margin-bottom: 20px !important;
}

/* List Styling (Qeducato Roboto 15px Font & #6e6e6e color 1:1) */
#block-esetec-admission .field--name-field-contenu-du-bloc .field-item>.ckeditor-col-container:nth-child(2) ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin-top: 15px !important;
    margin-bottom: 30px !important;
}

#block-esetec-admission .field--name-field-contenu-du-bloc .field-item>.ckeditor-col-container:nth-child(2) ul li {
    font-family: 'Roboto', sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: #6e6e6e !important;
    line-height: 26px !important;
    margin-bottom: 12px !important;
    position: relative !important;
    padding-left: 32px !important;
}

#block-esetec-admission .field--name-field-contenu-du-bloc .field-item>.ckeditor-col-container:nth-child(2) ul li::before {
    content: "\f058" !important;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    position: absolute !important;
    left: 0 !important;
    top: 2px !important;
    color: var(--couleur-principale, #a20d35) !important;
    font-size: 17px !important;
}

/* Action Link / Button (Qeducato Jost 14px Uppercase Button 1:1) */
#block-esetec-admission .field--name-field-contenu-du-bloc .field-item>.ckeditor-col-container:nth-child(2) p:last-child a,
#block-esetec-admission .field--name-field-contenu-du-bloc .field-item>.ckeditor-col-container:nth-child(2) a.btn {
    font-family: 'Jost', sans-serif !important;
    background-color: var(--couleur-principale, #a20d35) !important;
    color: #ffffff !important;
    padding: 16px 36px !important;
    border-radius: 5px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    letter-spacing: 0.5px !important;
    display: inline-block !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 8px 20px rgba(162, 13, 53, 0.25) !important;
    margin-top: 10px !important;
}

#block-esetec-admission .field--name-field-contenu-du-bloc .field-item>.ckeditor-col-container:nth-child(2) p:last-child a::after,
#block-esetec-admission .field--name-field-contenu-du-bloc .field-item>.ckeditor-col-container:nth-child(2) a.btn::after {
    content: " \f178" !important;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    margin-left: 10px !important;
    display: inline-block !important;
    transition: transform 0.3s ease !important;
}

#block-esetec-admission .field--name-field-contenu-du-bloc .field-item>.ckeditor-col-container:nth-child(2) p:last-child a:hover,
#block-esetec-admission .field--name-field-contenu-du-bloc .field-item>.ckeditor-col-container:nth-child(2) a.btn:hover {
    background-color: #125875 !important;
    color: #ffffff !important;
    box-shadow: 0 12px 25px rgba(18, 88, 117, 0.3) !important;
}

#block-esetec-admission .field--name-field-contenu-du-bloc .field-item>.ckeditor-col-container:nth-child(2) p:last-child a:hover::after,
#block-esetec-admission .field--name-field-contenu-du-bloc .field-item>.ckeditor-col-container:nth-child(2) a.btn:hover::after {
    transform: translateX(5px) !important;
}


/* Responsive queries */
@media (max-width: 991px) {

    #block-esetec-admission .field--name-field-contenu-du-bloc .field-item>.ckeditor-col-container:first-child,
    #block-esetec-admission .field--name-field-contenu-du-bloc .field-item>.ckeditor-col-container:nth-child(2) {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    #block-esetec-admission .field--name-field-contenu-du-bloc .field-item>.ckeditor-col-container:first-child {
        margin-bottom: 40px !important;
    }
}

/* ==========================================================================
   NODE NOS-ACTUALITES / BLOG SINGLE DETAILS (1:1 QEDUCATO BLOG DETAILS STYLE)
   ========================================================================== */

/* Main Article & Sidebar Grid Layout */
.node-type-nos-actualites.inner-blog {
    padding-top: 40px !important;
    padding-bottom: 90px !important;
}

.node-type-nos-actualites .bsingle__post {
    background: #ffffff !important;
    border-radius: 12px !important;
    border: 1px solid #eef2f6 !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.04) !important;
    overflow: hidden !important;
    margin-bottom: 40px !important;
}

.node-type-nos-actualites .bsingle__content {
    padding: 40px 35px !important;
}

/* 1. Top Featured Image (First Row Image in Article) */
.node-type-nos-actualites .field--name-field-contenu-de-l-actualite .field-item>.ckeditor-col-container:first-child img {
    width: 100% !important;
    height: auto !important;
    max-height: 520px !important;
    object-fit: cover !important;
    border-radius: 2px !important;
    display: block !important;
    margin-bottom: 25px !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08) !important;
}

/* 2. Meta Info Bar (Placed BELOW top image) */
.node-type-nos-actualites .meta-info {
    /* margin-top: 10px !important; */
    margin-bottom: 25px !important;
    padding-bottom: 18px !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

.node-type-nos-actualites .meta-info ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 25px !important;
}

.node-type-nos-actualites .meta-info ul li {
    font-family: 'Roboto', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #64748b !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.node-type-nos-actualites .meta-info ul li i {
    color: var(--couleur-principale, #a20d35) !important;
    font-size: 15px !important;
}

/* 3. Typography & Headings */
.node-type-nos-actualites .field--name-field-contenu-de-l-actualite h1,
.node-type-nos-actualites h1 {
    font-family: 'Jost', sans-serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: #141b22 !important;
    line-height: 1.35 !important;
    margin-top: 15px !important;
    margin-bottom: 22px !important;
    text-transform: uppercase !important;
}

.node-type-nos-actualites .field--name-field-contenu-de-l-actualite h2,
.node-type-nos-actualites h2 {
    font-family: 'Jost', sans-serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #141b22 !important;
    line-height: 1.4 !important;
    /* margin-top: 30px !important; */
    margin-bottom: 16px !important;
}

.node-type-nos-actualites .field--name-field-contenu-de-l-actualite h3,
.node-type-nos-actualites h3 {
    font-family: 'Jost', sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #141b22 !important;
    /* margin-top: 25px !important; */
    margin-bottom: 14px !important;
}

.node-type-nos-actualites .field--name-field-contenu-de-l-actualite p,
.node-type-nos-actualites p {
    font-family: 'Roboto', sans-serif !important;
    font-size: 16px !important;
    line-height: 28px !important;
    color: #6e6e6e !important;
    margin-bottom: 22px !important;
}

/* 4. Lists & Checkmarks */
.node-type-nos-actualites .field--name-field-contenu-de-l-actualite ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin-top: 15px !important;
    margin-bottom: 25px !important;
}

.node-type-nos-actualites .field--name-field-contenu-de-l-actualite ul li {
    font-family: 'Roboto', sans-serif !important;
    font-size: 15px !important;
    color: #555555 !important;
    line-height: 26px !important;
    margin-bottom: 12px !important;
    position: relative !important;
    padding-left: 28px !important;
    list-style: none !important;
}

.node-type-nos-actualites .field--name-field-contenu-de-l-actualite ul li::before {
    content: "\f058" !important;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    position: absolute !important;
    left: 0 !important;
    top: 3px !important;
    color: var(--couleur-principale, #a20d35) !important;
    font-size: 15px !important;
}

/* 5. 2-Column Side-by-Side Images */
.node-type-nos-actualites .field--name-field-contenu-de-l-actualite .ckeditor-col-container .grid-6,
.node-type-nos-actualites .field--name-field-contenu-de-l-actualite .ckeditor-col-container .sixcol {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    box-sizing: border-box !important;
    float: left !important;
}

.node-type-nos-actualites .field--name-field-contenu-de-l-actualite .ckeditor-col-container:has(.grid-6) {
    display: flex !important;
    flex-wrap: wrap !important;
    margin-left: -10px !important;
    margin-right: -10px !important;
    margin-top: 25px !important;
    margin-bottom: 25px !important;
}

.node-type-nos-actualites .field--name-field-contenu-de-l-actualite .grid-6 img,
.node-type-nos-actualites .field--name-field-contenu-de-l-actualite .sixcol img {
    width: 100% !important;
    /* height: 270px !important; */
    object-fit: cover !important;
    border-radius: 2px !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08) !important;
    display: block !important;
}

/* 6. Dark Quote Card (Qeducato 1:1) */
.node-type-nos-actualites blockquote,
.node-type-nos-actualites .quote-box {
    background: #141b22 !important;
    border-radius: 12px !important;
    padding: 45px 40px !important;
    position: relative !important;
    z-index: 2 !important;
    text-align: center !important;
    margin: 35px 0 !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15) !important;
}

.node-type-nos-actualites blockquote p,
.node-type-nos-actualites .quote-box p {
    color: #ffffff !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    margin-bottom: 0 !important;
}

.node-type-nos-actualites blockquote footer,
.node-type-nos-actualites .quote-box .author {
    color: var(--couleur-principale, #a20d35) !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: capitalize !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 12px !important;
    display: block !important;
}

/* 7. Image Floated Left with Text Wrapped */
.node-type-nos-actualites .field--name-field-contenu-de-l-actualite p img:first-child,
.node-type-nos-actualites .field--name-field-contenu-de-l-actualite img.alignleft {
    float: left !important;
    margin-right: 25px !important;
    margin-bottom: 15px !important;
    max-width: 280px !important;
    border-radius: 8px !important;
}

/* 8. Post Tags Pills */
.node-type-nos-actualites .post-tags-box {
    margin-top: 35px !important;
    padding-top: 22px !important;
    border-top: 1px solid #f0f0f0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    flex-wrap: wrap !important;
}

.node-type-nos-actualites .post-tags-box .tag-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #141b22 !important;
    margin: 0 !important;
}

.node-type-nos-actualites .post-tags-box .tag-link {
    display: inline-block !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 4px !important;
    padding: 6px 16px !important;
    font-family: 'Roboto', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #64748b !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.node-type-nos-actualites .post-tags-box .tag-link:hover {
    background: var(--couleur-principale, #a20d35) !important;
    color: #ffffff !important;
    border-color: var(--couleur-principale, #a20d35) !important;
}

/* ==========================================================================
   QEDUCATO BLOG SIDEBAR WIDGETS (1:1 STYLE)
   ========================================================================== */
.node-type-nos-actualites .sidebar-widget .widget {
    background: #ffffff !important;
    border: 1px solid #f0f0f0 !important;
    border-radius: 10px !important;
    padding: 30px 25px !important;
    margin-bottom: 30px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03) !important;
}

.node-type-nos-actualites .sidebar-widget .widget-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #141b22 !important;
    position: relative !important;
    padding-bottom: 12px !important;
    margin-bottom: 25px !important;
    border-bottom: 2px solid #f0f0f0 !important;
}

.node-type-nos-actualites .sidebar-widget .widget-title::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    bottom: -2px !important;
    width: 40px !important;
    height: 2px !important;
    background: var(--couleur-principale, #a20d35) !important;
}

/* Search Widget */
.node-type-nos-actualites .widget_search .search-form-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.node-type-nos-actualites .widget_search .search-field {
    background: #f7fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    padding: 12px 16px !important;
    font-family: 'Roboto', sans-serif !important;
    font-size: 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.node-type-nos-actualites .widget_search .search-submit {
    background: var(--couleur-principale, #a20d35) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 12px 20px !important;
    font-family: 'Jost', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    cursor: pointer !important;
    transition: background 0.3s ease !important;
    text-transform: uppercase !important;
}

.node-type-nos-actualites .widget_search .search-submit:hover {
    background: #7a0927 !important;
}

/* Social Widget */
.node-type-nos-actualites .widget_social .widget-social {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 15px !important;
}

.node-type-nos-actualites .widget_social .widget-social a {
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    background: #f4f6f8 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #64748b !important;
    font-size: 15px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.node-type-nos-actualites .widget_social .widget-social a:hover {
    background: var(--couleur-principale, #a20d35) !important;
    color: #ffffff !important;
    transform: translateY(-3px) !important;
}

/* Recent Posts Widget */
.node-type-nos-actualites .recent-posts-widget ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.node-type-nos-actualites .recent-posts-widget ul li {
    margin-bottom: 18px !important;
    padding-bottom: 18px !important;
    border-bottom: 1px solid #f5f5f5 !important;
}

.node-type-nos-actualites .recent-posts-widget ul li:last-child {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.node-type-nos-actualites .recent-posts-widget ul li a {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    text-decoration: none !important;
}

.node-type-nos-actualites .recent-posts-widget ul li img {
    width: 75px !important;
    height: 75px !important;
    object-fit: cover !important;
    border-radius: 6px !important;
    flex-shrink: 0 !important;
}

.node-type-nos-actualites .recent-posts-widget .rpwwt-post-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #141b22 !important;
    line-height: 1.4 !important;
    transition: color 0.3s ease !important;
    margin-top: -25px !important;
}

.node-type-nos-actualites .recent-posts-widget ul li a:hover .rpwwt-post-title {
    color: var(--couleur-principale, #a20d35) !important;
}

.node-type-nos-actualites .recent-posts-widget .rpwwt-post-date {
    font-family: 'Roboto', sans-serif !important;
    font-size: 12px !important;
    color: #94a3b8 !important;
    margin-top: 8px !important;
    padding-left: 89px !important;
}

/* About Widget */
.node-type-nos-actualites .widget_about .sidebar-about-logo {
    max-width: 120px !important;
    margin: 0 auto 12px !important;
    display: block !important;
}

.node-type-nos-actualites .widget_about h5.title {
    font-family: 'Jost', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #141b22 !important;
    margin-bottom: 8px !important;
}

.node-type-nos-actualites .widget_about p {
    font-family: 'Roboto', sans-serif !important;
    font-size: 13px !important;
    color: #64748b !important;
    line-height: 20px !important;
    margin: 0 !important;
}

/* Categories Widget */
.node-type-nos-actualites .widget_categories ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.node-type-nos-actualites .widget_categories ul li {
    padding: 10px 0 !important;
    border-bottom: 1px solid #f5f5f5 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

.node-type-nos-actualites .widget_categories ul li:last-child {
    border-bottom: none !important;
}

.node-type-nos-actualites .widget_categories ul li a {
    font-family: 'Roboto', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #64748b !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.node-type-nos-actualites .widget_categories ul li a:hover {
    color: var(--couleur-principale, #a20d35) !important;
}

.node-type-nos-actualites .widget_categories ul li .count,
.node-type-nos-actualites .widget_categories ul li .cat-count {
    font-family: 'Roboto', sans-serif !important;
    font-size: 13px !important;
    color: #94a3b8 !important;
}

/* Tags Cloud Widget */
.node-type-nos-actualites .widget_tags .tagcloud {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.node-type-nos-actualites .widget_tags .tag-cloud-link {
    display: inline-block !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 4px !important;
    padding: 6px 14px !important;
    font-family: 'Roboto', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #64748b !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.node-type-nos-actualites .widget_tags .tag-cloud-link:hover {
    background: var(--couleur-principale, #a20d35) !important;
    color: #ffffff !important;
    border-color: var(--couleur-principale, #a20d35) !important;
}

/* ==========================================================================
   HOMEPAGE BLOG BLOCK - BLOCK NOS ACTUALITES (QEDUCATO 1:1 HOMEPAGE BLOG AREA)
   ========================================================================== */

#block-esetec-views-block-nos-actualites-block-1,
.blog-area {
    padding-top: 90px !important;
    padding-bottom: 70px !important;
    position: relative !important;
    background: #ffffff !important;
}

#block-esetec-views-block-nos-actualites-block-1 .block-title,
#block-esetec-views-block-nos-actualites-block-1>h2 {
    display: none !important;
}

/* Section Title Header */
.blog-area .section-title {
    text-align: center !important;
    margin-bottom: 50px !important;
}

.blog-area .section-title h5 {
    color: var(--couleur-principale, #a20d35) !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-bottom: 10px !important;
    display: block !important;
}

.blog-area .section-title h5 i {
    margin-right: 6px !important;
}

.blog-area .section-title h2 {
    font-family: 'Jost', sans-serif !important;
    font-size: 36px !important;
    font-weight: 700 !important;
    color: #141b22 !important;
    margin-bottom: 0 !important;
    line-height: 1.3 !important;
}

/* Single Post Card Container */
.single-post2 {
    background: #ffffff !important;
    border-radius: 10px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.07) !important;
    overflow: hidden !important;
    margin-bottom: 30px !important;
    border: 1px solid #f0f0f0 !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    width: 100% !important;
    display: block !important;
}

.single-post2:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12) !important;
}

/* Thumbnail Wrapper */
.single-post2 .blog-thumb2 {
    position: relative !important;
    overflow: hidden !important;
    border-radius: 10px 10px 0 0 !important;
    height: 240px !important;
}

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

.single-post2 .blog-thumb2 img {
    width: 100% !important;
    height: 240px !important;
    object-fit: cover !important;
    border-radius: 10px 10px 0 0 !important;
    transition: transform 0.5s ease !important;
}

.single-post2:hover .blog-thumb2 img {
    transform: scale(1.08) !important;
}

/* Date Overlay Tag (Qeducato Date Tag 1:1) */
.single-post2 .blog-thumb2 .date-home {
    position: absolute !important;
    top: 20px !important;
    left: 20px !important;
    background: var(--couleur-principale, #a20d35) !important;
    color: #ffffff !important;
    padding: 6px 16px !important;
    border-radius: 6px !important;
    font-family: 'Roboto', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    z-index: 2 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    box-shadow: 0 4px 12px rgba(162, 13, 53, 0.3) !important;
}

.single-post2 .blog-thumb2 .date-home i {
    color: #ffffff !important;
    font-size: 13px !important;
}

/* Content Area */
.single-post2 .blog-content2 {
    padding: 28px 25px 30px !important;
    background: #ffffff !important;
    border-radius: 0 0 10px 10px !important;
}

/* Meta Info Line */
.single-post2 .b-meta {
    margin-bottom: 12px !important;
}

.single-post2 .b-meta .meta-info ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
}

.single-post2 .b-meta .meta-info ul li {
    font-family: 'Roboto', sans-serif !important;
    font-size: 13px !important;
    color: #777777 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.single-post2 .b-meta .meta-info ul li i {
    color: var(--couleur-principale, #a20d35) !important;
    font-size: 13px !important;
}

/* Card Title */
.single-post2 .blog-content2 h4 {
    margin: 0 0 14px 0 !important;
    font-size: 19px !important;
    line-height: 1.35 !important;
}

.single-post2 .blog-content2 h4 a {
    font-family: 'Jost', sans-serif !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    color: #141b22 !important;
    text-decoration: none !important;
    line-height: 26px !important;
    transition: color 0.3s ease !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.single-post2 .blog-content2 h4 a:hover {
    color: var(--couleur-principale, #a20d35) !important;
}

/* Excerpt Description */
.single-post2 .blog-excerpt,
.single-post2 .blog-content2 p {
    font-family: 'Roboto', sans-serif !important;
    font-size: 14px !important;
    line-height: 24px !important;
    color: #6e6e6e !important;
    margin-bottom: 20px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.single-post2 .blog-excerpt p {
    margin-bottom: 0 !important;
}

/* Read More Button */
.single-post2 .blog-btn a {
    font-family: 'Jost', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--couleur-principale, #a20d35) !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    transition: color 0.3s ease !important;
}

.single-post2 .blog-btn a:hover {
    color: #125875 !important;
}

.single-post2 .blog-btn a:hover i {
    transform: translateX(4px) !important;
}

/* ==========================================================================
   BLOCK NOS PARTENAIRES (QEDUCATO 1:1 BRAND-AREA SLIDER)
   ========================================================================== */

#block-esetec-nospartenaires,
.brand-area {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
    background: #ffffff !important;
    border-top: 1px solid #f0f0f0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    position: relative !important;
    clear: both !important;
    overflow: hidden !important;
}

#block-esetec-nospartenaires .block-title,
#block-esetec-nospartenaires>h2,
#block-esetec-nospartenaires .field__label {
    display: none !important;
}

/* Single Brand Item Container */
.single-brand {
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 90px !important;
    padding: 10px 20px !important;
    box-sizing: border-box !important;
    outline: none !important;
}

.single-brand img,
#block-esetec-nospartenaires img {
    max-height: 65px !important;
    max-width: 160px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    display: inline-block !important;
    filter: grayscale(100%) !important;
    opacity: 0.65 !important;
    transition: all 0.4s ease !important;
    margin: 0 auto !important;
}

.single-brand:hover img,
#block-esetec-nospartenaires img:hover {
    filter: grayscale(0%) !important;
    opacity: 1 !important;
    transform: scale(1.08) !important;
}

/* Fallback Flex Grid if Slick is not initialized */
#block-esetec-nospartenaires .brand-active:not(.slick-initialized),
#block-esetec-nospartenaires .field-item:not(.brand-slider-initialized) {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 30px !important;
}

#block-esetec-nospartenaires .brand-active:not(.slick-initialized) .single-brand,
#block-esetec-nospartenaires .field-item:not(.brand-slider-initialized) .ckeditor-col-container {
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
}

#block-esetec-nospartenaires .field-item p {
    display: none !important;
}

/* Responsive adjustments for mobile and tablets */
@media (max-width: 767px) {

    #block-esetec-nospartenaires,
    .brand-area {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

    .single-brand {
        height: 75px !important;
        padding: 5px 10px !important;
    }

    .single-brand img,
    #block-esetec-nospartenaires img {
        max-height: 50px !important;
        max-width: 120px !important;
    }
}

/* ==========================================================================
   BLOCK FAQ (QEDUCATO 1:1 FAQ AREA STYLING)
   ========================================================================== */

#block-esetec-voustrouverezicitouteslesreponses,
.faq-area {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
    background: #ffffff !important;
    position: relative !important;
}

#block-esetec-voustrouverezicitouteslesreponses .section-title h2,
#block-esetec-voustrouverezicitouteslesreponses .section-title h3 {
    font-family: 'Jost', sans-serif !important;
    font-size: 34px !important;
    font-weight: 700 !important;
    color: #141b22 !important;
    line-height: 1.3 !important;
    margin-bottom: 15px !important;
}

#block-esetec-voustrouverezicitouteslesreponses .section-title p {
    font-family: 'Roboto', sans-serif !important;
    font-size: 15px !important;
    line-height: 26px !important;
    color: #6e6e6e !important;
    margin-bottom: 30px !important;
}

/* FAQ Accordion Card Container */
#block-esetec-voustrouverezicitouteslesreponses .card {
    border: none !important;
    border-radius: 6px !important;
    margin-bottom: 15px !important;
    background: transparent !important;
    box-shadow: none !important;
}

#block-esetec-voustrouverezicitouteslesreponses .card-header {
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    position: relative !important;
}

#block-esetec-voustrouverezicitouteslesreponses .faq-btn {
    font-family: 'Jost', sans-serif !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    color: var(--couleur-principale, #a20d35) !important;
    background: #ffffff !important;
    border: 1px solid var(--couleur-principale, #a20d35) !important;
    border-radius: 6px !important;
    padding: 18px 75px 18px 25px !important;
    width: 100% !important;
    text-align: left !important;
    position: relative !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

#block-esetec-voustrouverezicitouteslesreponses .faq-btn.collapsed {
    background: #ffffff !important;
    color: #141b22 !important;
    border: 1px solid #e2e8f0 !important;
}

#block-esetec-voustrouverezicitouteslesreponses .faq-btn::after {
    content: "\f107" !important;
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    position: absolute !important;
    top: 50% !important;
    right: 20px !important;
    transform: translateY(-50%) !important;
    font-size: 20px !important;
    color: var(--couleur-principale, #a20d35) !important;
    transition: all 0.3s ease !important;
}

#block-esetec-voustrouverezicitouteslesreponses .faq-btn.collapsed::after {
    content: "\f105" !important;
    color: #64748b !important;
}

#block-esetec-voustrouverezicitouteslesreponses .card-body {
    padding: 20px 25px 20px 25px !important;
    font-family: 'Roboto', sans-serif !important;
    font-size: 15px !important;
    line-height: 26px !important;
    color: #6e6e6e !important;
    background: #f8fafc !important;
    border-radius: 0 0 6px 6px !important;
    border: 1px solid #e2e8f0 !important;
    border-top: none !important;
}

/* Image container on the right */
#block-esetec-voustrouverezicitouteslesreponses .faq-img-box img {
    max-width: 100% !important;
    height: auto !important;
}

/* =====================================================
   BLOCK HISTORIQUE DE L'ESETEC - EXACT MODEL IMAGE 3 REPRODUCTION
   ===================================================== */
#block-esetec-histoiriquedeesetec {
    background-color: #f2f7fd !important;
    padding: 80px 0 100px 0 !important;
    font-family: 'Roboto', 'Jost', sans-serif !important;
    color: #222222 !important;
}

/* Completely disable red "01" counter circles & reset left padding */
#block-esetec-histoiriquedeesetec .field--name-field-mots-sur-l-universite-droi .field-item>div>div::before,
#block-esetec-histoiriquedeesetec .field--name-field-mots-sur-l-universite-droi .field-item::before,
#block-esetec-histoiriquedeesetec .ckeditor-col-container::before {
    content: none !important;
    display: none !important;
}

#block-esetec-histoiriquedeesetec .field--name-field-mots-sur-l-universite-droi .field-item>div>div {
    padding-left: 0 !important;
}

/* Reset inner CKEditor grid overrides */
#block-esetec-histoiriquedeesetec .ckeditor-col-container,
#block-esetec-histoiriquedeesetec .ckeditor-col-container .grid-12,
#block-esetec-histoiriquedeesetec .ckeditor-col-container [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* ----------------------------------------------------
   TOP HERO SECTION (Model Image 3)
   ---------------------------------------------------- */

#block-esetec-histoiriquedeesetec .historique-hero-row {
    position: relative !important;
    /* margin-bottom: 60px !important; */
    margin-bottom: 0 !important;
}

#block-esetec-histoiriquedeesetec .historique-hero-left {
    padding-right: 40px !important;
}

/* Top Thick Horizontal Accent Bar (Model Image 3) */
#block-esetec-histoiriquedeesetec .model-accent-bar-top {
    width: 250px !important;
    height: 10px !important;
    background-color: var(--couleur-principale, #ff7350) !important;
    margin-bottom: 25px !important;
    border-radius: 2px !important;
}

/* Main Title ("Linda Hudson" / "Une vision née de l’excellence technique") */
#block-esetec-histoiriquedeesetec h1,
#block-esetec-histoiriquedeesetec .historique-hero-title-box h1,
#block-esetec-histoiriquedeesetec .historique-hero-title-box h2:first-child {
    font-family: 'Jost', sans-serif !important;
    font-size: 2.5rem !important;
    font-weight: 800 !important;
    color: #111111 !important;
    line-height: 1.2 !important;
    margin: 15px 0 25px 0 !important;
    position: relative !important;
}

/* Bottom Thick Horizontal Accent Bar under Title (Model Image 3) */
#block-esetec-histoiriquedeesetec h1::after,
#block-esetec-histoiriquedeesetec .historique-hero-title-box h1::after {
    content: "" !important;
    display: block !important;
    width: 250px !important;
    height: 10px !important;
    background-color: var(--couleur-principale, #ff7350) !important;
    margin-top: 25px !important;
    border-radius: 2px !important;
}

/* Social Icons Row (Model Image 3) */
#block-esetec-histoiriquedeesetec .historique-hero-social-icons {
    display: flex !important;
    gap: 18px !important;
    margin: 25px 0 35px 0 !important;
}

#block-esetec-histoiriquedeesetec .historique-hero-social-icons a {
    color: #111111 !important;
    font-size: 1.1rem !important;
    transition: color 0.2s ease !important;
}

#block-esetec-histoiriquedeesetec .historique-hero-social-icons a:hover {
    color: var(--couleur-principale, #ff7350) !important;
}

/* Subtitle Line (Model Image 3: "LA PRATIQUE DU DROIT") */
#block-esetec-histoiriquedeesetec h3,
#block-esetec-histoiriquedeesetec .historique-hero-title-box h3 {
    font-family: 'Jost', sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: #111111 !important;
    margin-top: 35px !important;
    margin-bottom: 12px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #dcdcdc !important;
    /* Thin line divider */
}

/* Intro Paragraphs in Top Left Column */
#block-esetec-histoiriquedeesetec .historique-hero-title-box p {
    font-family: 'Jost', sans-serif !important;
    font-size: 16px !important;
    text-align: justify !important;
    line-height: 1.8 !important;
    color: #333333 !important;
    margin-bottom: 16px !important;
}

/* Right Media Column (Director Photo & Floating Badge) */
#block-esetec-histoiriquedeesetec .historique-hero-right {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

#block-esetec-histoiriquedeesetec .historique-photo-wrapper {
    width: 100% !important;
    position: relative !important;
}

#block-esetec-histoiriquedeesetec .field--name-field-mots-sur-l-universite-gauc {
    position: relative !important;
    width: 100% !important;
}

/* Director Image */
#block-esetec-histoiriquedeesetec .field--name-field-mots-sur-l-universite-gauc img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 560px !important;
    object-fit: cover !important;
    border-radius: 6px !important;
    display: block !important;
    /* box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08) !important; */
}

/* Compact Floating Experience Badge on bottom-left of photo */
#block-esetec-histoiriquedeesetec .field--name-field-mots-sur-l-universite-gauc .ckeditor-col-container:first-child {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    background-color: var(--couleur-principale, #ff7350) !important;
    color: #ffffff !important;
    padding: 14px 22px !important;
    border-radius: 6px !important;
    width: auto !important;
    max-width: 220px !important;
    text-align: center !important;
    margin: 0 !important;
    /* z-index: 10 !important; */
    /* box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2) !important; */
}

#block-esetec-histoiriquedeesetec .field--name-field-mots-sur-l-universite-gauc h2 {
    font-family: 'Jost', sans-serif !important;
    font-size: 2rem !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    margin: 0 !important;
    line-height: 1 !important;
}

#block-esetec-histoiriquedeesetec .field--name-field-mots-sur-l-universite-gauc p {
    font-family: 'Jost', sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    color: #ffffff !important;
    margin: 4px 0 0 0 !important;
    /* text-transform: uppercase !important; */
}

/* ----------------------------------------------------
   SECTION 2: Overview / Heading ("Ensemble, nous créons des solutions")
   ---------------------------------------------------- */

#block-esetec-histoiriquedeesetec .historique-section2-wrapper {
    margin-top: 40px !important;
    margin-bottom: 50px !important;
}

#block-esetec-histoiriquedeesetec .historique-section2-content h4,
#block-esetec-histoiriquedeesetec .historique-section2-content h2,
#block-esetec-histoiriquedeesetec .historique-section2-content h3 {
    font-family: 'Jost', sans-serif !important;
    font-size: 2rem !important;
    font-weight: 800 !important;
    color: #111111 !important;
    margin-bottom: 15px !important;
}

#block-esetec-histoiriquedeesetec .historique-section2-content p {
    font-family: 'Jost', sans-serif !important;
    font-size: 16px !important;
    text-align: justify !important;
    line-height: 1.8 !important;
    color: #333333 !important;
    margin-bottom: 15px !important;
    max-width: 900px !important;
}

/* Thick Accent Bar Divider below Section 2 (Model Image 3) */
#block-esetec-histoiriquedeesetec .model-accent-bar-divider {
    width: 250px !important;
    height: 10px !important;
    background-color: var(--couleur-principale, #ff7350) !important;
    margin-top: 10px !important;
    margin-bottom: 45px !important;
    border-radius: 2px !important;
}

/* ----------------------------------------------------
   3-COLUMN GRID: Cards (Model Image 3)
   ---------------------------------------------------- */

#block-esetec-histoiriquedeesetec .historique-cards-grid {
    margin-top: 20px !important;
}

#block-esetec-histoiriquedeesetec .historique-card-box {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

#block-esetec-histoiriquedeesetec .historique-card-box h4 {
    font-family: 'Jost', sans-serif !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: #111111 !important;
    margin: 0 0 15px 0 !important;
    line-height: 1.35 !important;
}

#block-esetec-histoiriquedeesetec .historique-card-box p {
    font-family: 'Jost', sans-serif !important;
    font-size: 16px !important;
    text-align: justify !important;
    line-height: 1.8 !important;
    color: #333333 !important;
    margin-bottom: 14px !important;
}

/* Quote Box (blockquote) Styling */
#block-esetec-histoiriquedeesetec blockquote {
    background-color: #fff7f5 !important;
    border-left: 4px solid var(--couleur-principale, #ff7350) !important;
    padding: 16px 20px !important;
    margin-top: 15px !important;
    margin-bottom: 0 !important;
    font-style: italic !important;
    font-size: 0.9rem !important;
    color: #4a5568 !important;
    border-radius: 0 4px 4px 0 !important;
}

/* Mobile Responsiveness */
@media (max-width: 991px) {
    #block-esetec-histoiriquedeesetec .historique-hero-right {
        margin-top: 40px !important;
    }

    #block-esetec-histoiriquedeesetec .historique-hero-left {
        padding-right: 0 !important;
    }
}

/* Full-bleed layout resets for inner pages */
.main-wrapper,
.main-container,
.main-content,
.node-content,
.region-content,
.block-region {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* =====================================================
   BLOCK NOS ENGAGEMENTS - 100VW FULL-BLEED QEDUCATO DESIGN (IMAGES 1 & 2)
   ===================================================== */
#block-esetec-nosengagements {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background-color: #032e3f !important;
    /* Qeducato dark teal background */
    overflow: hidden !important;
    font-family: 'Jost', sans-serif !important;
}

#block-esetec-nosengagements .container-fluid,
#block-esetec-nosengagements .engagements-full-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Row (50% / 50% split) */
#block-esetec-nosengagements .engagements-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    /* Equal height for text and image columns */
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

#block-esetec-nosengagements .engagements-col-text,
#block-esetec-nosengagements .engagements-col-img {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

/* ----------------------------------------------------
   TEXT BOX (Dark Teal Box with Inner Padding & Centering)
   ---------------------------------------------------- */
#block-esetec-nosengagements .engagements-text-box {
    background-color: #032e3f !important;
    /* Qeducato dark teal background */
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
    /* padding: 90px 110px !important; */
    padding: 20px 80px !important;
    min-height: 540px !important;
    box-sizing: border-box !important;
}

#block-esetec-nosengagements .engagements-text-inner {
    /* max-width: 580px !important; */
    width: 100% !important;
}

/* Circular Date-Box Badge before title */
#block-esetec-nosengagements .engagements-icon-badge {
    width: 65px !important;
    height: 65px !important;
    background-color: var(--couleur-principale, #ff7350) !important;
    margin-bottom: 25px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 28px !important;
    /* border-radius: 50% !important; */
    /* box-shadow: 0 8px 20px rgba(255, 115, 80, 0.4) !important; */
}

#block-esetec-nosengagements .engagements-badge-1 {
    /* Target Icon (Notre Objectif) */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm0-14c-3.31 0-6 2.69-6 6s2.69 6 6 6 6-2.69 6-6-2.69-6-6-6zm0 10c-2.21 0-4-1.79-4-4s1.79-4 4-4 4 1.79 4 4-1.79 4-4 4z'/%3E%3C/svg%3E") !important;
}

#block-esetec-nosengagements .engagements-badge-2 {
    /* Eye Icon (Notre Vision) */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z'/%3E%3C/svg%3E") !important;
}

#block-esetec-nosengagements .engagements-badge-3 {
    /* Flag Icon (Notre Mission) */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M14.4 6L14 4H5v17h2v-7h5.6l.4 2h7V6z'/%3E%3C/svg%3E") !important;
}

/* Headings (Notre Objectif, Notre Vision, Notre Mission) */
#block-esetec-nosengagements .engagements-text-inner h3,
#block-esetec-nosengagements .engagements-text-inner h2 {
    font-family: 'Jost', sans-serif !important;
    font-size: 2.75rem !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin: 0 0 20px 0 !important;
    line-height: 1.2 !important;
}

/* Text Paragraphs */
#block-esetec-nosengagements .engagements-text-inner p {
    font-family: 'Jost', sans-serif !important;
    font-size: 16px !important;
    line-height: 1.85 !important;
    color: #96bece !important;
    /* Qeducato light teal body font color */
    text-align: justify !important;
    margin: 0 !important;
}

/* ----------------------------------------------------
   IMAGE COLUMN (Full Bleed Edge-to-Edge)
   ---------------------------------------------------- */
#block-esetec-nosengagements .engagements-img-box {
    width: 100% !important;
    height: 100% !important;
    min-height: 540px !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
}

#block-esetec-nosengagements img.engagements-img-full,
#block-esetec-nosengagements .engagements-img-box img {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 540px !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Responsive adjustments for tablet / mobile */
@media (max-width: 1199px) {
    #block-esetec-nosengagements .engagements-text-box {
        padding: 60px 50px !important;
    }
}

@media (max-width: 991px) {

    #block-esetec-nosengagements .engagements-col-text,
    #block-esetec-nosengagements .engagements-col-img {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    #block-esetec-nosengagements .engagements-text-box {
        padding: 50px 25px !important;
        min-height: auto !important;
    }

    #block-esetec-nosengagements .engagements-img-box,
    #block-esetec-nosengagements img.engagements-img-full {
        height: 340px !important;
        min-height: 340px !important;
    }

    #block-esetec-nosengagements .engagements-text-inner h3,
    #block-esetec-nosengagements .engagements-text-inner h2 {
        font-size: 2.2rem !important;
    }
}

/* =====================================================
   BLOCK HÉBERGEMENT ÉTUDIANT - HEALTHY WEIGHT LOSS REFERENCE LAYOUT
   ===================================================== */
#block-esetec-hebergementetudiant,
.block-esetec-hebergement {
    background-color: #ffffff !important;
    padding: 100px 0 !important;
    font-family: 'Jost', sans-serif !important;
    position: relative !important;
}

#block-esetec-hebergementetudiant .hebergement-split-layout {
    position: relative !important;
    width: 100% !important;
}

/* Left Column */
#block-esetec-hebergementetudiant .hebergement-left-col {
    display: flex !important;
    flex-direction: column !important;
}

#block-esetec-hebergementetudiant .hebergement-header-box {
    margin-bottom: 30px !important;
}

#block-esetec-hebergementetudiant .hebergement-main-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 40px !important;
    font-weight: 800 !important;
    color: #032e3f !important; /* ESETEC Dark Navy */
    line-height: 1.2 !important;
    margin: 0 0 8px 0 !important;
    letter-spacing: -0.5px !important;
}

#block-esetec-hebergementetudiant .hebergement-subtitle,
#block-esetec-hebergementetudiant .hebergement-main-desc p {
    font-family: 'Jost', sans-serif !important;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    color: #444444 !important;
    line-height: 1.7 !important;
    margin: 0 0 10px 0 !important;
}

#block-esetec-hebergementetudiant .hebergement-tall-image-box {
    width: 100% !important;
    flex-grow: 1 !important;
    overflow: hidden !important;
}

#block-esetec-hebergementetudiant img.hebergement-tall-img {
    width: 100% !important;
    height: 100% !important;
    min-height: 480px !important;
    object-fit: cover !important;
    display: block !important;
}

/* Right Column: Stacked Cards */
#block-esetec-hebergementetudiant .hebergement-right-col {
    display: flex !important;
    flex-direction: column !important;
}

#block-esetec-hebergementetudiant .hebergement-stacked-cards {
    display: flex !important;
    flex-direction: column !important;
    gap: 25px !important;
    height: 100% !important;
}

/* Base Card */
#block-esetec-hebergementetudiant .hebergement-card {
    padding: 40px 35px !important;
    box-sizing: border-box !important;
    flex: 1 1 50% !important;
}

/* Top Card: White background with ESETEC subtle dark navy border */
#block-esetec-hebergementetudiant .card-bordered-white {
    background-color: #ffffff !important;
    border: 2px solid rgba(3, 46, 63, 0.25) !important; /* ESETEC subtle border */
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.03) !important;
}

#block-esetec-hebergementetudiant .hebergement-card-title.dark-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 25px !important;
    font-weight: 700 !important;
    color: #032e3f !important;
    margin: 0 0 16px 0 !important;
    line-height: 1.3 !important;
}

#block-esetec-hebergementetudiant .hebergement-card-body.dark-body p {
    font-family: 'Jost', sans-serif !important;
    font-size: 18px !important;
    color: #444444 !important;
    line-height: 1.7 !important;
    margin-bottom: 10px !important;
}

/* Bottom Card: ESETEC Primary Accent Red / Bordeaux Filled Card */
#block-esetec-hebergementetudiant .card-filled-accent {
    background-color: var(--couleur-principale, #a20d35) !important; /* ESETEC Bordeaux Accent */
    color: #ffffff !important;
    box-shadow: 0 8px 25px rgba(162, 13, 53, 0.25) !important;
}

#block-esetec-hebergementetudiant .hebergement-card-title.white-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin: 0 0 16px 0 !important;
    line-height: 1.3 !important;
}

#block-esetec-hebergementetudiant .hebergement-card-body.white-body p,
#block-esetec-hebergementetudiant .hebergement-card-body.white-body p strong {
    font-family: 'Jost', sans-serif !important;
    font-size: 18px !important;
    color: #ffffff !important;
    line-height: 1.7 !important;
    margin-bottom: 10px !important;
}

/* Responsive Rules */
@media (max-width: 991px) {
    #block-esetec-hebergementetudiant {
        padding: 50px 0 !important;
    }
    #block-esetec-hebergementetudiant img.hebergement-tall-img {
        min-height: 350px !important;
        height: 350px !important;
        margin-bottom: 30px !important;
    }
}

/* =====================================================
   BLOCK NOS TYPES D'HÉBERGEMENT - REFERENCE MOCKUP DESIGN
   ===================================================== */
#block-esetec-nostypesdhebergement,
.block-esetec-types-hebergement {
    padding: 0 !important;
    margin: 0 !important;
    font-family: 'Jost', sans-serif !important;
    position: relative !important;
}

/* Header Banner with Background Hero Photo */
#block-esetec-nostypesdhebergement .types-hebergement-banner-wrapper {
    background-color: #032e3f !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    padding: 80px 10px 0 !important;
    position: relative !important;
    height: 600px;
    display: flex;
    justify-content: center;
    align-items: normal;
}

#block-esetec-nostypesdhebergement .types-hebergement-main-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 45px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    color: #ffffff !important;
    margin-bottom: 12px !important;
    line-height: 1.25 !important;
}

#block-esetec-nostypesdhebergement .types-hebergement-main-subtitle {
    font-family: 'Jost', sans-serif !important;
    font-size: 18px !important;
    color: #d1e5ed !important;
    margin-bottom: 30px !important;
}

/* Cards Section - Positioned directly on top of banner */
#block-esetec-nostypesdhebergement .types-hebergement-cards-section {
    /* background-color: #f8f9fa !important; */
    padding: 0 0 100px 0 !important;
    margin-top: -310px !important;
    position: relative !important;
}

#block-esetec-nostypesdhebergement .chambre-card-item {
    background-color: #ffffff !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 30px rgb(0 0 0 / 5%) !important;
    transition: all 0.3s ease !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    border: 10px solid #ffff !important;
}

#block-esetec-nostypesdhebergement .chambre-card-item:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.12) !important;
}

#block-esetec-nostypesdhebergement .chambre-img-box img {
    width: 100% !important;
    height: 300px !important;
    object-fit: cover !important;
    display: block !important;
}

#block-esetec-nostypesdhebergement .chambre-card-body {
    padding: 35px 30px !important;
    flex-grow: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

#block-esetec-nostypesdhebergement .chambre-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 25px !important;
    font-weight: 800 !important;
    color: #032e3f !important;
    margin-bottom: 20px !important;
    line-height: 1.3 !important;
}

/* HTML Content Inside Room Cards */
#block-esetec-nostypesdhebergement .chambre-content-html p {
    font-family: 'Jost', sans-serif !important;
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: #444444 !important;
    margin-bottom: 8px !important;
}

#block-esetec-nostypesdhebergement .chambre-content-html i.fa-solid,
#block-esetec-nostypesdhebergement .chambre-content-html i.fab,
#block-esetec-nostypesdhebergement .chambre-content-html i.fas {
    color: var(--couleur-principale, #a20d35) !important;
    /* margin-right: 8px !important; */
    font-size: 16px !important;
}

#block-esetec-nostypesdhebergement .chambre-content-html mark {
    background-color: #e8f4f8 !important;
    color: #032e3f !important;
    font-weight: 700 !important;
    padding: 0 14px !important;
    border-radius: 20px !important;
    display: inline-block !important;
    font-size: 13.5px !important;
    margin-bottom: 8px !important;
}

#block-esetec-nostypesdhebergement .chambre-content-html mark.marker-yellow {
    background-color: #fff8e6 !important;
    color: #d97706 !important;
}

#block-esetec-nostypesdhebergement .chambre-content-html strong {
    font-size: 22px !important;
    color: var(--couleur-principale, #a20d35) !important;
    font-weight: 900 !important;
    display: inline-block !important;
    margin-top: 8px !important;
}

/* Reserve Button Styling */
#block-esetec-nostypesdhebergement .chambre-content-html a {
    display: inline-block !important;
    margin-top: 20px !important;
    padding: 12px 32px !important;
    background-color: var(--couleur-principale, #a20d35) !important;
    color: #ffffff !important;
    font-family: 'Jost', sans-serif !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    /* box-shadow: 0 4px 15px rgba(162, 13, 53, 0.3) !important; */
}

#block-esetec-nostypesdhebergement .chambre-content-html a:hover {
    background-color: #032e3f !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 20px rgba(3, 46, 63, 0.3) !important;
}

/* =====================================================
   BLOCK DES SERVICES POUR FACILITER VOTRE QUOTIDIEN - 2X2 GRID MOCKUP DESIGN
   ===================================================== */
#block-esetec-desservicespourfacilitervotrequotidien,
.block-esetec-services-quotidien {
    background-color: #032e3f !important; /* Esetec dark navy section background */
    padding: 100px 0 !important;
    font-family: 'Jost', sans-serif !important;
}

/* Header Title & Subtitle */
#block-esetec-desservicespourfacilitervotrequotidien .services-quotidien-main-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 40px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    margin-bottom: 12px !important;
    line-height: 1.25 !important;
}

#block-esetec-desservicespourfacilitervotrequotidien .services-quotidien-main-subtitle {
    font-family: 'Jost', sans-serif !important;
    font-size: 16px !important;
    color: #d1e5ed !important;
    margin-bottom: 50px !important;
    line-height: 1.6 !important;
}

/* 2x2 Grid Section */
#block-esetec-desservicespourfacilitervotrequotidien .services-quotidien-2x2-grid {
    margin-top: 10px !important;
}

/* Card Item (White Box) */
#block-esetec-desservicespourfacilitervotrequotidien .service-card-item {
    background-color: #ffffff !important;
    padding: 35px 30px !important;
    border-radius: 4px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 22px !important;
    height: 100% !important;
    transition: all 0.3s ease !important;
}

#block-esetec-desservicespourfacilitervotrequotidien .service-card-item:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25) !important;
}

/* Circular Dark Navy Icon Badge */
#block-esetec-desservicespourfacilitervotrequotidien .service-icon-badge {
    width: 60px !important;
    height: 60px !important;
    min-width: 60px !important;
    border-radius: 50% !important;
    background-color: #032e3f !important; /* Project dark navy badge background */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

#block-esetec-desservicespourfacilitervotrequotidien .service-icon-badge i,
#block-esetec-desservicespourfacilitervotrequotidien .service-icon-badge i.fa-solid,
#block-esetec-desservicespourfacilitervotrequotidien .service-icon-badge i.fab,
#block-esetec-desservicespourfacilitervotrequotidien .service-icon-badge i.fas {
    color: #ffffff !important; /* White icon inside circular navy badge */
    font-size: 22px !important;
    margin: 0 !important;
}

/* Card Content (Title & Description) */
#block-esetec-desservicespourfacilitervotrequotidien .service-card-content {
    flex-grow: 1 !important;
}

#block-esetec-desservicespourfacilitervotrequotidien .service-card-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 25px !important;
    font-weight: 700 !important;
    color: #111111 !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.3 !important;
}

#block-esetec-desservicespourfacilitervotrequotidien .service-card-desc {
    font-family: 'Jost', sans-serif !important;
    font-size: 16px !important;
    color: #555555 !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

/* Responsive adjustments */
@media (max-width: 767px) {
    #block-esetec-desservicespourfacilitervotrequotidien .service-card-item {
        padding: 25px 20px !important;
        gap: 15px !important;
    }
    #block-esetec-desservicespourfacilitervotrequotidien .service-icon-badge {
        width: 50px !important;
        height: 50px !important;
        min-width: 50px !important;
    }
    #block-esetec-desservicespourfacilitervotrequotidien .service-icon-badge i {
        font-size: 18px !important;
    }
}

/* Responsive adjustments */
@media (max-width: 991px) {
    #block-esetec-nostypesdhebergement .types-hebergement-banner-wrapper {
        padding: 60px 0 100px 0 !important;
    }

    #block-esetec-nostypesdhebergement .types-hebergement-hero-img-box {
        margin-bottom: -120px !important;
    }

    #block-esetec-nostypesdhebergement .types-hebergement-cards-section {
        padding: 150px 0 60px 0 !important;
    }
}

/* =====================================================
   BLOCK UN HÉBERGEMENT AU COEUR DE LA VIE ÉTUDIANTE - STAGGERED PHOTOS + OVERLAPPING CARD MOCKUP
   ===================================================== */
#block-esetec-unhebergementaucoeurdelavieetudiante,
.block-esetec-vie-etudiante {
    background-color: #f4f5f7 !important; /* Soft neutral light gray section background */
    padding: 100px 0 110px 0 !important;
    font-family: 'Jost', sans-serif !important;
    overflow: hidden !important;
}

/* Staggered Photos Wrapper */
#block-esetec-unhebergementaucoeurdelavieetudiante .vie-etudiante-photos-wrapper {
    display: flex !important;
    justify-content: center !important;
    align-items: flex-end !important;
    position: relative !important;
    /* max-width: 1050px !important; */
    /* margin: 0 auto !important; */
}

#block-esetec-unhebergementaucoeurdelavieetudiante .vie-etudiante-photo-box {
    /* border-radius: 6px !important; */
    overflow: hidden !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15) !important;
    transition: all 0.3s ease !important;
}

#block-esetec-unhebergementaucoeurdelavieetudiante .vie-etudiante-photo-box.photo-left {
    width: 100% !important;
    max-width: 630px !important;
    position: relative !important;
    z-index: 2 !important;
    transform: translateY(35px) !important;
}

#block-esetec-unhebergementaucoeurdelavieetudiante .vie-etudiante-photo-box.photo-left::before {
    content: "";
    position: absolute;
    bottom: 1px;
    width: 100%;
    height: 2px;
    background-color: var(--couleur-secondaire);
}

#block-esetec-unhebergementaucoeurdelavieetudiante .vie-etudiante-photo-box.photo-right {
    width: 85% !important;
    max-width: 730px !important;
    position: relative !important;
    z-index: 1 !important;
    margin-left: -5% !important;
    transform: translateY(-40px) !important;
}

#block-esetec-unhebergementaucoeurdelavieetudiante .vie-etudiante-photo-box.photo-right::before {
    content: "";
    position: absolute;
    top: 12px;
    width: 100%;
    height: 5px;
    background-color: var(--couleur-principale);
}

#block-esetec-unhebergementaucoeurdelavieetudiante .vie-etudiante-photo-box img {
    width: 100% !important;
    height: 480px !important;
    object-fit: contain !important;
    display: block !important;
}

/* Overlapping White Card */
#block-esetec-unhebergementaucoeurdelavieetudiante .vie-etudiante-card-container {
    max-width: 1050px !important;
    margin: -40px -125px 0 auto !important;
    position: relative !important;
    z-index: 2 !important;
}

#block-esetec-unhebergementaucoeurdelavieetudiante .vie-etudiante-card-item {
    background-color: #ffffff !important;
    padding: 45px 40px !important;
    border-radius: 6px !important;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.15) !important;
}

#block-esetec-unhebergementaucoeurdelavieetudiante .text-col-2 {
    border-left: 1px solid #eeeeee !important;
    padding-left: 35px !important;
}

#block-esetec-unhebergementaucoeurdelavieetudiante .vie-etudiante-main-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 30px !important;
    font-weight: 800 !important;
    color: #032e3f !important; /* Esetec dark navy */
    margin-bottom: 15px !important;
    line-height: 1.25 !important;
}

#block-esetec-unhebergementaucoeurdelavieetudiante .vie-etudiante-desc {
    font-family: 'Jost', sans-serif !important;
    font-size: 18px !important;
    text-align: justify !important;
    color: #555555 !important;
    line-height: 1.7 !important;
    margin-bottom: 22px !important;
}

/* Primary Button */
#block-esetec-unhebergementaucoeurdelavieetudiante .btn-vie-etudiante-primary {
    display: inline-block !important;
    padding: 12px 30px !important;
    background-color: #032e3f !important; /* Esetec dark navy button */
    color: #ffffff !important;
    font-family: 'Jost', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14.5px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

#block-esetec-unhebergementaucoeurdelavieetudiante .btn-vie-etudiante-primary:hover {
    background-color: var(--couleur-principale, #a20d35) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(3, 46, 63, 0.3) !important;
}

/* Sub Section inside Card */
#block-esetec-unhebergementaucoeurdelavieetudiante .vie-etudiante-sub-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    color: #032e3f !important;
    margin-bottom: 10px !important;
}

#block-esetec-unhebergementaucoeurdelavieetudiante .vie-etudiante-sub-desc {
    font-family: 'Jost', sans-serif !important;
    font-size: 18px !important;
    color: #666666 !important;
    text-align: justify !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important;
}

/* Secondary Button */
#block-esetec-unhebergementaucoeurdelavieetudiante .btn-vie-etudiante-secondary {
    display: inline-block !important;
    padding: 10px 26px !important;
    background-color: var(--couleur-principale, #a20d35) !important; /* Project accent red button */
    color: #ffffff !important;
    font-family: 'Jost', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

#block-esetec-unhebergementaucoeurdelavieetudiante .btn-vie-etudiante-secondary:hover {
    background-color: #032e3f !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}

/* Responsive adjustments */
@media (max-width: 991px) {
    #block-esetec-unhebergementaucoeurdelavieetudiante .text-col-2 {
        border-left: none !important;
        padding-left: 15px !important;
        margin-top: 25px !important;
        padding-top: 25px !important;
        border-top: 1px solid #eeeeee !important;
    }
    #block-esetec-unhebergementaucoeurdelavieetudiante .vie-etudiante-photos-wrapper {
        flex-direction: column !important;
        align-items: center !important;
    }
    #block-esetec-unhebergementaucoeurdelavieetudiante .vie-etudiante-photo-box.photo-left,
    #block-esetec-unhebergementaucoeurdelavieetudiante .vie-etudiante-photo-box.photo-right {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        transform: none !important;
        margin-bottom: 15px !important;
    }
    #block-esetec-unhebergementaucoeurdelavieetudiante .vie-etudiante-photo-box img {
        height: 280px !important;
    }
    #block-esetec-unhebergementaucoeurdelavieetudiante .vie-etudiante-card-container {
        margin-top: 20px !important;
    }
    #block-esetec-unhebergementaucoeurdelavieetudiante .vie-etudiante-card-item {
        padding: 30px 25px !important;
    }
}

/* =====================================================
   BLOCK COMMENT RÉSERVER VOTRE HÉBERGEMENT - 3 STEP PROCESS CARDS
   ===================================================== */
#block-esetec-commentreservervotrehebergement,
.block-esetec-reservation-steps {
    background-color: #ffffff !important;
    padding: 100px 0 !important;
    font-family: 'Jost', sans-serif !important;
}

/* Header Title & Subtitle */
#block-esetec-commentreservervotrehebergement .reservation-steps-main-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 38px !important;
    font-weight: 800 !important;
    color: #032e3f !important; /* Esetec dark navy */
    margin-bottom: 12px !important;
    line-height: 1.25 !important;
}

#block-esetec-commentreservervotrehebergement .reservation-steps-main-subtitle {
    font-family: 'Jost', sans-serif !important;
    font-size: 16px !important;
    color: #666666 !important;
    margin-bottom: 50px !important;
    line-height: 1.6 !important;
}

/* 3 Step Cards Grid */
#block-esetec-commentreservervotrehebergement .reservation-steps-grid {
    margin-top: 10px !important;
}

/* Step Card Item */
#block-esetec-commentreservervotrehebergement .step-card-item {
    background-color: #f8f9fa !important;
    padding: 40px 30px !important;
    border-radius: 8px !important;
    border-top: 4px solid #032e3f !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
    height: 100% !important;
    transition: all 0.3s ease !important;
    position: relative !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
}

#block-esetec-commentreservervotrehebergement .step-card-item:hover {
    transform: translateY(-8px) !important;
    border-top-color: var(--couleur-principale, #a20d35) !important;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.12) !important;
    background-color: #ffffff !important;
}

/* Big Step Number Badge */
#block-esetec-commentreservervotrehebergement .step-number-badge {
    font-family: 'Jost', sans-serif !important;
    font-size: 38px !important;
    font-weight: 900 !important;
    color: var(--couleur-principale, #a20d35) !important;
    line-height: 1 !important;
    margin-bottom: 20px !important;
    display: inline-block !important;
    background: rgba(162, 13, 53, 0.08) !important;
    padding: 8px 18px !important;
    border-radius: 6px !important;
    width: fit-content !important;
    transition: all 0.3s ease !important;
}

#block-esetec-commentreservervotrehebergement .step-card-item:hover .step-number-badge {
    background: #032e3f !important;
    color: #ffffff !important;
}

/* Step Card Content */
#block-esetec-commentreservervotrehebergement .step-card-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #032e3f !important;
    margin-bottom: 12px !important;
    line-height: 1.35 !important;
}

#block-esetec-commentreservervotrehebergement .step-card-desc {
    font-family: 'Jost', sans-serif !important;
    font-size: 14.5px !important;
    color: #555555 !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}


/* =====================================================
   BLOCK BESOIN D'INFORMATIONS ? - ASYMMETRIC MOCKUP (IMAGE 2 EXACT MATCH)
   ===================================================== */
#block-esetec-besoindinformations,
.block-esetec-besoin-info-asymmetric {
    position: relative !important;
    padding: 60px 0 100px 0 !important;
    font-family: 'Jost', sans-serif !important;
    overflow: hidden !important;
    background-color: #ffffff !important;
    min-height: 620px !important;
}

/* Left Horizontal Color Strip (Behind top of card) */
#block-esetec-besoindinformations .besoin-info-bg-shape-left {
    position: absolute !important;
    top: 150px !important;
    left: 0 !important;
    width: 38% !important;
    height: 140px !important;
    background-color: #032e3f !important; /* Esetec dark navy */
    z-index: 1 !important;
}

/* Right Bottom Solid Color Block (Covers bottom right quadrant) */
#block-esetec-besoindinformations .besoin-info-bg-shape-right {
    position: absolute !important;
    top: 200px !important;
    right: 0 !important;
    width: 42% !important;
    bottom: 0 !important;
    background-color: #032e3f !important; /* Esetec dark navy */
    z-index: 1 !important;
}

#block-esetec-besoindinformations .besoin-info-asymmetric-container {
    position: relative !important;
    z-index: 10 !important;
    max-width: 1140px !important;
    margin: 0 auto !important;
}

#block-esetec-besoindinformations .besoin-info-asymmetric-wrapper {
    position: relative !important;
    min-height: 520px !important;
    display: flex !important;
    align-items: flex-start !important;
}

/* Right Giant Circle Photo Box */
#block-esetec-besoindinformations .besoin-info-circle-box {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 520px !important;
    height: 520px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.18) !important;
    z-index: 5 !important;
}

#block-esetec-besoindinformations .besoin-info-circle-box img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

#block-esetec-besoindinformations .besoin-info-sub-circle-box {
    position: absolute !important;
    bottom: 25px !important;
    left: -15px !important;
    width: 170px !important;
    height: 170px !important;
    border-radius: 50% !important;
    border: 5px solid #ffffff !important;
    overflow: hidden !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.22) !important;
    z-index: 10 !important;
}

#block-esetec-besoindinformations .besoin-info-sub-circle-box img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Left Overlapping White Content Card */
#block-esetec-besoindinformations .besoin-info-card-box {
    position: relative !important;
    z-index: 15 !important;
    margin-top: 100px !important;
    width: 600px !important;
    background-color: #ffffff !important;
    padding: 55px 45px !important;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12) !important;
}

#block-esetec-besoindinformations .besoin-info-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 30px !important;
    font-weight: 800 !important;
    color: #032e3f !important; /* Esetec dark navy */
    margin-bottom: 20px !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

#block-esetec-besoindinformations .besoin-info-title i,
#block-esetec-besoindinformations .besoin-info-title i.fa-solid {
    color: var(--couleur-principale, #a20d35) !important; /* Phone icon in project accent red */
    margin-right: 10px !important;
}

#block-esetec-besoindinformations .besoin-info-desc {
    font-family: 'Jost', sans-serif !important;
    font-size: 18px !important;
    color: #555555 !important;
    line-height: 1.7 !important;
    margin-bottom: 30px !important;
}

/* Contact Button (Project Accent Red) */
#block-esetec-besoindinformations .btn-besoin-info-action {
    display: inline-block !important;
    padding: 15px 38px !important;
    background-color: var(--couleur-principale, #a20d35) !important; /* Project accent red button */
    color: #ffffff !important;
    font-family: 'Jost', sans-serif !important;
    font-weight: 700 !important;
    font-size: 14.5px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border-radius: 2px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

#block-esetec-besoindinformations .btn-besoin-info-action:hover {
    background-color: #032e3f !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    /* box-shadow: 0 8px 20px rgba(162, 13, 53, 0.3) !important; */
}

/* Responsive adjustments */
@media (max-width: 991px) {
    #block-esetec-besoindinformations .besoin-info-asymmetric-wrapper {
        flex-direction: column !important;
        min-height: auto !important;
    }
    #block-esetec-besoindinformations .besoin-info-circle-box {
        position: relative !important;
        width: 320px !important;
        height: 320px !important;
        margin: 0 auto 30px auto !important;
    }
    #block-esetec-besoindinformations .besoin-info-card-box {
        width: 100% !important;
        margin-top: 0 !important;
        padding: 35px 25px !important;
    }
    #block-esetec-besoindinformations .besoin-info-bg-shape-left,
    #block-esetec-besoindinformations .besoin-info-bg-shape-right {
        display: none !important;
    }
}

/* =====================================================
   BLOCK VIE SUR LE CAMPUS – Split layout (Image 3)
   LEFT : Full-height dark navy | content top-left aligned
   RIGHT: Top = photo (60%) | Bottom = white text panel (40%)
   ===================================================== */
#block-esetec-viesurlecampus,
.block-esetec-vie-campus {
    font-family: 'Jost', sans-serif !important;
    padding: 0 !important;
    margin: 3rem 0 !important;
    height: 65vh;
}

/* Outer split flex wrapper — fixed height so ratios work */
#block-esetec-viesurlecampus .vie-campus-split-wrapper {
    display: flex !important;
    align-items: stretch !important;
    height: 100% !important;
}

/* ── LEFT PANEL ── */
#block-esetec-viesurlecampus .vie-campus-left-panel {
    width: 45% !important;
    flex-shrink: 0 !important;
    background-color: #032e3f !important;
    display: flex !important;
    justify-content: flex-start;
    align-items: center !important;
    padding: 2rem 4rem !important;
    position: relative !important;
}

#block-esetec-viesurlecampus .vie-campus-left-inner {
    width: 100% !important;
}

/* Title — large bold white, like the reference image */
#block-esetec-viesurlecampus .vie-campus-icon-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 45px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    color: #ffffff !important;
    line-height: 1.2 !important;
    margin-bottom: 22px !important;
}

/* Icon — large, block-level, above title */
#block-esetec-viesurlecampus .vie-campus-icon-title i,
#block-esetec-viesurlecampus .vie-campus-icon-title .fa-school {
    color: #FFFF;
    font-size: 100px !important;
    display: block !important;
    line-height: 1 !important;
    margin-bottom: 32px !important;
}

/* Subtitle — faded white, small */
#block-esetec-viesurlecampus .vie-campus-subtitle {
    font-family: 'Jost', sans-serif !important;
    font-size: 18px !important;
    color: rgb(251 251 251) !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

/* ── RIGHT PANEL ── */
#block-esetec-viesurlecampus .vie-campus-right-panel {
    height: 100%;
}

/* Top: Photo — takes ~60% of right panel height */
#block-esetec-viesurlecampus .vie-campus-photo-box {
    overflow: hidden !important;
    height: 50%;
}

#block-esetec-viesurlecampus .vie-campus-photo-box img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
    display: block !important;
}

/* Bottom: White content box — ~40% of right panel */
#block-esetec-viesurlecampus .vie-campus-content-box {
    background-color: #f2f7fd !important;
    padding: 1rem 3rem !important;
    display: flex !important;
    justify-content: center;
    align-items: start;
    flex-direction: column !important;
    height: 50%;
    text-align: justify;
}

/* h3 — center-aligned, bold, dark navy */
#block-esetec-viesurlecampus .vie-campus-panel-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #032e3f !important;
    margin-bottom: 14px !important;
    line-height: 1.4 !important;
}

/* Body paragraphs — left-aligned, small */
#block-esetec-viesurlecampus .vie-campus-body {
    font-family: 'Jost', sans-serif !important;
    font-size: 18px !important;
    color: #555555 !important;
    line-height: 1.7 !important;
    margin-bottom: 10px !important;
}

#block-esetec-viesurlecampus .vie-campus-body:last-child {
    margin-bottom: 0 !important;
}

/* ── Responsive ── */
@media (max-width: 991px) {
    #block-esetec-viesurlecampus .vie-campus-split-wrapper {
        flex-direction: column !important;
    }
    #block-esetec-viesurlecampus .vie-campus-left-panel {
        width: 100% !important;
        padding: 50px 30px !important;
    }
    #block-esetec-viesurlecampus .vie-campus-photo-box {
        flex: none !important;
        min-height: 250px !important;
        height: 250px !important;
    }
    #block-esetec-viesurlecampus .vie-campus-content-box {
        padding: 30px 25px !important;
    }
    #block-esetec-viesurlecampus .vie-campus-icon-title {
        font-size: 28px !important;
    }
}

/* =====================================================
   BLOCK UN CAMPUS AU SERVICE DE LA RÉUSSITE
   Layout (reference image):
   TOP    : White bg — image left  + h1/text right
   DIVIDER: Flowing SVG wave (white → dark navy)
   BOTTOM : Dark navy bg — 4 white numbered feature cards
   ===================================================== */

#block-esetec-uncampusauservicedelareussite,
.block-esetec-campus-service {
    font-family: 'Jost', sans-serif !important;
    padding: 0 !important;
    margin: 4rem 0 !important;
    overflow: hidden !important;
}

/* ── TOP: Image as background hero zone ── */
#block-esetec-uncampusauservicedelareussite .campus-service-top {
    position: relative !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    min-height: 360px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}

/* Dark overlay for text readability */
#block-esetec-uncampusauservicedelareussite .campus-service-top-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: #032e3f96 !important;
    z-index: 1 !important;
}

/* Text content — centered over the background image */
#block-esetec-uncampusauservicedelareussite .campus-service-top-content {
    position: relative !important;
    z-index: 2 !important;
    text-align: center !important;
    padding: 70px 60px !important;
    max-width: 780px !important;
    margin: 0 auto !important;
}

#block-esetec-uncampusauservicedelareussite .campus-service-heading {
    font-family: 'Jost', sans-serif !important;
    font-size: 38px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    color: #ffffff !important;
    line-height: 1.25 !important;
    margin-bottom: 20px !important;
    text-align: center !important;
}

#block-esetec-uncampusauservicedelareussite .campus-service-desc {
    font-family: 'Jost', sans-serif !important;
    font-size: 18px !important;
    color: rgba(255, 255, 255, 0.85) !important;  /* soft white */
    line-height: 1.75 !important;
    margin: 0 auto !important;
    text-align: center !important;
    max-width: 640px !important;
}

/* ── WAVE DIVIDER ── */
#block-esetec-uncampusauservicedelareussite .campus-service-wave-wrap {
    display: block !important;
    line-height: 0 !important;
    background-color: #ffffff !important; /* white behind the SVG */
    margin-bottom: -2px !important;       /* avoid gap at seam */
}

#block-esetec-uncampusauservicedelareussite .campus-service-wave-svg {
    display: block !important;
    width: 100% !important;
    height: 130px !important;
}

/* ── BOTTOM: Dark navy zone with cards ── */
#block-esetec-uncampusauservicedelareussite .campus-service-bottom {
    background-color: #032e3f !important;
    padding: 0px 60px 70px 60px !important;
}

#block-esetec-uncampusauservicedelareussite .campus-service-cards-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;  /* 4 cards — single row */
    gap: 22px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

/* Individual white card */
#block-esetec-uncampusauservicedelareussite .campus-service-card {
    background-color: #ffffff !important;
    border-radius: 8px !important;
    padding: 36px 32px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12) !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

#block-esetec-uncampusauservicedelareussite .campus-service-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.18) !important;
}

/* Large bold number (01, 02…) */
#block-esetec-uncampusauservicedelareussite .campus-service-card-num {
    display: block !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 52px !important;
    font-weight: 900 !important;
    color: #032e3f !important;
    line-height: 1 !important;
    margin-bottom: 16px !important;
    letter-spacing: -1px !important;
}

/* Icon */
#block-esetec-uncampusauservicedelareussite .campus-service-card-icon {
    margin-bottom: 14px !important;
}

#block-esetec-uncampusauservicedelareussite .campus-service-card-icon i {
    color: var(--couleur-principale, #a20d35) !important;
    font-size: 30px !important;
}

/* Card h3 title */
#block-esetec-uncampusauservicedelareussite .campus-service-card-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #032e3f !important;
    margin-bottom: 12px !important;
    line-height: 1.3 !important;
}

/* Card paragraph */
#block-esetec-uncampusauservicedelareussite .campus-service-card-text {
    font-family: 'Jost', sans-serif !important;
    font-size: 16px !important;
    color: #666666 !important;
    line-height: 1.7 !important;
    margin: 0 !important;
}

/* ── Responsive ── */
@media (max-width: 991px) {
    #block-esetec-uncampusauservicedelareussite .campus-service-top {
        min-height: 280px !important;
    }
    #block-esetec-uncampusauservicedelareussite .campus-service-top-content {
        padding: 50px 25px !important;
    }
    #block-esetec-uncampusauservicedelareussite .campus-service-heading {
        font-size: 26px !important;
    }
    #block-esetec-uncampusauservicedelareussite .campus-service-bottom {
        padding: 0 25px 50px 25px !important;
    }
    #block-esetec-uncampusauservicedelareussite .campus-service-cards-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 18px !important;
    }
    #block-esetec-uncampusauservicedelareussite .campus-service-wave-svg {
        height: 80px !important;
    }
}

@media (max-width: 575px) {
    #block-esetec-uncampusauservicedelareussite .campus-service-cards-grid {
        grid-template-columns: 1fr !important;
    }
}

/* =====================================================
   BLOCK SE LOGER AU CŒUR DE LA VIE ÉTUDIANTE
   Layout (reference image):
   LEFT  : Large photo (top-right) + small photo overlapping (bottom-left)
           + decorative accent circle (top-right) + stripe pattern (bottom-left)
   RIGHT : Light gray card — bold title + description + pill CTA button
   ===================================================== */

#block-esetec-selogeraucoeurdelavieetudiante,
.block-esetec-seloger {
    font-family: 'Jost', sans-serif !important;
    padding: 80px 60px !important;
    margin: 4rem;
    background-color: #ffffff !important;
    overflow: visible !important;
}

/* ── OUTER WRAPPER ── */
#block-esetec-selogeraucoeurdelavieetudiante .seloger-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    position: relative !important;
}

/* ══════════════════════════════════════════════════════
   LEFT: Images zone
   ══════════════════════════════════════════════════════ */
#block-esetec-selogeraucoeurdelavieetudiante .seloger-images-zone {
    position: relative !important;
    width: 65% !important;
    flex-shrink: 0 !important;
    min-height: 430px !important;
}

/* LARGE photo — top-right of the images zone */
#block-esetec-selogeraucoeurdelavieetudiante .seloger-img-large {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 72% !important;
    z-index: 2 !important;
}

#block-esetec-selogeraucoeurdelavieetudiante .seloger-img-large img {
    width: 100% !important;
    height: 500px !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 6px !important;
}

/* SMALL photo — bottom-left, overlapping large photo */
#block-esetec-selogeraucoeurdelavieetudiante .seloger-img-small {
    position: absolute !important;
    bottom: -150px !important;
    left: 0 !important;
    width: 50% !important;
    z-index: 3 !important;
}

#block-esetec-selogeraucoeurdelavieetudiante .seloger-img-small img {
    width: 100% !important;
    /* height: 210px !important; */
    object-fit: cover !important;
    display: block !important;
    border-radius: 6px !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.15) !important;
    border: 10px solid #FFF;
}

/* Decorative accent circle — top-right between columns */
#block-esetec-selogeraucoeurdelavieetudiante .seloger-deco-circle {
    position: absolute !important;
    top: -100px !important;
    right: -100px !important;
    width: 300px !important;
    height: 300px !important;
    border-radius: 50% !important;
    background-color: var(--couleur-principale, #a20d35) !important;
    z-index: 1 !important;
    opacity: 0.85 !important;
}

/* Decorative diagonal stripes — bottom-left */
#block-esetec-selogeraucoeurdelavieetudiante .seloger-deco-stripes {
    position: absolute !important;
    bottom: 20px !important;
    left: -70px !important;
    width: 200px !important;
    height: 200px !important;
    border-radius: 50% !important;
    background-image: repeating-linear-gradient(
        -45deg, 
        #aaaaaa 0px, 
        #aaaaaa 2.5px, 
        transparent 2.5px, 
        transparent 9px) 
        !important;
    z-index: 1 !important;
    opacity: 0.6 !important;
}

/* ══════════════════════════════════════════════════════
   RIGHT: Gray text card — slightly overlaps left zone
   ══════════════════════════════════════════════════════ */
#block-esetec-selogeraucoeurdelavieetudiante .seloger-text-card {
    position: relative !important;
    flex: 1 !important;
    background-color: #f0f2f4 !important;
    border-radius: 8px !important;
    padding: 52px 48px !important;
    margin-left: -60px !important;  /* slight overlap with images zone */
    margin-top: 6rem !important;
    z-index: 4 !important;
    box-shadow: 0 6px 30px rgba(0, 0, 0, 0.07) !important;
}

/* Title */
#block-esetec-selogeraucoeurdelavieetudiante .seloger-card-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 30px !important;
    font-weight: 800 !important;
    color: #032e3f !important;
    line-height: 1.3 !important;
    margin-bottom: 20px !important;
}

/* Description */
#block-esetec-selogeraucoeurdelavieetudiante .seloger-card-desc {
    font-family: 'Jost', sans-serif !important;
    font-size: 16px !important;
    color: #555555 !important;
    line-height: 1.75 !important;
    margin-bottom: 30px !important;
}

/* Pill button */
#block-esetec-selogeraucoeurdelavieetudiante .seloger-card-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    background-color: #032e3f !important;
    color: #ffffff !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
    padding: 14px 32px !important;
    border-radius: 50px !important;      /* pill shape */
    text-decoration: none !important;
    transition: background-color 0.25s ease, transform 0.2s ease !important;
}

#block-esetec-selogeraucoeurdelavieetudiante .seloger-card-btn:hover {
    background-color: var(--couleur-principale, #a20d35) !important;
    transform: translateY(-2px) !important;
}

#block-esetec-selogeraucoeurdelavieetudiante .seloger-card-btn i {
    font-size: 13px !important;
}

/* ── Responsive ── */
@media (max-width: 991px) {
    #block-esetec-selogeraucoeurdelavieetudiante {
        padding: 60px 25px !important;
    }
    #block-esetec-selogeraucoeurdelavieetudiante .seloger-wrapper {
        flex-direction: column !important;
        gap: 50px !important;
    }
    #block-esetec-selogeraucoeurdelavieetudiante .seloger-images-zone {
        width: 100% !important;
        min-height: 360px !important;
    }
    #block-esetec-selogeraucoeurdelavieetudiante .seloger-text-card {
        margin-left: 0 !important;
        padding: 38px 30px !important;
        width: 100% !important;
    }
    #block-esetec-selogeraucoeurdelavieetudiante .seloger-deco-circle {
        right: 10px !important;
        width: 65px !important;
        height: 65px !important;
    }
}

/* =====================================================
   BLOCK SE RESTAURER SUR LE CAMPUS
   Layout (matching user diagram):
   TOP    : Centered title + description + CTA button
   BOTTOM : 3 large circular photos in wide V-shape layout (Left, Center-Bottom, Right)
   ===================================================== */

#block-esetec-serestaurersurlecampus,
.block-esetec-restaurer {
    font-family: 'Jost', sans-serif !important;
    background-color: #ffffff !important;
    padding: 80px 40px 100px 40px !important;
    margin: 0 !important;
    overflow: hidden !important;
}

/* ── TOP: Centered text & button zone ── */
#block-esetec-serestaurersurlecampus .restaurer-text-zone {
    position: relative;
    text-align: center !important;
    max-width: 680px !important;
    margin: 0 auto -100px auto !important;
    z-index: 2 !important;
}

#block-esetec-serestaurersurlecampus .restaurer-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 40px !important;
    font-weight: 800 !important;
    color: #032e3f !important;
    line-height: 1.2 !important;
    margin-bottom: 16px !important;
    text-align: center !important;
}

#block-esetec-serestaurersurlecampus .restaurer-desc {
    font-family: 'Jost', sans-serif !important;
    font-size: 15px !important;
    color: #555555 !important;
    line-height: 1.7 !important;
    margin-bottom: 28px !important;
    text-align: center !important;
}

/* CTA button */
#block-esetec-serestaurersurlecampus .restaurer-btn {
    display: inline-block !important;
    background-color: #032e3f !important;
    color: #ffffff !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    padding: 14px 34px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    box-shadow: 0 4px 15px rgba(3, 46, 63, 0.15) !important;
    transition: background-color 0.25s ease, transform 0.2s ease !important;
}

#block-esetec-serestaurersurlecampus .restaurer-btn:hover {
    background-color: var(--couleur-principale, #a20d35) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}

/* ── BOTTOM: 3 CIRCULAR PHOTOS IN V-SHAPE LAYOUT ── */
#block-esetec-serestaurersurlecampus .restaurer-circles-zone {
    position: relative !important;
    height: 520px !important;
    max-width: 1140px !important;
    margin: 0 auto !important;
    z-index: 1 !important;
}

/* Shared circle styles */
#block-esetec-serestaurersurlecampus .restaurer-circle {
    position: absolute !important;
    width: 380px !important;
    height: 380px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    border: 4px solid #ffffff !important;
    box-shadow: 0 12px 35px rgba(3, 46, 63, 0.15) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

#block-esetec-serestaurersurlecampus .restaurer-circle:hover {
    transform: scale(1.03) !important;
    box-shadow: 0 16px 45px rgba(3, 46, 63, 0.22) !important;
}

#block-esetec-serestaurersurlecampus .restaurer-circle img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* LEFT CIRCLE */
#block-esetec-serestaurersurlecampus .restaurer-circle-left {
    top: 10px !important;
    left: 20px !important;
}

/* RIGHT CIRCLE */
#block-esetec-serestaurersurlecampus .restaurer-circle-right {
    top: 10px !important;
    right: 20px !important;
}

/* CENTER-BOTTOM CIRCLE */
#block-esetec-serestaurersurlecampus .restaurer-circle-center {
    top: 180px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
}

#block-esetec-serestaurersurlecampus .restaurer-circle-center:hover {
    transform: translateX(-50%) scale(1.03) !important;
}

/* ── DECORATIVE ELEMENTS ── */
/* Accent Filled Dot (Project Red) */
#block-esetec-serestaurersurlecampus .restaurer-deco-dot {
    position: absolute !important;
    width: 100px !important;
    height: 100px !important;
    border-radius: 50% !important;
    background-color: var(--couleur-principale, #a20d35) !important;
    top: 140px !important;
    right: 34% !important;
    z-index: 1 !important;
    opacity: 0.9 !important;
}

/* Accent Outline Ring */
#block-esetec-serestaurersurlecampus .restaurer-deco-ring {
    position: absolute !important;
    width: 150px !important;
    height: 150px !important;
    border-radius: 50% !important;
    border: 8px solid #d0d5dd !important;
    background: transparent !important;
    bottom: 30px !important;
    left: 24% !important;
    z-index: 1 !important;
    opacity: 0.75 !important;
}

/* Diagonal Stripes Pattern */
#block-esetec-serestaurersurlecampus .restaurer-deco-stripes {
    position: absolute !important;
    width: 200px !important;
    height: 200px !important;
    border-radius: 50% !important;
    top: -15px !important;
    left: -15px !important;
    background-image: repeating-linear-gradient(
        -45deg,
        #bbbbbb 0px,
        #bbbbbb 1.5px,
        transparent 1.5px,
        transparent 9px
    ) !important;
    z-index: 1 !important;
    opacity: 0.55 !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 991px) {
    #block-esetec-serestaurersurlecampus {
        padding: 50px 20px !important;
    }
    #block-esetec-serestaurersurlecampus .restaurer-circles-zone {
        height: auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 30px !important;
    }
    #block-esetec-serestaurersurlecampus .restaurer-circle {
        position: static !important;
        transform: none !important;
        width: 260px !important;
        height: 260px !important;
    }
    #block-esetec-serestaurersurlecampus .restaurer-circle-center:hover {
        transform: scale(1.03) !important;
    }
}


/* =====================================================
   BLOCK SPORT, DÉTENTE ET LOISIRS
   Layout (reference image):
   HEADER: Centered Section Title + Subtitle
   MIDDLE: 3-column layout
     - Left (30%): 2 stacked light gray cards
     - Center (40%): Full-height portrait image
     - Right (30%): 2 stacked light gray cards
   BOTTOM: Notice banner
   ===================================================== */

#block-esetec-sportdetenteetloisirs,
.block-esetec-sport {
    font-family: 'Jost', sans-serif !important;
    background-color: #ffffff !important;
    padding: 70px 40px !important;
}

#block-esetec-sportdetenteetloisirs .sport-container {
    max-width: 1140px !important;
    margin: 0 auto !important;
}

/* ── HEADER ── */
#block-esetec-sportdetenteetloisirs .sport-header {
    text-align: center !important;
    max-width: 720px !important;
    margin: 0 auto 50px auto !important;
}

#block-esetec-sportdetenteetloisirs .sport-main-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 45px !important;
    font-weight: 800 !important;
    color: #032e3f !important;
    line-height: 1.25 !important;
    margin-bottom: 16px !important;
}

#block-esetec-sportdetenteetloisirs .sport-subtitle {
    font-family: 'Jost', sans-serif !important;
    font-size: 18px !important;
    color: #666666 !important;
    line-height: 1.7 !important;
    margin: 0 !important;
}

/* ── 3-COLUMN GRID ── */
#block-esetec-sportdetenteetloisirs .sport-layout-grid {
    display: flex !important;
    align-items: stretch !important;
    gap: 25px !important;
}

/* Left and Right Columns */
#block-esetec-sportdetenteetloisirs .sport-col-left,
#block-esetec-sportdetenteetloisirs .sport-col-right {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    gap: 24px !important;
}

/* Individual Feature Card (Matching reference image light gray boxes) */
#block-esetec-sportdetenteetloisirs .sport-card {
    background-color: #f4f5f7 !important;
    border-radius: 8px !important;
    padding: 35px !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

#block-esetec-sportdetenteetloisirs .sport-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 24px rgba(3, 46, 63, 0.08) !important;
}

/* Card Icon */
#block-esetec-sportdetenteetloisirs .sport-card-icon {
    margin: 18px 0 !important;
}

#block-esetec-sportdetenteetloisirs .sport-card-icon i {
    font-size: 50px !important;
    color: #032e3f !important;
    display: inline-block !important;
}

/* Card Title */
#block-esetec-sportdetenteetloisirs .sport-card-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 25px !important;
    font-weight: 700 !important;
    color: #032e3f !important;
    margin-bottom: 12px !important;
    line-height: 1.35 !important;
}

/* Card Text */
#block-esetec-sportdetenteetloisirs .sport-card-text {
    font-family: 'Jost', sans-serif !important;
    font-size: 16px !important;
    color: #555555 !important;
    line-height: 1.65 !important;
    margin: 0 !important;
}

/* Center Column - Tall Image */
#block-esetec-sportdetenteetloisirs .sport-col-center {
    flex: 1.1 !important;
    display: flex !important;
    align-items: stretch !important;
}

#block-esetec-sportdetenteetloisirs .sport-image-wrap {
    width: 100% !important;
    height: 100% !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

#block-esetec-sportdetenteetloisirs .sport-image-wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* ── NOTICE BANNER AT BOTTOM ── */
#block-esetec-sportdetenteetloisirs .sport-notice-banner {
    margin-top: 45px !important;
    background-color: #f8f9fa !important;
    border-left: 4px solid var(--couleur-principale, #a20d35) !important;
    padding: 16px 24px !important;
    border-radius: 0 6px 6px 0 !important;
    /* text-align: center !important; */
}

#block-esetec-sportdetenteetloisirs .sport-notice-banner p {
    font-family: 'Jost', sans-serif !important;
    font-size: 14px !important;
    color: #555555 !important;
    font-weight: 500 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

#block-esetec-sportdetenteetloisirs .sport-notice-banner i {
    color: var(--couleur-principale, #a20d35) !important;
    font-size: 16px !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 991px) {
    #block-esetec-sportdetenteetloisirs {
        padding: 50px 20px !important;
    }
    #block-esetec-sportdetenteetloisirs .sport-layout-grid {
        flex-direction: column !important;
    }
    #block-esetec-sportdetenteetloisirs .sport-col-center {
        order: -1 !important;
        height: 320px !important;
    }
    #block-esetec-sportdetenteetloisirs .sport-col-left,
    #block-esetec-sportdetenteetloisirs .sport-col-right {
        gap: 18px !important;
    }
}

/* =====================================================
   BLOCK SANTÉ ET BIEN-ÊTRE
   Layout (reference image):
   LEFT  : Colored backdrop block + offset portrait photo
   RIGHT : Top = Title + Description (No button/link)
           Bottom = 2 sub-photos side by side
   ===================================================== */

#block-esetec-santeetbienetre,
.block-esetec-sante {
    font-family: 'Jost', sans-serif !important;
    background-color: #ffffff !important;
    padding: 80px 40px !important;
    overflow: visible !important;
}

#block-esetec-santeetbienetre .sante-container {
    max-width: 1140px !important;
    margin: 0 auto !important;
}

#block-esetec-santeetbienetre .sante-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 60px !important;
    position: relative !important;
}

/* ── LEFT COLUMN ── */
#block-esetec-santeetbienetre .sante-left-col {
    position: relative !important;
    flex: 0 0 45% !important;
    max-width: 45% !important;
    padding-top: 40px !important;
    padding-bottom: 40px !important;
}

/* Colored backdrop rectangle (matching reference image soft block behind photo) */
#block-esetec-santeetbienetre .sante-backdrop {
    position: absolute !important;
    top: 0 !important;
    left: -40px !important;
    width: 85% !important;
    height: 100% !important;
    background-color: #e5e9ec !important;
    border-radius: 4px !important;
    z-index: 1 !important;
}

/* Main portrait image wrapper offset over backdrop */
#block-esetec-santeetbienetre .sante-main-img-wrap {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    /* border-radius: 6px !important; */
    overflow: hidden !important;
    box-shadow: 0 12px 35px rgba(3, 46, 63, 0.12) !important;
}

#block-esetec-santeetbienetre .sante-main-img-wrap img {
    width: 100% !important;
    height: 600px !important;
    object-fit: cover !important;
    display: block !important;
}

/* ── RIGHT COLUMN ── */
#block-esetec-santeetbienetre .sante-right-col {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    gap: 80px !important;
    min-height: 480px !important;
}

/* Top Text Content */
#block-esetec-santeetbienetre .sante-text-content {
    margin-bottom: 35px !important;
}

#block-esetec-santeetbienetre .sante-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 50px !important;
    font-weight: 800 !important;
    color: #032e3f !important;
    line-height: 1.25 !important;
    margin-bottom: 20px !important;
}

#block-esetec-santeetbienetre .sante-desc {
    font-family: 'Jost', sans-serif !important;
    font-size: 18px !important;
    text-align: justify !important;
    color: #555555 !important;
    line-height: 1.75 !important;
    margin: 0 !important;
}

/* Bottom Sub-photos Row (2 side-by-side photos matching reference image) */
#block-esetec-santeetbienetre .sante-sub-photos-row {
    display: flex !important;
    gap: 20px !important;
}

#block-esetec-santeetbienetre .sante-sub-img-wrap {
    flex: 1 !important;
    /* border-radius: 6px !important; */
    overflow: hidden !important;
}

#block-esetec-santeetbienetre .sante-sub-img-wrap img {
    width: 100% !important;
    height: 230px !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.3s ease !important;
}

#block-esetec-santeetbienetre .sante-sub-img-wrap:hover img {
    transform: scale(1.03) !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 991px) {
    #block-esetec-santeetbienetre {
        padding: 50px 20px !important;
    }
    #block-esetec-santeetbienetre .sante-wrapper {
        flex-direction: column !important;
        gap: 40px !important;
    }
    #block-esetec-santeetbienetre .sante-left-col {
        flex: none !important;
        max-width: 100% !important;
        width: 100% !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    #block-esetec-santeetbienetre .sante-backdrop {
        display: none !important;
    }
    #block-esetec-santeetbienetre .sante-main-img-wrap img {
        height: 350px !important;
    }
    #block-esetec-santeetbienetre .sante-right-col {
        min-height: auto !important;
    }
    #block-esetec-santeetbienetre .sante-sub-img-wrap img {
        height: 140px !important;
    }
}

/* =====================================================
   BLOCK DES ÉVÉNEMENTS QUI FONT VIVRE LE CAMPUS
   Layout (reference image):
   LEFT  : Main top photo + Title + Subtitle + Description + Events list badges + Conclusion
   RIGHT : Light gray backdrop rectangle + 3-photo mosaic collage (2 top side-by-side, 1 bottom wide)
   ===================================================== */

#block-esetec-desevenementsquifontvivrelecampus,
.block-esetec-evenements {
    font-family: 'Jost', sans-serif !important;
    background-color: #ffffff !important;
    padding: 80px 40px !important;
    overflow: visible !important;
}

#block-esetec-desevenementsquifontvivrelecampus .evenements-container {
    max-width: 1140px !important;
    margin: 0 auto !important;
}

#block-esetec-desevenementsquifontvivrelecampus .evenements-wrapper {
    display: flex !important;
    align-items: flex-start !important;
    gap: 40px !important;
    position: relative !important;
}

/* ── LEFT COLUMN ── */
#block-esetec-desevenementsquifontvivrelecampus .evenements-left-col {
    flex: 0 0 46% !important;
    max-width: 46% !important;
}

/* Main Top Photo */
#block-esetec-desevenementsquifontvivrelecampus .evenements-main-img-wrap {
    width: 100% !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    margin-bottom: 30px !important;
    box-shadow: 0 10px 30px rgba(3, 46, 63, 0.1) !important;
}

#block-esetec-desevenementsquifontvivrelecampus .evenements-main-img-wrap img {
    width: 100% !important;
    height: 380px !important;
    object-fit: cover !important;
    display: block !important;
}

/* Text & Content */
#block-esetec-desevenementsquifontvivrelecampus .evenements-text-content {
    color: #333333 !important;
}

#block-esetec-desevenementsquifontvivrelecampus .evenements-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 45px !important;
    font-weight: 800 !important;
    color: #032e3f !important;
    line-height: 1.25 !important;
    margin-bottom: 12px !important;
}

#block-esetec-desevenementsquifontvivrelecampus .evenements-subtitle,
#block-esetec-desevenementsquifontvivrelecampus .evenements-desc,
#block-esetec-desevenementsquifontvivrelecampus .evenements-lead-in,
#block-esetec-desevenementsquifontvivrelecampus .evenements-conclusion {
    font-family: 'Jost', sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    font-style: normal !important;
    text-align: justify !important;
    color: #555555 !important;
    /* line-height: 1.7 !important;
    margin-bottom: 16px !important; */
}

#block-esetec-desevenementsquifontvivrelecampus .evenements-conclusion {
    margin-bottom: 0 !important;
}

/* Event Badges Grid */
#block-esetec-desevenementsquifontvivrelecampus .evenements-grid-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-bottom: 24px !important;
}

#block-esetec-desevenementsquifontvivrelecampus .evenements-item-badge {
    background-color: #f4f5f7 !important;
    border-left: 3px solid var(--couleur-principale, #a20d35) !important;
    padding: 10px 16px !important;
    border-radius: 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: #032e3f !important;
    transition: background-color 0.2s ease, transform 0.2s ease !important;
}

#block-esetec-desevenementsquifontvivrelecampus .evenements-item-badge:hover {
    background-color: #e9ecef !important;
    transform: translateY(-2px) !important;
}

#block-esetec-desevenementsquifontvivrelecampus .evenements-icon i {
    color: var(--couleur-principale, #a20d35) !important;
    font-size: 15px !important;
}

/* ── RIGHT COLUMN (Collage over backdrop) ── */
#block-esetec-desevenementsquifontvivrelecampus .evenements-right-col {
    position: relative !important;
    flex: 1 !important;
    min-height: 600px !important;
}

/* Light Gray Backdrop rectangle */
#block-esetec-desevenementsquifontvivrelecampus .evenements-backdrop {
    position: absolute !important;
    top: -20px !important;
    right: -100px !important;
    width: 85% !important;
    height: 900px !important;
    background-color: #f0f2f4 !important;
    border-radius: 8px !important;
    z-index: 1 !important;
}

/* Photo Mosaic Grid */
#block-esetec-desevenementsquifontvivrelecampus .evenements-collage-grid {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
}

#block-esetec-desevenementsquifontvivrelecampus .evenements-collage-img {
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12) !important;
}

#block-esetec-desevenementsquifontvivrelecampus .evenements-collage-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.3s ease !important;
}

#block-esetec-desevenementsquifontvivrelecampus .evenements-collage-img:hover img {
    transform: scale(1.03) !important;
}

/* Sub1: Top-Left */
#block-esetec-desevenementsquifontvivrelecampus .evenements-img-sub1 {
    height: 250px !important;
}

/* Sub2: Top-Right */
#block-esetec-desevenementsquifontvivrelecampus .evenements-img-sub2 {
    height: 250px !important;
}

/* Sub3: Bottom Wide (spans both columns) */
#block-esetec-desevenementsquifontvivrelecampus .evenements-img-sub3 {
    grid-column: 1 / -1 !important;
    height: 300px !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 991px) {
    #block-esetec-desevenementsquifontvivrelecampus {
        padding: 50px 20px !important;
    }
    #block-esetec-desevenementsquifontvivrelecampus .evenements-wrapper {
        flex-direction: column !important;
        gap: 40px !important;
    }
    #block-esetec-desevenementsquifontvivrelecampus .evenements-left-col {
        flex: none !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    #block-esetec-desevenementsquifontvivrelecampus .evenements-right-col {
        width: 100% !important;
        min-height: auto !important;
    }
    #block-esetec-desevenementsquifontvivrelecampus .evenements-backdrop {
        display: none !important;
    }
    #block-esetec-desevenementsquifontvivrelecampus .evenements-main-img-wrap img {
        height: 280px !important;
    }
    #block-esetec-desevenementsquifontvivrelecampus .evenements-img-sub1,
    #block-esetec-desevenementsquifontvivrelecampus .evenements-img-sub2 {
        height: 180px !important;
    }
    #block-esetec-desevenementsquifontvivrelecampus .evenements-img-sub3 {
        height: 200px !important;
    }
}

/* =====================================================
   BLOCK UN ENVIRONNEMENT POUR APPRENDRE, VIVRE ET CONSTRUIRE SON AVENIR
   Layout (reference image):
   BACKGROUND: Rich Dark Navy background (#032e3f)
   TOP       : White section title + soft white description
   CENTER    : 3x3 Photo grid + vibrant accent block (Bordeaux Red #a20d35) behind right side
   BOTTOM    : Notice bar + White pill CTA buttons
   ===================================================== */

#block-esetec-unenvironnementpourapprendrevivreetconstruiresonavenir,
.block-esetec-avenir {
    font-family: 'Jost', sans-serif !important;
    background-color: #032e3f !important;
    padding: 90px 40px !important;
    overflow: visible !important;
    position: relative !important;
}

#block-esetec-unenvironnementpourapprendrevivreetconstruiresonavenir .avenir-container {
    max-width: 1140px !important;
    margin: 0 auto !important;
}

/* ── TOP HEADER ── */
#block-esetec-unenvironnementpourapprendrevivreetconstruiresonavenir .avenir-header {
    /* text-align: center !important; */
    max-width: 1000px !important;
    margin: 0 auto 50px 0 !important;
}

#block-esetec-unenvironnementpourapprendrevivreetconstruiresonavenir .avenir-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 45px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    line-height: 1.25 !important;
    margin-bottom: 18px !important;
    /* text-align: center !important; */
}

#block-esetec-unenvironnementpourapprendrevivreetconstruiresonavenir .avenir-subtitle {
    font-family: 'Jost', sans-serif !important;
    font-size: 18px !important;
    color: rgba(255, 255, 255, 0.85) !important;
    line-height: 1.7 !important;
    margin: 0 auto !important;
    /* text-align: center !important; */
}

/* ── CENTER PHOTO GRID & ACCENT BACKDROP ── */
#block-esetec-unenvironnementpourapprendrevivreetconstruiresonavenir .avenir-grid-wrap {
    position: relative !important;
    /* max-width: 960px !important; */
    margin: 0 auto 50px auto !important;
}

/* Vibrant Accent Rectangle behind top-right of grid (matching reference image rectangle) */
#block-esetec-unenvironnementpourapprendrevivreetconstruiresonavenir .avenir-accent-block {
    position: absolute !important;
    top: -240px !important;
    right: -260px !important;
    width: 25% !important;
    height: 800px !important;
    background-color: var(--couleur-principale, #a20d35) !important;
    z-index: 1 !important;
    /* border-radius: 6px !important; */
}

/* Photo Grid 3x3 */
#block-esetec-unenvironnementpourapprendrevivreetconstruiresonavenir .avenir-photo-grid {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
}

#block-esetec-unenvironnementpourapprendrevivreetconstruiresonavenir .avenir-photo-item {
    border-radius: 6px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25) !important;
    background-color: #032e3f !important;
}

#block-esetec-unenvironnementpourapprendrevivreetconstruiresonavenir .avenir-photo-item img {
    width: 100% !important;
    height: 250px !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.3s ease !important;
}

#block-esetec-unenvironnementpourapprendrevivreetconstruiresonavenir .avenir-photo-item:hover img {
    transform: scale(1.05) !important;
}

/* ── BOTTOM CONTENT: NOTICE & CTA BUTTONS ── */
#block-esetec-unenvironnementpourapprendrevivreetconstruiresonavenir .avenir-bottom-content {
    max-width: 1000px !important;
    /* margin: 0 auto !important; */
    /* text-align: center !important; */
}

/* Notice Bar */
#block-esetec-unenvironnementpourapprendrevivreetconstruiresonavenir .avenir-notice-bar {
    background-color: rgba(255, 255, 255, 0.08) !important;
    border-left: 4px solid var(--couleur-principale, #a20d35) !important;
    padding: 16px !important;
    border-radius: 0 6px 6px 0 !important;
    margin-bottom: 35px !important;
    /* text-align: center !important; */
}

#block-esetec-unenvironnementpourapprendrevivreetconstruiresonavenir .avenir-notice-bar p {
    font-family: 'Jost', sans-serif !important;
    font-size: 14px !important;
    color: rgba(255, 255, 255, 0.9) !important;
    font-weight: 400 !important;
    margin: 0 !important;
    display: inline-flex !important;
    /* align-items: center !important; */
    gap: 10px !important;
}

#block-esetec-unenvironnementpourapprendrevivreetconstruiresonavenir .avenir-notice-bar i {
    color: var(--couleur-principale, #a20d35) !important;
    font-size: 16px !important;
}

/* CTA Buttons Group */
#block-esetec-unenvironnementpourapprendrevivreetconstruiresonavenir .avenir-btn-group {
    display: flex !important;
    justify-content: normal !important;
    align-items: center !important;
    gap: 18px !important;
    flex-wrap: wrap !important;
}

/* White Pill Button (matching reference image READ MORE button) */
#block-esetec-unenvironnementpourapprendrevivreetconstruiresonavenir .avenir-pill-btn {
    display: inline-block !important;
    background-color: #ffffff !important;
    color: #032e3f !important;
    font-family: 'Jost', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
    padding: 14px 34px !important;
    border-radius: 50px !important;
    text-decoration: none !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15) !important;
    transition: background-color 0.25s ease, color 0.25s ease, transform 0.2s ease !important;
}

#block-esetec-unenvironnementpourapprendrevivreetconstruiresonavenir .avenir-pill-btn:hover {
    background-color: var(--couleur-principale, #a20d35) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}

/* ── RESPONSIVE ── */
@media (max-width: 991px) {
    #block-esetec-unenvironnementpourapprendrevivreetconstruiresonavenir {
        padding: 60px 20px !important;
    }
    #block-esetec-unenvironnementpourapprendrevivreetconstruiresonavenir .avenir-accent-block {
        display: none !important;
    }
    #block-esetec-unenvironnementpourapprendrevivreetconstruiresonavenir .avenir-photo-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }
    #block-esetec-unenvironnementpourapprendrevivreetconstruiresonavenir .avenir-photo-item img {
        height: 160px !important;
    }
}

@media (max-width: 575px) {
    #block-esetec-unenvironnementpourapprendrevivreetconstruiresonavenir .avenir-photo-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================================
   BLOCK BESOIN D'INFORMATIONS - SPLIT SCREEN PHOTOGRAPHY STYLE LAYOUT
   ========================================================================== */
.block-esetec-besoin-info-split {
    position: relative !important;
    background-color: #ffffff !important;
    padding: 90px 0 110px 0 !important;
    overflow: hidden !important;
}

/* Dark Right Split Background Panel */
.block-esetec-besoin-info-split .besoin-info-right-dark-bg {
    position: absolute !important;
    top: 50px !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 50% !important;
    background-color: #282c34 !important; /* Charcoal dark slate matching reference image */
    z-index: 1 !important;
}

.block-esetec-besoin-info-split .besoin-info-split-container {
    position: relative !important;
    z-index: 5 !important;
    /* max-width: 1140px !important; */
    margin: 0 auto !important;
}

.block-esetec-besoin-info-split .besoin-info-split-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 30px !important;
}

/* 1. Left Text Column (White Background Side) */
.block-esetec-besoin-info-split .besoin-info-text-col {
    flex: 0 0 450px !important;
    max-width: 450px !important;
    padding-right: 15px !important;
    z-index: 10 !important;
}

.block-esetec-besoin-info-split .besoin-info-split-title {
    font-family: 'Jost', sans-serif !important;
    font-size: 35px !important;
    font-weight: 700 !important;
    color: #111111 !important;
    line-height: 1.25 !important;
    margin-bottom: 25px !important;
    letter-spacing: -0.5px !important;
}

.block-esetec-besoin-info-split .besoin-info-split-title i,
.block-esetec-besoin-info-split .besoin-info-split-title i.fa-solid {
    color: var(--couleur-principale, #a20d35) !important;
    /* margin-right: 12px !important; */
}

.block-esetec-besoin-info-split .besoin-info-split-desc {
    font-family: 'Jost', sans-serif !important;
    font-size: 22px !important;
    color: #444444 !important;
    line-height: 1.7 !important;
    margin-bottom: 35px !important;
}

/* Crisp Dark Rectangular Button matching "LEARN MORE" */
.block-esetec-besoin-info-split .btn-besoin-info-split {
    display: inline-block !important;
    padding: 16px 36px !important;
    background-color: #000000 !important;
    color: #ffffff !important;
    font-family: 'Jost', sans-serif !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    border-radius: 0px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
}

.block-esetec-besoin-info-split .btn-besoin-info-split:hover {
    background-color: var(--couleur-principale, #a20d35) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}

/* 2. Center Overlapping Portrait Photo Column (Straddling white/dark border) */
.block-esetec-besoin-info-split .besoin-info-photo-center-col {
    flex: 0 0 320px !important;
    max-width: 320px !important;
    z-index: 10 !important;
    margin-top: -50px !important; /* Protrudes above top of dark box */
}

.block-esetec-besoin-info-split .besoin-info-portrait-card {
    background: #ffffff !important;
    padding: 10px !important; /* Thick white border frame */
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.18) !important;
}

.block-esetec-besoin-info-split .besoin-info-portrait-card img {
    width: 100% !important;
    height: 420px !important;
    object-fit: cover !important;
    display: block !important;
}

/* 3. Right Photo in Dark Section Column */
.block-esetec-besoin-info-split .besoin-info-photo-right-col {
    flex: 0 0 340px !important;
    max-width: 340px !important;
    z-index: 10 !important;
    text-align: center !important;
}

.block-esetec-besoin-info-split .besoin-info-dark-card {
    background: #ffffff !important;
    padding: 10px !important; /* Thick white border frame */
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3) !important;
    margin-bottom: 12px !important;
}

.block-esetec-besoin-info-split .besoin-info-dark-card img {
    width: 100% !important;
    height: 320px !important;
    object-fit: cover !important;
    display: block !important;
}

.block-esetec-besoin-info-split .besoin-info-dark-caption {
    font-family: 'Jost', sans-serif !important;
    font-size: 13px !important;
    color: #8899a6 !important;
    letter-spacing: 0.5px !important;
}

/* Responsive Rules for Tablet and Mobile */
@media (max-width: 991px) {
    .block-esetec-besoin-info-split {
        padding: 50px 0 !important;
    }
    .block-esetec-besoin-info-split .besoin-info-right-dark-bg {
        width: 100% !important;
        top: 45% !important;
    }
    .block-esetec-besoin-info-split .besoin-info-split-row {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
    }
    .block-esetec-besoin-info-split .besoin-info-text-col,
    .block-esetec-besoin-info-split .besoin-info-photo-center-col,
    .block-esetec-besoin-info-split .besoin-info-photo-right-col {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        padding-right: 0 !important;
        margin-top: 0 !important;
    }
    .block-esetec-besoin-info-split .besoin-info-portrait-card img,
    .block-esetec-besoin-info-split .besoin-info-dark-card img {
        height: auto !important;
        max-height: 350px !important;
    }
}

/* ==========================================================================
   ESETEC FOOTER THEME (Base Xara 4-Column Footer Styling)
   ========================================================================== */
.site-footer.esetec-footer-theme {
    background: #02222f !important; /* ESETEC Deep Dark Navy */
    color: #cbd5e1 !important;
    font-family: 'Jost', sans-serif !important;
    position: relative;
    border-top: 4px solid var(--couleur-principale, #a20d35) !important;
    margin-top: 0 !important;
}

.site-footer.esetec-footer-theme .footer-main-section {
    padding-top: 70px !important;
    padding-bottom: 50px !important;
}

.site-footer.esetec-footer-theme .footer-brand-title {
    font-size: 28px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    letter-spacing: 1px !important;
    display: block !important;
    line-height: 1 !important;
}

.site-footer.esetec-footer-theme .footer-brand-sub {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: var(--couleur-principale, #a20d35) !important;
    letter-spacing: 3px !important;
    display: block !important;
    margin-top: 4px !important;
}

.site-footer.esetec-footer-theme .footer-about-text {
    font-size: 14.5px !important;
    line-height: 1.7 !important;
    color: #94a3b8 !important;
    margin-top: 15px !important;
}

.site-footer.esetec-footer-theme .footer-social-links {
    display: flex;
    gap: 12px;
}

.site-footer.esetec-footer-theme .footer-social-links a {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    color: #ffffff !important;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    text-decoration: none !important;
    transition: all 0.3s ease;
}

.site-footer.esetec-footer-theme .footer-social-links a:hover {
    background: var(--couleur-principale, #a20d35) !important;
    color: #ffffff !important;
    transform: translateY(-3px);
}

.site-footer.esetec-footer-theme .footer-widget-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin-bottom: 25px !important;
    position: relative;
    padding-bottom: 10px !important;
}

.site-footer.esetec-footer-theme .footer-widget-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 35px;
    height: 3px;
    background: var(--couleur-principale, #a20d35);
    border-radius: 2px;
}

.site-footer.esetec-footer-theme .footer-links {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.site-footer.esetec-footer-theme .footer-links li {
    margin-bottom: 12px !important;
}

.site-footer.esetec-footer-theme .footer-links a {
    color: #94a3b8 !important;
    font-size: 14.5px !important;
    text-decoration: none !important;
    transition: all 0.25s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.site-footer.esetec-footer-theme .footer-links a i {
    font-size: 11px !important;
    color: var(--couleur-principale, #a20d35) !important;
    transition: transform 0.25s ease !important;
}

.site-footer.esetec-footer-theme .footer-links a:hover {
    color: #ffffff !important;
    padding-left: 5px !important;
}

.site-footer.esetec-footer-theme .footer-links a:hover i {
    transform: translateX(3px);
}

.site-footer.esetec-footer-theme .footer-contact-info {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.site-footer.esetec-footer-theme .footer-contact-info li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin-bottom: 15px !important;
    color: #94a3b8 !important;
    font-size: 14.5px !important;
    line-height: 1.5 !important;
}

.site-footer.esetec-footer-theme .footer-contact-info i {
    color: var(--couleur-principale, #a20d35) !important;
    font-size: 16px !important;
    margin-top: 3px !important;
}

.site-footer.esetec-footer-theme .footer-bottom-bar {
    background: #011822 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.07) !important;
    font-size: 13.5px !important;
    color: #64748b !important;
}

.site-footer.esetec-footer-theme .copyright-text strong {
    color: #e2e8f0 !important;
}

.site-footer.esetec-footer-theme .footer-bottom-links {
    list-style: none !important;
    padding: 0 !important;
}

.site-footer.esetec-footer-theme .footer-bottom-links a {
    color: #64748b !important;
    text-decoration: none !important;
    font-size: 13px !important;
    transition: color 0.2s ease !important;
}

.site-footer.esetec-footer-theme .footer-bottom-links a:hover {
    color: #ffffff !important;
}

/* ==========================================================================
   CONTACT PAGE SPLIT SCREEN & FLOATING ASYMMETRIC CARD ("Get in touch!")
   ========================================================================== */
.contact-split-section {
    position: relative !important;
    background: #02222f !important; /* ESETEC Deep Dark Navy */
    padding-top: 80px !important;
    padding-bottom: 90px !important;
    font-family: 'Jost', sans-serif !important;
}

.contact-split-section .container {
    max-width: 1260px !important;
}

.contact-split-bg {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    display: flex !important;
    z-index: 0 !important;
}

.contact-split-bg .split-bg-left {
    width: 50% !important;
    background: #02222f !important; /* ESETEC Deep Dark Navy */
}

.contact-split-bg .split-bg-right {
    width: 50% !important;
    background: #e2e8f0 !important; /* Light Neutral Gray */
}

.contact-form-wrapper {
    padding-right: 40px !important;
}

.contact-form-title {
    font-size: 42px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    letter-spacing: -0.5px !important;
    margin-bottom: 12px !important;
}

.contact-title-line {
    width: 45px !important;
    height: 4px !important;
    background: var(--couleur-principale, #a20d35) !important;
    border-radius: 2px !important;
    margin-bottom: 35px !important;
}

/* Contact Form Inputs Styling */
#contact-message-feedback-form .form-item {
    margin-bottom: 22px !important;
}

#contact-message-feedback-form label {
    display: block !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #e2e8f0 !important;
    margin-bottom: 8px !important;
}

#contact-message-feedback-form input.form-text,
#contact-message-feedback-form input.form-email,
#contact-message-feedback-form textarea.form-textarea {
    width: 100% !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    padding: 14px 18px !important;
    font-size: 15px !important;
    color: #1e293b !important;
    outline: none !important;
    transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
}

#contact-message-feedback-form input.form-text:focus,
#contact-message-feedback-form input.form-email:focus,
#contact-message-feedback-form textarea.form-textarea:focus {
    border-color: var(--couleur-principale, #a20d35) !important;
    box-shadow: 0 0 0 3px rgba(162, 13, 53, 0.2) !important;
}

#contact-message-feedback-form #edit-actions {
    margin-top: 15px !important;
}

#contact-message-feedback-form input#edit-submit {
    background: var(--couleur-principale, #a20d35) !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 14px 38px !important;
    border-radius: 6px !important;
    border: none !important;
    cursor: pointer !important;
    /* box-shadow: 0 6px 20px rgba(162, 13, 53, 0.35) !important; */
    transition: all 0.3s ease !important;
}

#contact-message-feedback-form input#edit-submit:hover {
    background: #800a2a !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(162, 13, 53, 0.45) !important;
}

#contact-message-feedback-form input#edit-preview {
    display: none !important;
}

/* Floating Asymmetric White Card - Expanded Size */
.contact-floating-card {
    background: #ffffff !important;
    border-radius: 16px !important;
    box-shadow: 0 30px 60px -15px rgba(0, 0, 0, 0.22) !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
}

.contact-info-subcol {
    padding: 48px 42px !important;
    background: #ffffff !important;
}

.contact-info-inner p {
    font-size: 17px !important;
    color: #1e293b !important;
    line-height: 1.65 !important;
    margin-bottom: 20px !important;
}

.contact-info-inner p i {
    color: var(--couleur-principale, #a20d35) !important;
    font-size: 22px !important;
    /* margin-right: 12px !important; */
    vertical-align: middle !important;
}

.contact-info-inner a {
    color: #032e3f !important;
    text-decoration: none !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    transition: color 0.2s ease !important;
}

.contact-info-inner a:hover {
    color: var(--couleur-principale, #a20d35) !important;
}

.contact-info-inner ul {
    list-style: none !important;
    padding-left: 30px !important;
    margin-top: 10px !important;
    margin-bottom: 0 !important;
}

.contact-info-inner ul li {
    font-size: 15.5px !important;
    color: #475569 !important;
    margin-bottom: 7px !important;
    position: relative !important;
}

.contact-info-inner ul li::before {
    content: "•" !important;
    color: var(--couleur-principale, #a20d35) !important;
    font-weight: bold !important;
    font-size: 18px !important;
    display: inline-block !important;
    width: 1em !important;
    margin-left: -1em !important;
}

.contact-map-subcol {
    position: relative !important;
    min-height: 480px !important;
}

.contact-map-inner iframe {
    width: 100% !important;
    height: 100% !important;
    min-height: 480px !important;
    border: 0 !important;
}

@media (max-width: 991px) {
    .contact-split-bg .split-bg-left,
    .contact-split-bg .split-bg-right {
        width: 100% !important;
    }

    .contact-form-wrapper {
        padding-right: 0 !important;
        margin-bottom: 40px !important;
    }
}