/*
Theme Name:  epfif
Template: 	 hestia
Theme URI:	 https://wordpress.org/themes/hestia/
Author:		 ChildThemeWP
Author URI:	 https://childthemewp.com
Version:	 1.0.0
License:	 GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags:    	 opensource     
Text Domain: epfif
*/

@import url('https://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css');
/* @import url('style_espace_admin.css'); */
@import url('editor-style.css');

@font-face {
    font-family: 'Gotham Rounded';
    src: url('fonts/GothamRnd-Bold.woff2') format('woff2');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Rounded';
    src: url('fonts/GothamRnd-BoldItalic.woff2') format('woff2');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Rounded';
    src: url('fonts/GothamRnd-Book.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Rounded';
    src: url('GothamRnd-BookItalic.woff2') format('woff2');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Rounded';
    src: url('fonts/GothamRnd-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Rounded';
    src: url('fonts/GothamRnd-LightItalic.woff2') format('woff2');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Rounded';
    src: url('fonts/GothamRnd-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Gotham Rounded';
    src: url('fonts/GothamRnd-MediumItalic.woff2') format('woff2');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir';
    src: url('fonts/Avenir-Black.woff2') format('woff2'),
        url('fonts/Avenir-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir';
    src: url('fonts/Avenir-Medium.woff2') format('woff2'),
        url('fonts/Avenir-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir';
    src: url('fonts/Avenir-Oblique.woff2') format('woff2'),
        url('fonts/Avenir-Oblique.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Avenir';
    src: url('fonts/Avenir-Roman.woff2') format('woff2'),
        url('fonts/Avenir-Roman.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}



:root {
    --couleur-1: #d63080; /* Rose */
    --couleur-2: #1d5ba4; /* Bleu foncé */
    --couleur-2b: #dde7f2; /* Bleu foncé tramé */
    --couleur-3: #4bb167; /* Vert */
    --couleur-3b: #e4f3e8; /* Vert tramé */
    --couleur-4: #fe9017; /* Orange */
    --couleur-5: #eaf3fc; /* Bleu clair */
    --couleur-5b: #cbe7ff; /* lien Bleu clair */
    --couleur-6: #0161a2; /* Bleu footer */
    --couleur-7: #f1f8fe; /* Bleu clair bg */
    
    --wd-timeline-bubble-height: 100px;

    --cornerRad: 4px;
}
/*
body {
  background-color: var(--couleur-principale);
}
*/


/* font-family: "Rethink Sans", sans-serif; */


/* ==========================================================================
Généralité
========================================================================== */

html,
body.page-template,
body.wp-singular,
.page-template ul,
.page-wp-singular ul {
    font-family: 'Avenir';
    font-size: 20px;
    color: #000;
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Gotham Rounded', sans-serif;
  font-weight: bold; /* → GothamRnd-Bold */
  font-style: normal;
}
h3 {
    font-size: 24px;
    line-height: 1.2;
}

.txt-mini {
    font-size: 16px;
}

@media (min-width: 1280px) {
    .container {
        width: 1240px;
    }
}
a:focus {
    outline: 5px auto #ddd !important;
    outline-offset: -2px;
}

/* =============================================
   MENU PAGES ENFANTS — STYLE CARTES PICTO
   ============================================= */

.menu-pages-enfants {
    display: flex;
    justify-content: center;
    width: 100%;
}

.menu-pages-enfants .menu-enfants-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    list-style: none;
    margin: 0;
    margin-top: -52px;
    padding: 0;
    gap: 12px;
    width: 1240px;
}
.menu-pages-enfants .menu-enfants-list li {
   flex-grow: 1; 
    flex-basis: 0;
}


/* --- Carte de base --- */
.menu-pages-enfants .menu-enfants-list li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    text-decoration: none;
    color: #333;
    font-family: 'Gotham Rounded', sans-serif;
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    line-height: 1.3;
    text-align: center;
    padding: 15px 2px 15px;
    border-radius: 23px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    min-width: 120px;
    max-width: 240px;
    min-height: 100px;
    transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
/*
.menu-pages-enfants .menu-enfants-list li#menu-item-551 a {
    background: var(--couleur-1);
    color: #fff;
}
*/

.menu-pages-enfants .menu-enfants-list li a:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.14);
}

/* --- Icône commune via ::before --- */
.menu-pages-enfants .menu-enfants-list li a::before {
    content: '';
    display: block;
    width: 44px;
    height: 44px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    flex-shrink: 0;
}

/* =============================================
   ICÔNES PAR ITEM — couleur native
   ============================================= */

/* Prendre l'air — vert #4bb167 */
#menu-item-124 a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='46.837' height='45' viewBox='0 0 46.837 45'%3E %3Cpath d='M34.253,39.218a6.621,6.621,0,0,1,3.593,2.017c1.115,1.536.929,2.745.232,3.251s-2.116.665-3.423-1.137A4.752,4.752,0,0,1,34.253,39.218Zm11.892-3.9s-4.2.814-6.095,3.421-1.576,4.658-.395,5.515,3.59,1.13,5.807-1.928S46.145,35.315,46.145,35.315ZM30.986,19.355l5.048-5.05M30.986,24.563l-6.124-6.124m6.124,10.628h0a9.981,9.981,0,0,1-9.981-9.98V11.065a9.981,9.981,0,1,1,19.961,0v8.022a9.983,9.983,0,0,1-6.335,9.293M30.986,11.335V44.573M23.347,25.508A12.194,12.194,0,0,1,17.009,30.3m-8-.164A12.165,12.165,0,1,1,21.005,9.361M13.246,26.882V44.825' transform='translate(-0.454 -0.455)' fill='none' stroke='%234bb167' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.168'/%3E %3C/svg%3E"); }

/* Se déplacer — orange #fe9017 */
#menu-item-123 a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='70.384' height='45' viewBox='0 0 70.384 45'%3E %3Cpath d='M36.778,44.98H9.808a1.743,1.743,0,0,1-1.775-1.709V16.249A1.743,1.743,0,0,1,9.808,14.54h26.97a1.742,1.742,0,0,1,1.775,1.709V43.272A1.742,1.742,0,0,1,36.778,44.98Z' transform='translate(-3.076 -5.569)' fill='none' stroke='%23fe9017' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cpath d='M36.585,47.125v3.647a1.088,1.088,0,0,1-1.108,1.067H34.11A1.088,1.088,0,0,1,33,50.772V47.125m-19.365,0v3.647a1.088,1.088,0,0,1-1.108,1.067H11.163a1.088,1.088,0,0,1-1.108-1.067V47.125m17.456-6.75H19.28M8.048,33.848h30.5M8.048,20.237h30.5' transform='translate(-3.082 -7.75)' fill='none' stroke='%23fe9017' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cpath d='M12.166,49.642h4.99a1.2,1.2,0,0,1,1.192,1.2v1.477a1.2,1.2,0,0,1-1.192,1.2h-4.99' transform='translate(-4.659 -19.012)' fill='none' stroke='%23fe9017' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cpath d='M49.764,53.513h-4.99a1.2,1.2,0,0,1-1.192-1.2V50.839a1.2,1.2,0,0,1,1.192-1.2h4.99' transform='translate(-16.691 -19.012)' fill='none' stroke='%23fe9017' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cpath d='M3.359,28.913a2.074,2.074,0,0,1-2.275-1.779V21.949A2.074,2.074,0,0,1,3.359,20.17' transform='translate(-0.415 -7.725)' fill='none' stroke='%23fe9017' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cpath d='M60.567,20.171a2.074,2.074,0,0,1,2.275,1.779v5.184a2.074,2.074,0,0,1-2.275,1.779' transform='translate(-23.196 -7.725)' fill='none' stroke='%23fe9017' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cpath d='M94.688,46.216H72.03a1.881,1.881,0,0,1-1.89-1.871L70.9,15.49a1.881,1.881,0,0,1,1.89-1.871H93.93a1.881,1.881,0,0,1,1.89,1.871l.758,28.854A1.881,1.881,0,0,1,94.688,46.216Z' transform='translate(-26.862 -5.216)' fill='none' stroke='%23fe9017' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cpath d='M78.111,53.239h4.645a1.13,1.13,0,0,1,1.11,1.148V55.8a1.13,1.13,0,0,1-1.11,1.148H78.111' transform='translate(-29.915 -20.389)' fill='none' stroke='%23fe9017' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cline y1='26.272' x2='1.263' transform='translate(46.135 11.525)' fill='none' stroke='%23fe9017' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cline x1='1.263' y1='26.272' transform='translate(65.96 11.525)' fill='none' stroke='%23fe9017' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cline x1='18.398' transform='translate(47.669 14.793)' fill='none' stroke='%23fe9017' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cline x1='19.14' transform='translate(46.927 30.339)' fill='none' stroke='%23fe9017' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cpath d='M100.724,56.953H96.079a1.13,1.13,0,0,1-1.11-1.148V54.388a1.13,1.13,0,0,1,1.11-1.148h4.645' transform='translate(-36.371 -20.39)' fill='none' stroke='%23fe9017' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cline x1='13.199' transform='translate(49.897 11.654)' fill='none' stroke='%23fe9017' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cline x1='26.331' transform='translate(43.332 0.669)' fill='none' stroke='%23fe9017' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cline y2='3.596' transform='translate(56.497 3.227)' fill='none' stroke='%23fe9017' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cpath d='M78.7,68.563V69.2a1.291,1.291,0,0,1-1.156,1.393H76.116A1.291,1.291,0,0,1,74.96,69.2v-.633' transform='translate(-28.708 -26.258)' fill='none' stroke='%23fe9017' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cpath d='M105.8,68.563V69.2a1.291,1.291,0,0,1-1.156,1.393H103.22a1.291,1.291,0,0,1-1.156-1.393v-.633' transform='translate(-39.088 -26.258)' fill='none' stroke='%23fe9017' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3C/svg%3E"); }

/* Grandir, apprendre — rose #e6348a */
#menu-item-122 a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='53.648' height='45' viewBox='0 0 53.648 45'%3E %3Cpath d='M43.8,23.694l2.532-13.533M37.981,23.694l1.013-13.533M32.161,23.694V10.162M26.342,23.694,25.329,10.162M20.522,23.694,17.99,10.162M10.244,6.439H53.117L49.73,27.2H20.111M1.084,1.084h8.2l6.5,31.467H49m-.486,7.838a4.081,4.081,0,1,1-4.081-4.081A4.082,4.082,0,0,1,48.516,40.388Zm-24.76,0a4.081,4.081,0,1,1-4.081-4.081A4.082,4.082,0,0,1,23.757,40.388Z' transform='translate(-0.277 -0.277)' fill='none' stroke='%23e6348a' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.168'/%3E %3C/svg%3E"); }

/* Tous les services — bleu #1d5ba4 */
#menu-item-121 a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='33.791' height='45' viewBox='0 0 33.791 45'%3E %3Cpath d='M7.562,35.844H21.078M7.562,31.653H29.116M7.562,27.462H29.116M7.562,23.271H29.116M15.953,13.133H29.116m-13.163-3.4H29.116m-16.71,1.6A2.423,2.423,0,1,1,9.984,8.844,2.456,2.456,0,0,1,12.406,11.332ZM1.084,41.851V1.084H30.822M33.651,44.86H3.913V4.093H33.651Z' transform='translate(-0.472 -0.472)' fill='none' stroke='%231d5ba4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.168'/%3E %3C/svg%3E"); }

/* Qualité résidentielle — blanc (déjà blanc, pour fond rose) */
#menu-item-551 a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='54.481' height='45' viewBox='0 0 54.481 45'%3E %3Cpath d='M48.624,16.631V44.86H6.8V16.631m-5.717.425L27.712,1.084,54.341,17.056' transform='translate(-0.472 -0.472)' fill='none' stroke='%231d5ba4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cpath d='M30.8,28.507A5.252,5.252,0,1,1,39.4,23.335m1.688.6a1.995,1.995,0,1,1-2.815.146A2,2,0,0,1,41.092,23.936Zm10.66,11.443-7.222-6.515M33.211,26.688a5.6,5.6,0,0,0,2.879,10.6l1.3,2.58,1.8.649-.511,1.9,1.735.528-.212,2.5.8,1.586,2.751.965,1.162-2.939L40,35.311a5.631,5.631,0,0,0,1.267-2.827m2.5-11.142a5.6,5.6,0,1,0-1.388,9.244l2.144,1.935,1.909-.046.212,1.96,1.809-.137.706,2.4,1.318,1.188,2.914-.1.02-3.161-8.1-7.3A5.607,5.607,0,0,0,43.769,21.342Z' transform='translate(-12.656 -8.427)' fill='none' stroke='%231d5ba4' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3C/svg%3E"); }

/* =============================================
   ÉTAT ACTIF — fond rose, texte et icône blancs
   ============================================= */

.menu-pages-enfants .menu-enfants-list li.current-menu-item a {
    background: var(--couleur-1);
    color: #fff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
}

/* Icônes recolorisées en blanc pour l'état actif */
#menu-item-124.current-menu-item a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='46.837' height='45' viewBox='0 0 46.837 45'%3E %3Cpath d='M34.253,39.218a6.621,6.621,0,0,1,3.593,2.017c1.115,1.536.929,2.745.232,3.251s-2.116.665-3.423-1.137A4.752,4.752,0,0,1,34.253,39.218Zm11.892-3.9s-4.2.814-6.095,3.421-1.576,4.658-.395,5.515,3.59,1.13,5.807-1.928S46.145,35.315,46.145,35.315ZM30.986,19.355l5.048-5.05M30.986,24.563l-6.124-6.124m6.124,10.628h0a9.981,9.981,0,0,1-9.981-9.98V11.065a9.981,9.981,0,1,1,19.961,0v8.022a9.983,9.983,0,0,1-6.335,9.293M30.986,11.335V44.573M23.347,25.508A12.194,12.194,0,0,1,17.009,30.3m-8-.164A12.165,12.165,0,1,1,21.005,9.361M13.246,26.882V44.825' transform='translate(-0.454 -0.455)' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.168'/%3E %3C/svg%3E"); }

#menu-item-123.current-menu-item a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='70.384' height='45' viewBox='0 0 70.384 45'%3E %3Cpath d='M36.778,44.98H9.808a1.743,1.743,0,0,1-1.775-1.709V16.249A1.743,1.743,0,0,1,9.808,14.54h26.97a1.742,1.742,0,0,1,1.775,1.709V43.272A1.742,1.742,0,0,1,36.778,44.98Z' transform='translate(-3.076 -5.569)' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cpath d='M36.585,47.125v3.647a1.088,1.088,0,0,1-1.108,1.067H34.11A1.088,1.088,0,0,1,33,50.772V47.125m-19.365,0v3.647a1.088,1.088,0,0,1-1.108,1.067H11.163a1.088,1.088,0,0,1-1.108-1.067V47.125m17.456-6.75H19.28M8.048,33.848h30.5M8.048,20.237h30.5' transform='translate(-3.082 -7.75)' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cpath d='M12.166,49.642h4.99a1.2,1.2,0,0,1,1.192,1.2v1.477a1.2,1.2,0,0,1-1.192,1.2h-4.99' transform='translate(-4.659 -19.012)' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cpath d='M49.764,53.513h-4.99a1.2,1.2,0,0,1-1.192-1.2V50.839a1.2,1.2,0,0,1,1.192-1.2h4.99' transform='translate(-16.691 -19.012)' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cpath d='M3.359,28.913a2.074,2.074,0,0,1-2.275-1.779V21.949A2.074,2.074,0,0,1,3.359,20.17' transform='translate(-0.415 -7.725)' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cpath d='M60.567,20.171a2.074,2.074,0,0,1,2.275,1.779v5.184a2.074,2.074,0,0,1-2.275,1.779' transform='translate(-23.196 -7.725)' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cpath d='M94.688,46.216H72.03a1.881,1.881,0,0,1-1.89-1.871L70.9,15.49a1.881,1.881,0,0,1,1.89-1.871H93.93a1.881,1.881,0,0,1,1.89,1.871l.758,28.854A1.881,1.881,0,0,1,94.688,46.216Z' transform='translate(-26.862 -5.216)' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cpath d='M78.111,53.239h4.645a1.13,1.13,0,0,1,1.11,1.148V55.8a1.13,1.13,0,0,1-1.11,1.148H78.111' transform='translate(-29.915 -20.389)' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cline y1='26.272' x2='1.263' transform='translate(46.135 11.525)' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cline x1='1.263' y1='26.272' transform='translate(65.96 11.525)' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cline x1='18.398' transform='translate(47.669 14.793)' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cline x1='19.14' transform='translate(46.927 30.339)' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cpath d='M100.724,56.953H96.079a1.13,1.13,0,0,1-1.11-1.148V54.388a1.13,1.13,0,0,1,1.11-1.148h4.645' transform='translate(-36.371 -20.39)' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cline x1='13.199' transform='translate(49.897 11.654)' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cline x1='26.331' transform='translate(43.332 0.669)' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cline y2='3.596' transform='translate(56.497 3.227)' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cpath d='M78.7,68.563V69.2a1.291,1.291,0,0,1-1.156,1.393H76.116A1.291,1.291,0,0,1,74.96,69.2v-.633' transform='translate(-28.708 -26.258)' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cpath d='M105.8,68.563V69.2a1.291,1.291,0,0,1-1.156,1.393H103.22a1.291,1.291,0,0,1-1.156-1.393v-.633' transform='translate(-39.088 -26.258)' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3C/svg%3E"); }

#menu-item-122.current-menu-item a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='53.648' height='45' viewBox='0 0 53.648 45'%3E %3Cpath d='M43.8,23.694l2.532-13.533M37.981,23.694l1.013-13.533M32.161,23.694V10.162M26.342,23.694,25.329,10.162M20.522,23.694,17.99,10.162M10.244,6.439H53.117L49.73,27.2H20.111M1.084,1.084h8.2l6.5,31.467H49m-.486,7.838a4.081,4.081,0,1,1-4.081-4.081A4.082,4.082,0,0,1,48.516,40.388Zm-24.76,0a4.081,4.081,0,1,1-4.081-4.081A4.082,4.082,0,0,1,23.757,40.388Z' transform='translate(-0.277 -0.277)' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.168'/%3E %3C/svg%3E"); }
 
#menu-item-121.current-menu-item a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='33.791' height='45' viewBox='0 0 33.791 45'%3E %3Cpath d='M7.562,35.844H21.078M7.562,31.653H29.116M7.562,27.462H29.116M7.562,23.271H29.116M15.953,13.133H29.116m-13.163-3.4H29.116m-16.71,1.6A2.423,2.423,0,1,1,9.984,8.844,2.456,2.456,0,0,1,12.406,11.332ZM1.084,41.851V1.084H30.822M33.651,44.86H3.913V4.093H33.651Z' transform='translate(-0.472 -0.472)' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.168'/%3E %3C/svg%3E"); }

#menu-item-551.current-menu-item a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='54.481' height='45' viewBox='0 0 54.481 45'%3E %3Cpath d='M48.624,16.631V44.86H6.8V16.631m-5.717.425L27.712,1.084,54.341,17.056' transform='translate(-0.472 -0.472)' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3Cpath d='M30.8,28.507A5.252,5.252,0,1,1,39.4,23.335m1.688.6a1.995,1.995,0,1,1-2.815.146A2,2,0,0,1,41.092,23.936Zm10.66,11.443-7.222-6.515M33.211,26.688a5.6,5.6,0,0,0,2.879,10.6l1.3,2.58,1.8.649-.511,1.9,1.735.528-.212,2.5.8,1.586,2.751.965,1.162-2.939L40,35.311a5.631,5.631,0,0,0,1.267-2.827m2.5-11.142a5.6,5.6,0,1,0-1.388,9.244l2.144,1.935,1.909-.046.212,1.96,1.809-.137.706,2.4,1.318,1.188,2.914-.1.02-3.161-8.1-7.3A5.607,5.607,0,0,0,43.769,21.342Z' transform='translate(-12.656 -8.427)' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E %3C/svg%3E"); }




a:not(.btn):not(.button):not(.added_to_cart):hover {
    opacity: 1;
}


/* ==========================================================================
   Entête 
========================================================================== */


.navbar > .container {
    display: flex;
    transition: padding 0.1s ease;
    padding: 0px 15px 10px;
    vertical-align: middle;
    align-items: center;
}

.wd-header-top-bar {
	display: flex;
	width: 650px;
	background-color: var(--couleur-2);
    margin-left: auto;
}

.wd-top-bar-item {
	flex: 1 1 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	padding: 14px 20px;
	color: #fff;
	text-decoration: none;
	position: relative;
}

.wd-top-bar-item:not(:first-child)::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.3);
}

.wd-top-bar-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.wd-top-bar-icon svg {
	width: 30px;
	height: auto;
}

.wd-top-bar-text {
	display: flex;
	flex-direction: column;
	line-height: 1.3;
    font-family: 'Gotham Rounded', sans-serif;
    text-align: left;
	text-transform: uppercase;
}

.wd-top-bar-label {
	font-size: 18px;
	font-weight: 500;
    color: var(--couleur-5b);
	text-transform: uppercase;
}

.wd-top-bar-title {
	font-size: 18px;
	font-weight: 700;
	text-transform: uppercase;
}

.wd-top-bar-item:hover {
	background-color: var(--couleur-2);
}
a.wd-top-bar-item:hover,
a:hover .wd-top-bar-label,
a:hover .wd-top-bar-title,
a:hover .wd-top-bar-icon,
a:focus .wd-top-bar-label,
a:focus .wd-top-bar-title,
a:focus .wd-top-bar-icon {
    color: #fff !important;
}


/* Mobile : icônes seules */
@media (max-width: 767px) {
	.wd-top-bar-text {
		display: none;
	}

	.wd-top-bar-item {
		padding: 12px 18px;
		gap: 0;
	}
}




.navbar .navbar-header .navbar-brand img {
    width: auto;
    max-height: 115px;
}

.navbar.hestia_left .navbar-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin: 40px 0 30px;
}

.navbar .navbar-nav > li a {
    font-family: 'Gotham Rounded', sans-serif;
    font-size: 18px;
    font-weight: 500;
    margin-left: 10px;
    padding-top: 10px;
    padding-bottom: 10px;
    border-radius: 17px;
    color: inherit;
}
.navbar .nav.navbar-nav > li > a {
    position: relative;
    display: block;
    padding: 10px 10px;
}


/* --- 1. TRAIT ROSE AU SURVOL ET EN ACTIF --- */

.navbar.hestia_left .navbar-nav > li:not(.hestia-search-in-menu):not(#menu-item-94) > a {
    position: relative;
}
.navbar .navbar-nav > li.current_page_ancestor a {
    font-weight: 700;
}
.navbar.hestia_left .navbar-nav > li:not(.hestia-search-in-menu):not(#menu-item-94) > a::after {
    content: '';
    position: absolute;
    bottom: -12px;
    left: 10px;
    right: 10px;
    height: 6px;
    background-color: var(--couleur-1);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.25s ease;
}
.navbar.hestia_left .navbar-nav > li:not(.hestia-search-in-menu):not(#menu-item-94) > a:hover::after,
.navbar.hestia_left .navbar-nav > li.active:not(#menu-item-94) > a::after,
.navbar.hestia_left .navbar-nav > li.current-menu-item:not(#menu-item-94) > a::after,
.navbar.hestia_left .navbar-nav > li.current-menu-ancestor:not(#menu-item-94) > a::after,
.navbar.hestia_left .navbar-nav > li.current-page-ancestor:not(#menu-item-94) > a::after {
    transform: scaleX(.6);
}

/* --- 2. CARTOUCHE PROFIL --- */

#menu-item-94 > a {
    background-color: var(--couleur-1) !important;
    color: #fff !important;
    border-radius: 30px !important;
    padding-left: 22px !important;
    padding-right: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
}

/* Chevron décoratif (border trick, aucun élément HTML supplémentaire) */
.caret {
    content: '';
    display: inline-block;
    flex-shrink: 0;
    width: 7px !important;
    height: 7px !important;
    border-right: 2px solid #000;
    border-bottom: 2px solid #000;
    border-top: 0 solid transparent !important;
    border-left: 0 solid transparent !important;
    transform: rotate(45deg);
    margin-top: -4px;
}

#menu-item-94 .caret {
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
}

#menu-item-94 > a:hover {
    background-color: #bf2b70 !important;
}
#menu-item-94 > a:hove {
    border-right: 2px solid var(--couleur-1);
    border-bottom: 2px solid var(--couleur-1);
}


/* --- 3. BOUTON RECHERCHE --- */

.hestia-search-in-menu {
    display: flex !important;
    align-items: center;
    margin-left: 6px;
}

.hestia-toggle-search {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    min-width: 46px;
    background-color: var(--couleur-1);
    border-radius: 50% !important;
    cursor: pointer;
    transition: background-color 0.2s ease;
    padding: 0;
}

.hestia-toggle-search:hover,
.navbar-nav > li > a.hestia-toggle-search:hover {
    background-color: #bf2b70;
}

.hestia-toggle-search svg {
    width: 20px;
    height: 20px;
    fill: #fff;
    display: block;
}

@media (min-width: 769px) {
    .navbar:not(.full-screen-menu) .hestia-toggle-search {
        display: block;
        width: auto;
    }
}
@media (max-width: 768px) {
    .navbar .navbar-header .navbar-brand img {
        width: auto;
        max-height: 65px;
    }
}

.page-header.header-small .hestia-title {
    font-family: 'Gotham Rounded' !important;
    font-size: 45px !important;
    font-weight: 700;
    margin-bottom: 20px !important;
}

.banner-sous-titre {
    font-family: 'Avenir';
    font-size: 24px;
    font-weight: 400;
    line-height: 1.3;
    padding-bottom: 13px;
    margin-left: auto;
    margin-right: auto;
    max-width: 1140px;
}

.marg_top {
    margin-top: 20px;
}


/* ===================================
   BOUTON HAMBURGER — pictos custom
   =================================== */

/* Masquer les icon-bar natifs Hestia */
.navbar-toggle .icon-bar {
    display: none !important;
}

/* Bouton : dimensions calées sur le SVG 42×42 */
.navbar-toggle {
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    background-color: transparent !important;
    border: none !important;
    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MiIgaGVpZ2h0PSI0MiIgdmlld0JveD0iMCAwIDQyIDQyIj4NCiAgPGcgaWQ9Im1lbnUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC03OTkgLTkwKSI+DQogICAgPGNpcmNsZSBpZD0iRWxsaXBzZV84IiBkYXRhLW5hbWU9IkVsbGlwc2UgOCIgY3g9IjIxIiBjeT0iMjEiIHI9IjIxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3OTkgOTApIiBmaWxsPSIjMWQ1YmE0Ii8+DQogICAgPGcgaWQ9Ikljb25fZmVhdGhlci1tZW51IiBkYXRhLW5hbWU9Ikljb24gZmVhdGhlci1tZW51IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4MDYuNSA5NikiPg0KICAgICAgPHBhdGggaWQ9IlRyYWPDqV8yOTI1MCIgZGF0YS1uYW1lPSJUcmFjw6kgMjkyNTAiIGQ9Ik00LjUsMThoMTgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMpIiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIzIi8+DQogICAgICA8cGF0aCBpZD0iVHJhY8OpXzI5MjUxIiBkYXRhLW5hbWU9IlRyYWPDqSAyOTI1MSIgZD0iTTQuNSw5aDE4IiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIzIi8+DQogICAgICA8cGF0aCBpZD0iVHJhY8OpXzI5MjUyIiBkYXRhLW5hbWU9IlRyYWPDqSAyOTI1MiIgZD0iTTQuNSwyN2gxOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAtNikiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBzdHJva2Utd2lkdGg9IjMiLz4NCiAgICA8L2c+DQogIDwvZz4NCjwvc3ZnPg0K') !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
}

/* État ouvert : quand #main-navigation a la classe .in (Bootstrap collapse ouvert) */
.navbar-toggle[aria-expanded="true"] {
    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDIiIGhlaWdodD0iNDIiIHZpZXdCb3g9IjAgMCA0MiA0MiI+DQogIDxkZWZzPg0KICAgIDxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoIj4NCiAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfNjM2IiBkYXRhLW5hbWU9IlJlY3RhbmdsZSA2MzYiIHdpZHRoPSIxMi41MTkiIGhlaWdodD0iMTYiIGZpbGw9IiNmZmYiLz4NCiAgICA8L2NsaXBQYXRoPg0KICA8L2RlZnM+DQogIDxnIGlkPSJtZW51IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNzk5IC05MCkiPg0KICAgIDxjaXJjbGUgaWQ9IkVsbGlwc2VfOCIgZGF0YS1uYW1lPSJFbGxpcHNlIDgiIGN4PSIyMSIgY3k9IjIxIiByPSIyMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzk5IDkwKSIgZmlsbD0iIzFkNWJhNCIvPg0KICAgIDxnIGlkPSJHcm91cGVfMTE0MiIgZGF0YS1uYW1lPSJHcm91cGUgMTE0MiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODE0IDEwMykiIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgpIj4NCiAgICAgIDxwYXRoIGlkPSJUcmFjw6lfMjk4MTYiIGRhdGEtbmFtZT0iVHJhY8OpIDI5ODE2IiBkPSJNMi4zMDksMTUuNDc1YTEuMzcsMS4zNywwLDAsMS0xLjc0NS4zNTJBMS4wNDIsMS4wNDIsMCwwLDEsLjA4MSwxNC41YzEuMDM5LTIuMDU5LDIuNDg0LTQuNDY3LDMuNS02LjEuNTE1LS44MjQuNy0uOTczLjEyNC0xLjcyNi0uNDc2LS42MjYtMS4xMDgtMS40LTEuNTEzLTEuODg2QTE2LjkzNSwxNi45MzUsMCwwLDEsLjIwNSwyLjEzMiwxLjU1OCwxLjU1OCwwLDAsMSwuNzM3LjM2MkMxLjI4Ni0uMDQxLDEuNzk0LjEsMi40MTcuNzEzYy40LjQsMi43NjgsMy40MDcsMy4wOTMsMy44MzQuMzkzLjUxNS40OTIuNS45MDgtLjA3NHMyLjEtMi43MzgsMi41MzgtMy4zMTVDOS43MzMuMTIxLDEwLjYyLS4zLDExLjE3OC4yMzJBMS4yNzIsMS4yNzIsMCwwLDEsMTEuNCwyLjAxN2wwLDBjLS43NzEsMS4yMTItMS43MTksMi4zMS0yLjU3NSwzLjQ2MmE4LjI0NCw4LjI0NCwwLDAsMC0uNjU4LjkwNmMtLjQyNS43Ni0uNDcuNzkyLS4wMjcsMS41NTMuMzA4LjUyOS44NjksMS4yNTcsMS4xOSwxLjcxNC44ODgsMS4yNjMsMS44NSwyLjY1LDIuODM0LDMuODM3YTEuMzE1LDEuMzE1LDAsMCwxLS40ODEsMi4wOTUsMS4yNjYsMS4yNjYsMCwwLDEtMS43MTctLjQyOWMtLjU3Ni0uNzY0LTEuMDQ4LTEuNjE0LTEuNTg0LTIuNDA3QzcuOTQyLDEyLjEsNy40MDYsMTEuMTMsNi45MzksMTAuNWMtLjcxLS45NjEtLjg0NS0xLjMxMy0xLjE1LS43NzJDNC43MzIsMTEuNiwyLjg4NywxNC42OTQsMi4zMDksMTUuNDc1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwKSIgZmlsbD0iI2ZmZiIvPg0KICAgIDwvZz4NCiAgPC9nPg0KPC9zdmc+DQo=') !important;
}


@media (max-width: 767px) {

    /* ===================================
       STRUCTURE GÉNÉRALE
       =================================== */

    #main-navigation {
        background-color: #ffffff;
        padding: 0 !important;
    }

    .navbar .navbar-nav {
        margin: 0 !important;
        float: none !important;
        width: 100% !important;
    }

    .navbar .navbar-nav > li {
        border-bottom: 1px solid #e0e0e0 !important;
        margin: 0 !important;
        float: none !important;
        width: 100% !important;
    }

    /* ===================================
       LIENS DE NIVEAU 1 — base commune
       =================================== */

    .navbar .navbar-nav > li > a,
    .navbar .navbar-nav > li > a:hover,
    .navbar .navbar-nav > li > a:focus {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 16px 20px !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        border-radius: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Supprime le trait rose desktop sur tous les liens de niveau 1 */
    .navbar .navbar-nav > li > a::after {
        display: none !important;
        background: none !important;
        height: 0 !important;
        width: 0 !important;
    }

    /* Supprime le ::before parasite éventuel */
    .navbar .navbar-nav > li > a::before {
        display: none !important;
    }

    /* ===================================
       LIENS DIRECTS (sans sous-menu)
       fond blanc, flèche rose à droite
       =================================== */

    .navbar .navbar-nav > li:not(.dropdown):not(.hestia-search-in-menu) > a {
        background-color: #ffffff !important;
        color: #222222 !important;
        position: relative !important;
    }
    

    /* Flèche rose injectée via un span généré en JS — voir note ci-dessous */

    /* ===================================
       ITEMS AVEC SOUS-MENU (dropdown)
       fond blanc, chevron SVG à droite
       =================================== */

    .navbar .navbar-nav > li.dropdown > a {
        background-color: #ffffff !important;
        color: #222222 !important;
    }

    /* Cacher le .caret-wrap SVG Bootstrap par défaut */
    .navbar .navbar-nav > li.dropdown > a .caret-wrap {
        display: none !important;
    }

    /* Réactiver le caret-wrap comme zone cliquable visible */
    .navbar .navbar-nav > li.dropdown > a .caret-wrap {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        pointer-events: auto !important;
        cursor: pointer !important;
        flex-shrink: 0 !important;
    }

    .navbar .navbar-nav > li.dropdown > a .caret-wrap .caret {
        display: none !important;
    }

    .navbar .navbar-nav > li.dropdown > a .caret-wrap::after {
        content: '' !important;
        display: block !important;
        width: 36px !important;
        height: 36px !important;
        background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNiIgaGVpZ2h0PSIzNiIgdmlld0JveD0iMCAwIDM2IDM2Ij4KICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTUyNiAtODEpIj4KICAgIDxjaXJjbGUgY3g9IjE4IiBjeT0iMTgiIHI9IjE4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNTI2IDgxKSIgZmlsbD0iI2VhZjNmYyIvPgogICAgPHBhdGggZD0iTTE0LjkzNiwxOC4yMzJsNi42MTMtNi42MThhMS4yNDUsMS4yNDUsMCwwLDEsMS43NjUsMCwxLjI2LDEuMjYsMCwwLDEsMCwxLjc3bC03LjQ5Myw3LjVhMS4yNDgsMS4yNDgsMCwwLDEtMS43MjQuMDM2bC03LjU0NS03LjUzYTEuMjUsMS4yNSwwLDEsMSwxLjc2NS0xLjc3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUyOC44MTMgODIuNzU0KSIgZmlsbD0iI2U2MzQ4YSIvPgogIDwvZz4KPC9zdmc+') !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
        background-size: contain !important;
        transition: transform 0.25s ease !important;
    }

    .navbar .navbar-nav > li.dropdown > a .caret-wrap[aria-pressed="true"]::after {
        transform: rotate(180deg) !important;
    }

    /* ===================================
       SOUS-MENUS : fond rose, texte blanc
       =================================== */

    .navbar .navbar-nav > li.dropdown > .dropdown-menu {
        display: none !important;
        position: static !important;
        float: none !important;
        width: 100% !important;
        background-color: var(--couleur-1) !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
        border-radius: 0 !important;
    }

    .navbar .navbar-nav > li.dropdown.open > .dropdown-menu {
        display: block !important;
    }

    .navbar .navbar-nav > li.dropdown > .dropdown-menu li {
        background-color: var(--couleur-1) !important;
    }

    .navbar .navbar-nav > li.dropdown > .dropdown-menu > li > a {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 14px 20px 14px 32px !important;
        color: #ffffff !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        text-transform: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
        background-color: transparent !important;
        border-radius: 0 !important;
    }

    .navbar .navbar-nav > li.dropdown > .dropdown-menu > li > a::after {
        content: '' !important;
        display: block !important;
        width: 20px !important;
        height: 14px !important;
        background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMC4yNDMiIGhlaWdodD0iMTMuNTAxIiB2aWV3Qm94PSIwIDAgMjAuMjQzIDEzLjUwMSI+CiAgPHBhdGggZD0iTTIwLjc4NCwxMS41MWEuOTE5LjkxOSwwLDAsMC0uMDA3LDEuMjk0bDQuMjc1LDQuMjgySDguNzgyYS45MTQuOTE0LDAsMCwwLDAsMS44MjhIMjUuMDQ1TDIwLjc3LDIzLjJhLjkyNS45MjUsMCwwLDAsLjAwNywxLjI5NC45MS45MSwwLDAsMCwxLjI4Ny0uMDA3bDUuNzk0LTUuODM2aDBhMS4wMjYsMS4wMjYsMCwwLDAsLjE5LS4yODguODcyLjg3MiwwLDAsMCwuMDctLjM1Mi45MTYuOTE2LDAsMCwwLS4yNi0uNjRsLTUuNzk0LTUuODM2QS45LjksMCwwLDAsMjAuNzg0LDExLjUxWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTcuODc1IC0xMS4yNTIpIiBmaWxsPSIjZmZmIi8+Cjwvc3ZnPg==') !important;
        background-repeat: no-repeat !important;
        background-position: center right !important;
        background-size: contain !important;
        flex-shrink: 0 !important;
    }

    .navbar .navbar-nav > li.dropdown > .dropdown-menu > li > a:hover {
        background-color: rgba(0, 0, 0, 0.1) !important;
        color: #ffffff !important;
    }

    /* ===================================
       FLÈCHE ROSE — liens directs
       Injectée via PHP dans functions.php
       =================================== */

    .wd-nav-arrow {
        display: inline-block !important;
        width: 24px !important;
        height: 16px !important;
        background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMC4yNDMiIGhlaWdodD0iMTMuNTAxIiB2aWV3Qm94PSIwIDAgMjAuMjQzIDEzLjUwMSI+CiAgPHBhdGggZD0iTTIwLjc4NCwxMS41MWEuOTE5LjkxOSwwLDAsMC0uMDA3LDEuMjk0bDQuMjc1LDQuMjgySDguNzgyYS45MTQuOTE0LDAsMCwwLDAsMS44MjhIMjUuMDQ1TDIwLjc3LDIzLjJhLjkyNS45MjUsMCwwLDAsLjAwNywxLjI5NC45MS45MSwwLDAsMCwxLjI4Ny0uMDA3bDUuNzk0LTUuODM2aDBhMS4wMjYsMS4wMjYsMCwwLDAsLjE5LS4yODguODcyLjg3MiwwLDAsMCwuMDctLjM1Mi45MTYuOTE2LDAsMCwwLS4yNi0uNjRsLTUuNzk0LTUuODM2QS45LjksMCwwLDAsMjAuNzg0LDExLjUxWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTcuODc1IC0xMS4yNTIpIiBmaWxsPSIjZTYzNDhhIi8+Cjwvc3ZnPg==') !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
        background-size: contain !important;
        flex-shrink: 0 !important;
    }

    /* ===================================
       DIVERS
       =================================== */

    #menu-item-94 {
        display: none !important;
    }

    .hestia-search-in-menu {
        padding: 12px 16px !important;
        border-bottom: 1px solid #e0e0e0 !important;
    }

    .hestia-toggle-search {
        display: none !important;
    }

    .hestia-nav-search .search-form {
        display: flex !important;
    }

    .wd-header-top-bar {
        display: none !important;
    }

    .wd-mobile-cta {
        display: flex !important;
        gap: 12px !important;
        padding: 16px !important;
    }
}


/* ==========================================================================
   Menu principal
========================================================================== */

.navbar .navbar-nav > li a {
    color: #000;
}


/* ===================================
   MOBILE CTA — mobile uniquement
   =================================== */
.wd-mobile-cta {
	display: none;
}

.wd-mobile-cta-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 16px 12px;
	background-color: var(--couleur-2);
	border-radius: 12px;
	color: #ffffff;
	text-decoration: none;
	flex: 1 1 0;
	text-align: center;
}

