.elementor-kit-1277{--e-global-color-primary:#0258A2;--e-global-color-secondary:#FFFFFF;--e-global-color-text:#093058;--e-global-color-accent:#1AA3E8;--e-global-color-0743704:#142355;--e-global-color-017ff3d:#0C1D49;--e-global-color-016c911:#0578EB;--e-global-color-b10bd99:#045CB4;--e-global-color-8e30246:#016FC8;--e-global-color-c3f6027:#F8F9FA;--e-global-color-26f3981:#F0F7FF;--e-global-color-208cdb2:#E0E0E0;--e-global-color-f89a6cd:#10B981;--e-global-color-fd3638b:#EF4444;--e-global-color-b14d29d:#142355;--e-global-color-789658a:#142355;--e-global-color-37c2218:#0578EB;--e-global-color-7214a9d:#F0F7FF;--e-global-color-883babb:#F8F9FA;--e-global-color-418691d:#00000000;--e-global-color-c5b25d5:#0258A252;--e-global-color-59aa828:#F59E0B;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Poppins";--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1em;--e-global-typography-949165f-font-family:"Montserrat";--e-global-typography-949165f-font-size:48px;--e-global-typography-949165f-font-weight:700;--e-global-typography-949165f-text-transform:capitalize;--e-global-typography-949165f-line-height:1.2em;--e-global-typography-7ad00dc-font-family:"Montserrat";--e-global-typography-7ad00dc-font-size:36px;--e-global-typography-7ad00dc-font-weight:700;--e-global-typography-7ad00dc-text-transform:capitalize;--e-global-typography-7ad00dc-line-height:1.25em;--e-global-typography-f52b06b-font-family:"Montserrat";--e-global-typography-f52b06b-font-size:28px;--e-global-typography-f52b06b-font-weight:600;--e-global-typography-f52b06b-text-transform:capitalize;--e-global-typography-f52b06b-line-height:1.3em;--e-global-typography-b4c6183-font-family:"Montserrat";--e-global-typography-b4c6183-font-size:22px;--e-global-typography-b4c6183-font-weight:600;--e-global-typography-b4c6183-text-transform:capitalize;--e-global-typography-b4c6183-line-height:1.3em;--e-global-typography-16d0b04-font-family:"Poppins";--e-global-typography-16d0b04-font-size:18px;--e-global-typography-16d0b04-font-weight:600;--e-global-typography-16d0b04-text-transform:capitalize;--e-global-typography-16d0b04-line-height:1.4em;--e-global-typography-8276574-font-family:"Poppins";--e-global-typography-8276574-font-size:16px;--e-global-typography-8276574-font-weight:500;--e-global-typography-8276574-text-transform:uppercase;--e-global-typography-8276574-line-height:1.4em;--e-global-typography-bd8d0ef-font-family:"Poppins";--e-global-typography-bd8d0ef-font-size:18px;--e-global-typography-bd8d0ef-font-weight:400;--e-global-typography-bd8d0ef-font-style:italic;--e-global-typography-bd8d0ef-line-height:1.7em;--e-global-typography-7f3a62c-font-family:"Poppins";--e-global-typography-7f3a62c-font-size:16px;--e-global-typography-7f3a62c-font-weight:600;--e-global-typography-7f3a62c-line-height:1.5em;background-color:var( --e-global-color-secondary );color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-kit-1277 button,.elementor-kit-1277 input[type="button"],.elementor-kit-1277 input[type="submit"],.elementor-kit-1277 .elementor-button{background-color:#0056B3;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );color:var( --e-global-color-secondary );border-radius:4px 4px 4px 4px;padding:16px 30px 16px 30px;}.elementor-kit-1277 button:hover,.elementor-kit-1277 button:focus,.elementor-kit-1277 input[type="button"]:hover,.elementor-kit-1277 input[type="button"]:focus,.elementor-kit-1277 input[type="submit"]:hover,.elementor-kit-1277 input[type="submit"]:focus,.elementor-kit-1277 .elementor-button:hover,.elementor-kit-1277 .elementor-button:focus{background-color:#004494;color:var( --e-global-color-secondary );border-radius:4px 4px 4px 4px;}.elementor-kit-1277 e-page-transition{background-color:#FFBC7D;}.elementor-kit-1277 a{font-family:"Poppins", Sans-serif;font-size:14px;font-weight:500;line-height:1.5em;letter-spacing:0.5px;}.elementor-kit-1277 a:hover{color:var( --e-global-color-secondary );}.elementor-kit-1277 h1{color:var( --e-global-color-primary );font-family:var( --e-global-typography-949165f-font-family ), Sans-serif;font-size:var( --e-global-typography-949165f-font-size );font-weight:var( --e-global-typography-949165f-font-weight );text-transform:var( --e-global-typography-949165f-text-transform );line-height:var( --e-global-typography-949165f-line-height );}.elementor-kit-1277 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-7ad00dc-font-family ), Sans-serif;font-size:var( --e-global-typography-7ad00dc-font-size );font-weight:var( --e-global-typography-7ad00dc-font-weight );text-transform:var( --e-global-typography-7ad00dc-text-transform );line-height:var( --e-global-typography-7ad00dc-line-height );}.elementor-kit-1277 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-f52b06b-font-family ), Sans-serif;font-size:var( --e-global-typography-f52b06b-font-size );font-weight:var( --e-global-typography-f52b06b-font-weight );text-transform:var( --e-global-typography-f52b06b-text-transform );line-height:var( --e-global-typography-f52b06b-line-height );}.elementor-kit-1277 label{color:var( --e-global-color-primary );font-family:var( --e-global-typography-7f3a62c-font-family ), Sans-serif;font-size:var( --e-global-typography-7f3a62c-font-size );font-weight:var( --e-global-typography-7f3a62c-font-weight );line-height:var( --e-global-typography-7f3a62c-line-height );}.elementor-kit-1277 input:not([type="button"]):not([type="submit"]),.elementor-kit-1277 textarea,.elementor-kit-1277 .elementor-field-textual{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );accent-color:var( --e-global-color-text );background-color:var( --e-global-color-secondary );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-208cdb2 );border-radius:18px 18px 18px 18px;padding:16px 30px 16px 30px;}.elementor-kit-1277 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-1277 textarea:focus,.elementor-kit-1277 .elementor-field-textual:focus{color:var( --e-global-color-text );accent-color:var( --e-global-color-text );background-color:var( --e-global-color-secondary );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1400px;}.e-con{--container-max-width:1400px;--container-default-padding-top:0px;--container-default-padding-right:15px;--container-default-padding-bottom:0px;--container-default-padding-left:15px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 25px;--widgets-spacing-row:20px;--widgets-spacing-column:25px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-1277{--e-global-typography-text-font-size:1rem;--e-global-typography-accent-font-size:1.063rem;--e-global-typography-949165f-font-size:3.5rem;--e-global-typography-7ad00dc-font-size:2.5rem;--e-global-typography-f52b06b-font-size:1.5rem;--e-global-typography-b4c6183-font-size:1.375rem;--e-global-typography-16d0b04-font-size:1.25rem;--e-global-typography-8276574-font-size:1.125rem;--e-global-typography-bd8d0ef-font-size:1.125rem;--e-global-typography-7f3a62c-font-size:1rem;}.elementor-kit-1277 h1{font-size:var( --e-global-typography-949165f-font-size );line-height:var( --e-global-typography-949165f-line-height );}.elementor-kit-1277 h2{font-size:var( --e-global-typography-7ad00dc-font-size );line-height:var( --e-global-typography-7ad00dc-line-height );}.elementor-kit-1277 h3{font-size:var( --e-global-typography-f52b06b-font-size );line-height:var( --e-global-typography-f52b06b-line-height );}.elementor-kit-1277 button,.elementor-kit-1277 input[type="button"],.elementor-kit-1277 input[type="submit"],.elementor-kit-1277 .elementor-button{line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-1277 label{font-size:var( --e-global-typography-7f3a62c-font-size );line-height:var( --e-global-typography-7f3a62c-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:90%;}.e-con{--container-max-width:90%;--container-default-padding-top:15px;--container-default-padding-right:15px;--container-default-padding-bottom:15px;--container-default-padding-left:15px;}}@media(max-width:767px){.elementor-kit-1277{--e-global-typography-text-font-size:0.9rem;--e-global-typography-accent-font-size:0.9rem;--e-global-typography-949165f-font-size:2rem;--e-global-typography-7ad00dc-font-size:1.5rem;--e-global-typography-f52b06b-font-size:1.25rem;--e-global-typography-b4c6183-font-size:1.125rem;--e-global-typography-16d0b04-font-size:1rem;--e-global-typography-8276574-font-size:0.938rem;--e-global-typography-bd8d0ef-font-size:1.063rem;--e-global-typography-7f3a62c-font-size:0.9rem;}.elementor-kit-1277 a{font-size:13px;line-height:1.5em;letter-spacing:0.5px;}.elementor-kit-1277 h1{font-size:var( --e-global-typography-949165f-font-size );line-height:var( --e-global-typography-949165f-line-height );}.elementor-kit-1277 h2{font-size:var( --e-global-typography-7ad00dc-font-size );line-height:var( --e-global-typography-7ad00dc-line-height );}.elementor-kit-1277 h3{font-size:var( --e-global-typography-f52b06b-font-size );line-height:var( --e-global-typography-f52b06b-line-height );}.elementor-kit-1277 button,.elementor-kit-1277 input[type="button"],.elementor-kit-1277 input[type="submit"],.elementor-kit-1277 .elementor-button{line-height:var( --e-global-typography-accent-line-height );padding:14px 28px 14px 28px;}.elementor-kit-1277 label{font-size:var( --e-global-typography-7f3a62c-font-size );line-height:var( --e-global-typography-7f3a62c-line-height );}.e-con{--container-default-padding-top:10px;--container-default-padding-right:10px;--container-default-padding-bottom:10px;--container-default-padding-left:10px;}}/* Start custom CSS *//* ========================================
   STRUCTURE OPTIMISÉE EEMCI
======================================== */

/* Smooth Scroll */
html {
    scroll-behavior: smooth;
}

/* Offset pour ancres (sticky nav) */
.elementor-element[id] {
    scroll-margin-top: 120px;
}

/* ========================================
   SIDEBAR STICKY OPTIMISÉE
======================================== */

/* Desktop : Sidebar sticky avec offset */
@media (min-width: 1025px) {
    .sidebar-sticky {
        position: sticky !important;
        top: 120px;
        align-self: flex-start;
        z-index: 98;
        max-height: calc(100vh - 140px);
        overflow-y: auto;
        transition: all 0.3s ease;
    }
    
    /* Scrollbar personnalisée */
    .sidebar-sticky::-webkit-scrollbar {
        width: 5px;
    }
    
    .sidebar-sticky::-webkit-scrollbar-track {
        background: #F7F9FB;
        border-radius: 10px;
    }
    
    .sidebar-sticky::-webkit-scrollbar-thumb {
        background: #0258A2;
        border-radius: 10px;
    }
    
    .sidebar-sticky::-webkit-scrollbar-thumb:hover {
        background: #0B3F6F;
    }
}

/* Tablette : Position normale */
@media (max-width: 1024px) and (min-width: 768px) {
    .sidebar-sticky {
        position: relative !important;
        width: 100%;
        margin-top: 40px;
    }
}

/* Mobile : Pleine largeur en bas */
@media (max-width: 767px) {
    .sidebar-sticky {
        position: relative !important;
        width: 100% !important;
        margin-top: 30px;
    }
}

/* Responsive Containers */
@media (max-width: 1024px) {
    .content-sidebar-wrapper {
        flex-direction: column !important;
    }
}

/* Gap uniforme */
.e-con-inner {
    gap: var(--container-gap, 40px);
}

/* ========================================
   ANIMATIONS & INTERACTIONS
======================================== */

/* Buttons Hover */
.elementor-button {
    transition: all 0.3s ease;
}

.elementor-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* Form Fields Focus */
.elementor-field-group input:focus,
.elementor-field-group textarea:focus {
    border-color: #0258A2 !important;
    box-shadow: 0 0 0 3px rgba(2,88,162,0.1) !important;
    outline: none;
    transition: all 0.3s ease;
}

/* Icon List Hover */
.elementor-icon-list-item {
    transition: all 0.2s ease;
}

.elementor-icon-list-item:hover {
    padding-left: 5px;
}

/* ========================================
   FORCER L'AFFICHAGE DES ÉLÉMENTS
======================================== */

/* Post Title visible */
.elementor-widget-theme-post-title,
.elementor-widget-theme-post-title .elementor-heading-title {
    display: block !important;
    visibility: visible !important;
}

/* Post Terms visible */
.elementor-widget-post-terms,
.elementor-widget-post-terms a {
    display: inline-block !important;
    visibility: visible !important;
}

/* Post Content visible */
.elementor-widget-theme-post-content {
    display: block !important;
    visibility: visible !important;
}

/* Tous les widgets visibles */
.elementor-widget-container {
    opacity: 1 !important;
}


/* ========== BASE COMMUNE - Bouton Arrow Animé EEMCI ========== */

.eemci-btn-arrow,
.eemci-btn-arrow-white,
.eemci-btn-arrow-colored{
    --btn-color: #0071E3;
    --arrow-color: #fff;
    --btn-size: 50px;
}

.eemci-btn-arrow .elementor-button,
.eemci-btn-arrow-white .elementor-button,
.eemci-btn-arrow-colored .elementor-button{
    position: relative !important;
    outline: none !important;
    border: 2px solid var(--btn-color) !important;
    border-radius: 50px !important;
    padding: 4px 20px 4px 5px !important;
    vertical-align: middle !important;
    text-decoration: none !important;
    background: transparent !important;
    box-shadow: none !important;
    font-family: 'Montserrat', 'Roboto', sans-serif !important;
    font-weight: 700 !important;
    min-height: var(--btn-size) !important;
    display: inline-flex !important;
    align-items: center !important;
    transition: all 0.5s cubic-bezier(0.65, 0, 0.076, 1) !important;
}

.eemci-btn-arrow .elementor-button-content-wrapper,
.eemci-btn-arrow-white .elementor-button-content-wrapper,
.eemci-btn-arrow-colored .elementor-button-content-wrapper{
    height: var(--btn-size);
    align-items: center;
    display: inline-flex !important;
    position: relative;
    padding: 0;
    margin: 0;
}

/* Cercle initial (à gauche) */
.eemci-btn-arrow .elementor-button-content-wrapper:before,
.eemci-btn-arrow-white .elementor-button-content-wrapper:before,
.eemci-btn-arrow-colored .elementor-button-content-wrapper:before{
    content: "";
    display: block;
    position: absolute;
    width: var(--btn-size);
    height: var(--btn-size);
    margin: 0;
    left: -0.5px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50px;
    transition: all 0.5s cubic-bezier(0.65, 0, 0.076, 1);
    z-index: 0;
}

/* Ligne horizontale avant la flèche */
.eemci-btn-arrow .elementor-button-text:before,
.eemci-btn-arrow-white .elementor-button-text:before,
.eemci-btn-arrow-colored .elementor-button-text:before{
    content: "";
    display: block;
    position: absolute;
    width: 16px;
    height: 2px;
    background: transparent;
    top: 50%;
    left: 10px;
    margin-top: -1px;
    transition: all 0.5s cubic-bezier(0.65, 0, 0.076, 1);
    z-index: 2;
}

/* Flèche chevron (dans le cercle) */
.eemci-btn-arrow .elementor-button-text:after,
.eemci-btn-arrow-white .elementor-button-text:after,
.eemci-btn-arrow-colored .elementor-button-text:after{
    content: "";
    position: absolute;
    width: 8px;
    height: 8px;
    top: 50%;
    left: 15px;
    margin-top: -4px;
    border-top: 2px solid var(--arrow-color);
    border-right: 2px solid var(--arrow-color);
    transform: rotate(45deg);
    transition: all 0.5s cubic-bezier(0.65, 0, 0.076, 1);
    z-index: 2;
}

/* Texte du bouton */
.eemci-btn-arrow .elementor-button-text,
.eemci-btn-arrow-white .elementor-button-text,
.eemci-btn-arrow-colored .elementor-button-text{
    font-size: 18px !important;
    padding-left: 60px !important;
    padding-right: 10px !important;
    position: relative;
    z-index: 1;
    transition: all 0.5s cubic-bezier(0.65, 0, 0.076, 1);
    font-weight: 600 !important;
    white-space: nowrap;
    letter-spacing: 0.5px;
    line-height: var(--btn-size);
}

/* ========== Animation au Survol (Commune) ========== */

.eemci-btn-arrow .elementor-button:hover,
.eemci-btn-arrow-white .elementor-button:hover{
    border-color: transparent !important;
}

.eemci-btn-arrow .elementor-button:hover .elementor-button-content-wrapper:before,
.eemci-btn-arrow-white .elementor-button:hover .elementor-button-content-wrapper:before{
    width: calc(100% + 30px);
    left: -10px;
    border-radius: 50px;
}

.eemci-btn-arrow .elementor-button:hover .elementor-button-text,
.eemci-btn-arrow-white .elementor-button:hover .elementor-button-text,
.eemci-btn-arrow-colored .elementor-button:hover .elementor-button-text{
    padding-left: 60px !important;
}

.eemci-btn-arrow .elementor-button:hover .elementor-button-text:before,
.eemci-btn-arrow-white .elementor-button:hover .elementor-button-text:before,
.eemci-btn-arrow-colored .elementor-button:hover .elementor-button-text:before{
    width: 20px;
}

.eemci-btn-arrow .elementor-button:hover .elementor-button-text:after,
.eemci-btn-arrow-white .elementor-button:hover .elementor-button-text:after,
.eemci-btn-arrow-colored .elementor-button:hover .elementor-button-text:after{
    left: 22px;
}

/* Désactiver animations conflictuelles */
.eemci-btn-arrow.elementor-animation-bob:hover,
.eemci-btn-arrow .elementor-animation-bob:hover,
.eemci-btn-arrow-white.elementor-animation-bob:hover,
.eemci-btn-arrow-white .elementor-animation-bob:hover,
.eemci-btn-arrow-colored.elementor-animation-bob:hover,
.eemci-btn-arrow-colored .elementor-animation-bob:hover{
    animation: none !important;
    transform: none !important;
}


/* ==================== VERSION 1 : BLEUE (Bordure bleue, fond transparent) ==================== */

.eemci-btn-arrow{
    --btn-color: #0071E3;
    --arrow-color: #fff;
}

.eemci-btn-arrow .elementor-button-content-wrapper:before{
    background: linear-gradient(140deg, #0071E3 42%, #25409E 100%);
    box-shadow: 0px 4px 15px rgba(0, 113, 227, 0.3);
}

.eemci-btn-arrow .elementor-button-text{
    color: #0071E3 !important;
}

.eemci-btn-arrow .elementor-button:hover .elementor-button-content-wrapper:before{
    box-shadow: 0px 6px 25px rgba(0, 113, 227, 0.5);
}

.eemci-btn-arrow .elementor-button:hover .elementor-button-text{
    color: #FFFFFF !important;
}

.eemci-btn-arrow .elementor-button:hover .elementor-button-text:before{
    background: #FFFFFF;
}

.eemci-btn-arrow .elementor-button:hover .elementor-button-text:after{
    border-color: #FFFFFF;
}


/* ==================== VERSION 2 : BLANCHE (Bordure blanche, fond transparent) ==================== */

.eemci-btn-arrow-white{
    --btn-color: #FFFFFF;
    --arrow-color: #0071E3;
}

.eemci-btn-arrow-white .elementor-button-content-wrapper:before{
    background: #FFFFFF;
    box-shadow: 0px 4px 15px rgba(255, 255, 255, 0.3);
}

.eemci-btn-arrow-white .elementor-button-text{
    color: #FFFFFF !important;
}

.eemci-btn-arrow-white .elementor-button:hover .elementor-button-content-wrapper:before{
    box-shadow: 0px 6px 25px rgba(255, 255, 255, 0.5);
}

.eemci-btn-arrow-white .elementor-button:hover .elementor-button-text{
    color: #0071E3 !important;
}

.eemci-btn-arrow-white .elementor-button:hover .elementor-button-text:before{
    background: #0071E3;
}

.eemci-btn-arrow-white .elementor-button:hover .elementor-button-text:after{
    border-color: #0071E3;
}


/* ==================== VERSION 3 : COLORÉE (Fond bleu clair #1AA3E8) ==================== */

.eemci-btn-arrow-colored{
    --btn-color: #1AA3E8;
    --arrow-color: #1AA3E8;
}

.eemci-btn-arrow-colored .elementor-button{
    background: #1AA3E8 !important;
    box-shadow: 0px 4px 15px rgba(26, 163, 232, 0.3) !important;
}

.eemci-btn-arrow-colored .elementor-button-content-wrapper:before{
    background: #FFFFFF;
    box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.1);
}

.eemci-btn-arrow-colored .elementor-button-text{
    color: #FFFFFF !important;
}

.eemci-btn-arrow-colored .elementor-button:hover{
    background: #FFFFFF !important;
    border-color: #1AA3E8 !important;
    box-shadow: 0px 6px 25px rgba(26, 163, 232, 0.4) !important;
}

.eemci-btn-arrow-colored .elementor-button:hover .elementor-button-content-wrapper:before{
    background: #1AA3E8;
    box-shadow: 0px 4px 15px rgba(26, 163, 232, 0.3);
}

.eemci-btn-arrow-colored .elementor-button:hover .elementor-button-text{
    color: #1AA3E8 !important;
}

.eemci-btn-arrow-colored .elementor-button:hover .elementor-button-text:before{
    background: #FFFFFF;
}

.eemci-btn-arrow-colored .elementor-button:hover .elementor-button-text:after{
    border-color: #FFFFFF;
}


/* ==================== RESPONSIVE ==================== */

/* Tablet */
@media (max-width: 1024px) {
    .eemci-btn-arrow,
    .eemci-btn-arrow-white,
    .eemci-btn-arrow-colored{
        --btn-size: 45px;
    }
    
    .eemci-btn-arrow .elementor-button-text,
    .eemci-btn-arrow-white .elementor-button-text,
    .eemci-btn-arrow-colored .elementor-button-text{
        font-size: 14px !important;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .eemci-btn-arrow,
    .eemci-btn-arrow-white,
    .eemci-btn-arrow-colored{
        --btn-size: 42px;
    }
    
    .eemci-btn-arrow .elementor-button,
    .eemci-btn-arrow-white .elementor-button,
    .eemci-btn-arrow-colored .elementor-button{
        padding: 4px 20px 4px 4px !important;
    }
    
    .eemci-btn-arrow .elementor-button-text,
    .eemci-btn-arrow-white .elementor-button-text,
    .eemci-btn-arrow-colored .elementor-button-text{
        font-size: 13px !important;
        padding-left: 50px !important;
    }
}

/* =====================================================
   EEMCI CAROUSEL — CSS Global Partagé
   Elementor → Site Settings → Custom CSS
   ===================================================== */

/* ── SUPPRIMER le préchargement par data-id ──
   (c'est lui qui cause le bug d'invisibilité)
   Le fade-in est géré directement dans le JS
   ─────────────────────────────────────────── */

/* ══════════════════════════════
   1. CONTAINERS
══════════════════════════════ */
.eemci-carousel-container.swiper,
.eemci-carousel-container-2.swiper {
  position      : relative;
  width         : 100%;
  margin        : 0 auto;
  overflow      : hidden;
  padding-bottom: 65px;
}

/* ══════════════════════════════
   2. WRAPPER
══════════════════════════════ */
.eemci-carousel-container .swiper-wrapper,
.eemci-carousel-container-2 .swiper-wrapper {
  display                   : flex;
  align-items               : stretch;
  box-sizing                : border-box;
  transition-timing-function: ease-out;
}

/* ══════════════════════════════
   3. SLIDES
══════════════════════════════ */
.eemci-carousel-container .swiper-slide,
.eemci-carousel-container-2 .swiper-slide {
  height        : auto;
  display       : flex;
  flex-direction: column;
  flex-shrink   : 0;
  box-sizing    : border-box;
  min-height    : 1px;
}

.eemci-carousel-container .swiper-slide > *,
.eemci-carousel-container-2 .swiper-slide > * {
  width: 100%;
  flex : 1;
}

/* ══════════════════════════════
   4. BOUTONS NAVIGATION — RONDS
══════════════════════════════ */
.eemci-nav-prev,
.eemci-nav-next,
.eemci-nav-prev-2,
.eemci-nav-next-2 {
  /* Dimensions fixes — parfaitement rond */
  width      : 48px !important;
  height     : 48px !important;
  min-width  : 48px !important;
  min-height : 48px !important;
  max-width  : 48px !important;
  max-height : 48px !important;

  /* Rond */
  border-radius: 50% !important;

  /* Bloquer l'étirement vertical */
  align-self : center !important;
  flex-shrink: 0 !important;
  flex-grow  : 0 !important;

  /* Position absolue — hors flux flex */
  position : absolute !important;
  top      : 50% !important;
  transform: translateY(-50%) !important;

  /* Style */
  background : #FFFFFF !important;
  color      : #0258A2 !important;
  box-shadow : 0 4px 16px rgba(2, 88, 162, 0.2) !important;
  cursor     : pointer !important;
  z-index    : 20 !important;

  /* Centrer l'icône */
  display        : flex !important;
  align-items    : center !important;
  justify-content: center !important;
  line-height    : 1 !important;

  transition: all 0.3s ease !important;
}

/* Positions */
.eemci-nav-prev,
.eemci-nav-prev-2 {
  left : 8px !important;
  right: auto !important;
}

.eemci-nav-next,
.eemci-nav-next-2 {
  right: 8px !important;
  left : auto !important;
}

/* Hover */
.eemci-nav-prev:hover,
.eemci-nav-next:hover,
.eemci-nav-prev-2:hover,
.eemci-nav-next-2:hover {
  background: #0578EB !important;
  color     : #FFFFFF !important;
  box-shadow: 0 6px 25px rgba(5, 120, 235, 0.35) !important;
  transform : translateY(-50%) scale(1.1) !important;
}

/* Désactivé */
.eemci-nav-prev.swiper-button-disabled,
.eemci-nav-next.swiper-button-disabled,
.eemci-nav-prev-2.swiper-button-disabled,
.eemci-nav-next-2.swiper-button-disabled {
  opacity       : 0.3 !important;
  pointer-events: none !important;
  background    : #F5F5F5 !important;
  box-shadow    : none !important;
}

/* Icône flèche Swiper */
.eemci-nav-prev::after,
.eemci-nav-next::after,
.eemci-nav-prev-2::after,
.eemci-nav-next-2::after {
  font-size  : 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  color      : inherit !important;
}

/* ══════════════════════════════
   5. PAGINATION
══════════════════════════════ */
.eemci-pagination,
.eemci-pagination-2 {
  position       : absolute;
  bottom         : 16px;
  left           : 50%;
  transform      : translateX(-50%);
  display        : flex;
  align-items    : center;
  justify-content: center;
  gap            : 8px;
  z-index        : 20;
}

.eemci-pagination .swiper-pagination-bullet,
.eemci-pagination-2 .swiper-pagination-bullet {
  width        : 10px;
  height       : 10px;
  background   : #E0E0E0;
  opacity      : 1;
  border-radius: 50%;
  cursor       : pointer;
  display      : block;
  transition   : all 0.3s ease;
}

.eemci-pagination .swiper-pagination-bullet:hover,
.eemci-pagination-2 .swiper-pagination-bullet:hover {
  background: #016FC8;
  transform : scale(1.2);
}

.eemci-pagination .swiper-pagination-bullet-active,
.eemci-pagination-2 .swiper-pagination-bullet-active {
  background   : #0258A2;
  width        : 28px;
  border-radius: 5px;
}

/* ══════════════════════════════
   6. ANIMATION ENTRÉE
══════════════════════════════ */
@keyframes eemciCarouselIn {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0);    }
}

