/* =========================================================
   STAGE-EMPLOI.CSS
   EFEBP — Stage & Insertion Professionnelle
   ========================================================= */

/* =========================================================
   HEADER EFEBP
   ========================================================= */

   .header{
    
    top:0;
    left:0;

    width:100%;
    height:90px;

    display:grid;
    grid-template-columns:180px 1fr auto;
    align-items:center;

    padding:0 40px;

    background:rgba(255,255,255,.96);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);

    box-shadow:0 3px 18px rgba(0,0,0,.08);

    z-index:1000;
}


/* =========================================================
   LOGO
   ========================================================= */

.logo{
    display:flex;
    align-items:center;
}

.logo a{
    display:flex;
    align-items:center;
}

.logo img{
    width:85px;
    height:auto;
    object-fit:contain;
}


/* =========================================================
   NAVIGATION
   ========================================================= */

   .navbar{
    display:flex;
    align-items:center;
    justify-content:center;
}

.navbar > ul{
    display:flex;
    align-items:center;
    justify-content:center;

    gap:35px;

    margin:0;
    padding:0;

    list-style:none;
}

.navbar > ul > li{
    position:relative;
}


/* Liens principaux */

.navbar > ul > li > a{
    text-decoration:none;
    color:#052F59;

    font-size:16px;
    font-weight:600;

    white-space:nowrap;

    transition:.3s;
    position:relative;

    padding:0;
}

.navbar > ul > li > a:hover{
    color:#F59F27;
}


/* Ligne sous le lien */

.navbar > ul > li > a::after{
    content:"";

    position:absolute;

    left:0;
    bottom:-8px;

    width:0;
    height:3px;

    background:#F59F27;

    transition:.3s;
}

.navbar > ul > li > a:hover::after,
.navbar > ul > li > a.active::after{
    width:100%;
}

/* =========================================================
   MENU DÉROULANT
   ========================================================= */


   .dropdown-menu{
    position:absolute;
    top:100%;
    left:0;

    min-width:260px;

    background:#fff;

    border-radius:10px;

    box-shadow:0 10px 25px rgba(0,0,0,.12);

    display:none;
    flex-direction:column;

    padding:10px 0;

    z-index:1000;
}

.dropdown-menu li{
    list-style:none;
    width:100%;
}

.dropdown-menu a{
    display:block;
    width:100%;

    padding:12px 18px;

    color:#052F59;

    font-size:16px;
    font-weight:600;

    text-decoration:none;
}

.dropdown-menu a::after{
    display:none;
}


.dropdown-menu a:hover{
    background:#F59F27;
    color:#fff;
}

.dropdown:hover .dropdown-menu{
    display:flex;
}

/* =========================================================
   BOUTONS À DROITE
   ========================================================= */

.buttons{
    display:flex;
    align-items:center;
    justify-content:flex-end;

    gap:12px;
}

.buttons a{
    display:flex;
    align-items:center;
    justify-content:center;

    gap:8px;

    text-decoration:none;

    font-size:14px;
    font-weight:600;

    transition:.3s ease;
}

.buttons i{
    font-size:15px;
}


/* =========================================================
   BOUTON BROCHURE
   ========================================================= */

.login{
    min-height:44px;

    padding:0 17px;

    border:2px solid #052F59;
    border-radius:10px;

    background:#fff;
    color:#052F59;
}

.login:hover{
    background:#052F59;
    color:#fff;

    transform:translateY(-2px);
}


/* =========================================================
   BOUTON CONNEXION
   ========================================================= */

.register{
    min-height:44px;

    padding:0 19px;

    border:2px solid #F59F27;
    border-radius:10px;

    background:#F59F27;
    color:#fff;
}

.register:hover{
    background:#D98612;
    border-color:#D98612;

    transform:translateY(-2px);
}


/* =========================================================
   BOUTON MENU MOBILE
   ========================================================= */

.menu-toggle{
    display:none;

    width:42px;
    height:42px;

    align-items:center;
    justify-content:center;

    border:0;
    border-radius:8px;

    background:transparent;
    color:#052F59;

    font-size:24px;

    cursor:pointer;
}


/* =========================================================
   OVERLAY MOBILE
   ========================================================= */

.menu-overlay{
    position:fixed;

    inset:0;

    background:rgba(0,0,0,.55);

    opacity:0;
    visibility:hidden;

    transition:.3s ease;

    z-index:1998;
}

.menu-overlay.active{
    opacity:1;
    visibility:visible;
}


/* =========================================================
   BOUTON FERMER
   ========================================================= */

.menu-close{
    display:none;
}


/* =========================================================
   TABLETTE / MOBILE
   ========================================================= */

@media(max-width:1000px){

    .header{
        height:75px;

        display:flex;
        align-items:center;
        justify-content:space-between;

        padding:0 22px;

        z-index:2000;
    }


    /* Logo */

    .logo img{
        width:72px;
    }


    /* Bouton hamburger */

    .menu-toggle{
        display:flex;

        margin-left:auto;

        position:relative;

        z-index:2001;
    }


    /* =====================================================
       MENU LATÉRAL
       ===================================================== */

    .navbar{
        position:fixed;

        top:0;
        right:0;

        width:72%;
        max-width:390px;
        height:100vh;

        display:block;

        background:#052F59;

        transform:translateX(100%);

        transition:transform .35s ease;

        overflow-y:auto;

        box-shadow:-10px 0 30px rgba(0,0,0,.20);

        z-index:2002;
    }


    .navbar.active{
        transform:translateX(0);
    }


    /* =====================================================
       BOUTON X
       ===================================================== */

    .menu-close{
        position:absolute;

        top:0;
        right:0;

        width:45px;
        height:45px;

        display:flex;

        align-items:center;
        justify-content:center;

        border:0;

        background:#F59F27;
        color:#052F59;

        font-size:24px;

        cursor:pointer;

        z-index:5;
    }


    /* =====================================================
       MENU PRINCIPAL MOBILE
       ===================================================== */

    .navbar > ul{
        width:100%;

        display:flex;
        flex-direction:column;

        gap:0;

        margin:0;

        padding:75px 25px 130px;
    }


    .navbar > ul > li{
        width:100%;

        border-bottom:1px solid rgba(255,255,255,.15);
    }


    .navbar > ul > li > a{
        display:flex;

        align-items:center;
        justify-content:space-between;

        width:100%;

        padding:17px 0;

        color:#fff;

        font-size:16px;
        font-weight:600;
    }


    .navbar > ul > li > a:hover{
        color:#F59F27;
    }


    /* Désactiver la ligne sous les liens */

    .navbar a::after{
        display:none !important;
    }


    /* =====================================================
       SOUS-MENUS MOBILE
       ===================================================== */

    .dropdown-menu{
        position:static;

        width:100%;
        min-width:0;

        display:none;

        padding:0;
        margin:0;

        background:rgba(0,0,0,.10);

        border-radius:0;

        box-shadow:none;
    }


    .dropdown.active > .dropdown-menu{
        display:flex;
        flex-direction:column;
    }


    /* Important :
       le hover ne doit pas ouvrir le menu sur téléphone */

    .dropdown:hover > .dropdown-menu{
        display:none;
    }

    .dropdown.active:hover > .dropdown-menu{
        display:flex;
    }


    .dropdown-menu::before{
        display:none;
    }


    .dropdown-menu li{
        width:100%;
    }


    .dropdown-menu a{
        display:block;

        width:100%;

        padding:13px 15px;

        color:#fff;

        font-size:14px;

        border-top:1px solid rgba(255,255,255,.10);
    }


    .dropdown-menu a:hover{
        background:rgba(255,255,255,.08);
        color:#F59F27;
    }


    /* =====================================================
       BOUTONS DANS LE MENU MOBILE
       ===================================================== */

    .buttons{
        position:fixed;

        right:0;
        bottom:0;

        width:72%;
        max-width:390px;

        display:none;
        flex-direction:column;

        gap:0;

        padding:5px 25px 20px;

        background:#052F59;

        z-index:2003;
    }


    .navbar.active ~ .buttons{
        display:flex;
    }


    .buttons a{
        width:100%;

        min-height:42px;

        display:flex;

        align-items:center;
        justify-content:flex-start;

        padding:11px 0;

        border:0;
        border-radius:0;

        background:transparent;

        color:#fff;

        font-size:15px;
    }


    .buttons a:hover{
        background:transparent;
        color:#F59F27;
    }


    .buttons .login,
    .buttons .register{
        border:0;
        background:transparent;
        color:#fff;
    }


    .buttons i{
        font-size:15px;
        margin-right:8px;
    }

}