.wd-mobile-cta-item:hover {
	background-color: var(--couleur-6);
	color: #ffffff;
}

.wd-mobile-cta-icon {
	display: flex;
	align-items: center;
	justify-content: center;
}

.wd-mobile-cta-icon svg {
	width: 30px;
	height: auto;
}

.wd-mobile-cta-text {
	display: flex;
	flex-direction: column;
	line-height: 1.3;
	font-family: 'Gotham Rounded', sans-serif;
	text-align: center;
	text-transform: uppercase;
}

.wd-mobile-cta-label {
	font-size: 14px;
	font-weight: 500;
	color: var(--couleur-5b);
	text-transform: uppercase;
}

.wd-mobile-cta-title {
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
}

a.wd-mobile-cta-item:hover,
a:hover .wd-mobile-cta-label,
a:hover .wd-mobile-cta-title,
a:hover .wd-mobile-cta-icon,
a:focus .wd-mobile-cta-label,
a:focus .wd-mobile-cta-title,
a:focus .wd-mobile-cta-icon {
	color: #fff !important;
}

@media (max-width: 767px) {

	/* Bandeau desktop masqué */
	.wd-header-top-bar {
		display: none;
	}

	/* Cartes mobile affichées */
	.wd-mobile-cta {
		display: flex;
		gap: 12px;
		padding: 16px;
	}
}

