/*
Theme Name: 3.14 Academy
Theme URI: https://www.3-14-academy.fr/
Author: Kwan
Author URI: https://www.kwan.fr/
Description: Th&egrave;me du site de 3.14 Academy
Version: 1.0
*/



body {
    font-family: 'Poppins', sans-serif !important;
}

/* Navbar Styling */
.navbar {
    background-color: white;
    padding: 1rem 2rem;
}
.navbar-brand img {
    height: 55px;
}
.nav-link {
    color: #333 !important;
    font-weight: 500;
    margin: 0 10px;
}
.nav-link:hover {
    color: #e3262e !important;
}
.btn-contact {
    border: 1px solid #ddd !important;
    border-radius: 12px !important;
    padding: 10px 25px !important;
    font-weight: 500 !important;
}
.btn-rdv {
    background-color: #e3262e !important;
    border: 1px solid #e3262e !important;
    color: white !important;
    border-radius: 12px !important;
    padding: 10px 25px !important;
    font-weight: 600 !important;
}
.btn-contact:hover {
    border: 1px solid #e3262e !important;
    color: #e3262e !important;
    border-radius: 12px !important;
    padding: 10px 25px !important;
    font-weight: 600 !important;
}
.btn-rdv:hover {
    background-color: #ffffff;
    border: 1px solid #e3262e;
    color: #fff !important;
    border-radius: 12px;
    padding: 10px 25px;
    font-weight: 600;
}


h2 span {
    color:#e3262e !important;
}


        
/* 1. Base et Desktop */
.split-section {
    height: auto; /* Auto sur mobile */
    overflow: hidden;
}

.h-100-custom {
    display: flex;
    flex-direction: column; /* Colonne sur mobile */
}

.split-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: white;
    position: relative;
    /* Correction scintillement : on ne transitionne que le flex et on force le rendu GPU */
    transition: flex 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    backface-visibility: hidden;
    transform: translateZ(0);
    min-height: 40vh; /* Hauteur égale sur mobile */
}

.split-box.school { 
    background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url('https://www.3-14-academy.fr/wp-content/uploads/2026/02/shutterstock-2018781083-hM0z.jpg') center/cover no-repeat; 
}

.split-box.courses { 
    background: linear-gradient(rgba(227, 38, 46, 0.7), rgba(227, 38, 46, 0.7)), url('https://www.3-14-academy.fr/wp-content/uploads/2026/02/photo-1516321318423-f06f85e504b3.jpg') center/cover no-repeat; 
}

.content-wrapper {
    z-index: 2;
    width: 100%;
}

/* 2. Media Query Desktop (min-width: 768px) */
@media (min-width: 768px) {
    .split-section {
        height: 600px; /* Hauteur fixe demandée */
    }

    .h-100-custom {
        flex-direction: row; /* Côte à côte sur desktop */
        height: 600px;
    }

    .split-box {
        flex: 1;
        min-height: 100%;
    }

    .split-box:hover {
        flex: 1.2; /* Effet d'agrandissement sans scintillement */
    }
}

/* 3. Ajustement mobile spécifique */
@media (max-width: 767px) {
    .split-box:hover {
        flex: 1; /* Désactive l'agrandissement sur mobile pour éviter les bugs de scroll */
    }
}
.split-box h2 { font-size: 3rem; font-weight: 700; margin-bottom: 20px; }

@media (max-width: 767px) {
    .split-box h2 { font-size: 2rem; font-weight: 700; margin-bottom: 20px; }
}