.eemci-carousel-container.swiper-initialized,
.eemci-carousel-container-2.swiper-initialized {
  animation: eemciCarouselIn 0.4s ease-out;
}

/* ══════════════════════════════
   7. RESPONSIVE
══════════════════════════════ */

/* Mobile < 640px */
@media (max-width: 639px) {
  .eemci-carousel-container.swiper,
  .eemci-carousel-container-2.swiper {
    padding: 0 5px 55px;
  }
  .eemci-nav-prev,
  .eemci-nav-next,
  .eemci-nav-prev-2,
  .eemci-nav-next-2 {
    width     : 36px !important;
    height    : 36px !important;
    min-width : 36px !important;
    min-height: 36px !important;
    max-width : 36px !important;
    max-height: 36px !important;
  }
  .eemci-nav-prev::after,
  .eemci-nav-next::after,
  .eemci-nav-prev-2::after,
  .eemci-nav-next-2::after {
    font-size: 12px !important;
  }
  .eemci-pagination .swiper-pagination-bullet,
  .eemci-pagination-2 .swiper-pagination-bullet {
    width : 8px;
    height: 8px;
  }
  .eemci-pagination .swiper-pagination-bullet-active,
  .eemci-pagination-2 .swiper-pagination-bullet-active {
    width: 22px;
  }
}