/* ===================================
   MOBILE FOOTER NAV (À propos / Ressources)
   =================================== */

.wd-mobile-footer-nav {
    display: none;
}

.wd-mobile-footer-nav__col {
    flex: 1 1 50%;
}

.wd-mobile-footer-nav__titre {
    font-family: 'Gotham Rounded', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: var(--couleur-2);
    text-transform: uppercase;
    margin: 0 0 10px 0;
}

.wd-mobile-footer-nav__liste {
    list-style: none;
    margin: 0;
    padding: 0;
}

.wd-mobile-footer-nav__liste li {
    border: none;
    margin: 0;
    padding: 0;
}

.wd-mobile-footer-nav__liste a {
    display: block;
    font-family: 'Gotham Rounded', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: var(--couleur-2);
    text-decoration: none;
    padding: 5px 0;
    border-radius: 0 !important;
    margin: 0 !important;
    background: none !important;
    text-transform: none !important;
}

.wd-mobile-footer-nav__liste a:hover {
    color: var(--couleur-1);
    background: none !important;
}

@media (max-width: 767px) {
    .wd-mobile-footer-nav {
        display: flex;
        gap: 16px;
        padding: 20px 16px;
        border-top: 1px solid #e0e0e0;
    }
}



/* ==========================================================================
   Accueil
========================================================================== */

