/*
Theme Name: swissinternationalhealth
Theme URI: http://localhost/swissinternationalhealth/
Author: SiteWebconcept
Author URI: http://localhost/swissinternationalhealth/
Description: Theme WordPress personnalisÃ©
Version: 1.0
Text Domain: localhost/swissinternationalhealth
*/
        
        
        
        :root {
            --primary-color: #e41d1e;
            --text-dark: #333;
            --white: #ffffff;
            --gray-dark: #989996;
            --gray-light: #e2e2e1; 
            --gray-neutre: #e9e6e6;
            --gray-ultra: #F9F9F9;
            --gray-ultralight: #f8f9fa;
            --social-color: #34495e;
        }

        * {
            margin: 0;
            padding: 0;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            box-sizing: border-box;
        }

        body {
            background-color: var(--white);
            line-height: 1.6;
            color: var(--text-dark);
        }

                /* Bloque le scroll de la page principale de manière fluide */
        body.no-scroll {
            overflow: hidden !important;
            touch-action: none; /* Bloque le scroll tactile sur mobile */
        }

        /* Permet quand même le scroll INTERNE dans les éléments ouverts si nécessaire */
        .header-nav.active,
        .custom-options.open {
            touch-action: auto !important;
        }

        ul {
            padding-left: 30px; /* Ajustez la valeur selon vos besoins */
        }

    /* --- TOP HEADER --- */
        .top-header {
            display: flex;
            color: var(--text-dark);
            background-color: var(--gray-neutre);
            border-bottom: 4px solid var(--primary-color);
        }
        .top-header-left, .top-header-right {
        flex: 50%;
        padding: 5px 0 0 20px;
        height: 40px;
        }
        .top-header-right { text-align: right;}

        @media (max-width: 768px) {
        .top-header-left { display: none;}
        .top-header-right { display: block; }
        }

        /* menu langue */
        #menu-menu-langue ul {
        display: flex;
        justify-content: center;       /* centrer le menu horizontalement */
        align-items: center;
        gap: 1.0rem;                     /* espace entre les liens */
        list-style: none!important;
        padding: 0px;
        min-height: 80px;
        margin-top: 0px;
        margin-right: 20px;
        margin-left: 20px;
        }

        #menu-menu-langue li {
        display: inline-block;
        }

        #menu-menu-langue li:not(:last-child)::after {
        content: "|";  /* le séparateur */
        color: var(--text-dark);  /* couleur du séparateur */
        margin-left: 14px;
        margin-right: 14px;  /* espace après le texte */
        position: relative;
        top: -2px;  /* petit ajustement vertical */
        }

        #menu-menu-langue li:first-child {
        padding-left: 2rem;   /* ajuste la valeur selon ton design */
        }

        /* Dernier élément du menu principal */
        #menu-menu-langue li:last-child {
        padding-right: 2rem;  /* ajuste la valeur selon ton design */
        }

        #menu-menu-langue a {
        font-size: 1.2em;
        text-decoration: none;
        transition: color 0.3s ease;
        color: var(--text-dark);
        }

        #menu-menu-langue a:hover {
        color: var(--primary-color);             /* couleur au survol */
        }
        /* page active = gras */
        #menu-menu-langue .current-lang a {
        font-weight: 900;
        color: var(--primary-color);
        }
        .current-lang a {
            font-weight: 900;
            color: var(--primary-color);
        }