/* Mobile large 640–767px */
@media (min-width: 640px) and (max-width: 767px) {
  .eemci-carousel-container.swiper,
  .eemci-carousel-container-2.swiper {
    padding: 0 10px 60px;
  }
  .eemci-nav-prev,
  .eemci-nav-next,
  .eemci-nav-prev-2,
  .eemci-nav-next-2 {
    width     : 42px !important;
    height    : 42px !important;
    min-width : 42px !important;
    min-height: 42px !important;
    max-width : 42px !important;
    max-height: 42px !important;
  }
}

/* Tablette 768–1024px */
@media (min-width: 768px) and (max-width: 1024px) {
  .eemci-carousel-container.swiper,
  .eemci-carousel-container-2.swiper {
    padding: 0 15px 65px;
  }
  .eemci-nav-prev,
  .eemci-nav-prev-2 { left: 10px !important; }
  .eemci-nav-next,
  .eemci-nav-next-2 { right: 10px !important; }
}

/* Desktop 1025px+ */
@media (min-width: 1025px) {
  .eemci-carousel-container.swiper,
  .eemci-carousel-container-2.swiper {
    padding: 0 15px 68px;
  }
  .eemci-nav-prev,
  .eemci-nav-next,
  .eemci-nav-prev-2,
  .eemci-nav-next-2 {
    width     : 52px !important;
    height    : 52px !important;
    min-width : 52px !important;
    min-height: 52px !important;
    max-width : 52px !important;
    max-height: 52px !important;
  }
  .eemci-nav-prev,
  .eemci-nav-prev-2 { left: 15px !important; }
  .eemci-nav-next,
  .eemci-nav-next-2 { right: 15px !important; }
}/* End custom CSS */