.home #primary {
    display: none;
}
.home p {
    font-family: 'Avenir';
    font-size: 24px;
    line-height: 1.25;
}
#accueil_bandeau {
    position: relative;
    background-size: cover;
    padding-top: 130px;
    padding-bottom: 140px;
}
#accueil_bandeau::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .5);
}
#accueil_bandeau_fond {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: url("imgs/feuille_ac.svg");
    background-repeat: no-repeat;
    background-position: calc(40% + 460px) center;
    opacity: .2;
}
.content_accueil_bandeau {
    color: #fff;
    font-size: 36px;
    margin-top: -60px !important;
}
.content_accueil_bandeau h2 {
    color: #fff;
    font-size: 72px;
    line-height: 1.15;
}
.content_accueil_bandeau .cta-button {
    margin-top: 60px;
    margin-right: 30px;
}


#ac_atouts {
    padding-top: 100px;
    padding-bottom: 100px;
}
.card-espace {
    position: relative;
    max-width: 590px;
    background-color: #fff;
    border-radius: 30px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    padding: 0 !important;
}

.card-espace__image {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    padding: 0 !important;
}

.card-espace__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
}

.card-espace__icon {
  position: absolute;
  right: 1px;
  top: -80px; /* chevauche le bord bas de l'image */
  width: 100px;
  height: 100px;
  background-color: var(--couleur-3);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.card-espace__icon.card_rose {
  background-color: var(--couleur-1);
}
.card-espace__icon.card_orange {
  background-color: var(--couleur-4);
}
.card-espace__icon.card_bleu {
  background-color: var(--couleur-2);
}


.card-espace__content {
    position: relative;
    padding: 30px 30px 20px !important;
    contain: none !important;
    overflow: visible !important;
}
.card-espace__content.e-con {
  overflow: visible !important;
}

.card-espace__category {
    display: block;
    color: var(--couleur-1);
    font-family: 'Avenir';
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    margin-bottom: 8px;
}

h3.card-espace__title {
    font-size: 24px;
    font-weight: 700;
    color: #000;
    margin: 0 0 16px !important;
    padding: 0 !important;
}

.card-espace__text {
    font-family: 'Avenir';
    font-size: 20px;
    line-height: 1.3;
    color: #000;
    margin: 0 0 24px;
}

.card-espace__link {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 5px 55px 5px 0px;
    gap: 10px;
    color: var(--couleur-2);
    font-family: 'Avenir';
    font-weight: 900;
    font-size: 20px;
    text-decoration: none;
    text-transform: uppercase;
}

.card-espace__link::after {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 20.243px;
    height: 13.501px;
    background-color: var(--couleur-1); /* ← couleur de la flèche, pilotée en CSS */

    -webkit-mask-image: url('imgs/arrow-right.svg');
    mask-image: url('imgs/arrow-right.svg');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;

    transition: background-color 0.3s ease;
}


.h2_ac {
    color: #000;
    font-family: 'Gotham Rounded';
    font-size: 45px;
}
.ac_surtitre,
.banner_surtitre {
    position: relative;
    margin: 0;
    padding-left: 56px; /* largeur du trait (40px) + l'espace (16px) */
    color: var(--couleur-2);
    font-family: 'Gotham Rounded';
    font-size: 24px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.2;
}
.banner_surtitre {
    color: #fff;
    display: inline-block;
}

.ac_surtitre::before,
.banner_surtitre::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 4px;
    background-color: var(--couleur-1);
    border-radius: 2px;
}


/* ==========================================================================
   Chiffres clés "achat" — icône ::before + styles chiffre / texte
   ========================================================================== */


.chiffre_cle_achat .elementor-counter {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.chiffre_cle_achat .elementor-counter::before {
    order: -1; /* icône toujours en premier */
    content: "";
    display: block;
    margin: 0 auto 15px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.chiffre_cle_achat .elementor-counter-number-wrapper {
    order: 1; /* le chiffre passe avant le titre */
    margin-top: 25px;
}

.chiffre_cle_achat .elementor-counter-title {
    order: 2; /* le titre passe après le chiffre */
    margin-top: 5px; /* remplace l'espacement induit par l'ordre DOM d'origine */
}

.chiffre_cle_achat .elementor-counter-number,
.chiffre_cle_achat .elementor-widget .elementor-counter .elementor-counter-number-suffix {
    font-family: 'Gotham Rounded';
    font-size: 50px;
    font-weight: bold;
    color: var(--couleur-2);
    line-height: 1.2;
}
.chiffre_cle_achat .elementor-widget .elementor-counter .elementor-counter-title,
.chiffre_cle_achat .elementor-counter-title {
    font-family: 'Avenir';
    font-size: 24px;
    font-weight: 900;
    line-height: 1.2;
    color: var(--couleur-2);
}

/* --------------------------------------------------------------------------
   Déclinaisons par picto — couleurs unifiées : rose #e6348a / vert #4bb167
   -------------------------------------------------------------------------- */

.chiffre_cle_achat .picto-1 .elementor-counter::before {
    width: 71.293px;
    height: 75px;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2071.293%2075%22%3E%3Cpath%20d%3D%22M30.784%2C73.921H1.084m54.337%2C0V54.651H36.289V73.921M61.312%2C43.426H50.292V32.406H61.312Zm-19.894%2C0H30.4V32.406H41.418ZM61.312%2C26.691H50.292V15.67H61.312Zm-19.894%2C0H30.4V15.67H41.418ZM23.194%2C36.4V1.084L70.213%2C7.872V73.921H36.289M10.134%2C50.244h7.99m-10.4%2C9.891H20.64M5.25%2C69.713l6.757-28.755a4.843%2C4.843%2C0%2C0%2C1%2C4.359-3.042h.082a4.844%2C4.844%2C0%2C0%2C1%2C4.359%2C3.042l6.757%2C28.755%22%20transform%3D%22translate%28-0.002%20-0.002%29%22%20fill%3D%22none%22%20stroke%3D%22%23e6348a%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222.168%22%2F%3E%3C%2Fsvg%3E");
}

.chiffre_cle_achat .picto-2 .elementor-counter::before {
    width: 78.062px;
    height: 75px;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2078.062%2075%22%3E%3Cpath%20d%3D%22M56.366%2C64.641s4.127.8%2C5.988%2C3.363%2C1.549%2C4.575.387%2C5.418-3.527%2C1.108-5.706-1.894S56.366%2C64.641%2C56.366%2C64.641Zm19.82-6.505s-7%2C1.357-10.158%2C5.7S63.4%2C71.6%2C65.369%2C73.029s5.983%2C1.883%2C9.678-3.213S76.186%2C58.136%2C76.186%2C58.136ZM50.92%2C31.535l8.413-8.416m-8.413%2C17.1L40.714%2C30.01M50.92%2C47.723h0A16.635%2C16.635%2C0%2C0%2C1%2C34.286%2C31.09V17.719a16.634%2C16.634%2C0%2C1%2C1%2C33.269%2C0V31.09A16.638%2C16.638%2C0%2C0%2C1%2C57%2C46.578M50.92%2C18.169v55.4M38.189%2C41.791a20.324%2C20.324%2C0%2C0%2C1-10.564%2C7.984M14.3%2C49.5A20.275%2C20.275%2C0%2C1%2C1%2C34.286%2C14.879m-12.931%2C29.2v29.9%22%20transform%3D%22translate%28-0.035%20-0.035%29%22%20fill%3D%22none%22%20stroke%3D%22%234bb167%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222.168%22%2F%3E%3C%2Fsvg%3E");
}

.chiffre_cle_achat .picto-3 .elementor-counter::before {
    width: 89.413px;
    height: 75px;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2089.413%2075%22%3E%3Cpath%20d%3D%22M72.28%2C38.768%2C76.5%2C16.213M62.579%2C38.768l1.688-22.554M52.879%2C38.768V16.213m-9.7%2C22.554L41.492%2C16.213M33.48%2C38.768%2C29.26%2C16.213m-12.91-6.2H87.806L82.161%2C44.6H32.795M1.084%2C1.084H14.742L25.583%2C53.528H80.947m-.809%2C13.063a6.8%2C6.8%2C0%2C1%2C1-6.8-6.8A6.8%2C6.8%2C0%2C0%2C1%2C80.138%2C66.591Zm-41.266%2C0a6.8%2C6.8%2C0%2C1%2C1-6.8-6.8A6.8%2C6.8%2C0%2C0%2C1%2C38.872%2C66.591Z%22%20transform%3D%22translate%280.261%200.261%29%22%20fill%3D%22none%22%20stroke%3D%22%23e6348a%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222.168%22%2F%3E%3C%2Fsvg%3E");
}

.chiffre_cle_achat .picto-4 .elementor-counter::before {
    width: 103.652px;
    height: 70.031px;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20103.652%2070.031%22%3E%3Cpath%20d%3D%22M40.651%2C20.452%2C1.606%2C39.273V76.616%22%20transform%3D%22translate%28-0.597%20-7.595%29%22%20fill%3D%22none%22%20stroke%3D%22%23e6348a%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%223.213%22%2F%3E%3Cpath%20d%3D%22M126.455%2C1.606H64.122V69.617%22%20transform%3D%22translate%28-23.812%20-0.597%29%22%20fill%3D%22none%22%20stroke%3D%22%234bb167%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%223.213%22%2F%3E%3Crect%20width%3D%2216.863%22%20height%3D%229.736%22%20transform%3D%22translate%2851.105%2033.508%29%22%20fill%3D%22none%22%20stroke%3D%22%234bb167%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%223.213%22%2F%3E%3Crect%20width%3D%2212.268%22%20height%3D%229.736%22%20transform%3D%22translate%2815.269%2036.071%29%22%20fill%3D%22none%22%20stroke%3D%22%23e6348a%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%223.213%22%2F%3E%3Crect%20width%3D%2216.863%22%20height%3D%229.736%22%20transform%3D%22translate%2851.105%2014.589%29%22%20fill%3D%22none%22%20stroke%3D%22%234bb167%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%223.213%22%2F%3E%3Crect%20width%3D%2216.863%22%20height%3D%229.736%22%20transform%3D%22translate%2851.105%2052.427%29%22%20fill%3D%22none%22%20stroke%3D%22%234bb167%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%223.213%22%2F%3E%3Crect%20width%3D%2216.863%22%20height%3D%229.736%22%20transform%3D%22translate%2874.467%2033.508%29%22%20fill%3D%22none%22%20stroke%3D%22%234bb167%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%223.213%22%2F%3E%3Crect%20width%3D%2216.863%22%20height%3D%229.736%22%20transform%3D%22translate%2874.467%2014.589%29%22%20fill%3D%22none%22%20stroke%3D%22%234bb167%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%223.213%22%2F%3E%3Crect%20width%3D%2216.863%22%20height%3D%229.736%22%20transform%3D%22translate%2874.467%2052.427%29%22%20fill%3D%22none%22%20stroke%3D%22%234bb167%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%223.213%22%2F%3E%3C%2Fsvg%3E");
}


/* ==========================================================================
   Boutons
========================================================================== */


.cta-button,
input[type="submit"]:not(.search-submit) {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 16px 65px 16px 30px !important;
    margin-top: 40px;
    border: 2px solid var(--btn-border-color);
    border-radius: 34px !important;
    color: var(--btn-txt-color);
    font-family: 'Avenir';
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0.5px;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
    box-shadow: 0 0 0 0 !important;
}

.cta-button::after,
input[type="submit"]:not(.search-submit)::after {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 20.243px;
    height: 13.501px;
    background-color: var(--btn-fleche-color); /* ← couleur de la flèche, pilotée en CSS */

    -webkit-mask-image: url('imgs/arrow-right.svg');
    mask-image: url('imgs/arrow-right.svg');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;

    transition: background-color 0.3s ease;
}

.cta-button:hover,
input[type="submit"]:hover {
    background-color: var(--btn-bg-color-hover);
    border-color: var(--couleur-1);
    color: var(--couleur-1);
    box-shadow: 0 0 0 0 !important;
}

.cta-button {
    --btn-bg-color: #d63080;
    --btn-bg-color-hover: transparent;
    --btn-border-color: #d63080;
    --btn-border-color-hover: #d63080;
    --btn-txt-color: #fff;
    --btn-txt-color-hover: #fff;
    --btn-fleche-color: #fff;
    --btn-fleche-color-hover: #fff;
    background-color: var(--btn-bg-color);
    border-color: var(--btn-border-color);
    color: var(--btn-txt-color);
}
.cta-button.is_defaut2 {
    --btn-bg-color: #d63080;
    --btn-bg-color-hover: transparent;
    --btn-border-color: #d63080;
    --btn-border-color-hover: #d63080;
    --btn-txt-color: #fff;
    --btn-txt-color-hover: #d63080;
    --btn-fleche-color: #fff;
    --btn-fleche-color-hover: #d63080;
    background-color: var(--btn-bg-color);
    border-color: var(--btn-border-color);
    color: var(--btn-txt-color);
}

.cta-button.is_defaut3 {
    --btn-bg-color: #fff;
    --btn-bg-color-hover: #d63080;
    --btn-border-color: #d63080;
    --btn-border-color-hover: #d63080;
    --btn-txt-color: #d63080;
    --btn-txt-color-hover: #fff;
    --btn-fleche-color: #d63080;
    --btn-fleche-color-hover: #fff;
    background-color: var(--btn-bg-color);
    border-color: var(--btn-border-color);
    color: var(--btn-txt-color);
}
.sc-carte-popin .cta-button.is_defaut2 {
    display: flex;
    width: fit-content;
    margin: 10px auto;
    padding: 10px 50px 10px 20px !important
}

.cta-button::after {
    background-color: var(--btn-fleche-color);
}

.cta-button:hover {
    border-color: var(--btn-border-color-hover);
    color: var(--btn-txt-color-hover);
}

.cta-button:hover::after {
    background-color: var(--btn-fleche-color-hover);
}

.cta-button.is_defaut2:hover,
.cta-button.is_defaut3:hover {
    background-color: var(--btn-bg-color-hover);
    border-color: var(--btn-border-color-hover);
    color: var(--btn-txt-color-hover) !important;
}
.cta-button.is_defaut2:hover::after,
.cta-button.is_defaut3:hover::after {
    background-color: var(--btn-fleche-color-hover);
}

.cta-button.is-transparent {
    --btn-bg-color: transparent;
    --btn-bg-color-hover: #fff;
    --btn-border-color: #fff;
    --btn-border-color-hover: #fff;
    --btn-txt-color: #fff;
    --btn-txt-color-hover: #d63080;
    --btn-fleche-color: #fff;
    --btn-fleche-color-hover: #d63080;
}
.cta-button.is-blanc {
    --btn-bg-color: #fff;
    --btn-bg-color-hover: transparent;
    --btn-border-color: #fff;
    --btn-border-color-hover: #fff;
    --btn-txt-color: #000;
    --btn-txt-color-hover: #fff;
    --btn-fleche-color: #d63080;
    --btn-fleche-color-hover: #fff;
}



/* ==========================================================================
   Shortcode : Dernières Actualités
========================================================================== */


#ac_actualites {
    padding-top: 100px;
    padding-bottom: 100px;
}
.sc-dernieres-actualites {
    padding: 20px 0;
}

.sc-actualites-grille {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 60px;
    margin-bottom: 20px;
}

.sc-actualites-grille.grille_2 {
    grid-template-columns: repeat(2, 1fr);
}

.related-posts .sc-actualites-grille {
    margin-top: 40px;
}

/* Carte avec ombre et coins arrondis globaux */
.sc-actualite-card {
    display: flex;
    flex-direction: column;
    background-color: #fff;
    border: solid 1px #ddd;
    border-radius: 30px;
    overflow: hidden;
}

/* Image en cover 300px, coins arrondis uniquement en haut */
.sc-actualite-image-lien {
    display: block;
}

.sc-actualite-image {
    height: 280px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-color: #e0e0e0;
    transition: opacity 0.3s ease;
}

.projet-amenagement .sc-actualite-image {
    height: 330px;
}

.sc-actualite-image-lien:hover .sc-actualite-image {
    opacity: 0.85;
}

.sc-actualite-image--placeholder {
    background-color: #ddd;
}

/* Zone de contenu sous l'image */
.sc-actualite-contenu {
    padding: 20px 24px 28px;
}

/* Badge catégorie (pilule) */
.sc-actualite-categorie {
    display: inline-block;
    padding: 6px 16px;
    margin-bottom: 20px;
    background-color: var(--couleur-5);
    color: #000;
    font-family: 'Avenir';
    font-size: 14px;
    font-weight: 500 !important;
    border-radius: 50px;
    text-decoration: none;
    text-transform: uppercase;
}

/* Titre */
.sc-actualite-titre {
    margin: 0;
    font-size: 28px !important;
    font-weight: 700;
    line-height: 1.35;
}
.projet-amenagement .sc-actualite-titre {
    margin-bottom: 20px !important;
}

.sc-actualite-titre a {
    color: #1a1a1a;
    text-decoration: none;
}

.sc-actualite-titre a:hover {
    text-decoration: underline;
}

/* Bouton archive centré */
.sc-actualites-footer {
    text-align: center;
}

/* Responsive */
@media (max-width: 900px) {
    .sc-actualites-grille {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .sc-actualites-grille {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================================
   Accueil : Carte quartier
========================================================================== */

#ac_carte {
    background: var(--couleur-1);
    color: #fff;
    padding-top: 70px;
    padding-bottom: 70px;
    overflow: hidden;
}
#ac_carte:before {
    content: url("imgs/Groupe886.svg");
    width: 187px;
    height: 273px;
    position: absolute;
    top: 60px;
    left: calc(50% + 560px);
    /* transform: rotate(20deg); */
    opacity: .5;
}
#ac_carte .ac_surtitre,
#ac_carte h2,
.page-template #ac_carte ul {
    color: #fff;
}
#ac_carte .ac_surtitre::before {
    background-color: #fff;
}