/* fin menu langue */
 /* --- END TOP HEADER --- */


        /* --- HEADER --- */
        .header {
            position: sticky;
            top: 0px;
            left: 0;
            right: 0;
            background: var(--white);
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            z-index: 1500;
            transition: transform 0.3s ease;
        }

        .header.hidden {
            transform: translateY(-100%);
        }

        .header-content {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 2px 0px;
            max-width: 1400px;
            margin: 0 auto;
        }

        .header-logo {
            display: flex;
            align-items: center; /* Crucial : aligne le SVG et le texte sur la même ligne médiane */
            gap: 10px; /* Un peu plus d'espace pour respirer */
            z-index: 900;
        }
        
        .st0 {
            fill: #aeafac;
        }

        .st1 {
            fill: #131413;
        }

        .st2 {
            fill: #e41b1a;
        }

        .st3 {
            fill: #e41d1e;
        }
        .st4 {
            fill: #FFF;
        }

        .header-logo svg {
            width: 60px;
            height: 60px;
  
        }
        .logo-texte {
            display: flex;
            flex-direction: column;
            justify-content: center;
            /* Centre verticalement le titre et le sous-titre internement */
        }

        .logo-texte h1 {
            font-size: 2.0em;
            color: var(--social-color);
            font-weight: 400;
            /* line-height: 1;  Ajustement de la hauteur de ligne */
            margin:0;
        }

        .logo-texte a {
            text-decoration: none;
            display: inline-block; /* Permet une meilleure gestion des espaces */
        }

        .logo-texte p {
            margin: 0px 4px 10px; /* Supprime la marge par défaut qui décale le texte vers le bas ou le haut */
            font-size: 0.9em;
            line-height: 0.4;
            letter-spacing: 2px; 
            color: var(--gray-dark);
        }

        @media (max-width: 1150px) {
            .header-content {
                    padding: 2px 10px;
            }
        }

        @media (max-width: 800px) {
                .header-content {
                        padding: 2px 20px;
                }
                .header-logo { gap: 8px;}
                .logo-texte h1 { font-size: 1.4em;}
                .logo-texte p { text-align: left;}
        }

        /* --- NAVIGATION DESKTOP --- */
        .header-nav ul.menu {
            display: flex;
            gap: 18px;
            list-style: none;
            align-items: stretch;
        }

        .header-nav ul.menu > li {
            position: relative;
        }

        .header-nav ul.menu > li > a {
            text-decoration: none;
            text-transform: uppercase;
            color: var(--text-dark);
            font-weight: 500;
            transition: color 0.3s ease;
            display: flex;
            align-items: center;
            gap: 5px;
            white-space: nowrap;      
        }

        .header-nav ul.menu > li > a:hover {
            color: var(--primary-color);
        }

        .header-nav ul.menu > li.current-menu-item > a,
        .header-nav ul.menu > li.current_page_item > a,
        .header-nav ul.menu > li.current-menu-parent > a,
        .header-nav ul.menu > li.current-menu-ancestor > a {
            color: var(--primary-color);
        }

        /* Arrow icon */
        .arrow-icon {
            display: inline-block;
            width: 22px;
            height: 22px;
            transition: transform 0.3s ease;
            flex-shrink: 0;
            stroke-width: 1.5;
            fill: currentColor;  
        }

        /* --- DESKTOP DROPDOWN (3 colonnes, click) --- */
        .sub-menu {
            display: none;
            position: absolute;
            top:50px;
            left: 0;
            transform: translateX(-50%);
            background: var(--white);
            box-shadow: 0 8px 30px rgba(0,0,0,0.12);
            border-radius: 0px;
            list-style: none;
            padding: 4px;
            gap: 4px;
            grid-template-columns: 1fr 1fr 1fr;
            /*min-width: 420px;*/
            width: auto;
            z-index: 2000;
            border-top: 0px solid var(--primary-color);
            opacity: 0;
            transform: translateX(-50%) translateY(-10px);
            transition: opacity 0.2s ease, transform 0.2s ease;
            pointer-events: none;
        }

        .has-submenu.open .sub-menu {
            display: grid;
            opacity: 1;
            transform: translateX(-50%) translateY(0);
            pointer-events: auto;
        }

        .sub-menu li a {
            display: block;
            padding: 9px 14px;
            text-decoration: none;
            color: var(--text-dark);
            font-size: 0.9rem;
            font-weight: 500;
            border-radius: 0px;
            transition: background 0.2s ease, color 0.2s ease;
            white-space: nowrap;
        }

        .sub-menu li a:hover {
            background: var(--gray-neutre);
            color: var(--primary-color);
        }

        /* Rotate arrow on open (desktop) */
        .has-submenu.open .arrow-icon {
            transform: rotate(180deg);
        }

                /* ===== OVERLAY SUBMENU DESKTOP ===== */
        .submenu-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(255, 255, 255, 0.9);
            z-index: 1200;
            display: none;
            backdrop-filter: blur(2px);
        }

        .submenu-overlay.active {
            display: block;
        }

        /* --- BURGER MENU --- */
        .burger-menu {
            display: none;
            flex-direction: column;
            gap: 6px;
            cursor: pointer;
            z-index: 1600;
        }

        .burger-menu span {
            display: block;
            width: 35px;
            height: 2px;
            background: var(--text-dark);
            transition: 0.3s;
        }

        .menu-overlay {
            position: fixed;
            top: 0;
            left: 0;
            bottom: 0;
            right: 0;
            width: 100%;
            height: 100%;
            background: rgba(255,255,255,0.9);
            display: none;
            z-index: 1400;
        }
        /* --- RESPONSIVE / MOBILE --- */
        @media (max-width: 1140px) {
            .burger-menu { 
                display: flex;
                top: 68px; 
                right: 20px;    
                /* Il doit être au-dessus du menu (qui est à 1550) pour rester visible et cliquable */
                z-index: 1600;
            
            }

            .header-nav {
                position: fixed;
                top: 0px;
                left: -310px;
                width: 310px;
                height: 100vh;
                background: var(--white);
                box-shadow: 5px 0 15px rgba(0,0,0,0.1);
                transition: 0.4s ease;
                z-index: 1550;
                overflow-y: auto;
            }

            .header-nav.active { left: 0; }
            .menu-overlay.active { display: block; }

            .burger-menu.open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
            .burger-menu.open span:nth-child(2) { opacity: 0; }
            .burger-menu.open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

            /* MOBILE MENU: reset desktop layout */
            .header-nav ul.menu {
                flex-direction: column;
                padding: 40px 0 40px;
                gap: 0;
            }

            .header-nav ul.menu > li {
                border-bottom: 1px solid #f0f0f0;
            }

            .header-nav ul.menu > li > a {
                padding: 15px 8px;
                justify-content: space-between;
                font-size: 1rem; 
                text-transform: uppercase;
            }

            /* ACCORDION: sub-menu mobile */
            .sub-menu {
                display: block !important;
                grid-template-columns: unset;
                position: static;
                box-shadow: none;
                border-radius: 0;
                border-top: none;
                padding: 0;
                background: var(--gray-neutre);
                transform: none !important;
                opacity: 1 !important;
                pointer-events: auto !important;
                max-height: 0;
                overflow: hidden;
                transition: max-height 0.35s ease;
                min-width: unset;
            }

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

            .sub-menu.open {
                max-height: 400px;
            }

            .sub-menu li {
                border-top: 1px solid var(--gray-ultralight);
            }

            .sub-menu li a {
                padding: 12px 8px;
                font-size: 0.95rem;
                border-radius: 0;
                color: var(--social-color);
            }

            .sub-menu li a:hover {
                background: var(--gray-ultra);
            }

            .has-submenu.open .arrow-icon {
                transform: rotate(180deg);
            }

            .has-submenu.open .sub-menu {
                max-height: 70vh;
                overflow-y: auto;
                -webkit-overflow-scrolling: touch;
            }
        }

        /* Section avec image de fond */
        .hero-section {
            position: relative;
            width: 100%; 
            height: 420px;
            margin-top: 0;
            background-size: cover;
            background-position: top center;
            background-repeat: no-repeat;
        }

        .hero-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2) 0%, transparent 100%);
            inset: 0;
        }

            .home-titre {
                color: var(--white);
                position: relative;
                font-weight: 800;
                font-size: 1.9em;
                z-index: 1;
                text-shadow: 1px 1px 3px rgba(0, 0, 0, 1);
            }
            .home-information {
                position: relative;
                color: var(--white);
                font-size: 1.7em; 
                line-height: 25px;
                z-index: 1;
                text-shadow: 1px 1px 3px rgba(0, 0, 0, 1);
            }
            @media (max-width: 800px) {
                .home-titre {
                    font-size: 1.5em;
                    line-height: 28px;
                }
                .home-information {
                    display: none;
                }
            }

        @media (max-width: 800px) {
            .hero-section {
                height: 420px;
            }
        }

        /* --- CONTENU --- */
        /*
            main {
                padding: 120px 20px 60px;
                max-width: 1200px;
                margin: 0 auto;
            }
        */
            .main-home {
                padding: 60px 20px 60px; 
                max-width: 1200px;
                margin: 0 auto;
            }
            .main-content {
                padding: 20px 0; /* Enlever le padding-top de 120px */
                max-width: 1200px;
                margin: 0 auto;
            }

            /* HEADER IMAGE PAGES FOND POUR TITRES */

                    .hero-section-pages {
                        position: relative;
                        width: 100%; 
                        height: 250px;
                        margin-top: 0;
                        background-size: cover;
                        background-position: center right;
                        background-repeat: no-repeat;
                        display: flex;
                        align-items: flex-end;    /* aligne le contenu en bas */
                        padding-bottom: 20px; 
                    }

                    .hero-section-pages::before {
                        content: '';
                        position: absolute;
                        top: 0;
                        left: 0;
                        right: 0;
                        bottom: 0;
                        background: linear-gradient(to top, rgba(0, 0, 0, 0.2) 0%, transparent 100%);
                        inset: 0;
                    }

                    .hero-section-consultations {
                        position: relative;
                        width: 100%; 
                        height: 380px;
                        margin-top: 0;
                        background-size: cover;
                        background-position: center right;
                        background-repeat: no-repeat;
                        display: flex;
                        align-items: flex-end;    /* aligne le contenu en bas */
                        padding-bottom: 20px;
                    }

                    .hero-section-consultations::before {
                        content: '';
                        position: absolute;
                        top: 0;
                        left: 0;
                        right: 0;
                        bottom: 0;
                        background: linear-gradient(to top, rgba(0, 0, 0, 0.2) 0%, transparent 100%);
                        inset: 0;
                    }

                     .hero-section-doctors {
                        position: relative;
                        width: 100%; 
                        min-height: 430px;
                        height: auto;
                        margin-top: 0;
                        background-size: cover;
                        background-position: center center;
                        background-repeat: no-repeat;
                        display: flex;
                        align-items: flex-end;    /* aligne le contenu en bas */
                        padding-bottom: 20px;
                    }

                    .hero-section-doctors::before {
                        content: '';
                        position: absolute;
                        top: 0;
                        left: 0;
                        right: 0;
                        bottom: 0;
                        background: linear-gradient(to top, rgba(0, 0, 0, 0.2) 0%, transparent 100%);
                        inset: 0;
                    }

                    .page-title {
                        font-size: 1.8rem;
                        font-weight: 700;
                        color: var(--white);
                        text-align: left;
                        padding-left: 10px;
                    }

                    .page-title-contact {
                        font-size: 1.8rem;
                        font-weight: 700;
                        text-align: left;
                        margin-bottom: 20px;
                        color: var(--text-dark);
                    }
                    .entry-content {
                        padding: 20px 0;
                    }
                    .item-excerpt {
                        margin-top:10px;
                        margin-bottom: 10px;
                        line-height: 22px;
                    }
                    .item-excerpt a {
                            text-decoration: none;
                            color:var(--white);
                    }
                    .item-excerpt a:hover {
                            color:var(--gray-ultralight);
                    }

            /* HEADER IMAGE PAGES FOND POUR TITRES */

            /* ✓ Cible uniquement les liens dans le contenu de la page */
            .post-navigation a,
            .entry-content a, 
            .page-content a {
                color: var(--primary-color);
                text-decoration: none;
                transition: color 0.3s ease;
            }

            /* ✓ Hover */
            .post-navigation a:hover,
            .entry-content a:hover, 
            .page-content a:hover {
                color: var(--social-color);
                text-decoration: none;
            }

            .entry-header-page {
            min-height: 100px;
            margin-top: -10px;
            }
            .container-posts {
            max-width: 1400px;
            margin: 0 auto;
            padding: 2rem;
            }
            /* Clear floats after the columns */
            .row:after {
            content: "";
            display: table;
            clear: both;
            }
            .leftcolumn {   
            float: left;
            width: 75%;
            }

            /* Right column */
            .rightcolumn {
            float: left;
            width: 25%;
            padding-left: 20px;
            }
            
            .header-column {
                float: left;
                width: 33.33%;
                padding: 15px;
                color: var(--white);
                height: 200px; 
            }
            .header-column-side {
                    width: 100%;
                    padding: 10px;
                    margin: 0;
                    font-size: 1em;
                    color: var(--white);
                    height: 240px; 
            }

             .header-column-sidecontact {
                    width: 100%;
                    padding: 10px;
                    margin: 0;
                    font-size: 1em;
                    color: var(--white);
                    height: auto; 
            }
            
            .horaires-container {
                display: flex;
                flex-direction: column; /* Force les blocs à s'afficher l'un en bas de l'autre */
                gap: 12px;              /* Espace vertical entre chaque ligne d'horaire */
            }

            /* Chaque ligne d'horaire gère le face à face entre le SVG et son texte */
            .horaire-info {
                display: flex;
                align-items: flex-start; /* Aligne le picto sur la première ligne de texte */
                gap: 10px;  
                vertical-align: 10px;             /* Écart horizontal entre le SVG et le texte */
            }
            .conatct-info {
                display: flex;
                align-items: flex-start; /* Aligne le picto sur la première ligne de texte */
                gap: 6px;  
                vertical-align: 20px;   
                line-height: 28px;       /* Écart horizontal entre le SVG et le texte */
            }

            /*Mes Pictos*/