/* =========================================================
   TÉLÉPHONE
   ========================================================= */

@media(max-width:600px){

    .header{
        height:70px;
        padding:0 16px;
    }


    .logo img{
        width:67px;
    }


    .navbar{
        width:78%;
        max-width:none;
    }


    .navbar > ul{
        padding-left:20px;
        padding-right:20px;
        padding-bottom:130px;
    }


    .buttons{
        width:78%;

        padding-left:20px;
        padding-right:20px;
    }


    .navbar > ul > li > a{
        font-size:15px;
        padding:16px 0;
    }

}


/* =========================================================
   TRÈS PETIT ÉCRAN
   ========================================================= */

@media(max-width:400px){

    .header{
        padding:0 14px;
    }


    .navbar{
        width:84%;
    }


    .buttons{
        width:84%;

        padding-left:18px;
        padding-right:18px;
    }


    .navbar > ul{
        padding-left:18px;
        padding-right:18px;
    }

}
/* =========================================================
   1. VARIABLES
   ========================================================= */

   :root{
    --primary:#052F59;
    --primary-dark:#031f3b;
    --secondary:#D88918;
    --secondary-dark:#b96f0f;

    --text:#5f6c7b;
    --text-dark:#263746;
    --bg:#f8f9fc;
    --white:#ffffff;
    --border:#e5e9ef;

    --radius:14px;
    --radius-small:8px;

    --shadow:0 10px 30px rgba(0,0,0,.08);
    --shadow-hover:0 18px 40px rgba(5,47,89,.14);

    --transition:.3s ease;
}


/* =========================================================
   2. RESET / BASE
   ========================================================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:Arial, Helvetica, sans-serif;
    color:var(--text);
    background:#fff;
    line-height:1.7;
    overflow-x:hidden;
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
    color:inherit;
}

ul{
    list-style:none;
}

button,
input,
select,
textarea{
    font-family:inherit;
}

button{
    cursor:pointer;
}

section{
    padding:80px 0;
}

.container{
    width:90%;
    max-width:1200px;
    margin:0 auto;
}

h1,
h2,
h3,
h4,
h5,
h6{
    color:var(--primary);
    line-height:1.25;
}

p{
    margin-bottom:15px;
}

::selection{
    background:var(--secondary);
    color:#fff;
}


/* =========================================================
   3. TITRES DE SECTIONS
   ========================================================= */

.section-title{
    text-align:center;
    max-width:800px;
    margin:0 auto 50px;
}

.section-title h2{
    font-size:2.4rem;
    margin:10px 0 18px;
}

.section-title h2 span,
.hero-content h1 span,
.support-header h2 span,
.numbers-intro h2 span{
    color:var(--secondary);
}

.section-title p{
    max-width:720px;
    margin:0 auto;
    color:var(--text);
}

.subtitle,
.section-subtitle{
    display:inline-block;
    color:var(--secondary);
    font-weight:700;
    font-size:.85rem;
    text-transform:uppercase;
    letter-spacing:1px;
}

.center{
    text-align:center;
}


/* =========================================================
   4. BOUTONS
   ========================================================= */

.btn-primary,
.btn-outline,
.career-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    padding:14px 28px;
    border-radius:30px;

    font-weight:600;
    font-size:.95rem;

    transition:var(--transition);
}

.btn-primary,
.career-link{
    background:var(--secondary);
    color:#fff;
    border:2px solid var(--secondary);
}

.btn-primary:hover,
.career-link:hover{
    background:var(--secondary-dark);
    border-color:var(--secondary-dark);
    transform:translateY(-2px);
}

.btn-outline{
    border:2px solid var(--primary);
    color:var(--primary);
    background:transparent;
}

.btn-outline:hover{
    background:var(--primary);
    color:#fff;
    transform:translateY(-2px);
}


/* =========================================================
   5. HERO
   ========================================================= */

.stage-hero{
    position:relative;
    min-height:90vh;

    display:flex;
    align-items:center;

    color:#fff;
    overflow:hidden;
}

.hero-background,
.hero-overlay{
    position:absolute;
    inset:0;
}

.hero-background{
    z-index:0;
}

.hero-background img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.hero-overlay{
    z-index:1;
    background:
        linear-gradient(
            90deg,
            rgba(5,47,89,.90),
            rgba(5,47,89,.70),
            rgba(5,47,89,.45)
        );
}

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

.hero-content{
    max-width:680px;
}

.hero-tag{
    display:inline-flex;
    align-items:center;
    gap:10px;

    margin-bottom:22px;
    padding:8px 16px;

    border:1px solid rgba(255,255,255,.35);
    border-radius:30px;

    background:rgba(255,255,255,.10);
    backdrop-filter:blur(8px);

    color:#fff;
    font-size:.85rem;
    font-weight:600;
}

.hero-content h1{
    color:#fff;
    font-size:3.6rem;
    line-height:1.12;
    margin-bottom:25px;
}

.hero-content p{
    max-width:650px;
    color:rgba(255,255,255,.92);
    font-size:1.05rem;
    margin-bottom:30px;
}

.hero-buttons{
    display:flex;
    align-items:center;
    gap:15px;
    flex-wrap:wrap;
}