/* Qui sommes-nous */
.about-section { padding: 100px 0; background-color: #fce4e4; }
.about-img { border-radius: 30px; box-shadow: 0 20px 40px rgba(0,0,0,0.1); }

/* En images */
.gallery-img { width: 100%; height: 300px; object-fit: cover; border-radius: 20px; transition: 0.3s; }
.gallery-img:hover { transform: scale(1.03); }

/* Handicap */
.handicap-section { background-color: #1a1a1a; color: white; padding: 80px 0; border-radius: 30px; margin-bottom: 80px; }
.handicap-icon { font-size: 3rem; color: #e3262e; margin-bottom: 20px; }








/* Hero Section */
.hero-section {
    position: relative;
    height: 90vh;
    background-size: cover !important;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    text-align: center;
}

/* Overlay pour lisibilit&eacute; */
.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4); /* Sombre l&eacute;g&egrave;rement pour le texte */
    backdrop-filter: blur(2px); /* Optionnel: l&eacute;ger flou */
}

.hero-content {
    position: relative;
    z-index: 2;
    max-width: 900px !important;
}

.badge-info {
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 50px;
    padding: 8px 20px;
    backdrop-filter: blur(5px);
    font-size: 0.9rem;
    margin-bottom: 2rem;
    display: inline-block;
}

h1 {
    font-weight: 700 !important;
    font-size: 2.8rem !important;
    line-height: 1.2 !important;
    margin-bottom: 1.5rem !important;
    font-family: 'Poppins', sans-serif !important;
}

.lead-text {
    font-size: 1.1rem;
    margin-bottom: 2.5rem;
    opacity: 0.9;
}

/* Buttons Hero */
.btn-commencer {
    background-color: #e3262e !important;
    border: none;
    padding: 12px 35px !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    margin-right: 15px;
}
.btn-presentation {
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid white !important;
    color: white !important;
    padding: 12px 35px !important;
    border-radius: 10px !important;
    transition: 0.3s !important;
}
.btn-presentation:hover {
    background: white !important;
    color: black !important;
}

/* Floating Video Bar */
.video-bar {
    background: white;
    border-radius: 50px;
    padding: 10px 25px;
    display: inline-flex;
    align-items: center;
    color: #333;
    margin-top: 4rem;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
    text-decoration: none;
    border: 10px none rgb(45 102 196) rgb(56 127 245 / 1);
}
.play-icon {
    color: #e3262e;
    font-size: 2rem;
    margin-right: 15px;
}
.video-text {
    text-align: left;
    line-height: 1.2;
}
.video-text strong {
    display: block;
    font-size: 0.95rem;
}
.video-text span {
    font-size: 0.8rem;
    color: #666;
}
        
        /* Style du Mega Menu */
@media all and (min-width: 992px) {
    .navbar .has-megamenu { position: static; }
    .navbar .megamenu {
        top: 100%;
        left: 0;
        right: 0;
        width: 100%;
        margin-top: 0;
        border: none;
        border-top: 2px solid #e3262e;
        border-radius: 0 0 20px 20px;
        visibility: hidden;
        opacity: 0;
        display: block;
        transition: all 0.3s ease;
        transform: translateY(10px);
    }
    /* Activation au survol */
    .nav-item.dropdown:hover .megamenu {
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
    }
    .dropdown-item:hover {
        background-color: transparent;
        color: #e3262e;
        padding-left: 15px;
        transition: padding 0.2s;
    }
}

/* Version Mobile */
@media (max-width: 991px) {
    .megamenu { border: none; padding: 0 20px; }
}


.partners-section {
        padding: 60px 0;
        background-color: #fff;
        text-align: center;
    }

    .partners-stats {
        font-size: 0.95rem;
        color: #666;
        margin-bottom: 50px;
        font-weight: 400;
    }

    .partners-grid {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 40px 60px; /* Espace vertical et horizontal entre les logos */
    }

    .partner-logo {
        max-height: 50px; /* Hauteur uniforme pour l'harmonie visuelle */
        max-width: 140px;
        filter: grayscale(100%); /* Optionnel : logos en gris pour plus de sobriété */
        opacity: 0.7;
        transition: all 0.3s ease;
    }

    .partner-logo:hover {
        filter: grayscale(0%);
        opacity: 1;
        transform: scale(1.05);
    }

    /* Style spécifique pour les gros logos comme Carrefour */
    .logo-large {
        max-height: 70px;
    }
    
    
    /* Styles pour la nouvelle section Objectifs */
    .objectives-section {
        background-color: #fce4e4; /* Rose pastel du visuel */
        background-color: #f9f9f9;
        padding: 80px 0;
        color: #1a1a1a;
    }

    .badge-opco {
        background: rgba(255, 255, 255, 0.5);
        border: 1px solid rgba(0, 0, 0, 0.1);
        border-radius: 50px;
        padding: 5px 20px;
        font-size: 0.85rem;
        display: inline-block;
        margin-bottom: 20px;
    }

    .section-title {
        font-weight: 700;
        font-size: 2.5rem;
        margin-bottom: 20px;
    }

    .section-subtitle {
        max-width: 700px;
        margin: 0 auto 40px;
        color: #555;
        font-size: 1rem;
    }

    /* Boutons de la section */
    .btn-en-savoir {
        border: 1px solid #333;
        border-radius: 12px;
        padding: 10px 25px;
        font-weight: 500;
        color: #333;
        transition: all 0.3s;
    }
    .btn-en-savoir:hover {
        background: #333;
        color: #fff;
    }

    /* Grille de contenu */
    .feature-card {
        padding: 30px;
        height: 100%;
        transition: transform 0.3s ease;
    }
    .feature-card:hover {
        transform: translateY(-5px);
    }
    /* La premi&egrave;re carte a un contour sp&eacute;cifique sur le visuel */
    .card-bordered {
        border: 1px solid #b5b5b5;
        border-radius: 20px;
        background: rgba(255, 255, 255, 0.2);
    }
    .card-bordered:hover {
        border: 1px solid #e3262e;
    }
    .feature-icon {
        font-size: 1.5rem;
        margin-bottom: 15px;
        display: block;
    }

    .feature-title {
        font-weight: 700;
        font-size: 1.1rem;
        margin-bottom: 20px;
        display: inline-block;
    }
    .feature-card:hover .feature-title, .feature-card:hover .feature-icon {
        color: #e3262e;
    }
    .feature-text {
        font-size: 0.95rem;
        line-height: 1.6;
        color: #444;
        text-align: left;
    }

    /* Section T&eacute;moignages (Amorce) */
    .testimonials-header {
        padding-top: 60px;
        text-align: center;
    }
    
.testimonial-card {
        background: rgba(255, 255, 255, 0.2);
        border: 1px solid rgba(0, 0, 0, 0.1);
        border-radius: 20px;
        padding: 40px 30px;
        text-align: center;
        height: 100%;
        transition: transform 0.3s ease;
    }
    .testimonial-card:hover {
        transform: translateY(-5px);
        background: rgba(255, 255, 255, 0.4);
    }
    .testimonial-quote {
        font-style: italic;
        font-size: 0.95rem;
        color: #333;
        margin-bottom: 30px;
        line-height: 1.6;
    }
    .avatar {
        width: 50px;
        height: 50px;
        border-radius: 50%;
        background-color: #ffd400; /* Jaune du visuel */
        margin: 0 auto 15px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: bold;
    }
    .testimonial-author {
        font-weight: 700;
        font-size: 1rem;
        margin-bottom: 5px;
        color: #1a1a1a;
    }
    .testimonial-role {
        font-size: 0.85rem;
        color: #666;
    }

    /* 2. SECTION ACCOMPAGNEMENT ROUGE */
    .cta-red-section {
        padding: 100px 0;
        background-color: #fff;
    }
    .red-card-bg {
        background-color: #e3262e;
        border-radius: 30px;
        padding: 60px;
        color: white;
        position: relative;
        overflow: hidden;
    }
    /* Effet de vagues abstraites en fond */
    .red-card-bg::after {
        content: "";
        position: absolute;
        bottom: 0; left: 0; right: 0;
        height: 100%;
        background: url('https://www.transparenttextures.com/patterns/cubes.png');
        opacity: 0.05;
        pointer-events: none;
    }
    .cta-title {
        font-size: 2.5rem;
        font-weight: 700;
        line-height: 1.2;
        margin-bottom: 30px;
    }
    .btn-outline-white {
        border: 1px solid rgba(255,255,255,0.5) !important;
        color: white !important;
        border-radius: 12px !important;
        padding: 12px 25px !important;
        font-size: 0.9rem !important;
        transition: 0.3s !important;
    }
    .btn-outline-white:hover {
        background: white !important;
        color: #e3262e !important;
    }

    /* Liste des avantages &agrave; droite */
    .benefit-item {
        background: rgba(255, 255, 255, 0.1);
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 20px;
        padding: 20px;
        margin-bottom: 15px;
        display: flex;
        align-items: flex-start;
    }
    .benefit-icon {
        background: rgba(255, 255, 255, 0.2);
        width: 45px;
        height: 45px;
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-right: 20px;
        flex-shrink: 0;
        font-size: 1.2rem;
    }
    .benefit-content h4 {
        font-size: 1.1rem;
        font-weight: 600;
        margin-bottom: 5px;
    }
    .benefit-content p {
        font-size: 0.85rem;
        margin-bottom: 0;
        opacity: 0.9;
    }
    
    .specialized-courses {
        background-color: #fce4e4; /* Retour au rose pastel du visuel */
        padding: 80px 0;
    }

    .course-card {
        background: rgba(255, 255, 255, 0.2);
        border: 1px solid rgba(0, 0, 0, 0.1);
        border-radius: 20px;
        padding: 30px;
        height: 100%;
        text-align: left;
        transition: all 0.3s ease;
    }

    .course-card:hover {
        background: white;
        box-shadow: 0 10px 30px rgba(0,0,0,0.05);
        transform: translateY(-5px);
    }

    .course-icon {
        font-size: 1.5rem;
        margin-bottom: 20px;
        color: #333;
    }

    .course-title {
        font-weight: 700;
        font-size: 1.05rem;
        margin-bottom: 15px;
        color: #1a1a1a;
    }

    .course-desc {
        font-size: 0.9rem;
        color: #555;
        line-height: 1.5;
        margin-bottom: 20px;
    }

    .link-learn-more {
        color: #333;
        font-size: 0.85rem;
        font-weight: 600;
        text-decoration: underline;
        text-underline-offset: 4px;
    }

    .btn-discover-all {
        background: rgba(255, 255, 255, 0.3);
        border: 1px solid rgba(0,0,0,0.1);
        border-radius: 12px;
        padding: 12px 30px;
        font-weight: 500;
        color: #333;
        margin-top: 50px;
        transition: 0.3s;
    }

    .btn-discover-all:hover {
        background: #333;
        color: white;
    }
    
    /* FAQ Section */
    .faq-section {
        background-color: #ffc1c1;
        background-color: #fce4e4;
        padding: 100px 0;
    }
    
    .faq-title {
        font-weight: 700;
        font-size: 2.5rem;
        margin-bottom: 20px;
    }

    /* Style personnalis&eacute; de l'accord&eacute;on */
    .accordion-item {
        background-color: transparent !important;
        border: none !important;
        border-bottom: 1px solid rgba(0,0,0,0.05) !important;
        margin-bottom: 10px;
    }

    .accordion-button {
        background-color: transparent !important;
        box-shadow: none !important;
        color: #1a1a1a !important;
        font-weight: 600;
        padding: 20px 0;
        position: relative;
        padding-left: 25px;
    }

    /* La barre verticale bleue &agrave; gauche de la question */
    .accordion-button::before {
        content: "";
        position: absolute;
        left: 0;
        top: 25%;
        height: 50%;
        width: 4px;
        background-color: #004cff; /* Bleu vif du visuel */
        background-color: #e3262e;
        border-radius: 2px;
    }

    .accordion-body {
        padding: 0 0 20px 25px;
        color: #555;
        font-size: 0.95rem;
    }

    /* FOOTER Section */
    footer {
        background-color: #fff;
        padding: 80px 0 30px;
        font-size: 0.9rem;
    }

    .footer-logo {
        font-weight: 800;
        font-size: 1.5rem;
        margin-bottom: 30px;
        display: block;
    }

    .footer-heading {
        font-weight: 700;
        margin-bottom: 25px;
        font-size: 1rem;
    }

    .footer-links {
        list-style: none;
        padding: 0;
    }

    .footer-links li {
        margin-bottom: 12px;
    }

    .footer-links a {
        color: #666;
        text-decoration: none;
        transition: 0.3s;
    }

    .footer-links a:hover {
        color: #e3262e;
        padding-left: 5px;
    }

    .social-links a {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .footer-bottom {
        border-top: 1px solid #eee;
        margin-top: 60px;
        padding-top: 30px;
        color: #999;
        font-size: 0.8rem;
    }
    
    
    
    /* Rappel du style Hero */
        .contact-header {
            background-color: #fce4e4; /* Rose pastel */
            padding: 80px 0;
            text-align: center;
        }
        /*
.contact-header::before {
    content: "";
    position: absolute;
    max-height:354px;
    top: 96px;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.35);
    z-index:0;
}
*/
        .badge-contact {
            background: rgba(255, 255, 255, 0.5);
            border: 1px solid rgba(0, 0, 0, 0.1);
            border-radius: 50px;
            padding: 5px 20px;
            font-size: 0.85rem;
            display: inline-block;
            margin-bottom: 20px;
        }

        /* Formulaire Style */
        .contact-card {
            background: white;
            border-radius: 20px; /* Bordures arrondies */
            box-shadow: 0 15px 35px rgba(0,0,0,0.05);
            padding: 40px;
            margin-top: -50px; /* Chevauchement design */
        }

        .form-control {
            border-radius: 10px;
            padding: 12px 15px;
            border: 1px solid #eee;
            background-color: #f9f9f9;
        }

        .form-control:focus {
            border-color: #e3262e;
            box-shadow: none;
            background-color: #fff;
        }

        .btn-submit {
            background-color: #e3262e; /* Rouge */
            color: white;
            border-radius: 12px;
            padding: 12px 30px;
            font-weight: 600;
            border: none;
            width: 100%;
            transition: 0.3s;
        }

        .btn-submit:hover {
            background-color: #b31d23;
            transform: translateY(-2px);
        }

        /* Infos de contact */
        .info-box {
            display: flex;
            align-items: flex-start;
            margin-bottom: 30px;
        }

        .info-icon {
            width: 50px;
            height: 50px;
            background-color: #fce4e4;
            color: #e3262e;
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.2rem;
            margin-right: 20px;
            flex-shrink: 0;
        }
        
        
        /* --- HERO FORMATION --- */
        .formation-hero { padding: 80px 0 0 0; position: relative; }
        
        .formation-title { font-weight: 700; font-size: 2.8rem; line-height: 1.2; color: #1a1a1a; margin-bottom: 25px; }
        .formation-title span { color: #4470e1; } /* Bleu spécifique du visuel */
        
        .tech-list { font-size: 0.85rem; color: #777; margin-bottom: 40px; }
        .tech-list i { font-size: 0.6rem; vertical-align: middle; margin-right: 5px; }

        /* --- IMAGE & FORM OVERLAP --- */
        .image-container { 
            position: relative; 
            width: 100%; 
            height: 500px; 
            background-size: cover;
        }

        .floating-form-card {
            background: white;
            border-radius: 15px;
            box-shadow: 0 10px 40px rgba(0,0,0,0.1);
            padding: 30px;
            position: absolute;
            top: -750px;
            right: 0;
            width: 100%;
            max-width: 380px;
            z-index: 10;
        }

        

        .form-label-title { text-align: center; font-weight: 600; margin-bottom: 20px; font-size: 1.1rem; }
        .input-group-text { background-color: transparent; border-right: none; color: #999; }
        .form-control, .form-select { border-left: none; background-color: white; font-size: 0.9rem; padding: 10px; }
        .form-control:focus, .form-select:focus { box-shadow: none; border-color: #ced4da; }
        .input-group { margin-bottom: 15px; border: 1px solid #ced4da; border-radius: 8px; overflow: hidden; }

        .btn-send { background-color: #4470e1; color: white; border: none; width: 100%; padding: 12px; border-radius: 8px; font-weight: 600; margin-top: 10px; }
        
        
        
        
    .details-section {
        background-size: cover;
        padding: 100px 0;
        color: white;
        color: var(--bs-heading-color);
        position: relative;
    }
    @media (max-width: 767px) {
        .details-section { padding: 350px 0 0 0; }
    }


    /* Overlay pour assombrir davantage et lier avec le Hero */
    .details-section::before {
        content: "";
        position: absolute;
        top: 0; left: 0; right: 0; bottom: 0;
        background: rgba(0, 0, 0, 0.05);
        z-index: 1;
    }

    .details-container {
        position: relative;
        z-index: 2;
    }

    .main-title-light {
        font-weight: 700;
        font-size: 2rem;
        text-align: center;
        margin-bottom: 20px;
    }

    .intro-text-light {
        text-align: center;
        max-width: 800px;
        margin: 0 auto 60px;
        font-size: 1rem;
        line-height: 1.6;
        opacity: 0.9;
    }

    /* Cartes de contenu */
    .content-card-white {
        background: white;
        color: #1a1a1a;
        border-radius: 20px;
        padding: 40px;
        height: 100%;
        box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    }

    .icon-click {
        font-size: 3.5rem;
        margin-bottom: 25px;
        display: block;
        color:#e3262e !important;
    }

    .card-title-dark {
        font-weight: 700;
        font-size: 1.3rem;
        margin-bottom: 20px;
    }

    .detail-formation-col-1 h3, .detail-formation-col-2 h3,.detail-formation-col-3 h3, .detail-formation-col-4 h3 {
        font-weight: 700;
        font-size: 1.3rem;
        margin-bottom: 20px;
    }
    .detail-formation-col-1 p, .detail-formation-col-2 p,.detail-formation-col-3 p, .detail-formation-col-4 p {
        --bs-text-opacity: 1;
        color: rgba(33, 37, 41, 0.75) !important;
        font-size: .875em;
    }
    .detail-formation-col-1 ul, .detail-formation-col-2 ul, .detail-formation-col-4 ul {
        --bs-text-opacity: 1;
        color: rgba(33, 37, 41, 0.75) !important;
        font-size: .875em;
    }
    .detail-formation-col-3 p, .detail-formation-col-3 ul {
        font-size: .875em;
        color: rgba(33, 37, 41, 0.75) !important;
    }
    .detail-formation-col-3 p strong {
        color: #ffffff !important;
        color: rgba(33, 37, 41, 0.75) !important;
        opacity: 1 !important;
    }
    .detail-formation-col-1 p strong, .detail-formation-col-2 p strong,.detail-formation-col-3 p strong, .detail-formation-col-4 p strong {
        font-weight: 700;
        font-size: 0.95rem;
        margin-bottom: 5px;
        color: #1a1a1a;
    }
    

    /* Liste Programme */
    .program-module {
        margin-bottom: 20px;
    }

    .module-title {
        font-weight: 700;
        font-size: 0.95rem;
        margin-bottom: 5px;
        color: #1a1a1a;
    }

    .module-content {
        font-size: 0.85rem;
        color: #555;
        line-height: 1.4;
    }

    /* Section experts (bas gauche) */
    .expert-pillar {
        margin-bottom: 25px;
    }
    
    .pillar-num {
        font-weight: 700;
        font-size: 0.9rem;
        margin-bottom: 5px;
        display: block;
    }

    .pillar-text {
        font-size: 0.85rem;
        opacity: 0.8;
        line-height: 1.5;
    }
    
    
        /* --- HEADER PAGE --- */
        .page-header { background-color: #fce4e4; padding: 80px 0; text-align: center; }
        .badge-theme { background: rgba(255, 255, 255, 0.5); border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 50px; padding: 5px 20px; font-size: 0.85rem; display: inline-block; margin-bottom: 20px; }

        /* --- FILTRES / TABS --- */
        .theme-nav { margin-bottom: 50px !important; border: none !important; justify-content: center; }
        .theme-link { color: #666; font-weight: 600; border: none !important; padding: 10px 25px; border-radius: 50px !important; margin: 0 5px; transition: 0.3s; }
        .theme-link.active { background-color: #e3262e !important; color: white !important; }

        /* --- CARTES DE FORMATION --- */
        .course-card { background: #fff; border: 1px solid rgba(0, 0, 0, 0.05); border-radius: 20px; padding: 30px; height: 100%; transition: all 0.3s ease; display: flex; flex-direction: column; }
        .course-card:hover { transform: translateY(-10px); box-shadow: 0 20px 40px rgba(0,0,0,0.05); border-color: #e3262e; }
        .course-icon { font-size: 2rem; color: #1a1a1a; margin-bottom: 20px; }
        .course-title { font-weight: 700; font-size: 1.1rem; margin-bottom: 15px; color: #1a1a1a;text-decoration: none; }
        .course-card > a { text-decoration: none; }
        .course-desc { font-size: 0.9rem; color: #555; line-height: 1.5; flex-grow: 1; }
        .btn-learn-more { color: #e3262e; font-weight: 600; text-decoration: none; font-size: 0.85rem; margin-top: 20px; display: inline-block; }
        .btn-learn-more:hover { text-decoration: underline; }
        .course-card:hover a h3 { color: #e3262e !important;cursor: pointer; }
        

    .final-cta-section {
        padding: 80px 0;
        background-color: #fff;
    }

    .cta-banner-red {
        background-color: #e3262e; /* Rouge 3.14 Academy */
        border-radius: 30px;
        padding: 60px 40px;
        color: white;
        text-align: center;
        position: relative;
        overflow: hidden;
        box-shadow: 0 20px 40px rgba(227, 38, 46, 0.2);
    }

    /* Motif abstrait en arrière-plan */
    .cta-banner-red::before {
        content: "";
        position: absolute;
        top: -50%;
        right: -10%;
        width: 400px;
        height: 400px;
        background: rgba(255, 255, 255, 0.05);
        border-radius: 50%;
        z-index: 1;
    }

    .cta-content {
        position: relative;
        z-index: 2;
    }

    .cta-banner-red h2 {
        font-weight: 700;
        font-size: 2.5rem;
        margin-bottom: 20px;
    }

    .cta-banner-red p {
        font-size: 1.1rem;
        opacity: 0.9;
        max-width: 600px;
        margin: 0 auto 40px;
    }

    /* Boutons personnalisés */
    .btn-cta-white {
        background-color: white;
        color: #e3262e;
        border: none;
        padding: 15px 35px;
        border-radius: 12px;
        font-weight: 700;
        margin: 10px;
        transition: all 0.3s ease;
        display: inline-block;
        text-decoration: none;
    }

    .btn-cta-white:hover {
        background-color: #f8f9fa;
        transform: translateY(-3px);
        color: #b31d23;
    }

    .btn-cta-outline {
        background-color: transparent;
        color: white;
        border: 2px solid rgba(255, 255, 255, 0.6);
        padding: 13px 35px;
        border-radius: 12px;
        font-weight: 600;
        margin: 10px;
        transition: all 0.3s ease;
        display: inline-block;
        text-decoration: none;
    }

    .btn-cta-outline:hover {
        background-color: rgba(255, 255, 255, 0.1);
        border-color: white;
        color: white;
    }
    
    
    /* --- HEADER MENTIONS --- */
        .legal-header { background-color: #fce4e4; padding: 60px 0; margin-bottom: 50px; }
        
        /* --- CONTENU --- */
        .legal-content h2 { 
            font-weight: 700; 
            font-size: 1.5rem; 
            color: #1a1a1a; 
            margin-top: 40px; 
            margin-bottom: 20px;
            display: flex;
            align-items: center;
        }
        .legal-content h2::before {
            content: "";
            width: 4px;
            height: 24px;
            background-color: #e3262e;
            margin-right: 15px;
            border-radius: 2px;
        }
        .legal-content p, .legal-content li { font-size: 0.95rem; color: #555; }
        .legal-card { 
            background: #fff; 
            border: 1px solid #eee; 
            border-radius: 20px; 
            padding: 40px; 
            box-shadow: 0 10px 30px rgba(0,0,0,0.02);
        }
        


.form-control {
    display: block;
    width: 100%;
    padding: .375rem .75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    background-clip: padding-box;
    border: none !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 0 !important;
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3), .input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control, .input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select, .input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}
.input-group-text {
    border: none !important;
}

.alert-warning {
    --bs-alert-color: var(--bs-warning-text-emphasis);
    --bs-alert-bg: white !important;
    --bs-alert-border-color: white !important;
    --bs-alert-link-color: var(--bs-warning-text-emphasis);
}





/**************************************** BTS - CAP *******************************************/


/* --- HERO SECTION --- */
.bts-hero { padding: 60px 0 0 0; background-color: #fff; position: relative; }
.badge-bts { background: #fce4e4; color: #e3262e; border-radius: 50px; padding: 5px 20px; font-size: 0.85rem; font-weight: 600; display: inline-block; margin-bottom: 20px; }
.bts-title { font-weight: 700; font-size: 3rem; line-height: 1.2; margin-bottom: 25px; }
.bts-title span { color: #e3262e; }

.hero-image-bg { 
    height: 500px; 
    background: url('https://images.unsplash.com/photo-1490818387583-1baba5e638af?q=80&w=2064&auto=format&fit=crop') no-repeat center center;
    background-size: cover;
    position: relative;
}
.floating-form {
    background: white; border-radius: 20px; box-shadow: 0 15px 45px rgba(0,0,0,0.1);
    padding: 35px; position: absolute; top: -300px; right: 0; width: 100%; max-width: 400px; z-index: 10;
}
.single-formations .floating-form-card {
    background: white; border-radius: 20px; box-shadow: 0 15px 45px rgba(0,0,0,0.1);
    padding: 35px; position: absolute; top: -600px !important; right: 0; width: 100%; max-width: 400px; z-index: 10;
}
@media (max-width: 991px) {
    .floating-form {
        top: 0px;
    }
    .hero-image-bg { 
        height: 620px;
        padding: 60px 15px; 
    }
}
@media (max-width: 991px) {
    .single-formations .floating-form-card {
        top: -540px !important;
    }
    .image-container { 
        height: 620px;
        padding: 60px 15px; 
    }
}


/* --- PRÉSENTATION & OBJECTIFS --- */
.section-padding { padding: 80px 0; }
@media (max-width: 767px) {
    .section-padding { padding: 430px 0 0 0; }
}
.rncp-badge { background-color: #1a1a1a; color: white; padding: 4px 12px; border-radius: 6px; font-size: 0.8rem; font-weight: 600; margin-left: 8px; }
.feature-item i { color: #28a745; font-size: 1.2rem; margin-right: 12px; }
.career-tag { background: #f8f9fa; border: 1px solid #eee; padding: 6px 15px; border-radius: 50px; font-size: 0.85rem; margin: 4px; display: inline-block; }

.bc-box { background-color: #e3262e; color: white; padding: 30px; border-radius: 20px; display: flex; align-items: center; margin-bottom: 30px; }
.bc-box i { font-size: 2.5rem; margin-right: 20px; }

/* --- ACCORDION & TABLES --- */
.accordion-item { border: none !important; margin-bottom: 10px; border-radius: 12px !important; overflow: hidden; box-shadow: 0 4px 12px rgba(0,0,0,0.05); }
.accordion-button:not(.collapsed) { background-color: #fce4e4; color: #e3262e; box-shadow: none; }
.table-container { border-radius: 15px; overflow: hidden; border: 1px solid #eee; }




    .split-content-section-reverse {
        padding: 60px 0;
        background-color: #f9f9f9; /* Fond l&eacute;gèrement gris&eacute; pour diff&eacute;rencier de la section pr&eacute;c&eacute;dente */
    }

    .visual-column-right {
        position: relative;
        min-height: 600px;
        border-radius: 30px;
        overflow: hidden;
        box-shadow: 0 20px 40px rgba(0,0,0,0.1);
    }

    .visual-column-right img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
    }

    .text-column-left {
        padding-right: 50px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .text-column-left h2 {
        font-weight: 700;
        font-size: 2.5rem;
        margin-bottom: 30px;
        line-height: 1.2;
    }

    .text-column-left .long-text {
        font-size: 1rem;
        line-height: 1.5;
        color: #555;
    }

    .accent-line-red {
        width: 60px;
        height: 4px;
        background-color: #e3262e;
        margin-bottom: 30px;
        border-radius: 2px;
    }

    /* Adaptabilit&eacute; mobile */
    @media (max-width: 991px) {
        .text-column-left {
            padding-right: 15px;
            order: 2; /* Le texte passe en dessous sur mobile */
            margin-top: 50px;
        }
        .visual-column-right {
            min-height: 400px;
            order: 1; /* L'image reste au-dessus sur mobile */
        }
    }


.split-content-section {
        padding: 60px 0;
        background-color: #fff;
    }

    .visual-column {
        position: relative;
        min-height: 600px;
        border-radius: 30px;
        overflow: hidden;
        box-shadow: 0 20px 40px rgba(0,0,0,0.1);
    }

    .visual-column img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
    }

    .text-column {
        padding-left: 50px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .text-column h2 {
        font-weight: 700;
        font-size: 2.5rem;
        margin-bottom: 30px;
        line-height: 1.2;
    }

    .text-column .long-text {
        font-size: 1rem;
        line-height: 1.5;
        color: #555;
    }

    .accent-line {
        width: 60px;
        height: 4px;
        background-color: #e3262e;
        margin-bottom: 30px;
        border-radius: 2px;
    }

    /* Adaptabilit&eacute; mobile */
    @media (max-width: 991px) {
        .text-column {
            padding-left: 15px;
            margin-top: 50px;
        }
        .visual-column {
            min-height: 400px;
        }
    }


.rl-basicmasonry-gallery .rl-gallery-item img {
    display: block;
    max-width: 100% !important;
    margin: 0 !important;
    height: auto;
    border-radius: 20px;
}



/* =WordPress Core
-------------------------------------------------------------- */

.alignnone {
    margin: 5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}
.alignright {
    float:right;
    margin: 5px 0 20px 20px;
}
.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}
a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}
a img.alignnone {
    margin: 5px 20px 20px 0;
}
a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}
a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}
.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}
.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}
.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}
.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}
.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}
/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}
.screen-reader-text:focus {
	background-color: #eee;
	clip: auto !important;
	clip-path: none;
	color: #444;
	display: block;
	font-size: 1em;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
	/* Above WP toolbar. */
}