.wd-check-list {
  list-style: none;
  margin: 20px 0 0;
  padding: 0;
}

.wd-check-list li {
    position: relative;
    padding-left: 35px;
    margin-bottom: 16px;
    min-height: 23.25px;
    display: flex;
    align-items: center;
    font-family: 'Avenir';
    font-size: 24px;
    line-height: 1.25;
}

.wd-check-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 13px;
  transform: translateY(-50%);
  width: 23.25px;
  height: 23.25px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='23.25' height='23.25' viewBox='0 0 23.25 23.25'%3E%3Ccircle cx='11' cy='11' r='11' fill='%23fff'/%3E%3Cpath d='M11.625,0A11.625,11.625,0,1,0,23.25,11.625,11.625,11.625,0,0,0,11.625,0Zm-1.345,17.78L4.905,12.405a.75.75,0,0,1,0-1.061l1.06-1.061a.75.75,0,0,1,1.061,0l3.284,3.284,7.034-7.034a.75.75,0,0,1,1.061,0l1.06,1.061a.75.75,0,0,1,0,1.061L11.34,17.78A.75.75,0,0,1,10.28,17.78Z' fill='%234bb167'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

.bloc_img_rounded {
    border-radius: 30px !important;
    overflow: hidden !important;
}
.bloc_img_rounded img {
    border-radius: 30px !important;
    object-fit: cover;
    width: 100%;
    height: 100%;
}


/* =============================================
   Shortcode : Carousel Partenaires
   ============================================= */

#ac_partenaires {
    background: var(--couleur-5);
    padding-top: 100px;
    padding-bottom: 100px;
}

.sc-carousel-partenaires {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 40px 0;
}
body.page-id-16 article section.sc-carousel-partenaires {
    padding: 0 !important;
}

/* Le carousel occupe tout l'espace entre les deux flèches */
.sc-partenaires-swiper {
    flex: 1;
    min-width: 0; /* évite le débordement flex */
}

/* Slides */
.sc-partenaire-slide {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Lien */
.sc-partenaire-lien {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 10px;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.sc-partenaire-lien:hover {
    opacity: 0.75;
    transform: scale(1.05);
}

/* Logo */
.sc-partenaire-logo {
    max-height: 80px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    /* filter: grayscale(100%);
    transition: filter 0.3s ease; */
}

/* Fallback texte */
.sc-partenaire-nom {
    font-weight: 600;
    font-size: 0.95rem;
    color: #555;
    text-align: center;
}

/* ── Flèches personnalisées ─────────────────── */

.sc-partenaires-prev,
.sc-partenaires-next {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;

    /* SVG inline via mask-image : la couleur est gérée par CSS */
    background-color: #d63080;
    mask-image: url('imgs/fleche-nav.svg');
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;

    transition: opacity 0.2s ease, transform 0.2s ease;
}

.sc-partenaires-prev {
    transform: scaleX(-1); /* retournement CSS = flèche gauche */
}

.sc-partenaires-prev:hover,
.sc-partenaires-next:hover {
    opacity: 0.7;
}

/* État désactivé (Swiper retire le loop si peu de slides) */
.sc-partenaires-prev.swiper-button-disabled,
.sc-partenaires-next.swiper-button-disabled {
    opacity: 0.25;
    cursor: default;
    pointer-events: none;
}

.swiper-slide.sc-partenaire-slide {
    text-align: center;
}




/* ==========================================================================
   Page classique 
========================================================================== */


body.parent-pageid-95 article,
body.page-id-1045 article {
    padding-top: 0px !important;
}
body.page-id-719 article,
body.page-id-723 article,
body.page-id-97 article {
    padding-top: 100px !important;
}
body:not(.home) article section,
body:not(.home) article section p,
body:not(.home) article section .wd-check-list li {
    font-family: 'Avenir';
    font-size: 20px;
    line-height: 1.4;
}
body:not(.home) article section {
    padding-top: 110px !important;
    padding-bottom: 110px !important;
}
body article section.section_1 {
    padding-top: 0 !important;
    padding-bottom: 110px !important;
}

body:not(.home) article section h2 {
    font-size: 30px;
    line-height: 1.2;
    margin-bottom: 20px;
}
body:not(.home) article section img {
    border-radius: 30px;
}
body article section .sc-carousel-partenaires img {
    border-radius: 0 !important;
}


section.is-bleu {
    background-color: var(--couleur-2);
    color: #fff;
}
section.is-bleu-clair {
    background-color: var(--couleur-5);
}
section.is-rose {
    background-color: var(--couleur-1);
    color: #fff;
}

.bloc-chapo {
    border-left: 23px solid var(--couleur-1);
    padding: 0 0 0 30px;
    font-family: 'Gotham Rounded', sans-serif;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 40px !important;
}
body article section .bloc-chapo p {
    font-family: 'Gotham Rounded', sans-serif;
    font-size: 24px;
    font-weight: bold;
    margin: 0;
}


/* =============================================
   BLOC TÉMOIGNAGE — .elementor-widget-testimonial
   ============================================= */

/* Wrapper principal — espace réservé pour les guillemets */
.elementor-widget-testimonial .elementor-testimonial-wrapper {
    position: relative;
    padding-top: 70px;
}

/* --- Guillemets en ::before --- */
.elementor-widget-testimonial .elementor-testimonial-wrapper::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 80px;
    height: 56px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='149.347' height='104.832' viewBox='0 0 149.347 104.832'%3E %3Cpath d='M66.8,70.515a33.412,33.412,0,0,1-33.7,34.316C14.586,104.667-.21,88.929,0,70.412.557,22.239,40.677,4.775,54.268.236a4.541,4.541,0,0,1,5.777,2.953l.019.062a4.546,4.546,0,0,1-2.4,5.46c-7.229,3.437-23.4,12.743-30.71,29.931A33.413,33.413,0,0,1,66.8,70.515' transform='translate(0 0)' fill='%23fe9017'/%3E %3Cpath d='M270.6,70.515a33.412,33.412,0,0,1-33.7,34.316c-18.517-.164-33.314-15.9-33.1-34.419.554-48.174,40.674-65.638,54.265-70.176a4.541,4.541,0,0,1,5.777,2.953l.019.062a4.546,4.546,0,0,1-2.4,5.46c-7.229,3.437-23.4,12.743-30.71,29.931A33.413,33.413,0,0,1,270.6,70.515' transform='translate(-121.268 0)' fill='%23fe9017'/%3E %3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left top;
}

/* --- Citation --- */
.elementor-widget-testimonial .elementor-testimonial-content,
.elementor-widget .elementor-testimonial-wrapper .elementor-testimonial-content {
    font-family: 'Avenir';
    font-size: 30px !important;
    font-style: italic;
    font-weight: 400;
    line-height: 1.3;
    margin: 10px 0 32px;
}

/* --- Bloc auteur --- */
.elementor-widget-testimonial .elementor-testimonial-meta {
    margin-top: 0;
}

.elementor-widget-testimonial .elementor-testimonial-meta-inner {
    display: flex;
    align-items: flex-start;
}

/* --- Nom --- */
.elementor-widget-testimonial .elementor-testimonial-name {
    font-family: 'Avenir';
    color: #fff !important;
    font-size: 20px;
    font-weight: 800;
    font-style: normal;
    line-height: 1.3;
    margin-bottom: 4px;
}

/* --- Fonction --- */
.elementor-widget-testimonial .elementor-testimonial-job {
    font-family: 'Avenir';
    color: #fff !important;
    font-size: 20px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.3;
    opacity: 1;
}




/* ==========================================================================
   Actualités 
========================================================================== */

.main-raised {
    margin: -60px 0 0;
    border-radius: 0 !important;
    -webkit-box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0), 0 6px 30px 5px rgba(0, 0, 0, 0), 0 8px 10px -5px rgba(0, 0, 0, 0) !important;
    box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0), 0 6px 30px 5px rgba(0, 0, 0, 0), 0 8px 10px -5px rgba(0, 0, 0, 0) !important;
}