/* ==========================================================================
   Classe de Base commune pour tous les Pictogrammes
   ========================================================================== */
.picto {
    display: inline-block;
    width: 24px;   /* Taille par défaut ajustable */
    height: 24px;
    background-color: currentColor; /* Permet de changer la couleur via le CSS (ex: color: red;) */
    vertical-align: middle;
    
    /* Propriétés de masquage */
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
}

/* Modifier les tailles facilement si besoin */
.picto-sm { width: 16px; height: 16px; }
.picto-lg { width: 20px; height: 20px; }
.picto-xl { width: 25px; height: 25px; }
.picto-xxl { width: 30px; height: 30px; }

/* ==========================================================================
   Attributs Spécifiques (SVG encodés en Data URI)
   ========================================================================== */

/* Clock */
.picto-clock {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67V7z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67V7z'/%3E%3C/svg%3E");
}

/* Charte */
.picto-charte {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M595-355q-35-35-35-85t35-85q35-35 85-35t85 35q35 35 35 85t-35 85q-35 35-85 35t-85-35Zm113.5-56.5Q720-423 720-440t-11.5-28.5Q697-480 680-480t-28.5 11.5Q640-457 640-440t11.5 28.5Q663-400 680-400t28.5-11.5ZM440-40v-116q0-21 10-39.5t28-29.5q32-19 67.5-31.5T618-275l62 75 62-75q37 6 72 18.5t67 31.5q18 11 28.5 29.5T920-156v116H440Zm79-80h123l-54-66q-18 5-35 13t-34 17v36Zm199 0h122v-36q-16-10-33-17.5T772-186l-54 66Zm-76 0Zm76 0Zm-518 0q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v200q-16-20-35-38t-45-24v-138H200v560h166q-3 11-4.5 22t-1.5 22v36H200Zm80-480h280q26-20 57-30t63-10v-40H280v80Zm0 160h200q0-21 4.5-41t12.5-39H280v80Zm0 160h138q11-9 23.5-16t25.5-13v-51H280v80Zm-80 80v-560 137-17 440Zm480-240Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M595-355q-35-35-35-85t35-85q35-35 85-35t85 35q35 35 35 85t-35 85q-35 35-85 35t-85-35Zm113.5-56.5Q720-423 720-440t-11.5-28.5Q697-480 680-480t-28.5 11.5Q640-457 640-440t11.5 28.5Q663-400 680-400t28.5-11.5ZM440-40v-116q0-21 10-39.5t28-29.5q32-19 67.5-31.5T618-275l62 75 62-75q37 6 72 18.5t67 31.5q18 11 28.5 29.5T920-156v116H440Zm79-80h123l-54-66q-18 5-35 13t-34 17v36Zm199 0h122v-36q-16-10-33-17.5T772-186l-54 66Zm-76 0Zm76 0Zm-518 0q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v200q-16-20-35-38t-45-24v-138H200v560h166q-3 11-4.5 22t-1.5 22v36H200Zm80-480h280q26-20 57-30t63-10v-40H280v80Zm0 160h200q0-21 4.5-41t12.5-39H280v80Zm0 160h138q11-9 23.5-16t25.5-13v-51H280v80Zm-80 80v-560 137-17 440Zm480-240Z'/%3E%3C/svg%3E");
}

/* Stetoscope */
.picto-stetoscope {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M540-80q-108 0-184-76t-76-184v-23q-86-14-143-80.5T80-600v-240h120v-40h80v160h-80v-40h-40v160q0 66 47 113t113 47q66 0 113-47t47-113v-160h-40v40h-80v-160h80v40h120v240q0 90-57 156.5T360-363v23q0 75 52.5 127.5T540-160q75 0 127.5-52.5T720-340v-67q-35-12-57.5-43T640-520q0-50 35-85t85-35q50 0 85 35t35 85q0 39-22.5 70T800-407v67q0 108-76 184T540-80Zm248.5-411.5Q800-503 800-520t-11.5-28.5Q777-560 760-560t-28.5 11.5Q720-537 720-520t11.5 28.5Q743-480 760-480t28.5-11.5ZM760-520Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M540-80q-108 0-184-76t-76-184v-23q-86-14-143-80.5T80-600v-240h120v-40h80v160h-80v-40h-40v160q0 66 47 113t113 47q66 0 113-47t47-113v-160h-40v40h-80v-160h80v40h120v240q0 90-57 156.5T360-363v23q0 75 52.5 127.5T540-160q75 0 127.5-52.5T720-340v-67q-35-12-57.5-43T640-520q0-50 35-85t85-35q50 0 85 35t35 85q0 39-22.5 70T800-407v67q0 108-76 184T540-80Zm248.5-411.5Q800-503 800-520t-11.5-28.5Q777-560 760-560t-28.5 11.5Q720-537 720-520t11.5 28.5Q743-480 760-480t28.5-11.5ZM760-520Z'/%3E%3C/svg%3E");
}

/* Handicap */
.picto-handicap {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M260-720q-33 0-56.5-23.5T180-800q0-33 23.5-56.5T260-880q33 0 56.5 23.5T340-800q0 33-23.5 56.5T260-720ZM200-80v-280h-80v-240q0-33 23.5-56.5T200-680h120q33 0 56.5 23.5T400-600v78q-63 36-101.5 100T260-280q0 57 21 107.5T340-84v4H200Zm340 0q-83 0-141.5-58.5T340-280q0-67 39.5-118.5T480-470v87q-27 16-43.5 43T420-280q0 50 35 85t85 35q50 0 85-35t35-85h80q0 83-58.5 141.5T540-80Zm297-92-99-148H520v-320h80v240h182l122 184-67 44Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M260-720q-33 0-56.5-23.5T180-800q0-33 23.5-56.5T260-880q33 0 56.5 23.5T340-800q0 33-23.5 56.5T260-720ZM200-80v-280h-80v-240q0-33 23.5-56.5T200-680h120q33 0 56.5 23.5T400-600v78q-63 36-101.5 100T260-280q0 57 21 107.5T340-84v4H200Zm340 0q-83 0-141.5-58.5T340-280q0-67 39.5-118.5T480-470v87q-27 16-43.5 43T420-280q0 50 35 85t85 35q50 0 85-35t35-85h80q0 83-58.5 141.5T540-80Zm297-92-99-148H520v-320h80v240h182l122 184-67 44Z'/%3E%3C/svg%3E");
}