.stage-hero .btn-outline{
    border-color:#fff;
    color:#fff;
}

.stage-hero .btn-outline:hover{
    background:#fff;
    color:var(--primary);
}


/* =========================================================
   6. CARTES FLOTTANTES HERO
   ========================================================= */

.hero-floating{
    position:absolute;
    right:5%;
    bottom:40px;

    z-index:3;

    display:grid;
    gap:15px;
}

.floating-card{
    min-width:220px;

    display:flex;
    align-items:center;
    gap:15px;

    padding:18px;

    background:#fff;
    color:var(--primary);

    border-radius:var(--radius);
    box-shadow:var(--shadow);
}

.floating-card > i{
    width:45px;
    height:45px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:rgba(216,137,24,.12);
    color:var(--secondary);

    font-size:1.1rem;
}

.floating-card h3{
    font-size:1.3rem;
    margin-bottom:2px;
}

.floating-card p{
    margin:0;
    font-size:.8rem;
    color:var(--text);
}


/* =========================================================
   7. INDICATEUR SCROLL
   ========================================================= */

.scroll-indicator{
    position:absolute;
    bottom:25px;
    left:50%;

    z-index:3;

    transform:translateX(-50%);

    display:flex;
    align-items:center;
    gap:8px;

    color:#fff;
    font-size:.8rem;
    opacity:.85;
}

.scroll-indicator i{
    animation:scrollDown 1.5s infinite;
}

@keyframes scrollDown{

    0%,
    100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(6px);
    }
}


/* =========================================================
   8. STRUCTURES EN 2 COLONNES
   ========================================================= */

.row,
.partners-intro,
.career-wrapper,
.graduate-story,
.support-header{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:50px;
    align-items:center;
}


/* =========================================================
   9. INTRODUCTION
   ========================================================= */

.stage-introduction{
    background:#fff;
}

.intro-image{
    position:relative;
}

.intro-image img{
    width:100%;
    height:700px;
    object-fit:cover;
    border-radius:var(--radius);
    box-shadow:var(--shadow);
}

.experience-box{
    position:absolute;
    right:-20px;
    bottom:25px;

    min-width:170px;

    padding:20px;

    background:var(--primary);
    color:#fff;

    border-radius:var(--radius);
    box-shadow:var(--shadow);
}

.experience-box h2{
    color:var(--secondary);
    font-size:2rem;
    margin-bottom:2px;
}

.experience-box span{
    color:#fff;
    font-size:.85rem;
}

.intro-content h2{
    font-size:2.3rem;
    margin:10px 0 20px;
}

.intro-content p{
    margin-bottom:18px;
}

.intro-features{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:15px;
    margin:25px 0;
}

.feature-item{
    display:flex;
    align-items:flex-start;
    gap:12px;

    background:#fff;
    border:1px solid var(--border);

    border-radius:var(--radius-small);
    padding:17px;

    transition:var(--transition);
}

.feature-item:hover{
    transform:translateY(-3px);
    box-shadow:var(--shadow);
}

.feature-item .icon{
    flex:0 0 35px;
    width:35px;
    height:35px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:rgba(216,137,24,.12);
    color:var(--secondary);
}

.feature-item h4{
    font-size:.95rem;
    margin-bottom:4px;
}

.feature-item p{
    margin:0;
    font-size:.8rem;
}

.intro-buttons{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}


/* =========================================================
   10. ACCOMPAGNEMENT
   ========================================================= */

.career-support{
    background:var(--bg);
}

.support-header{
    margin-bottom:45px;
}

.support-header h2{
    font-size:2.4rem;
    margin-top:10px;
}

.support-header-right p{
    margin:0;
}

.support-list{
    display:grid;
    gap:18px;
}

.support-item{
    display:grid;
    grid-template-columns:65px 55px 1fr 40px;
    align-items:center;
    gap:20px;

    padding:25px;

    background:#fff;

    border:1px solid var(--border);
    border-radius:var(--radius);

    box-shadow:0 5px 20px rgba(0,0,0,.04);

    transition:var(--transition);
}

.support-item:hover{
    transform:translateX(5px);
    box-shadow:var(--shadow);
}

.support-number{
    font-size:1.5rem;
    font-weight:800;
    color:var(--secondary);
}

.support-icon{
    width:50px;
    height:50px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:rgba(5,47,89,.08);
    color:var(--primary);

    font-size:1.1rem;
}

.support-content span{
    color:var(--secondary);
    text-transform:uppercase;
    font-size:.75rem;
    font-weight:700;
    letter-spacing:.7px;
}

.support-content h3{
    margin:4px 0 7px;
    font-size:1.1rem;
}

.support-content p{
    margin:0;
    font-size:.9rem;
}

.support-arrow{
    color:var(--secondary);
    font-size:1.1rem;
}


/* =========================================================
   11. BANDEAU MESSAGE
   ========================================================= */

.career-message{
    background:var(--primary);
    color:#fff;
}

.career-message-content{
    display:grid;
    grid-template-columns:70px 1fr auto;
    align-items:center;
    gap:25px;
}

.career-message-icon{
    width:55px;
    height:55px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:rgba(255,255,255,.1);
    color:var(--secondary);

    font-size:1.2rem;
}

.career-message-text span{
    color:var(--secondary);
    text-transform:uppercase;
    font-weight:700;
    font-size:.8rem;
}

.career-message h2{
    color:#fff;
    font-size:1.8rem;
    margin:5px 0 8px;
}

.career-message p{
    color:rgba(255,255,255,.75);
    margin:0;
}

.career-message-action{
    white-space:nowrap;
}


/* =========================================================
   12. CHIFFRES CLÉS
   ========================================================= */

.stage-key-numbers{
    background:#fff;
}

.numbers-wrapper{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:60px;
    align-items:center;
}

.numbers-intro h2{
    font-size:2.3rem;
    margin:10px 0 18px;
}

.numbers-intro p{
    margin-bottom:25px;
}

.numbers-link{
    display:inline-flex;
    align-items:center;
    gap:8px;

    color:var(--primary);
    font-weight:700;

    transition:var(--transition);
}

.numbers-link:hover{
    color:var(--secondary);
}

.numbers-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}

.number-item{
    background:#fff;
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:28px;

    box-shadow:var(--shadow);

    transition:var(--transition);
}

.number-item:hover{
    transform:translateY(-5px);
    box-shadow:var(--shadow-hover);
}

.number-item strong{
    display:block;
    color:var(--primary);
    font-size:2.5rem;
    line-height:1;
    margin-bottom:10px;
}

.number-item strong sup{
    color:var(--secondary);
    font-size:1.3rem;
}

.number-item > span{
    display:block;
    color:var(--primary);
    font-weight:700;
    margin-bottom:8px;
}

.number-item p{
    margin:0;
    font-size:.85rem;
}


/* =========================================================
   13. TRANSITION
   ========================================================= */