/* Archive actualités — grille 3 colonnes */
.liste_actualites--grille {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.liste_actualites--grille .actualite_item {
    flex: 0 1 calc(33.333% - 16px);
    min-width: 0;
}

/* Tablette et mobile : 1 colonne */
@media (max-width: 991px) {
    .liste_actualites--grille .actualite_item {
        flex: 1 1 100%;
    }
}

/* Archive actualités — image en cover 250px */
.liste_actualites--grille .actualite_image {
    height: 250px;
    overflow: hidden;
}

.liste_actualites--grille .actualite_image a {
    display: block;
    height: 100%;
}

.liste_actualites--grille .actualite_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.filtre-actus {
    margin-bottom: 50px;
}
.titre_thematiques {
    color: #000;
    font-family: 'Gotham Rounded';
    font-size: 24px;
    font-weight: 500;
    padding-right: 30px;
}
#cat_actu {
    -webkit-appearance: none;  /* Pour Safari et Chrome */
    -moz-appearance: none;     /* Pour Firefox */
    appearance: none;          /* Standardisation moderne */
    background-color: white;
    border: 1px solid #ccc;
    padding: 8px 30px 8px 20px;
    padding-right: 30px;  /* Espace pour l'image de flèche */
    font-size: 16px;
    background-image: url("imgs/arrow_down.png");
    background-repeat: no-repeat;
    background-position: right 10px center;  /* Positionner l'image à droite et centré verticalement */
    background-size: 14px 14px;  /* Taille de l'image */
    max-width: 90%;  /* Vous pouvez définir une largeur maximale */
    cursor: pointer;
}

/* ========================= Actus liées ============================ */

.related-posts {
    background: var(--couleur-7);
    margin-top: 80px;
    padding-top: 80px;
    padding-bottom: 100px;
}

/* 3 actus côte à côte */
.related-posts .liste_actualites_colonne {
    display: flex;
    gap: 24px;
}

.related-posts .liste_actualites_colonne .actualite_item {
    flex: 1 1 0;
    min-width: 0;
}

/* Vignette 250px en cover */
.related-posts .actualite_image {
    height: 250px;
    overflow: hidden;
}

.related-posts .actualite_image a {
    display: block;
    height: 100%;
}

.related-posts .actualite_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ── Responsive ─────────────────────────────────────────── */

/* Tablette et mobile : 1 colonne */
@media ( max-width: 991px ) {
    .related-posts .liste_actualites_colonne {
        flex-wrap: wrap;
    }

    .related-posts .liste_actualites_colonne .actualite_item {
        flex: 1 1 100%;
    }

    .related-posts .actualite_image {
        height: 200px;
    }
}

/* Pagination */
.page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    list-style: none;
    padding: 24px 0 0;
    margin: 0;
    flex-wrap: nowrap;
}

.page-numbers li {
    margin: 0;
}

.page-numbers li a,
.page-numbers li span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 8px;
    border-radius: 4px;
    background-color: var(--couleur-5);
    font-family: 'Avenir';
    font-weight: 400;;
    color: #000;
}

.page-numbers li a:hover,
.page-numbers li span.current {
    background-color: var(--couleur-1);
    color: #000;
}


/* ============================================================
   Timeline
   ============================================================ */

.wd-timeline-wrapper {
    display: flex;
    align-items: flex-start;
    gap: 0;
    max-width: 100%;
    margin: 0 auto;
    padding: 40px 0;
}

.wd-timeline-swiper-outer {
    flex: 1;
    position: relative;
    overflow: hidden;
    padding: 0 30px;
}

/* Ligne horizontale rose continue, indépendante des slides */
.wd-timeline-swiper-outer::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: calc(var(--wd-timeline-bubble-height) + 10px + 8px); /* bulle + marge + moitié du point */
    height: 2px;
    background: var(--couleur-1);
    z-index: 1;
}

.wd-timeline-slide {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    height: auto;
}

/* Trait vertical : bas de la bulle -> centre de la puce */
.wd-timeline-slide::before {
    content: '';
    position: absolute;
    top: var(--wd-timeline-bubble-height);
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 18px; /* 10px de marge dot + 8px (moitié de la puce de 16px) */
    z-index: 1;
}

/* Trait vertical : centre de la puce -> haut du bloc détail */
.wd-timeline-slide::after {
    content: '';
    position: absolute;
    top: calc(var(--wd-timeline-bubble-height) + 18px);
    left: 50%;
    transform: translateX(-50%);
    width: 4px;
    height: 30px;
    z-index: 1;
}

.wd-timeline-blue::before  { background: var(--couleur-2); }
.wd-timeline-blue::after   { background: var(--couleur-2b); }

.wd-timeline-green::before { background: var(--couleur-3); }
.wd-timeline-green::after  { background: var(--couleur-3b); }

.wd-timeline-bubble {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    border-radius: 50px;
    padding: 12px 10px;
    height: var(--wd-timeline-bubble-height);
    box-sizing: border-box;
    width: 100%;
    max-width: 280px;
    position: relative;
    z-index: 2;
}

.wd-timeline-blue .wd-timeline-bubble { background: var(--couleur-2); }
.wd-timeline-green .wd-timeline-bubble { background: var(--couleur-3); }

.wd-timeline-date {
    font-family: 'Gotham Rounded';
    font-size: 34px;
    font-weight: 500;
    line-height: 1.1;
}

.wd-timeline-soustitre {
    font-family: 'Gotham Rounded';
    font-size: 18px;
    font-weight: 500;
    line-height: 1.1;
    margin-top: 4px;
}

.wd-timeline-dot {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    position: relative;
    z-index: 2;
    margin: 10px 0;
}

.wd-timeline-blue .wd-timeline-dot { background: var(--couleur-2); }
.wd-timeline-green .wd-timeline-dot { background: var(--couleur-3); }

.wd-timeline-detail {
    border-radius: 18px;
    padding: 20px;
    margin-top: 10px;
    width: 100%;
    box-sizing: border-box;
}

.wd-timeline-blue .wd-timeline-detail { background: var(--couleur-2b); }
.wd-timeline-green .wd-timeline-detail { background: var(--couleur-3b); }

.wd-timeline-detail-titre {
    font-family: 'Gotham Rounded';
    font-size: 22px;
    font-weight: 500;
    line-height: 1.1;
    text-align: center;
    margin: 0 0 12px;
}

.wd-timeline-blue .wd-timeline-detail-titre { color: var(--couleur-2); }
.wd-timeline-green .wd-timeline-detail-titre { color: var(--couleur-3); }

.wd-timeline-detail-texte {
    font-family: 'Gotham Rounded';
    font-size: 18px;
    font-weight: 400;
    line-height: 1.1;
    text-align: center;
    color: #333;
    margin: 0;
    line-height: 1.5;
}


.wd-timeline-nav {
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    border: none;
    background: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    padding: 0;
    cursor: pointer;
    z-index: 3;
    margin-top: var(--wd-timeline-bubble-height);
}

button.wd-timeline-nav,
button.wd-timeline-nav:hover,
button.wd-timeline-nav:focus,
button.wd-timeline-nav:active {
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
    outline: none !important;
}

.wd-timeline-prev {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2041.53%2041.53%22%3E%3Cpath%20d%3D%22M41.53%2C20.76c0%2C11.47-9.3%2C20.76-20.76%2C20.76S0%2C32.23%2C0%2C20.76%2C9.3%2C0%2C20.76%2C0s20.76%2C9.3%2C20.76%2C20.76%22%20fill%3D%22%23d63080%22%2F%3E%3Cpolyline%20points%3D%2223.78%2032.59%2011.95%2020.76%2023.78%208.94%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%224.81%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}

.wd-timeline-next {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2041.53%2041.53%22%3E%3Ccircle%20cx%3D%2220.76%22%20cy%3D%2220.76%22%20r%3D%2220.76%22%20fill%3D%22%23d63080%22%2F%3E%3Cpolyline%20points%3D%2217.75%208.94%2029.58%2020.76%2017.75%2032.59%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%224.81%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}

.wd-timeline-nav.swiper-button-disabled {
    opacity: 0;
    pointer-events: none;
}

.wd-timeline-nav:hover {
    opacity: 0.85;
}



@media (max-width: 767px) {
    .wd-timeline-bubble { max-width: 200px; padding: 10px 18px; }
    .wd-timeline-date { font-size: 20px; }
    .wd-timeline-nav { width: 30px; height: 30px; }
}




/* ============================================================
   Projets
   ============================================================ */


.wd-projets-liste {
    display: flex;
    flex-direction: column;
}

.wd-projet-card {
    display: flex;
    align-items: flex-start;
    gap: 60px;
}

.wd-projet-card + .wd-projet-card {
    margin-top: 100px;
}

.wd-projet-image {
    flex: 0 0 45%;
    max-width: 45%;
}

.wd-projet-image img {
    display: block;
    width: 100%;
    height: 440px !important;
    object-fit: cover !important;
    border-radius: 30px !important;
}

.wd-projet-content {
    flex: 1;
}

.wd-projet-titre {
    font-family: 'Gotham Rounded';
    font-size: 24px;
    font-weight: bold;
    color: var(--couleur-2);
    margin: 0 0 10px;
}

.wd-projet-soustitre {
    font-family: 'Avenir';
    font-size: 24px;
    font-weight: 900;
    color: #000;
    margin: 0 0 25px;
}

.wd-projet-date,
.wd-projet-description p {
    font-family: 'Avenir';
    font-size: 18px;
    font-weight: normal;
    color: #000;
}

.wd-projet-date {
    position: relative;
    padding-left: 40px;
    margin-bottom: 20px;
}

.wd-projet-date::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 25px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22.207' height='24.675' viewBox='0 0 22.207 24.675'%3E%3Cpath d='M21.772,15.071H15.6V21.24h6.169ZM20.539,1.5V3.967h-9.87V1.5H8.2V3.967H6.967A2.456,2.456,0,0,0,4.512,6.435L4.5,23.707a2.467,2.467,0,0,0,2.467,2.467H24.24a2.475,2.475,0,0,0,2.467-2.467V6.435A2.475,2.475,0,0,0,24.24,3.967H23.006V1.5Zm3.7,22.207H6.967V10.136H24.24Z' transform='translate(-4.5 -1.5)' fill='%23fe9017'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}

.wd-projet-description p {
    position: relative;
    padding-left: 45px;
    margin-bottom: 18px;
}

.wd-projet-description.align_0 p {
    padding-left: 0px;
    padding-top: 15px;
}

.wd-projet-description p::before {
    content: '';
    position: absolute;
    left: 0;
    top: 2px;
    width: 23px;
    height: 23px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='23.25' height='23.25' viewBox='0 0 23.25 23.25'%3E%3Ccircle cx='11' cy='11' r='11' transform='translate(0.625 0.625)' fill='%23fff'/%3E%3Cpath d='M23.625,12A11.625,11.625,0,1,1,12,.375,11.625,11.625,0,0,1,23.625,12Zm-12.97,6.155L19.28,9.53a.75.75,0,0,0,0-1.061L18.22,7.409a.75.75,0,0,0-1.061,0l-7.034,7.034L6.841,11.159a.75.75,0,0,0-1.061,0L4.72,12.22a.75.75,0,0,0,0,1.061l4.875,4.875A.75.75,0,0,0,10.655,18.155Z' transform='translate(-0.375 -0.375)' fill='%234bb167'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}

.wd-projet-description.align_0 p::before {
    display: none;
}

.projet-amenagement .wd-projet-description p {
    padding-left: 0;
    line-height: 1.4;
}

.wd-projet-content .cta-button {
    margin-top: 10px;
    display: inline-flex;
}