/* Emergency */
.picto-emergency {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M410-120v-238L204-239l-70-121 206-120-206-119 70-121 206 119v-239h140v239l206-119 70 121-206 119 206 120-70 121-206-119v238H410Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M410-120v-238L204-239l-70-121 206-120-206-119 70-121 206 119v-239h140v239l206-119 70 121-206 119 206 120-70 121-206-119v238H410Z'/%3E%3C/svg%3E");
}

/* Vision */
.picto-vision {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M555-435q-35-35-35-85t35-85q35-35 85-35t85 35q35 35 35 85t-35 85q-35 35-85 35t-85-35ZM400-160v-76q0-21 10-40t28-30q45-27 95.5-40.5T640-360q56 0 106.5 13.5T842-306q18 11 28 30t10 40v76H400Zm86-80h308q-35-20-74-30t-80-10q-41 0-80 10t-74 30Zm182.5-251.5Q680-503 680-520t-11.5-28.5Q657-560 640-560t-28.5 11.5Q600-537 600-520t11.5 28.5Q623-480 640-480t28.5-11.5ZM640-520Zm0 280ZM120-400v-80h320v80H120Zm0-320v-80h480v80H120Zm324 160H120v-80h360q-14 17-22.5 37T444-560Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M555-435q-35-35-35-85t35-85q35-35 85-35t85 35q35 35 35 85t-35 85q-35 35-85 35t-85-35ZM400-160v-76q0-21 10-40t28-30q45-27 95.5-40.5T640-360q56 0 106.5 13.5T842-306q18 11 28 30t10 40v76H400Zm86-80h308q-35-20-74-30t-80-10q-41 0-80 10t-74 30Zm182.5-251.5Q680-503 680-520t-11.5-28.5Q657-560 640-560t-28.5 11.5Q600-537 600-520t11.5 28.5Q623-480 640-480t28.5-11.5ZM640-520Zm0 280ZM120-400v-80h320v80H120Zm0-320v-80h480v80H120Zm324 160H120v-80h360q-14 17-22.5 37T444-560Z'/%3E%3C/svg%3E");
}

/* Priorité */
.picto-priorite {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M420-280h120v-100h100v-120H540v-100H420v100H320v120h100v100ZM160-120v-480l320-240 320 240v480H160Zm80-80h480v-360L480-740 240-560v360Zm240-270Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M420-280h120v-100h100v-120H540v-100H420v100H320v120h100v100ZM160-120v-480l320-240 320 240v480H160Zm80-80h480v-360L480-740 240-560v360Zm240-270Z'/%3E%3C/svg%3E");
}

/* Marquer */
.picto-marquer {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E");
}

/* Info */
.picto-info {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M440-280h80v-240h-80v240Zm68.5-331.5Q520-623 520-640t-11.5-28.5Q497-680 480-680t-28.5 11.5Q440-657 440-640t11.5 28.5Q463-600 480-600t28.5-11.5ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M440-280h80v-240h-80v240Zm68.5-331.5Q520-623 520-640t-11.5-28.5Q497-680 480-680t-28.5 11.5Q440-657 440-640t11.5 28.5Q463-600 480-600t28.5-11.5ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z'/%3E%3C/svg%3E");
}

/* Phone */
.picto-phone {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E");
}

/* Fax */
.picto-fax {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 11H5c-1.66 0-3 1.34-3 3v4h4v3h12v-3h4v-4c0-1.66-1.34-3-3-3zm-3 8H8v-4h8v4zm3-5c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-2-8H7c-.55 0-1 .45-1 1v4h12V4c0-.55-.45-1-1-1z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 11H5c-1.66 0-3 1.34-3 3v4h4v3h12v-3h4v-4c0-1.66-1.34-3-3-3zm-3 8H8v-4h8v4zm3-5c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-2-8H7c-.55 0-1 .45-1 1v4h12V4c0-.55-.45-1-1-1z'/%3E%3C/svg%3E");
}

/* Email */
.picto-email {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h640q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H160Zm320-280L160-640v400h640v-400L480-440Zm0-80 320-200H160l320 200ZM160-640v-80 480-400Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h640q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H160Zm320-280L160-640v400h640v-400L480-440Zm0-80 320-200H160l320 200ZM160-640v-80 480-400Z'/%3E%3C/svg%3E");
}

.picto-star-full {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpolygon points='60,10 72,42 106,42 78,62 88,95 60,75 32,95 42,62 14,42 48,42'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpolygon points='60,10 72,42 106,42 78,62 88,95 60,75 32,95 42,62 14,42 48,42'/%3E%3C/svg%3E");
}