.stage-transition{
    min-height:420px;

    display:flex;
    align-items:center;

    background:
        linear-gradient(
            rgba(5,47,89,.90),
            rgba(5,47,89,.90)
        ),
        url("../images/stage-emploi/transition.jpg")
        center/cover no-repeat;

    text-align:center;
    color:#fff;
}

.transition-content{
    max-width:750px;
    margin:auto;
}

.transition-content > span{
    color:var(--secondary);
    text-transform:uppercase;
    font-weight:700;
    font-size:.85rem;
    letter-spacing:1px;
}

.transition-content h2{
    color:#fff;
    font-size:2.7rem;
    margin:12px 0 18px;
}

.transition-content p{
    color:rgba(255,255,255,.85);
    margin-bottom:25px;
}

.transition-content a{
    display:inline-flex;
    align-items:center;
    gap:10px;

    color:#fff;
    font-weight:700;

    transition:var(--transition);
}

.transition-content a:hover{
    color:var(--secondary);
}


/* =========================================================
   14. TIMELINE STAGE
   ========================================================= */

.stage-process{
    background:var(--bg);
}

.timeline{
    position:relative;
    max-width:1000px;
    margin:0 auto;
    padding:20px 0;
}

.timeline:before{
    content:"";

    position:absolute;
    left:50%;
    top:0;
    bottom:0;

    width:3px;

    background:linear-gradient(
        to bottom,
        var(--secondary),
        var(--primary)
    );

    transform:translateX(-50%);
}

.timeline-item{
    position:relative;
    width:50%;
    padding:20px 45px 20px 20px;
}

.timeline-item.right{
    margin-left:50%;
    padding:20px 20px 20px 45px;
}

.timeline-icon{
    position:absolute;
    top:25px;
    right:-20px;

    width:40px;
    height:40px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:var(--secondary);
    color:#fff;

    border:5px solid var(--bg);

    z-index:2;
}

.timeline-item.right .timeline-icon{
    left:-20px;
    right:auto;
}

.timeline-card{
    background:#fff;
    border-radius:var(--radius);
    padding:25px;

    box-shadow:var(--shadow);

    transition:var(--transition);
}

.timeline-card:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow-hover);
}

.timeline-card > span{
    color:var(--secondary);
    text-transform:uppercase;
    font-size:.75rem;
    font-weight:700;
}

.timeline-card h3{
    margin:7px 0 10px;
    font-size:1.15rem;
}

.timeline-card p{
    margin:0;
    font-size:.9rem;
}

.process-quote{
    max-width:850px;
    margin:50px auto 0;

    display:flex;
    align-items:flex-start;
    gap:20px;

    padding:30px;

    background:var(--primary);
    border-radius:var(--radius);

    color:#fff;
}

.quote-icon{
    flex:0 0 45px;
    width:45px;
    height:45px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:rgba(216,137,24,.18);
    color:var(--secondary);
}

.quote-content h3{
    color:#fff;
    margin-bottom:8px;
}

.quote-content p{
    color:rgba(255,255,255,.8);
    margin:0;
}


/* =========================================================
   15. PARTENAIRES
   ========================================================= */
   .partners-image{
    width:100%;
    height:600px;
    overflow:hidden;
    border-radius:14px;
}

.partners-image video{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center 20%;
    border-radius:14px;
}


.partners-section{
    background:#fff;
}

.partners-intro{
    margin-bottom:50px;
}

.partners-image img{
    width:100%;
    height:400px;
    object-fit:cover;
    border-radius:var(--radius);
    box-shadow:var(--shadow);
}

.partners-content h3{
    font-size:1.9rem;
    margin-bottom:18px;
}

.partners-content ul{
    display:grid;
    gap:10px;
    margin-top:20px;
}

.partners-content li{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:.9rem;
}

.partners-content li i{
    color:var(--secondary);
}

.partners-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.partner-card{
    min-height:130px;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:20px;

    background:#fff;

    border:1px solid var(--border);
    border-radius:var(--radius);

    box-shadow:0 5px 20px rgba(0,0,0,.04);

    transition:var(--transition);
}

.partner-card:hover{
    transform:translateY(-5px);
    box-shadow:var(--shadow);
}

.partner-card img{
    max-width:150px;
    max-height:80px;
    width:auto;
    height:auto;
    object-fit:contain;
}

.partner-banner{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;

    margin-top:40px;
    padding:30px;

    background:var(--primary);
    border-radius:var(--radius);

    color:#fff;
}

.banner-item{
    text-align:center;
    padding:10px 20px;
}

.banner-item i{
    color:var(--secondary);
    font-size:1.5rem;
    margin-bottom:10px;
}

.banner-item h3{
    color:#fff;
    font-size:1.2rem;
    margin-bottom:5px;
}

.banner-item span{
    color:rgba(255,255,255,.75);
    font-size:.85rem;
}


/* =========================================================
   16. GALERIE DES STAGES
   ========================================================= */

.intern-gallery{
    background:var(--bg);
}

.company-stage{
    margin-bottom:60px;
}

.company-stage:last-child{
    margin-bottom:0;
}

.company-header{
    display:grid;
    grid-template-columns:230px 1fr;
    gap:30px;
    align-items:center;

    margin-bottom:25px;

    padding:25px;

    background:#fff;

    border-radius:var(--radius);
    box-shadow:var(--shadow);
}

.company-header > img{
    width:230px;
    height:150px;
    object-fit:cover;
    border-radius:var(--radius-small);
}

.company-header h3{
    font-size:1.5rem;
    margin-bottom:5px;
}

.company-header span{
    display:block;
    color:var(--secondary);
    font-size:.8rem;
    font-weight:700;
    margin-bottom:10px;
}

.company-header p{
    margin:0;
    font-size:.9rem;
}

.interns-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.intern-card{
    overflow:hidden;
    padding:0;

    background:#fff;

    border-radius:var(--radius);
    box-shadow:var(--shadow);

    transition:var(--transition);
}

.intern-card:hover{
    transform:translateY(-5px);
    box-shadow:var(--shadow-hover);
}

.intern-card > img{
    width:100%;
    height:250px;
    object-fit:cover;
}

.intern-info{
    padding:20px;
}

.intern-info h4{
    margin-bottom:4px;
    font-size:1rem;
}

.intern-info span{
    color:var(--secondary);
    font-size:.8rem;
    font-weight:700;
}

.intern-info p{
    margin:7px 0 0;
    font-size:.85rem;
}


/* =========================================================
   17. DIPLÔMÉS RECRUTÉS
   ========================================================= */

.graduates-section{
    background:#fff;
}

.graduate-story{
    margin-bottom:70px;
}

.graduate-story.reverse .graduate-photo{
    order:2;
}

.graduate-story.reverse .graduate-content{
    order:1;
}

.graduate-photo img{
    width:100%;
    height:450px;
    object-fit:cover;
    border-radius:var(--radius);
    box-shadow:var(--shadow);
}