@media (max-width: 768px) {
    .wd-projet-card {
        flex-direction: column;
    }
    .wd-projet-image {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/* ==========================================================================
   Bloc "Onglets projet" — [onglets_projet] (à venir, CPT plus tard)
   À ajouter dans styles.css
   ========================================================================== */

.sc-onglets-projet {
    max-width: 100%;
    margin: 0 auto;
}

/* --- Navigation (onglets) --- */
.sc-onglets-projet__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 32px;
}

.sc-onglets-projet__tab {
    display: inline-flex;
    align-items: center;
    padding: 14px 28px;
    background: var(--couleur-5);
    color: var(--couleur-2);
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    border-radius: 999px;
    cursor: pointer;
    user-select: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.sc-onglets-projet__tab:hover {
    background: var(--couleur-5b);
}

.sc-onglets-projet__tab:focus-visible {
    outline: 2px solid var(--couleur-2);
    outline-offset: 2px;
}

.sc-onglets-projet__tab.is-active {
    background: var(--couleur-1);
    color: #fff;
}

/* --- Panneaux --- */
.sc-onglets-projet__panel {
    display: none;
}

.sc-onglets-projet__panel.is-active {
    display: block;
    animation: sc-onglets-fondu 0.25s ease;
}

@keyframes sc-onglets-fondu {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: translateY(0); }
}

.sc-onglets-projet__titre {
    font-size: 28px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 12px;
}

.sc-onglets-projet__desc {
    font-size: 17px;
    line-height: 1.5;
    color: #333;
    max-width: 780px;
    margin: 0 0 28px;
}

/* --- Chiffres clés --- */
.sc-onglets-projet__chiffres {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 60px;
    margin-top: 50px;
    margin-bottom: 60px;
}

.sc-chiffre-cle {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 6px;
    padding: 24px 16px;
    border: 1px solid var(--couleur-1);
    border-radius: 30px;
}

.sc-chiffre-cle__valeur {
    font-size: 32px;
    font-weight: 700;
    color: var(--couleur-2);
    line-height: 1;
}

.sc-chiffre-cle__label {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
}

/* --- Cartes projets --- */
.sc-onglets-projet__projets {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 60px;
}

.sc-projet-card {
    background: #fff;
    border-radius: var(--cornerRad, 4px);
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

.sc-projet-card__image {
    width: 100%;
    aspect-ratio: 16 / 9;
    background: var(--couleur-5) center / cover no-repeat;
    /* Plus tard : image mise en avant du CPT projet, en background via PHP
       ou balise <img> selon la préférence retenue à l'intégration. */
}

.sc-projet-card__contenu {
    padding: 20px 24px 24px;
}

.sc-projet-card__titre {
    font-size: 20px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 10px;
}

.sc-projet-card__desc {
    font-size: 15px;
    line-height: 1.5;
    color: #333;
    margin: 0 0 16px;
}

.sc-projet-card__date {
    position: relative;
    display: block;
    padding-left: 32px;
    font-size: 16px;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 25px;
    margin: 0;
}

.sc-projet-card__date::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 25px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22.207' height='24.675' viewBox='0 0 22.207 24.675'%3E%3Cpath d='M21.772,15.071H15.6V21.24h6.169ZM20.539,1.5V3.967h-9.87V1.5H8.2V3.967H6.967A2.456,2.456,0,0,0,4.512,6.435L4.5,23.707a2.467,2.467,0,0,0,2.467,2.467H24.24a2.475,2.475,0,0,0,2.467-2.467V6.435A2.475,2.475,0,0,0,24.24,3.967H23.006V1.5Zm3.7,22.207H6.967V10.136H24.24Z' transform='translate(-4.5 -1.5)' fill='%23fe9017'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
}

/* --- Responsive --- */
@media (max-width: 780px) {
    .sc-onglets-projet__chiffres {
        grid-template-columns: 1fr;
    }

    .sc-onglets-projet__projets {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .sc-onglets-projet__nav {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 4px;
    }

    .sc-onglets-projet__tab {
        flex: 0 0 auto;
        white-space: nowrap;
    }
}

/* ============================================================
   Page contact
   ============================================================ */

.wd-contact-list {
  list-style: none;
  margin: 25px 0 0;
  padding: 0;
}

.wd-contact-list li {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 43px;
  padding-left: 68px;
  margin-bottom: 25px;
  position: relative;
  line-height: 1.3;
}

.wd-contact-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 43px;
  height: 43px;
  background-repeat: no-repeat;
  background-size: contain;
}

.wd-contact-list strong {
  display: block;
  font-weight: 700;
}

/* --- Pictos --- */

.wd-contact-adresse::before {
  background-image: url("data:image/svg+xml,<svg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2243%22%20height=%2243%22%20viewBox=%220%200%2043%2043%22><circle%20cx=%2221.5%22%20cy=%2221.5%22%20r=%2221.5%22%20fill=%22%23d63080%22/><path%20d=%22M24.136,11.318c0,7.636-9.818,14.182-9.818,14.182S4.5,18.955,4.5,11.318a9.818,9.818,0,1,1,19.636,0Z%22%20transform=%22translate(7.5%208.5)%22%20fill=%22none%22%20stroke=%22%23fff%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-width=%221%22/><path%20d=%22M20.392,13.946A3.446,3.446,0,1,1,16.946,10.5a3.446,3.446,0,0,1,3.446,3.446Z%22%20transform=%22translate(4.872%205.915)%22%20fill=%22none%22%20stroke=%22%23fff%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-width=%221%22/></svg>");
}

.wd-contact-tel::before {
  background-image: url("data:image/svg+xml,<svg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2243%22%20height=%2243%22%20viewBox=%220%200%2043%2043%22><circle%20cx=%2221.5%22%20cy=%2221.5%22%20r=%2221.5%22%20fill=%22%23d63080%22/><path%20d=%22M22,16.92v3a2,2,0,0,1-2.18,2,19.79,19.79,0,0,1-8.63-3.07,19.5,19.5,0,0,1-6-6A19.79,19.79,0,0,1,2.12,4.18,2,2,0,0,1,4.11,2h3a2,2,0,0,1,2,1.72,12.84,12.84,0,0,0,.7,2.81,2,2,0,0,1-.45,2.11L8.09,9.91a16,16,0,0,0,6,6l1.27-1.27a2,2,0,0,1,2.11-.45,12.84,12.84,0,0,0,2.81.7A2,2,0,0,1,22,16.92Z%22%20transform=%22translate(9.388%209.5)%22%20fill=%22none%22%20stroke=%22%23fff%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-width=%221%22/></svg>");
}

.wd-contact-email::before {
  background-image: url("data:image/svg+xml,<svg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2243%22%20height=%2243%22%20viewBox=%220%200%2043%2043%22><circle%20cx=%2221.5%22%20cy=%2221.5%22%20r=%2221.5%22%20fill=%22%23d63080%22/><path%20d=%22M4,4H20a2.006,2.006,0,0,1,2,2V18a2.006,2.006,0,0,1-2,2H4a2.006,2.006,0,0,1-2-2V6A2.006,2.006,0,0,1,4,4Z%22%20transform=%22translate(10%2010)%22%20fill=%22none%22%20stroke=%22%23fff%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-width=%221%22/><path%20d=%22M22,6,12,13,2,6%22%20transform=%22translate(10%2010)%22%20fill=%22none%22%20stroke=%22%23fff%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-width=%221%22/></svg>");
}

.wd-contact-horaires::before {
  background-image: url("data:image/svg+xml,<svg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2243%22%20height=%2243%22%20viewBox=%220%200%2043%2043%22><circle%20cx=%2221.5%22%20cy=%2221.5%22%20r=%2221.5%22%20fill=%22%23d63080%22/><path%20d=%22M22,12A10,10,0,1,1,12,2,10,10,0,0,1,22,12Z%22%20transform=%22translate(10%2010)%22%20fill=%22none%22%20stroke=%22%23fff%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-width=%221%22/><path%20d=%22M12,6v6l4,2%22%20transform=%22translate(10%2010)%22%20fill=%22none%22%20stroke=%22%23fff%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20stroke-width=%221%22/></svg>");
}


/* ============================================================
   Formulaire de contact
   ============================================================ */

.wpcf7-form .wd-form-row {
    display: flex;
    gap: 60px;
    margin-bottom: 35px;
}

.wpcf7-form .wd-form-col {
    flex: 1 1 0;
    min-width: 0;
}

.wpcf7-form .wd-form-row--full {
    display: block;
}

/* Labels : style par défaut du site */
.wpcf7-form label {
    display: block;
    margin-bottom: 8px;
    font-weight: bold;
    text-transform: uppercase;
}

/* Champs texte, email, tel, textarea */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
    width: 100%;
    height: auto !important;
    line-height: normal;
    box-sizing: border-box;
    padding: 15px 25px !important;
    border: 1px solid #a9a9a9 !important;
    border-radius: 15px !important;
    font-family: 'Avenir', sans-serif !important;
    color: #333;
    background-color: var(--couleur-5) !important;
    background-image: none !important;
}

.wpcf7-form textarea {
    min-height: 180px;
    resize: vertical;
}

.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder {
    font-family: 'Avenir', sans-serif;
    color: #999;
}

/* Responsive : on repasse en colonne sur mobile */
@media (max-width: 768px) {
    .wpcf7-form .wd-form-row {
        flex-direction: column;
        gap: 20px;
    }
}


/* ==========================================================================
   Bloc FAQ projet 
   ========================================================================== */

#bloc_projet {
    display: flex;
    gap: 60px;
    padding: 0;
}

#bloc_projet > * {
    padding: 0;
}

#bloc_projet > *:first-child {
    flex: 0 0 265px;
    max-width: 265px;
}

#bloc_projet > *:last-child {
    flex: 1 1 915px;
    max-width: 915px;
}
#bloc_projet h2.h2_blanc {
    position: relative;
    color: #fff;
    font-family: 'Gotham Rounded';
    font-size: 30px;
    font-weight: bold;
    padding-bottom: 36px;
    margin-bottom: 36px;
}
#bloc_projet h2.h2_blanc::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    /* transform: translateY(-50%); */
    width: 40px;
    height: 6px;
    background-color: rgba(255, 255, 255, 0.65);
    border-radius: 2px;
}

/* Responsive : les colonnes passent l'une sous l'autre
   dès que l'espace disponible ne permet plus les 1240px (265 + 60 + 915) */
@media (max-width: 1240px) {
    #bloc_projet {
        flex-direction: column;
        gap: 30px;
    }

    #bloc_projet > *:first-child,
    #bloc_projet > *:last-child {
        flex: 1 1 auto;
        max-width: 100%;
        width: 100%;
    }
}



.sc-bloc-faq-liste {
    display: flex;
    flex-direction: column;
    gap: 20px;
    box-sizing: border-box;
}

.sc-bloc-faq-liste *,
.sc-bloc-faq-liste *::before,
.sc-bloc-faq-liste *::after {
    box-sizing: border-box;
}

.sc-faq-item {
    background: #fff;
    border-radius: 30px;
    padding: 40px 50px;
}
.sc-faq-item .sc-faq-item {
    border: none;
    padding: 0;
}

.sc-faq-question {
    margin: 0;
}

.sc-faq-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: none;
    border: 0;
    margin: 0;
    padding: 0;
    cursor: pointer;
    text-align: left;
    box-shadow: none !important;
    font-family: 'Gotham Rounded', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: var(--couleur-2);
}

.sc-faq-item--sans-reponse .sc-faq-toggle {
    cursor: default;
}

.sc-faq-toggle:focus-visible {
    outline: 2px solid var(--couleur-1);
    outline-offset: 4px;
}

.sc-faq-question__texte {
    flex: 1;
}

/* Icône +/- — picots SVG (picto-plus / picto-moins), taille native 45px.
   Superposées et animées en fondu + légère rotation lors du clic. */
.sc-faq-toggle__icone {
    position: relative;
    flex-shrink: 0;
    width: 45px;
    height: 45px;
}

.sc-faq-icone-plus,
.sc-faq-icone-moins {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.sc-faq-icone-plus svg,
.sc-faq-icone-moins svg {
    display: block;
    width: 100%;
    height: 100%;
}

.sc-faq-icone-plus {
    opacity: 1;
    transform: rotate(0deg);
}

.sc-faq-icone-moins {
    opacity: 0;
    transform: rotate(-90deg);
}

.sc-faq-item.is-open .sc-faq-icone-plus {
    opacity: 0;
    transform: rotate(90deg);
}

.sc-faq-item.is-open .sc-faq-icone-moins {
    opacity: 1;
    transform: rotate(0deg);
}

/* Panneau de réponse : ouverture/fermeture animées en hauteur via grid-template-rows
   (pas de calcul JS, s'adapte automatiquement à la hauteur du contenu). */
.sc-faq-panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.35s ease;
}

.sc-faq-item.is-open .sc-faq-panel {
    grid-template-rows: 1fr;
}

.sc-faq-panel[hidden] {
    display: none;
}

.sc-faq-panel__inner {
    overflow: hidden;
    min-height: 0;
}

/* Filet de séparation question / réponse — uniquement présent quand il y a une réponse */
.sc-faq-separateur {
    border: 0;
    border-top: 1px solid #ccd3ea;
    margin: 40px 0 !important;
}

.sc-faq-panel__contenu {
    font-family: 'Avenir', sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.6;
    color: #000 !important;
}

.sc-faq-panel__contenu > *:first-child {
    margin-top: 0;
}

.sc-faq-panel__contenu > *:last-child {
    margin-bottom: 0;
}

/* Respecte la préférence système de réduction des animations */
@media (prefers-reduced-motion: reduce) {
    .sc-faq-panel,
    .sc-faq-icone-plus,
    .sc-faq-icone-moins {
        transition: none;
    }
}

/* ---- Responsive ---- */
@media (max-width: 600px) {
    .sc-bloc-faq-liste {
        gap: 16px;
    }

    .sc-faq-item {
        padding: 26px 24px;
        border-radius: 24px;
    }

    .sc-faq-toggle {
        font-size: 18px;
    }

    .sc-faq-toggle__icone {
        width: 34px;
        height: 34px;
    }

    .sc-faq-separateur {
        margin: 24px 0;
    }

    .sc-faq-panel__contenu {
        font-size: 17px;
    }
}

.bloc-feuille {
    position: relative;
    padding-bottom: 250px;
}

