/* =============================================
   BASE
   ============================================= */
body,
.elementor-page,
.e-con {
    background-color: #000000 !important;
}

body {
    color: #ffffff;
}

/* =============================================
   LINKEDIN ICON
   ============================================= */
.elementor-element-73be8b1 i,
.elementor-element-4ec4f6d i {
    font-family: 'Font Awesome 6 Brands' !important;
    font-weight: 400 !important;
    color: #ffffff;
    font-size: 26px;
    transition: color 0.3s ease;
}

.elementor-element-73be8b1 .elementor-icon,
.elementor-element-4ec4f6d .elementor-icon {
    color: #ffffff;
    transition: color 0.3s ease;
}

.elementor-element-73be8b1 a:hover i,
.elementor-element-4ec4f6d a:hover i,
.elementor-element-73be8b1 .elementor-icon:hover,
.elementor-element-4ec4f6d .elementor-icon:hover {
    color: #C5A059 !important;
}

/* =============================================
   GLOBAL RESPONSIVE — text overflow fix
   ============================================= */
.e-con,
.e-con-inner,
.elementor-widget-container {
    word-wrap: break-word;
    overflow-wrap: break-word;
    min-width: 0;
}

/* Bordered containers — prevent text from overflowing */
.e-con[style*="border"],
.e-con.e-con--row {
    box-sizing: border-box;
    overflow: hidden;
}

/* =============================================
   TABLET — max-width: 1024px
   ============================================= */
@media (max-width: 1024px) {

    /* Header : empile titre + nav verticalement */
    .elementor-element-container_lqa77jemw,
    .elementor-element-lqa77jemw {
        flex-direction: column !important;
        align-items: center !important;
        gap: 16px !important;
        padding: 16px !important;
    }

    /* Titre header plus petit */
    .elementor-element-7b757c1 .e-heading {
        font-size: 18px !important;
        text-align: center !important;
    }

    /* Navigation icônes : wrap */
    .elementor-element-widget_oasrl5gkr .elementor-icon-list-items {
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 8px !important;
    }

    /* Grille expertise : 2 colonnes */
    .elementor-element-container_iqaq6yfd7 {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }

    /* Parcours : empile les 2 colonnes */
    .elementor-element-container_4s1uoioyr {
        flex-direction: column !important;
        gap: 24px !important;
    }

    /* Padding général des sections */
    .elementor-element-container_1citnmer8,
    .elementor-element-container_vva4qfq5m,
    .elementor-element-container_2g46cculm,
    .elementor-element-container_u57id2qt6,
    .elementor-element-3ba7329,
    .elementor-element-dc0efba,
    .elementor-element-container_1vf118vbd {
        padding: 40px 20px !important;
    }

    /* Conteneurs intérieurs avec bordure */
    .elementor-element-container_4rl2zvs9a,
    .elementor-element-container_bnbtxr6hv,
    .elementor-element-container_kmvtzynjb {
        padding: 20px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    /* Texte dans conteneurs à bordure */
    .elementor-element-container_4rl2zvs9a *,
    .elementor-element-container_bnbtxr6hv *,
    .elementor-element-container_kmvtzynjb * {
        word-break: break-word !important;
        overflow-wrap: break-word !important;
        white-space: normal !important;
    }
}

/* =============================================
   MOBILE — max-width: 767px
   ============================================= */
@media (max-width: 767px) {

    /* Header : colonne, centré */
    .elementor-element-container_lqa77jemw,
    .elementor-element-lqa77jemw {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        padding: 12px 16px !important;
        gap: 12px !important;
    }

    /* Conteneur titre + LinkedIn */
    .elementor-element-container_66ktciurm {
        justify-content: center !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    /* Titre header */
    .elementor-element-7b757c1 .e-heading,
    .elementor-element-7b757c1 h1,
    .elementor-element-7b757c1 h2,
    .elementor-element-7b757c1 h3 {
        font-size: 15px !important;
        text-align: center !important;
        white-space: normal !important;
        word-break: break-word !important;
    }

    /* Nav : liste en colonne ou wrap */
    .elementor-element-container_w12ae229f {
        width: 100% !important;
        justify-content: center !important;
    }

    .elementor-element-widget_oasrl5gkr .elementor-icon-list-items {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 6px 12px !important;
    }

    .elementor-element-widget_oasrl5gkr .elementor-icon-list-item a {
        font-size: 12px !important;
    }

    /* Deuxième section ne se cache plus sous le header */
    .elementor-element-container_1citnmer8 {
        margin-top: 0 !important;
        padding-top: 24px !important;
    }

    /* Grille expertise : 1 colonne */
    .elementor-element-container_iqaq6yfd7 {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    /* Cartes expertise : padding + overflow */
    .elementor-element-container_4rl2zvs9a,
    .elementor-element-container_bnbtxr6hv,
    .elementor-element-container_kmvtzynjb {
        padding: 16px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        width: 100% !important;
    }

    /* Texte dans cartes à bordure */
    .elementor-element-container_4rl2zvs9a *,
    .elementor-element-container_bnbtxr6hv *,
    .elementor-element-container_kmvtzynjb * {
        word-break: break-word !important;
        overflow-wrap: break-word !important;
        white-space: normal !important;
        max-width: 100% !important;
    }

    /* Parcours : 1 colonne */
    .elementor-element-container_4s1uoioyr {
        flex-direction: column !important;
        gap: 20px !important;
    }

    .elementor-element-container_ycs4henwr,
    .elementor-element-container_qapnws5ri {
        width: 100% !important;
        flex-direction: column !important;
        gap: 16px !important;
    }

    /* Contact : colonnes en colonne */
    .elementor-element-container_dqg577rk6 {
        flex-direction: column !important;
        gap: 20px !important;
    }

    .elementor-element-container_bp8u72ix0,
    .elementor-element-container_ntvanwxen,
    .elementor-element-container_7igdt58z7 {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 16px !important;
        overflow: hidden !important;
    }

    /* Section À propos : colonne */
    .elementor-element-container_enmzwx0oc {
        flex-direction: column !important;
    }

    /* Sections padding général */
    .elementor-element-container_vva4qfq5m,
    .elementor-element-container_2g46cculm,
    .elementor-element-container_u57id2qt6,
    .elementor-element-3ba7329,
    .elementor-element-dc0efba,
    .elementor-element-container_1vf118vbd {
        padding: 30px 14px !important;
    }

    /* Images responsive */
    .elementor-widget-e-image img,
    .elementor-widget-image img {
        max-width: 100% !important;
        height: auto !important;
    }

    /* Eviter tout débordement horizontal */
    body {
        overflow-x: hidden !important;
    }
}