.graduate-content{
    padding:10px;
}

.status{
    display:inline-flex;
    align-items:center;
    gap:8px;

    padding:7px 14px;

    border-radius:30px;

    background:rgba(40,167,69,.1);
    color:#218838;

    font-size:.75rem;
    font-weight:700;
}

.status i{
    font-size:.55rem;
}

.graduate-content h3{
    font-size:2rem;
    margin:15px 0 5px;
}

.graduate-content h4{
    color:var(--secondary);
    font-size:1rem;
    margin-bottom:20px;
}

.graduate-content ul{
    display:grid;
    gap:8px;
    margin-bottom:20px;
}

.graduate-content li{
    font-size:.9rem;
}

.graduate-content blockquote{
    padding:18px 20px;

    border-left:4px solid var(--secondary);

    background:var(--bg);

    border-radius:0 var(--radius-small) var(--radius-small) 0;

    color:var(--text-dark);
    font-style:italic;
}

.employment-stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;

    margin-top:20px;
}

.stat-card{
    text-align:center;
    padding:30px 20px;

    background:#fff;

    border:1px solid var(--border);
    border-radius:var(--radius);

    box-shadow:var(--shadow);
}

.stat-card h2{
    color:var(--secondary);
    font-size:2.2rem;
    margin-bottom:5px;
}

.stat-card span{
    color:var(--primary);
    font-size:.85rem;
    font-weight:700;
}


/* =========================================================
   18. ESPACE CANDIDATURE
   ========================================================= */

.career-portal{
    background:var(--bg);
}

.career-wrapper{
    align-items:start;
}

.career-left{
    display:grid;
    gap:20px;
}

.info-box{
    padding:25px;

    background:#fff;

    border:1px solid var(--border);
    border-radius:var(--radius);

    box-shadow:var(--shadow);

    transition:var(--transition);
}

.info-box:hover{
    transform:translateY(-3px);
}

.info-box > i{
    width:48px;
    height:48px;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:15px;

    border-radius:50%;

    background:rgba(216,137,24,.12);
    color:var(--secondary);

    font-size:1.1rem;
}

.info-box h3{
    margin-bottom:8px;
    font-size:1.15rem;
}

.info-box p{
    margin:0;
    font-size:.9rem;
}


/* =========================================================
   19. FORMULAIRE
   ========================================================= */

.career-form{
    padding:35px;

    background:#fff;

    border-radius:var(--radius);
    box-shadow:var(--shadow);
}

.form-row{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
    margin-bottom:20px;
}

.input-group{
    margin-bottom:20px;
}

.input-group label{
    display:block;

    color:var(--primary);
    font-size:.85rem;
    font-weight:700;
}

input,
select,
textarea{
    width:100%;

    padding:13px 14px;

    margin-top:7px;

    border:1px solid #dfe3e8;
    border-radius:var(--radius-small);

    background:#fff;

    color:var(--text-dark);

    outline:none;

    transition:var(--transition);
}

input:focus,
select:focus,
textarea:focus{
    border-color:var(--secondary);
    box-shadow:0 0 0 3px rgba(216,137,24,.12);
}

textarea{
    resize:vertical;
    min-height:140px;
}

.upload-title{
    margin:25px 0 15px;
    font-size:1.15rem;
}

.upload-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:15px;
    margin-bottom:25px;
}

.upload-box{
    position:relative;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    min-height:145px;

    padding:20px;

    text-align:center;

    background:#fff;

    border:2px dashed #dfe3e8;
    border-radius:var(--radius-small);

    transition:var(--transition);
}

.upload-box:hover{
    border-color:var(--secondary);
    background:rgba(216,137,24,.03);
}

.upload-box i{
    color:var(--secondary);
    font-size:1.7rem;
    margin-bottom:10px;
}

.upload-box span{
    display:block;
    color:var(--primary);
    font-size:.85rem;
    font-weight:700;
    margin-bottom:8px;
}

.upload-box input[type="file"]{
    padding:5px;
    border:0;
    box-shadow:none;
    font-size:.7rem;
}

.submit-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    background:var(--secondary);
    color:#fff;

    border:0;

    padding:15px 30px;

    border-radius:30px;

    font-weight:700;

    transition:var(--transition);
}

.submit-btn:hover{
    background:var(--secondary-dark);
    transform:translateY(-2px);
}


/* =========================================================
   20. TÉMOIGNAGES
   ========================================================= */

.testimonials-section{
    background:#fff;
}

.testimonials-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.testimonial-card{
    padding:25px;

    background:#fff;

    border:1px solid var(--border);
    border-radius:var(--radius);

    box-shadow:var(--shadow);

    transition:var(--transition);
}

.testimonial-card:hover{
    transform:translateY(-5px);
    box-shadow:var(--shadow-hover);
}

.testimonial-header{
    display:flex;
    align-items:center;
    gap:12px;

    margin-bottom:20px;
}

.testimonial-header img{
    width:55px;
    height:55px;

    border-radius:50%;

    object-fit:cover;
}

.testimonial-header h3{
    font-size:1rem;
    margin-bottom:2px;
}

.testimonial-header span{
    font-size:.7rem;
    color:var(--secondary);
}

.testimonial-card > p{
    font-size:.9rem;
    font-style:italic;
    margin-bottom:20px;
}

.stars{
    display:flex;
    gap:4px;
    color:var(--secondary);
    font-size:.8rem;
}


/* =========================================================
   21. FAQ
   ========================================================= */

.faq-section{
    background:var(--bg);
}

.faq-list{
    max-width:900px;
    margin:0 auto;

    display:grid;
    gap:15px;
}

.faq-item{
    padding:25px;

    background:#fff;

    border:1px solid var(--border);
    border-radius:var(--radius);

    box-shadow:0 5px 20px rgba(0,0,0,.04);
}

.faq-item h3{
    position:relative;

    padding-right:35px;

    font-size:1rem;
    margin-bottom:10px;
}

.faq-item h3:after{
    content:"+";

    position:absolute;
    right:0;
    top:0;

    color:var(--secondary);
    font-size:1.3rem;
}

.faq-item p{
    margin:0;
    font-size:.9rem;
}


/* =========================================================
   22. CTA FINAL
   ========================================================= */

.career-cta{
    background:var(--primary);
    color:#fff;
    text-align:center;
}

.cta-content{
    max-width:800px;
    margin:auto;
}

.cta-content > span{
    display:inline-block;

    color:var(--secondary);

    text-transform:uppercase;
    font-size:.8rem;
    font-weight:700;
    letter-spacing:1px;
}

.cta-content h2{
    color:#fff;
    font-size:2.5rem;
    margin:12px 0 18px;
}

.cta-content p{
    color:rgba(255,255,255,.8);
    margin-bottom:28px;
}

.cta-buttons{
    display:flex;
    justify-content:center;
    gap:15px;
    flex-wrap:wrap;
}