.bloc-feuille::after {
    content: '';
    position: absolute;
    right: 10px;
    bottom: 30px;
    width: 160px;
    height: 185px; /* ratio natif du picto : 163.451 x 185.132 */
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='163.451'%20height='185.132'%20viewBox='0%200%20163.451%20185.132'%3E%3Cg%20opacity='0.28'%3E%3Cpath%20d='M80.42,69.456c28-2.674,54.151,10.653,71.487,33.289-13.124,25.547-36.531,43.606-64.531,46.28S36.337,140.625,19,117.988'%20transform='translate(9.163%2033.334)'%20fill='none'%20stroke='%23fff'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='3.213'/%3E%3Cpath%20d='M91.2,91.546c-10.821,30.747-33.4,49.735-65.137,57.223C6.106,122.8-4.984,91.78,5.836,61.033S43.069,9.094,74.8,1.606C94.762,27.571,102.023,60.8,91.2,91.546Z'%20transform='translate(0.775%200.775)'%20fill='none'%20stroke='%23fff'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='3.213'/%3E%3Cpath%20d='M28.955,60.424s-17,25.549-7.823,87.651'%20transform='translate(8.88%2029.141)'%20fill='none'%20stroke='%23fff'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='3.213'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
}

@media (max-width: 900px) {
    .bloc-feuille::after {
        width: 85px;
        height: 96px;
        left: 28px;
        bottom: 20px;
    }
}
/* ==========================================================================
   Shortcode [carte_interactive_projet]
   ========================================================================== */

.sc-carte-interactive {
	--sc-carte-couleur-fond-legende: #f1f8fe;
	--sc-carte-rayon: 4px;
	--sc-carte-largeur-legende: 240px;
	/* Hauteur du header collant du site, pour que le défilement automatique
	   vers un calque (lien ?calque=xxx) n'arrive pas caché dessous. */
    --sc-carte-decalage-defilement: 240px;

	max-width: 1240px;
	margin: 0 auto;
    scroll-margin-top: var(--sc-carte-decalage-defilement);

	display: grid;
	grid-template-columns: var(--sc-carte-largeur-legende) 1fr;
	grid-template-areas:
		"legende carte"
		"reset   carte";
	column-gap: 24px;
	align-items: start;
}

/* -- Carte / calques empilés -------------------------------------------- */

.sc-carte-interactive__carte {
	grid-area: carte;
	position: relative;
	width: 100%;
	aspect-ratio: 1538 / 918;
	overflow: hidden;
	border-radius: var(--sc-carte-rayon);
	background: #fff;
	touch-action: pan-y; /* laisse défiler la page au doigt tant qu'on n'est pas zoomé */
	cursor: default;
}

.sc-carte-interactive__carte.is-zoomed {
	touch-action: none; /* le geste tactile sert alors à déplacer/zoomer la carte */
	cursor: grab;
}

.sc-carte-interactive__carte.is-zoomed.is-dragging {
	cursor: grabbing;
}

/* Conteneur réellement zoomé/déplacé : le cadre ci-dessus reste fixe et
   rogne (overflow:hidden) tout ce qui dépasserait pendant le zoom. */
.sc-carte-interactive__stage {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	transform-origin: 0 0;
	transform: translate(0, 0) scale(1);
	transition: transform 0.15s ease;
	will-change: transform;
}

.sc-carte-interactive__calque {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: none;
	-webkit-user-drag: none;
	user-select: none;
}

.sc-carte-interactive__calque.is-active {
	display: block;
}

/* -- Barre d'outils (zoom + plein écran) ---------------------------------- */

.sc-carte-interactive__toolbar {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 5;
	display: flex;
	align-items: center;
	gap: 6px;
}

/* Des <div role="button">, pas des <button> : le style natif des boutons du
   site était déjà trop surchargé. On gère donc nous-mêmes le focus clavier
   visible et l'état désactivé (.is-disabled, voir le JS). */
.sc-carte-interactive__outil {
	width: 32px;
	height: 32px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.9);
	color: var(--couleur-2);
	display: flex;
	align-items: center;
	justify-content: center;
	font: inherit;
	font-size: 0.7rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
	transition: background 0.15s ease, color 0.15s ease;
	user-select: none;
}

.sc-carte-interactive__outil:hover:not(.is-disabled) {
	background: #fff;
	color: var(--couleur-1);
}

.sc-carte-interactive__outil:focus-visible {
	outline: 2px solid var(--couleur-2);
	outline-offset: 2px;
}

.sc-carte-interactive__outil.is-disabled {
	opacity: 0.35;
	cursor: default;
}

.sc-carte-interactive__outil[hidden] {
	display: none;
}

/* Zones cliquables par calque : un conteneur par calque (comme les images),
   affiché uniquement quand ce calque est actif. Seuls les calques de détail
   en ont du contenu ; le calque "complete" reste vide. */
.sc-carte-interactive__zones {
	position: absolute;
	inset: 0;
	display: none;
}
.sc-carte-interactive__zones.is-active {
	display: block;
}

/* Picto cliquable (voir mapZones dans le JS) : positionné par sa pointe
   (translate -50%/-100%, donc left/top = coordonnée exacte du point visé),
   toujours 50px de haut quel que soit le zoom ou la taille d'affichage. */
.sc-carte-interactive__picto {
	position: absolute;
	height: 30px;
	width: auto;
	transform: translate(-50%, -100%);
	transform-origin: 50% 100%;
	cursor: pointer;
	fill: #d63080;
	filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35));
	transition: transform 0.15s ease, filter 0.15s ease;
}

.sc-carte-interactive__picto:hover,
.sc-carte-interactive__picto:focus-visible {
	transform: translate(-50%, -100%) scale(1.15);
	filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.45));
	outline: none;
}

/* -- Légende -------------------------------------------------------------- */

.sc-carte-interactive__legende {
	grid-area: legende;
	list-style: none;
	margin: 0;
	padding: 16px 20px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	background: var(--sc-carte-couleur-fond-legende);
	border-radius: var(--sc-carte-rayon);
}

.sc-carte-interactive__legende-item {
	margin: 0;
}

.sc-carte-interactive__legende-btn {
	display: block;
	width: 100%;
	text-align: left;
	background: none;
	border: none;
	padding: 4px 2px;
	margin: 0;
	font: inherit;
    font-size: 15px;
	font-weight: 700;
	color: var(--couleur-2);
	cursor: pointer;
	transition: color 0.15s ease;
    box-shadow: none !important;
}

.sc-carte-interactive__legende-btn:hover,
.sc-carte-interactive__legende-btn:focus,
.sc-carte-interactive__legende-btn:focus-visible,
.sc-carte-interactive__reset:hover,
.sc-carte-interactive__reset:focus,
.sc-carte-interactive__reset:focus-visible {
	color: #fff !important;
    background-color: var(--couleur-2) !important;
}

.sc-carte-interactive__legende-btn.is-active {
	color: var(--couleur-1);
}

/* -- Bouton "Voir la carte complète" -------------------------------------- */

.sc-carte-interactive__reset {
	grid-area: reset;
	display: none; /* affiché en JS uniquement quand un calque est sélectionné */
	width: 100%;
	text-align: left;
	margin: 12px 0 0;
	background: none;
	border: none;
	padding: 4px 2px;
	font: inherit;
    font-size: 15px !important;
	color: var(--couleur-2);
	text-decoration: underline;
	cursor: pointer;
    box-shadow: none !important;
}

.sc-carte-interactive__reset.is-visible {
	display: block;
}

/* En dessous de ~780px, la légende repasse au-dessus de la carte
   (empilement vertical) faute de place pour les deux côte à côte. */
@media (max-width: 780px) {
	.sc-carte-interactive {
		grid-template-columns: 1fr;
		grid-template-areas:
			"carte"
			"legende"
			"reset";
		row-gap: 16px;
	}

	.sc-carte-interactive__legende {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 8px 24px;
	}

	.sc-carte-interactive__legende-btn {
		width: auto;
	}
}

/* -- Plein écran (carte + légende) ---------------------------------------- */

/* Empêche le défilement de la page derrière la carte quand elle est en
   plein écran (posé/retiré en JS sur <html>). */
html.sc-carte-no-scroll {
	overflow: hidden;
}

/* .is-fullscreen : posée par le JS dans tous les cas (sert de filet de
   sécurité si le plein écran natif n'est pas disponible, ex. iOS Safari).
   :fullscreen : vraie API plein écran du navigateur, quand elle marche. Les
   deux partagent la même mise en page. */
.sc-carte-interactive.is-fullscreen,
.sc-carte-interactive:fullscreen {
	position: fixed;
	inset: 0;
	z-index: 99999;
	max-width: none;
	width: 100vw;
	height: 100vh;
	margin: 0;
	padding: 24px;
	box-sizing: border-box;
	background: #fff;
	grid-template-rows: 1fr auto;
	align-items: stretch;
}

.sc-carte-interactive.is-fullscreen .sc-carte-interactive__carte,
.sc-carte-interactive:fullscreen .sc-carte-interactive__carte {
	aspect-ratio: unset;
	width: 100%;
	height: 100%;
}

.sc-carte-interactive.is-fullscreen .sc-carte-interactive__legende,
.sc-carte-interactive:fullscreen .sc-carte-interactive__legende {
	max-height: 100%;
	overflow-y: auto;
}

@media (max-width: 780px) {
	.sc-carte-interactive.is-fullscreen,
	.sc-carte-interactive:fullscreen {
		grid-template-columns: 1fr;
		grid-template-areas:
			"carte"
			"legende"
			"reset";
		grid-template-rows: minmax(0, 1fr) auto auto;
		row-gap: 12px;
		padding: 16px;
	}

	.sc-carte-interactive.is-fullscreen .sc-carte-interactive__carte,
	.sc-carte-interactive:fullscreen .sc-carte-interactive__carte {
		min-height: 0;
	}
}


/* -- Pop-in d'une zone cliquable -------------------------------------------
   Ajoutée directement dans <body> (pas dans .sc-carte-interactive) : sinon
   elle serait rognée par l'overflow:hidden de la carte, ou déformée par le
   zoom - et elle doit pouvoir s'afficher par-dessus le mode plein écran. */

.sc-carte-popin-overlay {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.5);
	padding: 20px;
}

.sc-carte-popin-overlay.is-visible {
	display: flex;
}

.sc-carte-popin {
	position: relative;
	background: #fff;
	border-radius: 8px;
	padding: 32px 28px 28px;
	max-width: 360px;
	width: 100%;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
}

.sc-carte-popin__titre {
	margin: 0 0 18px;
	padding-right: 24px;
	font-size: 1.15rem;
	color: var(--couleur-2, #1d1d1b);
    text-align: center;
}

.sc-carte-popin__lien {
	display: inline-block;
	font-weight: 700;
	color: #fff;
	background: var(--couleur-2, #1d5ba4);
	padding: 10px 18px;
	border-radius: 4px;
	text-decoration: none;
	transition: background 0.15s ease;
}

.sc-carte-popin__lien:hover,
.sc-carte-popin__lien:focus-visible {
	background: var(--couleur-1, #d63080);
	outline: none;
}

.sc-carte-popin__fermer {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	cursor: pointer;
	color: var(--couleur-2, #1d1d1b);
}

.sc-carte-popin__fermer:hover,
.sc-carte-popin__fermer:focus-visible {
	background: rgba(0, 0, 0, 0.06);
	outline: none;
}

/* ============================================================
   FOOTER
   ============================================================ */

#wd-footer {
    background-color: var(--couleur-6);
    color: #fff;
    font-family: inherit;
}

/* --- Grille principale --- */
.wd-footer__inner {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 20px 30px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 4rem 2rem 3rem;
    align-items: start;
}
.wd-footer__bloc_menu {
    display: grid;
    grid-template-columns: 1fr 1.6fr 1fr;
    gap: 2rem 3rem;
    width: 100%;
    max-width: 950px;
    margin: 0 auto;
    padding: 4rem 2rem 3rem;
    align-items: start;
}

/* --- Colonne brand --- */
.wd-footer__brand img {
    max-width: 160px;
    height: auto;
    display: block;
    margin-bottom: 1.5rem;
}

.wd-footer__baseline p,
p.wd-footer__baseline {
    font-family: 'Gotham Rounded';
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    color: var(--couleur-5b);
    line-height: 1.3;
    margin: 0;
}

/* --- Colonne 4 : deux navs empilées --- */
.wd-footer__nav-group {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* --- Blocs nav --- */
.wd-footer__nav-title {
    font-size:18px;
    font-weight: 500;
    text-transform: uppercase;
    color: var(--couleur-5b);
    margin: 0 0 20px;
}

.wd-footer__nav ul {
    list-style: none;
    margin: 0 0 20px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.wd-footer__nav a,
.wd-footer__legal p {
    color: #fff;
    text-decoration: none;
    font-family: 'Avenir';
    font-size: 18px;
    font-weight: 400;
}

.wd-footer__nav a:hover {
    color: #fff;
    text-decoration: underline;
}

/* --- Barre légale --- */
.wd-footer__legal {
    border-top: 1px solid rgba(255, 255, 255, 0.5);
    text-align: center;
    padding: 1.25rem 2rem;
}

.wd-footer__legal p {
    color: var(--couleur-5b);
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.6rem;
}

.wd-footer__legal a {
    color: var(--couleur-5b);
    text-decoration: none;
    transition: color 0.2s ease;
}

.wd-footer__legal a:hover {
    color: #fff;
}

.wd-footer__legal-sep {
    opacity: 0.4;
}

/* --- Responsive --- */
@media (max-width: 1024px) {
    .wd-footer__inner {
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem;
    }
}

@media (max-width: 600px) {
    .wd-footer__inner {
        grid-template-columns: 1fr;
    }
    .wd-footer__bloc_menu {
        display: none;
    }
}