/* Étoile avec Contour/Bordure (Star Border) */
.picto-star-border {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpolygon points='60,15 71,44 102,44 77,62 86,92 60,74 34,92 43,62 18,44 49,44' fill='none' stroke='black' stroke-width='8' stroke-linejoin='round'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpolygon points='60,15 71,44 102,44 77,62 86,92 60,74 34,92 43,62 18,44 49,44' fill='none' stroke='black' stroke-width='8' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.picto-plus {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cline x1='7' y1='1' x2='7' y2='13' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3Cline x1='1' y1='7' x2='13' y2='7' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cline x1='7' y1='1' x2='7' y2='13' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3Cline x1='1' y1='7' x2='13' y2='7' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* Calendar (Calendrier / Date / Événement) */
.picto-calendar {
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M200-80q-33 0-56.5-23.5T120-160v-560q0-33 23.5-56.5T200-800h40v-80h80v80h320v-80h80v80h40q33 0 56.5 23.5T840-720v560q0 33-23.5 56.5T760-80H200Zm0-80h560v-400H200v400Zm0-480h560v-80H200v80Zm280 240q-17 0-28.5-11.5T440-440q0-17 11.5-28.5T480-480q17 0 28.5 11.5T520-440q0 17-11.5 28.5T480-400Zm-188.5-11.5Q280-423 280-440t11.5-28.5Q303-480 320-480t28.5 11.5Q360-457 360-440t-11.5 28.5Q337-400 320-400t-28.5-11.5ZM640-400q-17 0-28.5-11.5T600-440q0-17 11.5-28.5T640-480q17 0 28.5 11.5T680-440q0 17-11.5 28.5T640-400ZM480-240q-17 0-28.5-11.5T440-280q0-17 11.5-28.5T480-320q17 0 28.5 11.5T520-280q0 17-11.5 28.5T480-240Zm-188.5-11.5Q280-263 280-280t11.5-28.5Q303-320 320-320t28.5 11.5Q360-297 360-280t-11.5 28.5Q337-240 320-240t-28.5-11.5ZM640-240q-17 0-28.5-11.5T600-280q0-17 11.5-28.5T640-320q17 0 28.5 11.5T680-280q0 17-11.5 28.5T640-240Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M200-80q-33 0-56.5-23.5T120-160v-560q0-33 23.5-56.5T200-800h40v-80h80v80h320v-80h80v80h40q33 0 56.5 23.5T840-720v560q0 33-23.5 56.5T760-80H200Zm0-80h560v-400H200v400Zm0-480h560v-80H200v80Zm280 240q-17 0-28.5-11.5T440-440q0-17 11.5-28.5T480-480q17 0 28.5 11.5T520-440q0 17-11.5 28.5T480-400Zm-188.5-11.5Q280-423 280-440t11.5-28.5Q303-480 320-480t28.5 11.5Q360-457 360-440t-11.5 28.5Q337-400 320-400t-28.5-11.5ZM640-400q-17 0-28.5-11.5T600-440q0-17 11.5-28.5T640-480q17 0 28.5 11.5T680-440q0 17-11.5 28.5T640-400ZM480-240q-17 0-28.5-11.5T440-280q0-17 11.5-28.5T480-320q17 0 28.5 11.5T520-280q0 17-11.5 28.5T480-240Zm-188.5-11.5Q280-263 280-280t11.5-28.5Q303-320 320-320t28.5 11.5Q360-297 360-280t-11.5 28.5Q337-240 320-240t-28.5-11.5ZM640-240q-17 0-28.5-11.5T600-280q0-17 11.5-28.5T640-320q17 0 28.5 11.5T680-280q0 17-11.5 28.5T640-240Z'/%3E%3C/svg%3E");
}


            /* Vos réglages pour le picto */
            .horaire-info svg {
                width: 24px;
                height: 24px;
                fill: var(--white, #ffffff); /* Utilise votre variable ou blanc par défaut */
                flex-shrink: 0;              /* Empêche le picto de se déformer si le texte passe à la ligne */
                margin-top: 2px;             /* Centre parfaitement le picto avec la première ligne de texte */
            }
            .conatct-info svg {
                width: 20px;
                height: 20px;
                fill: var(--white, #ffffff); /* Utilise votre variable ou blanc par défaut */
                flex-shrink: 0;              /* Empêche le picto de se déformer si le texte passe à la ligne */
                margin-top: 2px;             /* Centre parfaitement le picto avec la première ligne de texte */
            }

            /* Le texte à côté du SVG */
            .horaire-info span {
                font-size: 1.1rem;
                line-height: 1.1;
                color: var(--white, #ffffff);
            }

            .contact-info span {
                font-size: 1.1rem;
                line-height: 1.1;
                color: var(--white, #ffffff);
            }

            .footer-column {
                float: left;
                width: 25%;
                padding: 15px;
                color: var(--white);
                height: 200px; 
            }

        .title-footer-column {
            color:var(--gray-ultra);
            font-weight: 700;
            font-size: 1.3em;
        }
           
         @media screen and (max-width: 1000px) {
                    .footer-column {
                    width: 50%;
                    padding: 15px;
                    margin: 0;
                }
            }

        @media screen and (max-width: 1140px) {
              .row {
                    display: block;
                }
                .leftcolumn, .rightcolumn {   
                    width: 100%;
                    padding: 0;
                }
                .rightcolumn { 
                    margin-top:20px;
                    margin-bottom: 20px;
                }
            }
            @media screen and (max-width: 800px) {
                main, .main-home {
                padding: 20px; /* Enlever le padding-top de 120px */
                width: 100%;
                margin: 0 auto;
                }
                .footer-column {
                    width: 100%;
                    padding: 10px;
                    margin: 0;
                    font-size: 1em;
                }
                .header-column {
                    width: 100%;
                    padding: 10px;
                    margin: 0;
                    font-size: 1em;
                }
                .horaire-info p {
                    font-size: 1em;
                }
            }

        h2 { margin-bottom: 8px; color: var(--primary-color); }
        p { margin-bottom: 8px; font-size: 1.1rem; }
        hr {
        border: none; 
        box-shadow: none; 
        height: 2px; 
        background-color: var(--white); 
        margin-bottom: 8px;
        margin-top: 8px;
        }


        .post-learnmore {
        text-align: center;
        padding-top: 16px;
        padding-bottom: 16px;
        }

/* --- STRUCTURE D'UN ARTICLE (40% / 60%) --- */
        
        .post-card {
            display: flex;
            background-color: var(--gray-ultra);
            border-radius: 0px;
            overflow: hidden;
            box-shadow: 0 2px 5px rgba(0,0,0,0.05);
            margin-bottom: 25px;
        }

        .post-image-wrapper {
            width: 40%;
            min-height: 200px;
        }

        .post-image-wrapper img {
            width: 100%;
            height: 100%;
            object-fit: cover; /* Permet à l'image de remplir l'espace sans se déformer */
            display: block;
        }

        .post-content {
            width: 60%;
            padding: 20px;
            display: flex;
            flex-direction: column;
            justify-content: center; /* Centre le contenu verticalement si l'image est grande */
        }

        .post-date {
            font-size: 0.95rem;
            color: var(--gray-dark);
            margin-bottom: 8px;
        }

        .post-date svg {
            vertical-align: -4px;
            height: 20px; 
            width: 20px;
            fill: var(--gray-dark);
        }

        .post-title {
            font-size: 1.4rem;
            margin-bottom: 10px;
            color: var(--text-dark);
        }
         .post-title a {
            color: var(--text-dark);
            text-decoration: none;
        }
        .post-title a:hover {
            color: var(--primary-color);
        }


        .post-excerpt {
            font-size: 0.95rem;
            color: var(--text-dark);
            margin-bottom: 15px;
        }
        .post-readmore {
            margin-top: 10px;
        }

        .read-more-btn {
            align-self: flex-start; /* Évite que le bouton ne prenne toute la largeur */
            background-image: linear-gradient(135deg, rgba(228,29,30,1), rgba(228,29,30,0.5));
            border-radius: 0px;
            padding: 14px;
            color: var(--white);
            font-size: 16px;
            font-weight: 600;
            cursor: pointer;
            border: 1px solid var(--white);
            text-decoration: none;
        }

        .read-more-btn svg {
			vertical-align: middle;
			stroke-width: 1px;
		}

        .read-more-btn:hover {
            background-image: none;
            background-color: var(--social-color);
            border: 1px solid var(--social-color);
            color: var(--white);
        }

        .post-categories {
            display: inline-block;
             color: var(--gray-dark);
        }
        .post-categories a {
            text-decoration: none;
            color: var(--gray-dark); /* Remplacez par la couleur de votre choix */
        }
        .post-categories a:hover {
            color:var(--primary-color);
        }

        @media (max-width: 800px) {
            /* L'article passe sur une seule colonne (Image 100% / Contenu 100%) */
            .post-card {
                flex-direction: column;
            }

            .post-image-wrapper,
            .post-content {
                width: 100%;
            }

            .post-image-wrapper {
                height: 200px; /* Fixe une hauteur pour l'image sur mobile */
            }
        }

.read-more {
    padding:16px;
    border:none;
    background:var(--primary-color);
    color:white;
    cursor:pointer;
    min-width:180px;
    font-size:1rem;
    transition:0.3s ease;
    text-decoration:none;
}

.read-more:hover {
    background-color:var(--social-color);
}

/* Pagination */
.pagination {
  margin-top: 2rem;
  margin-bottom: 4rem;
  text-align: center;
}

.pagination a, .pagination span {
  display: inline-block;
  margin: 0 0.3rem;
  padding: 0.3rem 0.3rem;
  text-decoration: none;
  color: var(--text-dark);
}
.pagination .page-numbers {
    border: 1px solid var(--gray-neutre);
    margin-bottom: 8px;
}

.pagination a:hover {
  background: var(--gray-dark);
}

.pagination .current {
  font-weight: bold;
  background: var(--primary-color);
  color: var(--white);
  margin-bottom: 8px;
}

.pagination .next, .pagination .prev {
    padding: 0.6rem 0.6rem;
    margin-bottom: 8px;
}

        /* CONTENU PAGE END */

        /* ===== OVERLAY SELECT ===== */
        .select-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(255, 255, 255, 1);
            z-index: 1500;
            display: none;
            backdrop-filter: blur(2px);
        }

        .select-overlay.active {
            display: block;
        }

        /* Le container est au-dessus de l'overlay quand ouvert */
        .select-submit-container.select-open {
            position: relative;
            z-index: 1900;
        }

        /* ===== CUSTOM SELECT ===== */
        /* Container pour select + bouton */
        .select-submit-container {
            display: flex;
            gap: 10px;
            align-items: flex-start;
            margin-bottom: 20px;
        }

        /* ===== CUSTOM SELECT ===== */
        .custom-select-wrapper {
            position: relative;
            flex: 1;
            z-index: 1;
        }

        .custom-select-wrapper.open { z-index: 999; }
        .custom-select-wrapper select { display: none; }

        .custom-select {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 14px 20px;
            background-color: var(--white);
            cursor: pointer;
            user-select: none;
            transition: box-shadow 0.3s ease, border-radius 0.3s ease;
            border-radius: 0px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            outline: none;
        }

        .custom-select.open {
            box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
            border-radius: 0;
        }

        .custom-select-trigger {
            color: var(--text-dark);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            max-width: calc(100% - 30px);
        }

        .select-arrow-icon {
            width: 32px;
            height: 32px;
            flex-shrink: 0;
            margin-left: 10px;
            stroke: var(--text-dark);
            stroke-width: 1.5;
            transition: transform 0.3s ease;
        }

        .custom-select.open .select-arrow-icon {
            transform: rotate(180deg);
        }

        .custom-options {
            position: absolute;
            top: 100%;
            left: 0;
            right: 0;
            background-color: var(--white);
            border-radius: 0px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            z-index: 10;
            max-height: 230px;
            overflow-y: auto;
            opacity: 0;
            visibility: hidden;
            transform: translateY(-10px);
            transition: all 0.3s ease;
        }

        .custom-options.open {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }

        .custom-option {
            display: flex;
            align-items: center;
            padding: 10px 20px;
            cursor: pointer;
            position: relative;
        }

        .custom-option:hover { background-color: #f0f0f0; }

        .custom-select-wrapper.single-select .custom-option { padding: 12px 20px; font-size: 1.1em; }
        .custom-select-wrapper.single-select .custom-option.selected {
            font-size: 1.1em;
            background-color: #e0e0e0;
            font-weight: bold;
        }
        .custom-select-wrapper.single-select .custom-checkbox { display: flex; }

        .custom-checkbox {
            width: 19px;
            height: 19px;
            border: 2px solid #ddd;
            border-radius: 4px;
            margin-right: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.2s ease;
        }

        .custom-checkbox::after {
            content: '✓';
            color: white;
            font-size: 15px;
            opacity: 0;
            transition: opacity 0.2s ease;
        }

        .custom-option.selected .custom-checkbox {
            background-color: var(--primary-color);
            border-color: var(--primary-color);
        }

        .custom-option.selected .custom-checkbox::after { opacity: 1; }

        .custom-option-filter {
            padding: 8px 12px;
            cursor: default;
            position: sticky;
            top: 0;
            background-color: var(--white);
            border-bottom: 1px solid #f0f0f0;
            z-index: 100;
        }

        .custom-option-filter input {
            width: 100%;
            padding: 10px 15px;
            border: 1px solid #ddd;
            border-radius: 0px;
            box-sizing: border-box;
            font-size: 1.1em;
            outline: none;
        }

        .custom-option-filter input:focus {
            outline:none;
            border-color: var(--primary-color);
            box-shadow: 0 0 5px rgba(235,41,21,0.5);
        }

        /* ===== BOUTON SUBMIT ===== */
        .submit-btn {
            padding: 19px 25px;
            background: var(--primary-color);
            color: white;
            border: none;
            cursor: pointer;
            font-size: 1em;
            font-weight: 500;
            transition: background 0.3s ease, transform 0.2s ease;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            white-space: nowrap;
            min-width: 180px;
            z-index:900 ;
        }

        .submit-btn:hover {
            background: var(--social-color);
            /*transform: translateY(-2px);*/
            box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
        }

        .submit-btn:active {
            transform: translateY(0);
        }

        .submit-btn:disabled {
            background: rgba(235,41,21,0.5);
            cursor: not-allowed;
            transform: none;
        }

        /* ===== CARROUSEL ===== */
        .carousel-section {
            padding: 60px 0;
            background: var(--white);
        }

        .carousel-container {
            max-width: 1400px;
            margin: 0 auto;
            padding: 0 20px;
        }

        .carousel-title {
            text-align: center;
            color: var(--primary-color);
            font-size: 1.5rem;
            margin-bottom: 40px;
        }

        .carousel-wrapper {
            position: relative;
            overflow: hidden;
        }

        .carousel-track {
            display: flex;
            gap: 20px;
            transition: transform 0.4s ease;
            cursor: grab;
            user-select: none;
        }

        .carousel-track.dragging {
            cursor: grabbing;
            transition: none;
        }

        .carousel-item {
            /*flex: 0 0 calc(33.333% - 13.333px);*/
            flex: 0 0 calc(25% - 15px);
            background: var(--gray-ultra);
            border-radius: 0px;
            overflow: hidden;
           
        }

        .carousel-item img {
            width: 100%;
            height: 250px;
            object-fit: cover;
        }

        .carousel-item-content {
            padding: 20px;
        }

        .carousel-item-content h3 {
            color: var(--primary-color);
            margin-bottom: 10px;
            font-size: 1.3rem;
            line-height:1.5rem;
        }

        .carousel-item-content p {
            color: var(--text-dark);
            font-size: 0.95rem;
            margin: 0;
        }

        .carousel-arrow {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 50px;
            height: 50px;
            background: rgba(255, 255, 255, 0.9);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.3s ease;
            z-index: 10;
        }

        .carousel-arrow:hover {
            background: var(--white);
            transform: translateY(-50%) scale(1.1);
        }

        .carousel-arrow-left {
            left: 10px;
        }

        .carousel-arrow-right {
            right: 10px;
        }

        .carousel-arrow svg {
            width: 24px;
            height: 24px;
            fill: var(--primary-color);
        }

        @media (max-width: 768px) {
            .carousel-title {
                font-size: 1.8rem;
                margin-bottom: 30px;
            }

            .carousel-item {
                flex: 0 0 calc(100% - 40px);
            }

            .carousel-arrow {
                width: 40px;
                height: 40px;
            }
        }

        /* --- SCROLL TO TOP --- */
        .scroll-to-top {
            position: fixed;
            bottom: 50px;
            right: 30px;
            width: 50px;
            height: 50px;
            background: var(--white);
            border-radius: 50%;
            display: none;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            box-shadow: 0 4px 15px rgba(0,0,0,0.2);
            z-index: 1000;
        }
        .scroll-to-top.visible { display: flex; }
        .scroll-to-top svg { width: 24px; fill: var(--primary-color); }

        /* INFORMATION*/
        .information-section {
            width: 100%;
            display: block;
            background: transparent;
            z-index: 9999;
        }
         .information-container {
            position: relative;
            max-width: 1400px;
            margin: -50px auto;
            padding: 20px 20px;
        }
        /*INFORMATION END*/

        /* PICTOS*/
        .picto-section {
            width: 100%;
            display: block;
            background: var(--white);
            z-index: 9999;
        }
         .picto-container {
            position: relative;
            max-width: 1400px;
            margin: 0px auto;
            padding: 0;
        }

                /* --- Conteneur principal (Grille de 3 colonnes par défaut) --- */
        .med-grid-container {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 30px;
            padding: 20px;
            margin: 0;
        }

        /* --- Style de chaque bloc de contenu --- */
        .med-card {
            display: flex;
            flex-direction: column;
            align-items: center; /* Centre le cercle, le titre et le texte horizontalement */
            text-align: center;   /* Centre l'alignement du texte */
            background-color: var(--gray-ultra);
            padding: 20px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
        }

        /* --- Le cercle rouge entourant le SVG --- */
        .med-icon-circle {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 64px;          /* Taille du cercle rouge */
            height: 64px;
            background-color: var(--primary-color);
            border-radius: 50%;   /* En fait un cercle parfait */
            margin-bottom: 15px;  /* Espace sous le cercle */
        }

        /* --- Le picto SVG à l'intérieur du cercle --- */
        .med-icon-circle svg {
            width: 32px;          /* Largeur forcée à 32px */
            height: 32px;         /* Hauteur forcée à 32px */
            fill: var(--white);        /* Couleur blanche */
        }

        /* --- Style du Titre --- */
        .med-card h3 {
            margin: 0 0 10px 0;
            font-size: 1.25rem;
            color: var(--text-dark);
        }

        /* --- Style du Texte (Forcé sur 3 lignes max) --- */
        .med-card p {
            margin: 0;
            font-size: 0.95rem;
            line-height: 1.5;     /* Hauteur de ligne confortable */
            color: var(--text-dark);
            
            /* Astuce CSS moderne pour forcer l'affichage sur exactement 3 lignes 
            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
            */
        }

        /* ==========================================================================
        RESPONSIVE : Gestion des tailles d'écrans
        ========================================================================== */

        /* Écrans Moyens (Entre 800px et 1000px) : Passage automatique en 2 colonnes */
        @media (min-width: 800px) and (max-width: 1000px) {
            .med-grid-container {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        /* Écrans Petits (Moins de 800px) : Passage automatique en 1 colonne unique */
        @media (max-width: 799px) {
            .med-grid-container {
                grid-template-columns: 1fr;
                gap: 20px; /* Plus d'espace vertical entre les blocs empilés */
                margin: 0;
            }
        }
        /*PICTOS END*/

        /* SESSION PAGES */
        .page-section {
            width: 100%;
            display: block;
            background: var(--white);
        }
         .page-container {
            max-width: 1400px;
            margin: 0 auto;
            padding: 0 20px;
        }
        /*SESSION PAGES END*/

        /* REASSURANCE*/
        .reassurance-section {
            width: 100%;
            display: block;
            background: var(--gray-light);
        }
         .reassurance-container {
            max-width: 1400px;
            margin: 0 auto;
            padding: 0 20px;
        }
        /*REASSURENCE END*/

        /* Footer */
        .site-footer {
            width: 100%;
            background: var(--gray-light);
            color: var(--gray-dark);
            text-align: left;
            padding: 15px;
        }

        .footer-logo {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 15px;
        }

        .footer-logo svg {
            width: 55px;
            height: 55px;
        }

         .footer-logo span {
            font-size: 1.3rem;
            font-weight: bold;
        }

        .widget-title {
            line-height: 28px;
        }

        .site-footer a {
            color:var(--gray-dark); text-decoration: none;
        }

        .site-info {
            width: 100%;
            background: var(--gray-neutre);
            text-align: left;
            padding: 15px;
        }

        .site-footer a, .site-info a{
            color:var(--gray-dark); font-weight: 200; text-decoration: none;
        }

        .site-footer a:hover, .site-info a:hover{
            color:var(--text-dark); font-weight: 200; text-decoration: none;
        } 

        .footer-widgets-container {
            display: flex;
            gap: 20px;
        }

        .footer-widget-area {
            flex: 1; 
            min-height: 100px;
        }

        .footer-widget-space {
            margin-top: 20px;
            margin-bottom: 20px;
            text-align: center;
        }

         .footer-widget-space a {
            color: var(--white);
            text-decoration: none;
            margin-bottom: 20px;
        }

         .footer-widget-space a:hover {
            color: var(--gray-ultralight);
         }

        .textwidget{
                margin-bottom: 40px;
         }

        /*widget last news */
        /* short code widget last news */
            .widgetlist {
            list-style: none;
            padding: 0;
            margin: 0;
            background-color: transparent;
            }

            .widgetlist .widgetitem {
            display: flex;
            align-items: left;
            gap: 8px;
            margin-bottom:8px;
            }

            .widgetlist .widgetthumbnail {
            width: 75px;
            height: 75px;
            object-fit: cover;
            flex-shrink: 0;
            border-radius: 0px;
            }

            .widgetlist .widgetcontent {
            display: flex;
            flex-direction: column;
            }

            .widgetlist .widgettitle {
            margin: 0;
            font-size: inherit;
            line-height: 22px;
            }

            .widgetlist .widgettitle a {
            text-decoration: none;
            color: var(--social-color);
            font-weight: 400; 

            }

            .widgetlist .widgettitle a:hover {
            text-decoration: none;
            color: var(--primary-color);
            }

            .widgetlist .widgetdate {
            margin: 2px 0 0 0;
            font-size: 12px;
            color: inherit;
            }

            /* Fin shortcode widget*/

        .rpwwt-widget ul {
        list-style: none!important;
        margin-left: 10px;;
        }

        .rpwwt-post-title {
        padding: 8px;
        }

        /* =========================
        MENU SECONDAIRE (footer)
        ========================= */
        .widget_nav_menu {
        display: flex;
        flex-direction: column;        /* vertical */
        gap: 0.5rem;
        list-style: none;
        padding: 0;
        margin: 0;
        }

        .widget_nav_menu li {
        border-bottom: 2px dotted var(--gray-dark);
        }

        .widget_nav_menu a {
        text-decoration: none;
        line-height: 24px;
        color: var(--gray-dark);
        font-weight: 400;
        font-size: 1.2em;
        transition: color 0.3s ease;
        }

        .widget_nav_menu a:hover {
         color: var(--text-dark);
         font-weight: 400;
        }

        .widget_nav_menu .current-menu-item > a,
        .widget_nav_menu .current_page_item > a {
        font-weight: 700;
        color: var(--text-dark);
        }

/* MENU SOCIAL NETWORK */
/* 1. Structure du menu avec Flexbox */
.social-menu {
    display: flex;
    gap: 1rem;
    list-style: none;
    padding: 0;
    margin: 0;
    align-items: center;
}

/* 2. Style des liens et masquage du texte */
.social-menu a {
    display: inline-flex;
    width: 24px;  /* Taille de votre picto */
    height: 24px;
    font-size: 0; /* Masque le texte du lien proprement */
    color: var(--text-dark);  /* Couleur par défaut de l'icône */
    transition: color 0.3s ease, transform 0.2s ease;
    position: relative;
}

/* Effet au survol global (facultatif) */
.social-menu a:hover {
    color: var(--primary-color); /* Couleur au survol */
   /* transform: translateY(-2px);*/
}

/* 3. Configuration du pseudo-élément pour accueillir le SVG */
.social-menu a::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: currentColor; /* Permet au SVG de changer de couleur au :hover */
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

/* 4. Injection dynamique des pictogrammes SVG selon l'URL */
.social-menu a[href*="facebook.com"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z'/%3E%3C/svg%3E");
}

.social-menu a[href*="linkedin.com"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22.23 0H1.77C.8 0 0 .77 0 1.72v20.56C0 23.23.8 24 1.77 24h20.46c.98 0 1.77-.77 1.77-1.72V1.72C24 .77 23.2 0 22.23 0zM7.12 20.45H3.56V9H7.12v11.45zM5.34 7.43c-1.14 0-2.06-.92-2.06-2.06 0-1.14.92-2.06 2.06-2.06 1.14 0 2.06.92 2.06 2.06 0 1.14-.92 2.06-2.06 2.06zm15.11 13.02h-3.56v-5.6c0-1.34-.03-3.05-1.86-3.05-1.86 0-2.14 1.45-2.14 2.95v5.7H9.33V9h3.42v1.56h.05c.48-.9 1.64-1.85 3.37-1.85 3.6 0 4.27 2.37 4.27 5.45v6.29z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22.23 0H1.77C.8 0 0 .77 0 1.72v20.56C0 23.23.8 24 1.77 24h20.46c.98 0 1.77-.77 1.77-1.72V1.72C24 .77 23.2 0 22.23 0zM7.12 20.45H3.56V9H7.12v11.45zM5.34 7.43c-1.14 0-2.06-.92-2.06-2.06 0-1.14.92-2.06 2.06-2.06 1.14 0 2.06.92 2.06 2.06 0 1.14-.92 2.06-2.06 2.06zm15.11 13.02h-3.56v-5.6c0-1.34-.03-3.05-1.86-3.05-1.86 0-2.14 1.45-2.14 2.95v5.7H9.33V9h3.42v1.56h.05c.48-.9 1.64-1.85 3.37-1.85 3.6 0 4.27 2.37 4.27 5.45v6.29z'/%3E%3C/svg%3E");
}

.social-menu a[href*="instagram.com"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.051.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.051.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z'/%3E%3C/svg%3E");
}

.social-menu a[href*="x.com"]::before,
.social-menu a[href*="twitter.com"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E");
}

.social-menu a[href*="tiktok.com"]::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.02 1.59 4.23.73.9 1.69 1.63 2.77 2.06v4.01c-1.35-.11-2.68-.61-3.75-1.47-.66-.53-1.21-1.19-1.6-1.94v6.52c-.06 1.83-.58 3.65-1.58 5.14-1.46 2.13-3.9 3.45-6.48 3.44-2.83-.05-5.46-1.71-6.62-4.32-1.43-3.05-.6-6.86 2.02-8.98 1.55-1.29 3.59-1.9 5.61-1.64v3.99c-.71-.16-1.47-.1-2.11.23-.97.47-1.64 1.49-1.67 2.57-.08 1.62 1.2 3.05 2.81 3.09 1.46.08 2.83-.94 3.09-2.39.06-.29.08-.59.08-.88V.02z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.02 1.59 4.23.73.9 1.69 1.63 2.77 2.06v4.01c-1.35-.11-2.68-.61-3.75-1.47-.66-.53-1.21-1.19-1.6-1.94v6.52c-.06 1.83-.58 3.65-1.58 5.14-1.46 2.13-3.9 3.45-6.48 3.44-2.83-.05-5.46-1.71-6.62-4.32-1.43-3.05-.6-6.86 2.02-8.98 1.55-1.29 3.59-1.9 5.61-1.64v3.99c-.71-.16-1.47-.1-2.11.23-.97.47-1.64 1.49-1.67 2.57-.08 1.62 1.2 3.05 2.81 3.09 1.46.08 2.83-.94 3.09-2.39.06-.29.08-.59.08-.88V.02z'/%3E%3C/svg%3E");
}

.social-menu a[href*="youtube.com"]::before,
.social-menu a[href*="youtu.be"]::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E");
}

/* MENU SOCIAL NET WORK END */

        .footer-bottom {
            text-align: center;
            padding-top: 20px;
            padding-bottom: 0px;
            border-top: 1px solid var(--gray-dark);
            color: var(--social-color);
            font-size: 0.9rem;
        }
        
        .footer-contact {
            display: flex;
            align-items: flex-start;
            gap: 6px;               
        }
        /*
        .footer-contact svg {
            width: 20px;
            height: 20px;
            fill: var(--primary-color);
            flex-shrink: 0;            
            margin-top: 2px;             
        }
        */
        .footer-contact span {
            font-size: 1.1rem;
            line-height: 1.4;
            color: var(--gray-dark);
        }

        .sidebar-contact {
            font-size: 1.02em;
            color: var(--white);
        }  
        /*
        .sidebar-contact svg {
            width: 18px;
            height: 18px;
            fill: var(--white);
        }
        */

       @media (min-width: 800px) and (max-width: 1100px) {
           .footer-widgets-container {
                flex-direction: row !important; /* Sécurité pour éviter le mode colonne prématuré */
                flex-wrap: wrap !important;
            }
            .footer-widget-area {
                /* On force le navigateur à respecter le 50% */
                flex: 0 0 calc(50% - 10px) !important; 
                max-width: calc(50% - 10px) !important;
            }
        }
        @media screen and (max-width: 800px) {
            .main-content {
                width: 100%;
            }
            .footer-widgets-container {
                flex-direction: column; /* Force l'alignement vertical (les uns sous les autres) */
                margin-bottom: 20px;
            }
            .textwidget{
                margin-bottom: 40px;
            }
            .select-submit-container {
                flex-direction: column;
                gap: 10px;
            }

            .custom-select-wrapper {
                width: 100%;
            }

            .submit-btn {
                width: 100%;
                min-width: unset;
            }
        }

/*Formulaire de contact*/
.col-form, .colpaging {
  float: left;
  width: 50%;
  padding: 10px;
}

@media screen and (max-width: 800px) {
   .col-form {
    width: 100%;
    padding: 10px;
    }
    .colpaging {
    float: left;
    width: 100%;
    padding: 10px;
    }
}

.col-form-big {
  float: left;
  width: 100%;
  padding: 10px;
}


fieldset, .screen-reader-response ul, .hidden-fields-container {
  border: none;
  padding-left: 15px;
  list-style-type: none;
}
/* Champs texte et email */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
  width: 100%;
 /* background-image: linear-gradient(to right, rgba(29,173,153,0.9), rgba(29,173,153,0.5));*/
  background-color: var(--gray-neutre);
  border-radius: 0px;
  border: none;
  padding: 14px;
  color: var(--primary-color); ;
  font-size: 16px;
  outline: none;
  transition: all 0.3s ease;
}

/* Effet focus */
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 textarea:focus {
  background-image: none;
  border:none;
  background-color: var(--white);
  color: var(--text-dark);
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* Placeholder couleur blanche sur fond dégradé */
.wpcf7 ::placeholder {
  color: rgba(255, 255, 255, 0.8);
}

/* Bouton submit */
.wpcf7 input[type="submit"] {
  background-image: linear-gradient(135deg, rgba(228,29,30,1), rgba(228,29,30,0.5));
  border-radius: 0px;
  padding: 14px 35px;
  color: var(--white);
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  border: 1px solid var(--white);
}

/* Hover du bouton */
.wpcf7 input[type="submit"]:hover {
  background-image: none;
  background-color: var(--white);
  border: 1px solid var(--primary-color);
  color: var(--primary-color);
}

/* Animation légère sur clic */
.wpcf7 input[type="submit"]:active {
  transform: scale(0.97);
}

/* Pour uniformiser le textarea */
.wpcf7 textarea {
  resize: vertical;
  min-height: 120px;
}

/*fin formulaire de contact*/
        .faq-section {
            /*max-width: 860px;*/
            width: 100%;
            margin: 0 auto;
            padding: 0;
        }

        @media (max-width: 800px) {
            .faq-section {
            width: 100%;
            margin: 20px auto;
           }
        }

        .faq-title {
            font-size: 1.8rem;
            font-weight: 700;
            color: var(--white);
            text-align: left;
            padding-top: 190px;
            padding-left: 10px;
        }
        .faq-sub-title {
            font-size: 1.8rem;
            font-weight: 700;
            color: var(--text-dark);
            text-align: left;
            margin-bottom: 40px;
        }

        .faq-item {
            background: var(--white);
            border-radius: 10px;
            margin-bottom: 12px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.07);
            overflow: hidden;
        }

        .faq-question {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 20px 24px;
            cursor: pointer;
            user-select: none;
            gap: 16px;
        }

        .faq-question span {
            font-size: 1rem;
            font-weight: 600;
            color: var(--text-dark);
            flex: 1;
        }

        .faq-icon {
            width: 25px;
            height: 25px;
            min-width: 25px;
            border-radius: 0;
            background: var(--white);
            display: flex;
            align-items: center;
            justify-content: center;
            transition: transform 0.35s ease;
        }

        .faq-icon svg {
            width: 24px;
            height: 24px;
            fill: var(--primary-color);
            stroke: var(--primary-color);
            stroke-width: 1.5;
            stroke-linecap: square;
        }

        .faq-item.open .faq-icon {
            transform: rotate(45deg);
        }

        .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.4s ease, padding 0.3s ease;
            padding: 0 24px;
        }

        .faq-item.open .faq-answer {
            max-height: 400px;
            padding: 0 24px 20px;
        }

        .faq-answer p {
            font-size: 0.95rem;
            color: var(--text-dark);
            line-height: 1.7;
        }

.video-responsive-container {
  width: 100%;            /* Prend toute la largeur disponible de son parent */
  max-width: 800px;       /* Optionnel : évite que la vidéo devienne gigantesque sur grand écran */
  margin: 20px auto;      /* Centre la vidéo horizontalement */
  aspect-ratio: 16 / 9;   /* Magie moderne : maintient le ratio cinéma automatiquement */
}

.video-responsive-container-single {
  width: 40%;            /* Prend toute la largeur disponible de son parent */
  max-width: 420px;       /* Optionnel : évite que la vidéo devienne gigantesque sur grand écran */
  aspect-ratio: 16 / 9;   /* Magie moderne : maintient le ratio cinéma automatiquement */
}

 @media (max-width: 800px) {
     .video-responsive-container-single {
         width: 100%;  
         aspect-ratio: auto;
         height: auto; 
     }
 }

.video-responsive-container iframe, .video-responsive-container-single iframe {
  width: 100%;
  height: 100%;
  border-radius: 0px;    
}

#gallery-1 .gallery-item {
  float: left;
  margin-top: 10px;
  text-align: center;
  width: 33%;
  border: none;
}