.career-cta .btn-outline{
    border-color:#fff;
    color:#fff;
}

.career-cta .btn-outline:hover{
    background:#fff;
    color:var(--primary);
}


/* =========================================================
   23. CONTACT STAGE & EMPLOI
   ========================================================= */

.career-contact{
    background:#fff;
}

.contact-box{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.contact-item{
    display:flex;
    align-items:center;
    gap:15px;

    padding:25px;

    background:#fff;

    border:1px solid var(--border);
    border-radius:var(--radius);

    box-shadow:var(--shadow);
}

.contact-item > i{
    width:45px;
    height:45px;

    display:flex;
    align-items:center;
    justify-content:center;

    flex:0 0 45px;

    border-radius:50%;

    background:rgba(216,137,24,.12);
    color:var(--secondary);
}

.contact-item h3{
    font-size:.95rem;
    margin-bottom:3px;
}

.contact-item p{
    margin:0;
    font-size:.8rem;
}


/* =========================================================
   24. UTILITAIRES
   ========================================================= */

.text-center{
    text-align:center;
}

.mb-0{
    margin-bottom:0 !important;
}

.mt-0{
    margin-top:0 !important;
}


/* =========================================================
   25. TABLETTE — 992 PX
   ========================================================= */

@media(max-width:992px){

    section{
        padding:70px 0;
    }

    .container{
        width:92%;
    }

    .hero-content h1{
        font-size:3rem;
    }

    .hero-floating{
        display:none;
    }

    .row,
    .partners-intro,
    .career-wrapper,
    .graduate-story,
    .support-header,
    .numbers-wrapper{
        grid-template-columns:1fr;
        gap:35px;
    }

    .intro-image{
        max-width:700px;
        margin:auto;
    }

    .intro-content{
        max-width:800px;
        margin:auto;
    }

    .support-header{
        align-items:start;
    }

    .numbers-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .partners-grid{
        grid-template-columns:repeat(3,1fr);
    }

    .interns-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .employment-stats{
        grid-template-columns:repeat(2,1fr);
    }

    .testimonials-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .upload-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .contact-box{
        grid-template-columns:1fr;
    }

    .timeline:before{
        left:20px;
        transform:none;
    }

    .timeline-item,
    .timeline-item.right{
        width:100%;
        margin-left:0;
        padding:20px 20px 20px 60px;
    }

    .timeline-icon,
    .timeline-item.right .timeline-icon{
        left:0;
        right:auto;
    }

    .graduate-story.reverse .graduate-photo,
    .graduate-story.reverse .graduate-content{
        order:initial;
    }

    .company-header{
        grid-template-columns:180px 1fr;
    }

    .company-header > img{
        width:180px;
        height:130px;
    }

    .career-message-content{
        grid-template-columns:60px 1fr;
    }

    .career-message-action{
        grid-column:2;
    }

}


/* =========================================================
   26. MOBILE — 768 PX
   ========================================================= */

@media(max-width:768px){

    section{
        padding:60px 0;
    }

    .container{
        width:92%;
    }

    .section-title{
        margin-bottom:35px;
    }

    .section-title h2{
        font-size:1.9rem;
    }

    .hero-content{
        max-width:100%;
    }

    .hero-content h1{
        font-size:2.3rem;
    }

    .hero-content p{
        font-size:.95rem;
    }

    .hero-tag{
        font-size:.75rem;
    }

    .hero-buttons{
        flex-direction:column;
        align-items:stretch;
    }

    .hero-buttons a{
        width:100%;
    }

    .stage-hero{
        min-height:75vh;
    }

    .scroll-indicator{
        display:none;
    }

    .intro-image img{
        height:350px;
    }

    .experience-box{
        right:15px;
        bottom:15px;
    }

    .intro-content h2,
    .support-header h2,
    .numbers-intro h2{
        font-size:1.9rem;
    }

    .intro-features{
        grid-template-columns:1fr;
    }

    .intro-buttons{
        flex-direction:column;
        align-items:stretch;
    }

    .intro-buttons a{
        width:100%;
    }

    .support-item{
        grid-template-columns:45px 45px 1fr;
        gap:12px;
        padding:20px;
    }

    .support-number{
        font-size:1.1rem;
    }

    .support-icon{
        width:40px;
        height:40px;
    }

    .support-arrow{
        display:none;
    }

    .career-message-content{
        grid-template-columns:1fr;
        text-align:center;
    }

    .career-message-icon{
        margin:auto;
    }

    .career-message-action{
        grid-column:auto;
    }

    .numbers-grid{
        grid-template-columns:1fr;
    }

    .transition-content h2{
        font-size:2rem;
    }

    .partners-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .partner-banner{
        grid-template-columns:1fr;
    }

    .company-header{
        grid-template-columns:1fr;
        text-align:center;
    }

    .company-header > img{
        width:100%;
        height:220px;
        margin:auto;
    }

    .interns-grid{
        grid-template-columns:1fr;
    }

    .intern-card > img{
        height:280px;
    }

    .graduate-photo img{
        height:350px;
    }

    .employment-stats{
        grid-template-columns:repeat(2,1fr);
    }

    .career-form{
        padding:25px 20px;
    }

    .form-row{
        grid-template-columns:1fr;
        gap:0;
        margin-bottom:0;
    }

    .upload-grid{
        grid-template-columns:1fr;
    }

    .testimonials-grid{
        grid-template-columns:1fr;
    }

    .cta-content h2{
        font-size:2rem;
    }

    .cta-buttons{
        flex-direction:column;
    }

    .cta-buttons a{
        width:100%;
    }

}


/* =========================================================
   27. PETITS MOBILES — 480 PX
   ========================================================= */

@media(max-width:480px){

    section{
        padding:50px 0;
    }

    .container{
        width:90%;
    }

    .hero-content h1{
        font-size:2rem;
    }

    .hero-content p{
        font-size:.9rem;
    }

    .hero-tag{
        font-size:.7rem;
        padding:7px 12px;
    }

    .section-title h2{
        font-size:1.7rem;
    }

    .section-title p{
        font-size:.88rem;
    }

    .intro-image img{
        height:300px;
    }

    .experience-box{
        min-width:140px;
        padding:15px;
    }

    .experience-box h2{
        font-size:1.6rem;
    }

    .experience-box span{
        font-size:.75rem;
    }

    .support-item{
        grid-template-columns:40px 1fr;
    }

    .support-number{
        grid-row:span 2;
    }

    .support-icon{
        display:none;
    }

    .support-content h3{
        font-size:1rem;
    }

    .support-content p{
        font-size:.82rem;
    }

    .numbers-grid{
        gap:15px;
    }

    .number-item{
        padding:22px;
    }

    .number-item strong{
        font-size:2rem;
    }

    .partners-grid{
        grid-template-columns:1fr 1fr;
        gap:12px;
    }

    .partner-card{
        min-height:100px;
        padding:15px;
    }

    .partner-card img{
        max-width:110px;
        max-height:60px;
    }

    .company-header{
        padding:18px;
    }

    .company-header > img{
        height:190px;
    }

    .intern-card > img{
        height:240px;
    }

    .graduate-photo img{
        height:300px;
    }

    .graduate-content h3{
        font-size:1.6rem;
    }

    .employment-stats{
        grid-template-columns:1fr 1fr;
        gap:12px;
    }

    .stat-card{
        padding:20px 10px;
    }

    .stat-card h2{
        font-size:1.7rem;
    }

    .stat-card span{
        font-size:.72rem;
    }

    .career-form{
        padding:20px 15px;
    }

    .upload-box{
        min-height:125px;
    }

    .contact-item{
        padding:18px;
    }

    .process-quote{
        flex-direction:column;
        padding:22px;
    }

}


/* =========================================================
   28. TRÈS PETITS ÉCRANS — 360 PX
   ========================================================= */

@media(max-width:360px){

    .hero-content h1{
        font-size:1.75rem;
    }

    .hero-content p{
        font-size:.85rem;
    }

    .section-title h2{
        font-size:1.5rem;
    }

    .partners-grid{
        grid-template-columns:1fr;
    }

    .employment-stats{
        grid-template-columns:1fr;
    }

    .support-item{
        padding:16px;
    }

    .number-item{
        padding:18px;
    }

    .cta-content h2{
        font-size:1.7rem;
    }

}
@media(max-width:768px){

    .partners-image video{
        height:300px;
    }

}

/*====================================
            FOOTER
====================================*/

.footer{

    background:#052F59;
    color:#fff;
    padding:80px 8% 0;

}

.footer-container{

    max-width:1300px;
    margin:auto;

    display:grid;
    grid-template-columns:2fr 1fr 1fr 1.3fr;

    gap:50px;

}

.footer-logo{

    width:110px;
    margin-bottom:20px;

}

.footer-col p{

    color:#d9d9d9;
    line-height:1.9;
    margin-bottom:25px;

}

.footer-col h3{

    color:#fff;
    margin-bottom:25px;
    font-size:22px;

}

.footer-col ul{

    list-style:none;

}

.footer-col ul li{

    margin-bottom:15px;

}

.footer-col ul li a{

    color:#d9d9d9;
    text-decoration:none;
    transition:.3s;

}

.footer-col ul li a:hover{

    color:#F59F27;
    padding-left:8px;

}

/*==============================
        CONTACT
==============================*/

.footer-contact li{

    display:flex;
    gap:12px;
    color:#d9d9d9;
    line-height:1.8;

}

.footer-contact i{

    color:#F59F27;
    margin-top:5px;

}

/*==============================
        RESEAUX SOCIAUX
==============================*/

.footer-social{

    display:flex;
    gap:15px;

}

.footer-social a{

    width:45px;
    height:45px;

    border-radius:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    background:rgba(255,255,255,.08);

    color:#fff;

    text-decoration:none;

    transition:.35s;

}

.footer-social a:hover{

    background:#F59F27;

    transform:translateY(-5px);

}

/*==============================
        BAS DU FOOTER
==============================*/

.footer-bottom{

    margin-top:60px;

    border-top:1px solid rgba(255,255,255,.15);

    text-align:center;

    padding:25px 0;

}

.footer-bottom p{

    color:#d9d9d9;

}

/*==============================
        RESPONSIVE
==============================*/

@media(max-width:992px){

    .footer-container{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .footer{

        padding:70px 6% 0;

    }

    .footer-container{

        grid-template-columns:1fr;

        text-align:center;

    }

    .footer-social{

        justify-content:center;

    }

    .footer-contact li{

        justify-content:center;

    }

}
/* =========================================================
   HEADER EFEBP
   ========================================================= */

   .header {
    position: fixed;
    top: 0;
    left: 0;

    width: 100%;
    height: 90px;

    display: grid;
    grid-template-columns: 180px 1fr auto;
    align-items: center;

    padding: 0 40px;

    background: rgba(255, 255, 255, 0.96);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    box-shadow: 0 3px 18px rgba(0, 0, 0, 0.08);

    z-index: 2000;
}


/* =========================================================
   LOGO
   ========================================================= */

.logo {
    display: flex;
    align-items: center;
}

.logo a {
    display: flex;
    align-items: center;
}

.logo img {
    width: 85px;
    height: auto;
    object-fit: contain;
}


/* =========================================================
   NAVIGATION DESKTOP
   ========================================================= */

.navbar {
    display: flex;
    align-items: center;
    justify-content: center;
}

.navbar > ul {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 35px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.navbar > ul > li {
    position: relative;
}


/* =========================================================
   LIENS PRINCIPAUX
   ========================================================= */

.navbar > ul > li > a {
    position: relative;

    display: inline-flex;
    align-items: center;

    padding: 0;

    color: #052F59;

    font-size: 16px;
    font-weight: 600;

    white-space: nowrap;
    text-decoration: none;

    transition: 0.3s ease;
}

.navbar > ul > li > a:hover {
    color: #F59F27;
}


/* Ligne orange sous le lien */

.navbar > ul > li > a::after {
    content: "";

    position: absolute;

    left: 0;
    bottom: -8px;

    width: 0;
    height: 3px;

    background: #F59F27;

    transition: 0.3s ease;
}

.navbar > ul > li > a:hover::after,
.navbar > ul > li > a.active::after {
    width: 100%;
}


/* =========================================================
   SOUS-MENUS DESKTOP
   ========================================================= */

.dropdown-menu {
    position: absolute;

    top: calc(100% + 10px);
    left: 0;

    min-width: 260px;

    display: none;
    flex-direction: column;

    margin: 0;
    padding: 10px 0;

    list-style: none;

    background: #ffffff;

    border-radius: 10px;

    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);

    z-index: 2100;
}

.dropdown-menu li {
    width: 100%;
    list-style: none;
}

.dropdown-menu a {
    display: block;

    width: 100%;

    padding: 12px 18px;

    color: #052F59;

    font-size: 16px;
    font-weight: 600;

    text-decoration: none;

    transition: 0.25s ease;

    box-sizing: border-box;
}

.dropdown-menu a:hover {
    background: #F59F27;
    color: #ffffff;
}


/* Ouverture au survol sur ordinateur */

.dropdown:hover > .dropdown-menu {
    display: flex;
}


/* =========================================================
   BOUTONS DESKTOP
   ========================================================= */

.buttons {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 12px;
}

.buttons a {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    min-height: 44px;

    padding: 0 17px;

    font-size: 14px;
    font-weight: 600;

    text-decoration: none;

    border-radius: 10px;

    transition: 0.3s ease;

    box-sizing: border-box;
}

.buttons i {
    font-size: 15px;
}


/* Bouton Postuler */

.login {
    color: #052F59;

    background: #ffffff;

    border: 2px solid #052F59;
}

.login:hover {
    color: #ffffff;

    background: #052F59;

    transform: translateY(-2px);
}


/* Bouton Connexion */

.register {
    color: #ffffff;

    background: #F59F27;

    border: 2px solid #F59F27;

    padding-left: 19px;
    padding-right: 19px;
}

.register:hover {
    color: #ffffff;

    background: #D98612;

    border-color: #D98612;

    transform: translateY(-2px);
}


/* =========================================================
   BOUTON HAMBURGER
   ========================================================= */

.menu-toggle {
    display: none;

    width: 42px;
    height: 42px;

    align-items: center;
    justify-content: center;

    padding: 0;

    border: 0;
    border-radius: 8px;

    background: transparent;

    color: #052F59;

    font-size: 24px;

    cursor: pointer;

    z-index: 2200;
}


/* =========================================================
   OVERLAY MOBILE
   ========================================================= */

.menu-overlay {
    position: fixed;

    inset: 0;

    background: rgba(0, 0, 0, 0.55);

    opacity: 0;
    visibility: hidden;

    transition: 0.3s ease;

    z-index: 1998;
}

.menu-overlay.active {
    opacity: 1;
    visibility: visible;
}


/* =========================================================
   BOUTON FERMER
   ========================================================= */

.menu-close {
    display: none;
}


/* =========================================================
   TABLETTE + MOBILE
   ========================================================= */

@media (max-width: 1000px) {

    .header {
        height: 75px;

        display: flex;
        align-items: center;
        justify-content: space-between;

        padding: 0 22px;

        z-index: 2200;
    }


    /* Logo */

    .logo img {
        width: 72px;
    }


    /* Hamburger */

    .menu-toggle {
        display: flex;

        margin-left: auto;

        position: relative;

        z-index: 2201;
    }


    /* =====================================================
       MENU LATERAL
       ===================================================== */

    .navbar {
        position: fixed;

        top: 0;
        right: 0;

        width: 72%;
        max-width: 390px;

        height: 100vh;

        display: block;

        background: #052F59;

        transform: translateX(100%);

        transition: transform 0.35s ease;

        overflow-y: auto;

        box-shadow: -10px 0 30px rgba(0, 0, 0, 0.20);

        z-index: 2202;
    }

    .navbar.active {
        transform: translateX(0);
    }


    /* =====================================================
       BOUTON X
       ===================================================== */

    .menu-close {
        position: absolute;

        top: 0;
        right: 0;

        width: 45px;
        height: 45px;

        display: flex;
        align-items: center;
        justify-content: center;

        padding: 0;

        border: 0;

        background: #F59F27;

        color: #052F59;

        font-size: 24px;

        cursor: pointer;

        z-index: 5;
    }


    /* =====================================================
       MENU PRINCIPAL MOBILE
       ===================================================== */

    .navbar > ul {
        width: 100%;

        display: flex;
        flex-direction: column;

        gap: 0;

        margin: 0;

        padding: 75px 25px 130px;

        box-sizing: border-box;
    }

    .navbar > ul > li {
        width: 100%;

        border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    }

    .navbar > ul > li > a {
        display: flex;

        align-items: center;
        justify-content: space-between;

        width: 100%;

        padding: 17px 0;

        color: #ffffff;

        font-size: 16px;
        font-weight: 600;

        box-sizing: border-box;
    }

    .navbar > ul > li > a:hover {
        color: #F59F27;
    }


    /* Désactive la ligne orange sur mobile */

    .navbar a::after {
        display: none !important;
    }


    /* =====================================================
       SOUS-MENUS MOBILE
       ===================================================== */

    .dropdown-menu {
        position: static;

        width: 100%;
        min-width: 0;

        display: none;

        flex-direction: column;

        margin: 0;
        padding: 0;

        background: rgba(0, 0, 0, 0.10);

        border-radius: 0;

        box-shadow: none;

        box-sizing: border-box;
    }


    /* Ouverture lorsque JS ajoute .active */

    .dropdown.active > .dropdown-menu {
        display: flex;
        flex-direction: column;
    }


    /* Le hover ne doit PAS ouvrir le sous-menu sur téléphone */

    .dropdown:hover > .dropdown-menu {
        display: none;
    }

    .dropdown.active:hover > .dropdown-menu {
        display: flex;
    }


    .dropdown-menu li {
        width: 100%;
        list-style: none;
    }

    .dropdown-menu a {
        display: block;

        width: 100%;

        padding: 13px 15px;

        color: #ffffff;

        font-size: 14px;
        font-weight: 500;

        border-top: 1px solid rgba(255, 255, 255, 0.10);

        box-sizing: border-box;
    }

    .dropdown-menu a:hover {
        background: rgba(255, 255, 255, 0.08);
        color: #F59F27;
    }


    /* =====================================================
       BOUTONS DANS LE MENU MOBILE
       ===================================================== */

    .buttons {
        position: fixed;

        right: 0;
        bottom: 0;

        width: 72%;
        max-width: 390px;

        display: none;

        flex-direction: column;

        gap: 0;

        padding: 5px 25px 20px;

        background: #052F59;

        box-sizing: border-box;

        z-index: 2203;
    }


    /* Affiche les boutons quand le menu est ouvert */

    .navbar.active ~ .buttons {
        display: flex;
    }

    .buttons a {
        width: 100%;

        min-height: 42px;

        display: flex;

        align-items: center;
        justify-content: flex-start;

        padding: 11px 0;

        border: 0;
        border-radius: 0;

        background: transparent;

        color: #ffffff;

        font-size: 15px;
        font-weight: 600;
    }

    .buttons a:hover {
        background: transparent;
        color: #F59F27;
    }

    .buttons .login,
    .buttons .register {
        border: 0;
        background: transparent;
        color: #ffffff;
    }

    .buttons i {
        font-size: 15px;
        margin-right: 8px;
    }
}


/* =========================================================
   TÉLÉPHONE
   ========================================================= */

@media (max-width: 600px) {

    .header {
        height: 70px;
        padding: 0 16px;
    }

    .logo img {
        width: 67px;
    }

    .navbar {
        width: 78%;
        max-width: none;
    }

    .navbar > ul {
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 130px;
    }

    .buttons {
        width: 78%;

        padding-left: 20px;
        padding-right: 20px;
    }

    .navbar > ul > li > a {
        font-size: 15px;
        padding: 16px 0;
    }
}


/* =========================================================
   TRÈS PETIT ÉCRAN
   ========================================================= */

@media (max-width: 400px) {

    .header {
        padding: 0 14px;
    }

    .navbar {
        width: 84%;
    }

    .buttons {
        width: 84%;

        padding-left: 18px;
        padding-right: 18px;
    }

    .navbar > ul {
        padding-left: 18px;
        padding-right: 18px;
    }
}

.company-header img {
    width: 150px !important;
    height: 50px !important;
    object-fit: contain;
}