/* ==========================================================================
   afr-core.css — feuille de style unique du thème enfant
   Concaténation des quinze feuilles chargées sur toutes les pages, dans
   l'ordre exact des anciens wp_enqueue_style : la cascade est préservée.
   NE PAS MODIFIER CE FICHIER À LA MAIN. On édite les sources listées par les
   commentaires « SOURCE : » ci-dessous, puis on régénère par simple
   concaténation dans le même ordre. Le fichier doit rester dans
   assets/css/ : les chemins relatifs (../fonts/raleway/...) en dépendent.
   ========================================================================== */


/* ===== SOURCE : assets/css/base.css ===== */
/* ----------------------
   SCHÉMA DE COULEURS
   Le site n'a pas de thème sombre : on le déclare explicitement pour que les
   navigateurs (Auto Dark Mode de Brave/Chrome) n'inversent pas les couleurs.
   Doublon volontaire de la balise meta du header : la règle CSS couvre aussi
   les cas où le HTML est mis en cache sans la meta.
---------------------- */
:root {
  color-scheme: only light;
}

/* Import de la police Raleway depuis Google Fonts */
/* @import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&display=swap'); */


/* ----------------------
   RALEWAY - Police locale
---------------------- */

/* raleway-regular - latin */
@font-face {
  font-display: optional;
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/raleway/raleway-v37-latin-regular.woff2') format('woff2');
}

/* raleway-italic - latin */
@font-face {
  font-display: optional;
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/raleway/raleway-v37-latin-italic.woff2') format('woff2');
}

/* raleway-500 - latin */
@font-face {
  font-display: optional;
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/raleway/raleway-v37-latin-500.woff2') format('woff2');
}

/* raleway-600 - latin */
@font-face {
  font-display: optional;
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/raleway/raleway-v37-latin-600.woff2') format('woff2');
}

/* raleway-700 - latin */
@font-face {
  font-display: optional;
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/raleway/raleway-v37-latin-700.woff2') format('woff2');
}

/* raleway-800 - latin */
@font-face {
  font-display: optional;
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/raleway/raleway-v37-latin-800.woff2') format('woff2');
}

/* raleway-900 - latin */
@font-face {
  font-display: optional;
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/raleway/raleway-v37-latin-900.woff2') format('woff2');
}


/* ----------------------
   VARIABLES CSS
---------------------- */
:root {
    /* Couleurs principales */
    --color-text: #1f2937;
    --color-background: #ffffff;
    --color-muted: #6b7280;

    /* Typographie */
    --font-family-base: 'Raleway', sans-serif;
    --font-size-base: clamp(15px, 2vw, 16px);

    /* Titres – échelle modulaire ~1.25
       h1 : 3.44  → h2 : 2.25  → h3 : 1.40
       h4 : 1.20  → h5 : 1.05  → h6 : 0.90  */
    --h1-size: clamp(2rem,   5vw,   3.438rem);
    --h2-size: clamp(1.6rem, 3.5vw, 2.25rem);
    --h3-size: clamp(1.15rem,2.5vw, 1.4rem);
    --h4-size: clamp(1.05rem,2vw,   1.2rem);
    --h5-size: clamp(1rem,   1.8vw, 1.05rem);
    --h6-size: clamp(0.875rem,1.5vw,0.95rem);

    --heading-weight: 900;
    --text-weight: 450;
}

/* ----------------------
   RESET & BASE
---------------------- */

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

body {
    font-family: var(--font-family-base);
    font-size: var(--font-size-base);
    font-weight: var(--text-weight);
    color: var(--color-text);
    background-color: var(--color-background);
    line-height: 1.6;
}
.logged-in.admin-bar header{
    padding-top: var(--wp-admin--admin-bar--height, 32px);
}

/* ----------------------
   TITRES
---------------------- */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3 {
    font-weight: var(--heading-weight);
    line-height: 1.2;
    color: #333333;
}

/* Espacement sous les titres – uniquement hors widgets SiteOrigin */
:not([class*="so-widget"]):not([class*="sow-"]) > h1,
:not([class*="so-widget"]):not([class*="sow-"]) > h2,
:not([class*="so-widget"]):not([class*="sow-"]) > h3,
:not([class*="so-widget"]):not([class*="sow-"]) > h4,
:not([class*="so-widget"]):not([class*="sow-"]) > h5,
:not([class*="so-widget"]):not([class*="sow-"]) > h6 {
    margin-bottom: 0.5em;
}

.h1, .h2, .h3 {
  color: inherit !important;
}

h1, .h1 {
    font-size: var(--h1-size);
    line-height: 1.1;
}

/* SiteOrigin écrase le line-height avec 1.4em — on le corrige */
[class*="sow-headline"] h1,
[class*="so-widget"] h1.sow-headline {
    line-height: 1.1 !important;
}

/* Bootstrap ajoute margin-bottom: 0.5rem sur les headings — on le neutralise dans les widgets headline */
[class*="sow-headline"] h1,
[class*="sow-headline"] h2,
[class*="sow-headline"] h3,
[class*="sow-headline"] h4,
[class*="sow-headline"] h5,
[class*="sow-headline"] h6 {
    margin-bottom: 0;
}

h2, .h2 {
    font-size: var(--h2-size);
}

h3, .h3 {
    font-size: var(--h3-size);
}

h4, .h4 {
    font-size: var(--h4-size);
}

h5, .h5 {
    font-size: var(--h5-size);
}

h6, .h6 {
    font-size: var(--h6-size);
}

/* ----------------------
   TEXTE
---------------------- */
p {
    margin-bottom: 1em;
    font-weight: var(--text-weight);
}

a {
    color: #191919;
    text-decoration: none;
}

p a {
    color: #191919;
    text-decoration: none;
    transition: color 0.2s ease;
}


strong {
    /*color: #606060;*/
    font-weight: 800;
    text-decoration: none;
}


.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #203659;
    --bs-btn-border-color: #203659;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #26416a;
    --bs-btn-hover-border-color: #26416a;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #26416a;
    --bs-btn-active-border-color: #26416a;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #203659;
    --bs-btn-disabled-border-color: #203659;
}

.btn-outline-primary {
    --bs-btn-color: #203659;
    --bs-btn-border-color: #203659;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #203659;
    --bs-btn-hover-border-color: #203659;
    --bs-btn-focus-shadow-rgb: 13, 110, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #203659;
    --bs-btn-active-border-color: #203659;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #203659;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #203659;
    --bs-gradient: none;
}

.btn-outline-dark {
    --bs-btn-color: #4a4b4c;
    --bs-btn-border-color: #4a4b4c;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #4a4b4c;
    --bs-btn-hover-border-color: #4a4b4c;
    --bs-btn-focus-shadow-rgb: 33, 37, 41;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #4a4b4c;
    --bs-btn-active-border-color: #4a4b4c;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #4a4b4c;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #4a4b4c;
    --bs-gradient: none;
}

.btn-dark {
    --bs-btn-color: #fff;
    --bs-btn-bg: #4a4b4c;
    --bs-btn-border-color: #4a4b4c;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #54565a;
    --bs-btn-hover-border-color: #373b3e;
    --bs-btn-focus-shadow-rgb: 66, 70, 73;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #54565a;
    --bs-btn-active-border-color: #373b3e;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #4a4b4c;
    --bs-btn-disabled-border-color: #4a4b4c;
}

.form-select:focus, select:focus {
    border: none;
    outline: 0;
    box-shadow: none;
}


.card{
      max-width: 800px;
}


/* ===== SOURCE : assets/css/header.css ===== */
/* ==========================================================================
   🔍 ZONE RECHERCHE DANS LE HEADER
   ========================================================================== */
/* ==== Variables locales (personnalisables) ==== */
.wrap-search-normal {
    --search-accent: #213559; /* ta couleur brand */
    --card-bg: rgba(255, 255, 255, 0.92);
    --card-border: rgba(0, 0, 0, 0.06);
    --shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

/* Masquer le clear natif WebKit (Chrome, Edge, Safari) */
.wrap-search-normal .search-field::-webkit-search-decoration,
.wrap-search-normal .search-field::-webkit-search-cancel-button,
.wrap-search-normal .search-field::-webkit-search-results-button,
.wrap-search-normal .search-field::-webkit-search-results-decoration {
    -webkit-appearance: none;
    appearance: none;
    display: none;
}

/* Optionnel: enlève tout style natif résiduel */
.wrap-search-normal .search-field {
    -webkit-appearance: none;
    appearance: none;
}


/* Carte + flèche */
.wrap-search-normal {
    position: relative;
    display: inline-block;
    overflow: visible;
    z-index: 1000;
}

.wrap-search-normal .entry-search {
    position: absolute;
    top: calc(100% + 10px);
    left: -14px;
    width: 400px;
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 14px;
    padding: 14px;
    box-shadow: var(--shadow);
    backdrop-filter: saturate(160%) blur(8px);

    visibility: hidden;
    opacity: 0;
    transform: translateY(-6px);
    transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
    pointer-events: none;
}

.wrap-search-normal.is-open .entry-search {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    transition: opacity .18s ease, transform .18s ease, visibility 0s;
    pointer-events: auto;
}

.wrap-search-normal .arrow-up {
    position: absolute;
    top: -8px;
    left: 28px;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid var(--card-bg);
    filter: drop-shadow(0 -1px 0 var(--card-border));
}

/* Groupe input moderne */
.wrap-search-normal .search-group {
    position: relative;
    display: flex;
    align-items: center;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 12px;
    height: 46px;
    padding-left: 14px;
    padding-right: 94px; /* place pour 2 boutons */
    transition: border-color .15s ease, box-shadow .15s ease;
}

/* Champ */
.wrap-search-normal .search-field {
    width: 100%;
    border: 0;
    box-shadow: none;
    outline: 0;
    font-size: 15px;
    background: transparent;
}

.wrap-search-normal .search-field::placeholder {
    color: #9aa1ad;
}

/* Bouton clear (X) */
.wrap-search-normal .btn-clear {
    position: absolute;
    right: 48px;
    top: 50%;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    display: grid;
    place-items: center;
    cursor: pointer;
    transition: background-color .15s ease, transform .05s ease;
}

.wrap-search-normal .btn-clear:hover {
    background: #f2f3f6;
}

.wrap-search-normal .btn-clear:active {
    transform: translateY(-50%) scale(0.98);
}

.wrap-search-normal .btn-clear i {
    font-size: 16px;
    color: #6b7280;
}
.site-header.alt-header.transparent .nav-item i.fa-xmark {
    color: #6b7280!important;
}

/* Bouton submit (loupe) */
.wrap-search-normal .btn-submit {
    position: absolute;
    right: 6px;
    top: 6px;
    bottom: 6px;
    min-width: 40px;
    padding: 0 10px;
    border: 0;
    border-radius: 10px;
    background: var(--search-accent);
    color: #fff;
    display: grid;
    place-items: center;
    font-weight: 700;
    cursor: pointer;
    transition: transform .05s ease, filter .15s ease, background-color .15s ease;
}

.wrap-search-normal .btn-submit:hover {
    filter: brightness(1.06);
}

.wrap-search-normal .btn-submit:active {
    transform: scale(0.98);
}

.wrap-search-normal .btn-submit i {
    font-size: 16px;
}

/*Accessibilité focus */
.wrap-search-normal .btn-clear:focus-visible,
.wrap-search-normal .btn-submit:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 3px color-mix(in oklab, var(--search-accent) 25%, white);
}

.search-toggle:hover i {
    color: white !important;
}

/* Petits écrans: largeur auto */
@media (max-width: 576px) {
    .wrap-search-normal .entry-search {
        left: 50%;
        transform: translate(-50%, -6px);
        width: min(92vw, 360px);
    }

    .wrap-search-normal.is-open .entry-search {
        transform: translate(-50%, 0);
    }

    .wrap-search-normal .arrow-up {
        left: 50%;
        transform: translateX(-50%);
    }
}

/* Respecte les préférences de mouvement */
@media (prefers-reduced-motion: reduce) {
    .wrap-search-normal .entry-search,
    .wrap-search-normal .btn-clear,
    .wrap-search-normal .btn-submit,
    .wrap-search-normal .search-group {
        transition: none !important;
    }
}


/* ==========================================================================
   🛈 TOOLTIPS
   ========================================================================== */

.tooltip-link {
    position: relative;
    display: inline-block;
}

.tooltip-text-container {
    position: absolute;
    top: 120%;
    left: 50%;
    transform: translateX(-50%);
    background-color: #f2f2f2;
    color: #191919;
    padding: 10px;
    font-size: 14px;
    line-height: 1.4;
    border: 1px solid rgba(0, 0, 0, 0.34);
    border-radius: 5px;
    white-space: nowrap;
    z-index: 999;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease, transform 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.tooltip-link:hover .tooltip-text-container {
    opacity: 1;
    pointer-events: auto;
    transform: translateX(-50%) translateY(-5px);
}


/* ==========================================================================
   🦁 HEADER : MENUS, LOGOS & NAVIGATION
   ========================================================================== */

.picto-header {
    width: 26px;
    height: 26px;
    display: block;
    margin-right: 5px;
    margin-left: 5px;
}

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

#secondary-menu-container {
    padding: 5px;
}

#main-menu a.nav-link, #secondary-menu a.nav-link {
    display: inline;
    padding: 10px;
    color: black;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}

.site-header.transparent .nav-item a.nav-link:hover {
    background: #213559;
    color: white !important;
    transition: background 0.3s, color 0.3s;
}


.site-header.scrolled .nav-item a.nav-link:hover {
    background: #213559 !important;
    color: #ffff !important;
}

.toggle-offcanvas .material-symbols-sharp {
    font-size: 36px;
    margin-top: -7px;
}

/*#menu-hamburger {*/
/*    text-align: center;*/
/*}*/

#menu-hamburger a.nav-link {
    display: inline-block;
    text-transform: uppercase;
    color: #f4f4f4 !important;
    font-size: clamp(1.3rem, 2.5vw, 1.4rem);
    text-decoration: none;
    /*transition: all .2s;*/
    padding-left: 10px;
    padding-right: 10px;
}

#menu-hamburger .dropdown-item {
    color: #191919 !important;
}

#menu-hamburger .dropdown-item.active, #menu-hamburger .dropdown-item:active {
    background-color: #e0e9f7;
}

.dropdown-toggle::after {
    margin-left: 0.4em;
}


#menu-hamburger a.nav-link:hover {
    color: #191919 !important;

    /*transform: scale(1.1);*/
}


/* ==========================================================================
   📱 OFFCANVAS MENU MOBILE
   ========================================================================== */

.offcanvas-header .btn-close {
    height: 2.5rem;
    width: 2.5rem;
    border-radius: 50%;
    text-align: center;
    background: white;
    opacity: 1;
    padding: 4px;
}

.offcanvas-header .btn-close span {
    font-size: 33px;
    line-height: 42px;
}

.offcanvas-body {
    padding-right: 10%;
    padding-left: 10%;
}

/*.offcanvas-fullscreen {*/
/*    width: 100vw !important;*/
/*    height: 100vh !important;*/
/*    max-width: 100%;*/
/*    top: 0;*/
/*    bottom: 0;*/
/*    left: 0 !important;*/
/*    right: 0;*/
/*    border: none;*/
/*    border-radius: 0;*/
/*}*/

.offcanvas-blue-bg {
    background-color: #213559 !important;
    color: white !important;
}


/* ==========================================================================
   📌 HEADER GÉNÉRAL
   ========================================================================== */

#masthead {
    border-bottom-left-radius: 40px;
    border-bottom-right-radius: 40px;
}

#nav-main {
    padding: 0px;
}

.site-header {
    transition: all 0.3s ease;
}

.site-header.absolute {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1030;
}

/* Transparent */
.site-header.transparent {
    background-color: transparent !important;
    box-shadow: none;
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

/* Scrollé */
.site-header.scrolled {
    position: sticky; /* ou fixed */
    background-color: #fff !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}


/* ==========================================================================
   🖼️ LOGO
   ========================================================================== */

.logo-header {
    max-width: 200px;
    width: 100%;
    height: auto;
    transition: max-width 0.2s ease;
}


/* ==========================================================================
   🧢 HEADER ALT TRANSPARENT
   ========================================================================== */

/* État normal : liens en blanc */
.site-header.alt-header.transparent .nav-item a,
.site-header.alt-header.transparent .nav-item i {
    color: white !important;
}

/* Hover : fond blanc + texte bleu */
.site-header.alt-header.transparent .nav-item a.nav-link:hover {
    background: #FFFFFF !important;
    color: #191919 !important;
}

#menu-hamburger .nav-item a.nav-link:hover {
    background: #FFFFFF !important;
    color: #191919 !important;
}

/* Hover : icônes uniquement */
.site-header.alt-header.transparent .nav-item a.nav-link:hover i {
    background: none !important;
    color: #191919 !important;
}

.site-header.alt-header.transparent #params-average-header a {
    color: white !important;
}

.site-header.alt-header.transparent .picto-header,
.site-header.alt-header.transparent .logo-header {
    filter: brightness(0) invert(1);
}

.site-header.alt-header.transparent .logo-header.d-td-none {
    display: block !important;
}

.site-header.alt-header.transparent .logo-header.d-tl-none {
    display: none !important;
}

/* Bouton "Simuler" en transparent */
.site-header.alt-header.transparent .nav-item a.btn-simuler {
    background: #FFFFFF !important;
    color: #191919 !important;
}

.site-header.scrolled .nav-item a.btn-simuler.nav-link:hover {
    background: #ea4a43 !important;
    color: #FFFFFF !important;
}

/* ==========================================================================
   ✅ BOUTONS & LIENS GÉNÉRAUX
   ========================================================================== */

.btn-simuler {
    background: #eb534c !important;
    color: #FFFFFF !important;
}

.btn-simuler:hover {
    background: #ea4a43 !important;
    color: #FFFFFF !important;
}

header .nav-item a.nav-link {
    border-radius: 11px;
    margin-right: 6px;
}

#params-average-header a {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #212121;
    text-decoration: none;
}


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

@media (min-width: 338px), only screen and (max-width: 1300px) {
    .btn-simuler {
        margin-right: 11px;
    }
}

@media (max-width: 1140px) {
    #masthead {
        background: white !important;
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px;
    }

    .site-header.alt-header.transparent .logo-header {
        filter: none !important;
    }

    .d-custom-block {
        display: none !important;
    }

    .navbar-toggler,
    .toggle-offcanvas {
        display: inline-block !important;
    }

    .offcanvas {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    /*.offcanvas-body {*/
    /*    padding: 20px;*/
    /*}*/
    body.error404 #content,
    body.search #content {
        padding-top: 110px !important;
    }
}

@media (min-width: 1141px) {
    .d-custom-block {
        display: inherit !important;
    }
}


/* ==========================================================================
   ❗ SPÉCIFIQUE AUX PAGES ERREUR / RECHERCHE
   ========================================================================== */

body.error404 #content,
body.search #content {
    padding-top: 170px !important;
}

/* ==========================================================================
   HEADER TUNNEL – conversion funnel
   ========================================================================== */

/* Le header tunnel ignore toutes les classes de scroll du thème */
.afr-header-tunnel,
.afr-header-tunnel.transparent,
.afr-header-tunnel.scrolled,
.afr-header-tunnel.absolute {
    position: relative !important;
    top: auto !important;
    z-index: 100;
    background: #fff !important;
    border-bottom: 1px solid #e8ecf4;
    box-shadow: 0 2px 12px rgba(50,66,105,.07);
    padding-top: 0 !important;
}

/* Avec l'admin bar : pas de décalage supplémentaire (position relative, WP gère) */
.logged-in.admin-bar .afr-header-tunnel {
    padding-top: 0 !important;
}

/* Pas de border-radius sur le tunnel */
#masthead.afr-header-tunnel {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}


.afr-tunnel-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    padding: .85rem 2rem;
}

/* Logo */
.afr-tunnel-logo img {
    display: block;
    width: 150px;
    height: auto;
}

/* Note Immodvisor */
.afr-tunnel-rating {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .1rem;
    white-space: nowrap;
}

.afr-tunnel-rating__top {
    display: flex;
    align-items: center;
    gap: .45rem;
}

.afr-tunnel-rating__score {
    font-size: .95rem;
    font-weight: 800;
    color: #212121;
}

.afr-tunnel-rating__stars {
    display: flex;
    align-items: center;
    gap: 1px;
    color: #f5a623;
    font-size: .9rem;
}

.afr-tunnel-rating__label {
    font-size: .7rem;
    font-weight: 600;
    color: #888;
    text-align: right;
}

/* Supprime le padding-top du contenu (header sticky, pas absolute) */
body.tunnel-page #content {
    padding-top: 0 !important;
}

/* Responsive */
@media (max-width: 480px) {
    .afr-tunnel-inner { padding: .75rem 1.2rem; }
    .afr-tunnel-logo img { width: 130px; }
}


/* ===== SOURCE : assets/css/header-mobile.css ===== */
/* ==========================================================================
   Barre flottante mobile affichée au défilement (#mobile-submenu-scroll).
   Contient le widget « Sélecteur de lien » ; les règles de mise en forme de
   ce widget dans ce contexte vivent ici, pas dans le CSS du widget.
   ========================================================================== */
#mobile-submenu-scroll {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1035; /* au-dessus du contenu et du header collant */
    background: #fff;
    padding: 8px 0;
    border-bottom: 1px solid rgba(33, 53, 89, 0.10);
    box-shadow: 0 6px 16px -10px rgba(33, 53, 89, 0.45);
}

/* Ajustement si l'admin bar est visible */
body.admin-bar #mobile-submenu-scroll {
    top: var(--wp-admin--admin-bar--height, 32px);
}

/* Tant que la barre flottante est affichée, la barre de navigation du header
   est masquée : elle est plus haute que la barre et dépassait en dessous.
   #masthead reste dans le DOM (il contient le menu offcanvas).
   !important obligatoire : le <nav> porte la classe utilitaire Bootstrap
   « d-flex », déclarée elle-même en display:flex !important. */
@media (max-width: 1023px) {
    body.has-scroll-submenu #nav-main {
        display: none !important;
    }

    /* Le header ne doit plus rien peindre derrière la barre */
    body.has-scroll-submenu #masthead {
        background: transparent !important;
        box-shadow: none !important;
    }
}

#mobile-submenu-scroll .container-submenu-scroll {
    max-width: 560px;
    margin: 0 auto;
    padding: 0 12px;
}

/* Le sélecteur occupe toute la largeur et s'aplatit dans la barre :
   pas d'ombre ni de coins arrondis imbriqués */
#mobile-submenu-scroll .container-select-project {
    display: block;
    width: 100%;
}

#mobile-submenu-scroll .select-project-trigger {
    display: flex;
    width: 100%;
    box-shadow: none;
}

#mobile-submenu-scroll .select-project-placeholder {
    flex: 1;
    min-width: 0;
    height: 44px;
    padding: 0 14px;
    font-size: 15px;
    border: 1px solid #dbe1ea;
    border-right: none;
    border-radius: 10px 0 0 10px;
    overflow: hidden;
    text-overflow: ellipsis;
}

#mobile-submenu-scroll .select-project-arrow {
    width: 46px;
    height: 44px;
    border-radius: 0 10px 10px 0;
}

/* Le panneau s'ouvre en feuille plein écran (styles du widget) : rien à
   contraindre ici, le JS le sort de cette barre à l'ouverture. */

#mobile-submenu-scroll .mobile-scroll-nav ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

#mobile-submenu-scroll .mobile-scroll-nav ul li {
    display: inline-block;
    margin: 0 10px;
}

#mobile-submenu-scroll .mobile-scroll-nav ul li a {
    color: #213559;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 14px;
    transition: color 0.3s;
}

#mobile-submenu-scroll .mobile-scroll-nav ul li a:hover {
    color: #eb534c;
}


/* ===== SOURCE : assets/css/footer.css ===== */
footer {
    background-color: #151515;
}

footer p, footer h2, footer a {
    color: white!important;
}

footer a {
    text-decoration: none;
}

#footer-menu li a {
    color: #151515!important;
    padding: 15px;
}

#footer-menu a:hover {
    background-color: #eee;
}

footer .h5 {
    font-weight: 750;
}

.footer-prevention-fraude, .footer-prevention-fraude p {
    background-color: #c5c5c5;
	color: #171717!important;
}


/* Mobile */
#bottom-mobile-menu {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #fff;
    border-top: 1px solid #ddd;
    display: flex;
    justify-content: space-around;
    z-index: 9999;
    padding: 0.5rem 0;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.05);
}

#bottom-mobile-menu .menu-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 0.6rem;
    font-weight: 600;
    color: #555555;
    text-decoration: none;
}

#bottom-mobile-menu .menu-item img {
    width: 35px;
    height: 35px;
    margin-bottom: 5px;
}

@media (min-width: 768px) {
    #bottom-mobile-menu {
        display: none;
    }
}

#bottom-mobile-menu a:hover {
    color: #0073e6;
}
#bottom-mobile-menu a {
    transform: translateY(0);
    transition: transform 0.2s ease;
}

#bottom-mobile-menu a:hover {
    transform: translateY(-2px);
}

/* ===== SOURCE : assets/css/single.css ===== */
.single-post #content, .single-agence #content {
    margin-top: 130px;
}

@media (max-width: 1140px) {
    .single-post #content, .single-agence #content {
        margin-top: 70px;
    }
}

.post-nav-link {
    /*background-color: #f8f9fa;*/
    color: #212529;
    transition: all 0.3s ease;
    font-weight: 600;
}

.post-nav-link:hover {
    /*background-color: #e9ecef;*/
    text-decoration: none;
    box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.1);
}


.post-nav-link span.material-symbols-sharp {
    font-variation-settings: 'FILL' 0,
    'wght' 700,
    'GRAD' 0,
    'opsz' 20;
    font-size: 40px;
}

[rel="prev"]:before {
    content: none;
}

[rel="next"]:after {
    content: none;
}


/* ===== SOURCE : assets/css/archive.css ===== */
.category #content {
    margin-top: 150px;
}
@media (max-width: 1140px) {
    .category #content {
        margin-top: 70px;
    }
}

.author  #content {
    margin-top: 150px;
}
@media (max-width: 1140px) {
    .author  #content {
        margin-top: 70px;
    }
}



/* ===== SOURCE : assets/css/custom-elements.css ===== */
.asterisque-title:before {
    position: absolute;
    margin-left: -35px;
    margin-top: 15px;
    content: "*";
    font-size: 80px;
    font-weight: 500;
    /*color: #191919;*/
}
#asterisque {
    font-size: 70px;
    font-weight: bold;
    text-align: center;
    transform-origin: center center;
    line-height: 105px;
    margin-bottom: -40px;
    margin-left: -50px;
    color: #323237;
}

.rotating {
    width: 1em;
    height: 1em;
    font-size: 11vmin;
    position: relative;
    animation: spin 2s linear;
    animation-fill-mode: forwards;
}

.social-icons a{
    padding: 5px;
}


.title-link{
    color: #000000;
}
.title-link a:hover{
    color: white !important;
    transition: background 500ms, color 500ms ease;
}

.mentions-credit{
    padding-bottom: 10px;
    padding-top: 10px;
    margin: 0;
    background-color: #151515;
    text-align: center;
}

.mentions-credit p {
    color: #c5c5c5;
    margin: 1em 0;
    font-weight: 800;
    font-size: 20px;
}

.mentions-credit .footer-small-text {
    line-height: 17px;
    font-size: 10px;
    font-weight: 600;
}

.headline-collapse {
    text-align: center;
    color: #191919;
}

.headline-collapse:hover {
    color: #ffffff;
}

h2.sow-recent-posts-title{
    font-size: var(--h2-size)!important;
}


.afr-pagination {
    margin-top: 40px;
    text-align: center;
}

.afr-pagination ul {
    list-style: none;
    padding: 0;
    display: inline-flex;
    gap: 10px;
}

.afr-pagination li {
    display: inline-block;
}

.afr-pagination .page-numbers {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: #f4f4f4;
    color: #213559;
    font-weight: 500;
    text-decoration: none;
    font-size: 20px;
    transition: background 0.3s, color 0.3s;
}

.afr-pagination .page-numbers.current {
    background-color: #213559;
    color: #fff;
}

.afr-pagination .page-numbers:hover {
    background-color: #213559;
    color: white;
}


.afr-read-more {
    display: inline-block;
    margin-top: 15px;
    border: 1px solid #000;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s ease;
}

.afr-read-more:hover {
    background-color: #213559;
    color: white;
}

@media only screen and (max-width: 1022px) {
    .top-button {
        bottom: 95px;
    }
}



/*----------------------------------------------------------------
Site Origin Widget
----------------------------------------------------------------*/


.sow-recent-posts-title a {
	line-height: 22px!important;
}

#footer a:hover {
	font-weight:600;
}

.sow-carousel-item .sow-carousel-thumbnail a , .sow-carousel-item .sow-carousel-thumbnail a span.overlay {
    border-radius: 15px;
}

/*----------------------------------------------------------------
Site Origin Widget Carousel
----------------------------------------------------------------*/
/* === Flèches génériques pour tous les carrousels SiteOrigin === */
.so-panel.widget_sow-post-carousel .sow-post-carousel-wrapper {
  position: relative;
  overflow: visible !important; /* permet aux flèches de mordre dehors */
}

/* Boutons flèches */
.so-panel.widget_sow-post-carousel .sow-carousel-previous,
.so-panel.widget_sow-post-carousel .sow-carousel-next {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 9999px;
  background: rgba(30, 30, 30, 0.55);
  color: #fff;
  text-decoration: none;
  box-shadow: 0 6px 18px rgba(0,0,0,.25), 0 0 0 1px rgba(255,255,255,.35) inset;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 9999 !important;
  pointer-events: auto !important;
  transition: background .2s ease, transform .2s ease, opacity .2s ease;
}

/* Position gauche/droite */
.so-panel.widget_sow-post-carousel .sow-carousel-previous { left: 8px !important; }
.so-panel.widget_sow-post-carousel .sow-carousel-next     { right: 8px !important; }

/* Icônes chevrons en SVG (aucune dépendance externe) */
.so-panel.widget_sow-post-carousel .sow-carousel-previous::before,
.so-panel.widget_sow-post-carousel .sow-carousel-next::before {
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.25));
}

.so-panel.widget_sow-post-carousel .sow-carousel-previous::before {
  background-image: url("data:image/svg+xml;utf8,\
  <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'>\
  <path d='M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z'/></svg>");
}
.so-panel.widget_sow-post-carousel .sow-carousel-next::before {
  background-image: url("data:image/svg+xml;utf8,\
  <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'>\
  <path d='M8.59 16.59L10 18l6-6-6-6-1.41 1.41L13.17 12z'/></svg>");
}

/* Hover / focus */
.so-panel.widget_sow-post-carousel .sow-carousel-previous:hover,
.so-panel.widget_sow-post-carousel .sow-carousel-next:hover {
  background: rgba(30, 30, 30, 0.8);
  transform: translateY(-50%) scale(1.05) !important;
}
.so-panel.widget_sow-post-carousel .sow-carousel-previous:focus-visible,
.so-panel.widget_sow-post-carousel .sow-carousel-next:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px rgba(255,255,255,.9), 0 0 0 6px rgba(56, 189, 248, .45);
}

/* Désactivées */
.so-panel.widget_sow-post-carousel .sow-carousel-previous[aria-disabled="true"],
.so-panel.widget_sow-post-carousel .sow-carousel-next[aria-disabled="true"],
.so-panel.widget_sow-post-carousel .sow-carousel-previous.sow-carousel-disabled,
.so-panel.widget_sow-post-carousel .sow-carousel-next.sow-carousel-disabled {
  opacity: .35;
  cursor: default;
  pointer-events: none !important;
  transform: translateY(-50%) !important;
}

/* Apparition au survol du carousel (desktop uniquement) */
@media (hover:hover) and (pointer:fine) {
  .so-panel.widget_sow-post-carousel .sow-carousel-previous,
  .so-panel.widget_sow-post-carousel .sow-carousel-next {
    opacity: 0;
    transform: translateY(-50%) scale(.95) !important;
  }
  .so-panel.widget_sow-post-carousel .sow-post-carousel-wrapper:hover .sow-carousel-previous,
  .so-panel.widget_sow-post-carousel .sow-post-carousel-wrapper:hover .sow-carousel-next {
    opacity: 1;
    transform: translateY(-50%) scale(1) !important;
  }
}

/* Mobile : plus compact */
@media (max-width: 768px) {
  .so-panel.widget_sow-post-carousel .sow-carousel-previous,
  .so-panel.widget_sow-post-carousel .sow-carousel-next {
    width: 38px;
    height: 38px;
  }
  .so-panel.widget_sow-post-carousel .sow-carousel-previous::before,
  .so-panel.widget_sow-post-carousel .sow-carousel-next::before {
    width: 20px;
    height: 20px;
  }
}

/* Marges inférieures et supérieures du title de l'image  */
.so-widget-sow-image  h3.widget-title {
    margin-top: 15px;
    margin-bottom: 15px;
}


/*----------------------------------------------------------------
Reading Time WP
----------------------------------------------------------------*/

.rt-reading-time {
	color: #b5b5b5;
	font-style: italic;
}


/*----------------------------------------------------------------
wp-block-categories
----------------------------------------------------------------*/

.wp-block-categories-list .list-group-item.active{
	background-color: #213559;
	border-color: #213559;
	font-weight: 800;
}

.wp-block-categories-list .list-group-item{
	font-weight: 600;
}

/* ── SiteOrigin TinyMCE widget – espacement des listes ── */
.siteorigin-widget-tinymce ul,
.siteorigin-widget-tinymce ol,
.textwidget ul,
.textwidget ol {
    padding-left: 1.2rem;
}

.siteorigin-widget-tinymce li,
.textwidget li {
    margin-bottom: 1.1rem;
    line-height: 1.6;
}

.siteorigin-widget-tinymce li:last-child,
.textwidget li:last-child {
    margin-bottom: 0;
}


/* Bandeau d'appel à l'action en fin d'article */
.afr-cta{position:relative;background-color:#1c2b4a;background-size:cover;background-position:center right;padding:60px 40px;margin:0;color:#fff}
.afr-cta::before{content:"";position:absolute;inset:0;background:rgba(28,43,74,.3)}
.afr-cta__inner{position:relative;max-width:1140px;margin:0 auto;padding:0 15px}
.afr-cta__text,.afr-cta__note,.afr-cta__sign{max-width:600px}
.afr-cta__text{font-size:1.1rem;line-height:1.5;margin:0 0 24px}
.afr-cta__btn{display:inline-block;background:#ff5254;color:#fff;font-weight:700;text-transform:uppercase;padding:14px 28px;border-radius:0.5em;text-decoration:none}
.afr-cta__btn:hover{background:#e6403f;color:#fff}
.afr-cta__note{font-size:.85rem;margin:20px 0 8px}
.afr-cta__note a{color:#fff;text-decoration:underline}
.afr-cta__sign{margin:0}
@media (max-width:768px){.afr-cta{padding:40px 20px;background-position:center}.afr-cta::before{background:rgba(28,43,74,.6)}}
@media (min-width:1400px){.afr-cta{padding:110px 40px}}
.afr-cta__action{margin:0}
.afr-cta--vif::before{background:linear-gradient(90deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.25) 45%,rgba(0,0,0,0) 70%)}
@media (max-width:768px){.afr-cta--vif::before{background:rgba(0,0,0,.45)}}
.afr-cta--clair::before{background:linear-gradient(90deg,rgba(28,43,74,.82) 0%,rgba(28,43,74,.6) 45%,rgba(28,43,74,0) 72%)}
@media (max-width:768px){.afr-cta--clair::before{background:rgba(28,43,74,.72)}}
.afr-cta--pro::before{background:linear-gradient(90deg,rgba(28,43,74,.92) 0%,rgba(28,43,74,.75) 45%,rgba(28,43,74,0) 78%)}
@media (max-width:768px){.afr-cta--pro::before{background:rgba(28,43,74,.8)}}
html{scrollbar-gutter:stable}
/* ==========================================================================
   Rangées pleine largeur SiteOrigin : mise en page en CSS pur.
   siteorigin-panels/js/styling.min.js mesure les rangées au chargement puis
   pose des marges négatives en style inline. Avant son exécution, le plugin
   applique margin:-1000px + padding:1000px, ce qui contraint la largeur du
   contenu ; après, les marges seules laissent le contenu occuper toute la
   largeur. Le texte se réagence donc une fois le JS passé, ce qui coûtait
   0,48 de CLS sur les rangées data-stretch-type="full-width-stretch".
   Les règles ci-dessous reproduisent au pixel le résultat du JS et sont
   marquées !important pour que le style inline posé ensuite ne change rien.
   La classe body siteorigin-panels-before-js est retirée côté serveur dans
   inc/perf.php, sinon la règle !important du plugin l'emporterait.

   Ces règles ne valent que sous body.afr-panels-css, posée par inc/perf.php
   sur les seuls gabarits dont le conteneur est centré dans la fenêtre. Le
   calc(50% - 50vw) donne en effet la même marge à gauche et à droite : sur un
   article, dont la colonne de contenu est décalée par la colonne latérale, la
   rangée partirait 165 px trop à gauche et laisserait un vide à droite. Ne
   jamais retirer le préfixe body.afr-panels-css de ces deux sélecteurs.
   ========================================================================== */
body.afr-panels-css .siteorigin-panels-stretch{margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important}
body.afr-panels-css .siteorigin-panels-stretch[data-stretch-type="full"]{padding-left:calc(50vw - 50%)!important;padding-right:calc(50vw - 50%)!important}
body{overflow-x:clip}

/* ==========================================================================
   Tailles d'affichage sur mobile

   Deux éléments dont la taille est fixée par du balisage que le thème ne
   produit pas : le plugin Immodvisor pour les étoiles, un widget SiteOrigin
   pour le logo du footer. Les surcharges sont regroupées ici, à un seul
   endroit, plutôt que dispersées entre footer.css et les autres.
   Relevé fait à 390 px de large le 10/09/2026.

   Le visuel « 1 = 2 » du bloc parrainage a été traité autrement : il est
   masqué sous 768 px par les classes Bootstrap d-none d-md-block posées
   dans les attributs du widget. Le réglage vit donc dans Page Builder, là
   où on le verra en modifiant le bloc, et non dans cette feuille.
   ========================================================================== */
@media (max-width: 767.98px) {

    /* Étoiles des cartes d'avis Immodvisor.
       Le plugin déclare .imdv-star { width: 1.25em }, donc la police du
       conteneur commande toute la taille : 30 px donnaient 37,5 px par étoile,
       soit 187 px pour les cinq. 22 px ramènent chaque étoile à 27,5 px et
       l'ensemble à 137 px, environ un tiers d'un écran de 390.
       Les deux classes sont exigées ensemble pour ne viser que la note des
       cartes, et laisser celle du header, déjà petite, tranquille.
       Le !important est nécessaire : les 30 px viennent d'un style inline
       posé par Page Builder, absent du CSS du plugin comme de celui du thème. */
    .card-subtitle-review-list.stars-review-list {
        font-size: 22px !important;
    }

    /* Logo blanc du footer, inséré par un widget image : 300 px de large sur
       un écran de 390, soit 77 % de la largeur.
       max-width et non width, afin de ne réduire que ce qui dépasse et de
       laisser intact le badge éco-responsable de 60 px du même footer. */
    #footer img.so-widget-image,
    #footer .so-widget-image img {
        max-width: 200px;
        height: auto;
    }
}


/* ===== SOURCE : assets/css/search.css ===== */
.searchform .form-control:focus {
    box-shadow: none;
}

.card .object-fit-cover {
    object-fit: cover;
    height: 100%;
    min-height: 180px;
}



/* ===== SOURCE : assets/css/forminator.css ===== */
/* ========================================
   FORMINATOR - DESIGN MODERNE & COHÉRENT
   ======================================== */

/* --- RESET & BASE --- */
.forminator-custom-form * {
    box-sizing: border-box;
}

.forminator-row {
    margin-bottom: 5px !important
}

/* --- TITRES ET LABELS --- */
.forminator-title {
    font-size: var(--h1-size) !important;
    font-weight: var(--heading-weight) !important;
    margin-bottom: 32px !important;
}

.forminator-label {
    color: #ffffff !important;
    font-size: 1.4rem !important;
    font-weight: 900 !important;
    line-height: 1.3 !important;
    margin-bottom: 8px !important;
    display: block !important;
}

.forminator-description {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 1.2rem !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    margin-bottom: 8px !important;
}

/* --- ESPACEMENT ENTRE CHAMPS --- */
.forminator-field {
    margin-bottom: 24px !important;
}

/* --- CHAMPS DE FORMULAIRE --- */
.forminator-input,
.forminator-textarea {
    background-color: #ffffff !important;
    border: 2px solid transparent !important;
    border-radius: 12px !important;
    display: block !important;
    font-size: 1.2rem !important;
    font-weight: 400 !important;
    height: 56px !important;
    line-height: 1.5 !important;
    width: 100% !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

.forminator-input:not(.forminator-field--phone),
.forminator-textarea {
    padding: 16px 20px !important;
}

.forminator-input:hover,
.forminator-textarea:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12) !important;
}

.forminator-input:focus,
.forminator-textarea:focus {
    border-color: #4299e1 !important;
    outline: none !important;
    box-shadow: 0 4px 16px rgba(66, 153, 225, 0.25) !important;
}

.forminator-textarea {
    height: auto !important;
    min-height: 140px !important;
    resize: vertical !important;
    padding-top: 16px !important;
}

/* --- SELECT DROPDOWN --- */
.forminator-select {
    border-radius: 12px !important;
}

.select2-container {
    width: 100% !important;
}

.select2-container .select2-selection--single {
    height: 56px !important;
    padding: 0 50px 0 20px !important;
    display: flex !important;
    align-items: center !important;
    font-size: 1.2rem !important;
    font-weight: 400 !important;
    color: #2d3748 !important;
    border-radius: 12px !important;
    border: 2px solid transparent !important;
    background-color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
    transition: all 0.25s ease !important;
}

.select2-container:hover .select2-selection--single {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12) !important;
}

.select2-container--open .select2-selection--single {
    border-color: #4299e1 !important;
    box-shadow: 0 4px 16px rgba(66, 153, 225, 0.25) !important;
    border-radius: 12px !important;
}

.select2-selection__placeholder {
    color: #565656 !important;
    font-weight: 400 !important;
    line-height: 56px !important;
    font-size: 1.2rem !important;
}

.select2-selection__rendered {
    color: #2d3748 !important;
    line-height: 56px !important;
    padding: 0 !important;
    font-size: 1.2rem !important;
}

.select2-dropdown {
    background: rgba(255, 255, 255, 0.95) !important;
    border-radius: 12px !important;
    border: 2px solid #3B82F6 !important;
    font-size: 1.2rem !important;
    box-shadow: 0 8px 20px rgba(59, 130, 246, 0.15) !important;
    padding: 8px !important;
    margin-top: 4px !important;
    z-index: 99999 !important;
}

.select2-search--dropdown {
    padding: 8px !important;
}

.select2-search__field {
    border: 2px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    font-size: 1.2rem !important;
}

.select2-results__option {
    color: #2d3748 !important;
    background: transparent !important;
    font-weight: 400 !important;
    cursor: pointer !important;
    /*transition: all 0.15s ease !important;*/
    margin-bottom: 4px !important;
}

.select2-results__option:last-child {
    margin-bottom: 0 !important;
}

.forminator-custom-form-37252 .select2-results__option--highlighted,
.forminator-custom-form-37252 .select2-results__option[aria-selected="true"] {
    background: linear-gradient(90deg, #a3c653 0%, #6e8e2d 100%) !important;
    color: #ffffff !important;
}

.forminator-custom-form-37256 .select2-results__option--highlighted,
.forminator-custom-form-37256 .select2-results__option[aria-selected="true"] {
    background: linear-gradient(90deg, #164d93 0%, #1e355a 100%) !important;
    color: #ffffff !important;
}

.forminator-select-dropdown-container--open .forminator-dropdown--default{
    background-color: #ffffff !important;
}

.select2-container .select2-selection--single .select2-selection__arrow {
    position: absolute !important;
    top: 50% !important;
    right: 16px !important;
    transform: translateY(-50%) !important;
    height: 20px !important;
    width: 20px !important;
}

.select2-selection__arrow b {
    display: none !important;
}

/* Flèche custom - masquer toutes les flèches par défaut */
.select2-selection__arrow b {
    display: none !important;
}

.select2-selection__arrow .forminator-icon-chevron-down {
    display: none !important;
}

.select2-selection__arrow::before {
    display: none !important;
}

.select2-selection__arrow::after {
    content: '▼' !important;
    font-size: 12px !important;
    color: #718096 !important;
    display: block !important;
}


.select2-container--open .select2-selection__arrow::after {
    transform: rotate(180deg) !important;
}

/* --- TÉLÉPHONE --- */
/* Conteneur du champ téléphone */
.forminator-field--phone {
    position: relative !important;
}

/* Input téléphone avec intl-tel-input */
.forminator-input.forminator-field--phone {
    padding-left: 90px !important;
    height: 56px !important;
}

/* Conteneur du sélecteur de pays */
.iti {
    width: 100% !important;
    display: block !important;
}

.iti__selected-flag {
    padding: 0 0 0 20px !important;
    height: 56px !important;
    display: flex !important;
    align-items: center !important;
    background: transparent !important;
}

.iti__flag-container {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
}

.iti__selected-dial-code {
    font-size: 1.2rem !important;
    font-weight: 400 !important;
    color: #2d3748 !important;
    margin-left: 8px !important;
}

/* Dropdown des pays */
.iti__country-list {
    background: #ffffff !important;
    border: 2px solid #e2e8f0 !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
    margin-top: 4px !important;
    max-height: 300px !important;
    font-size: 1.2rem !important;
}

.iti__country {
    padding: 10px 16px !important;
    transition: background 0.15s ease !important;
}

.iti__country:hover,
.iti__country.iti__highlight {
    background: #ff5041 !important;
    color: #ffffff !important;
}

.iti__country-name,
.iti__dial-code {
    color: inherit !important;
}

/* --- BOUTONS --- */
.forminator-button-next,
.forminator-button-submit {
    font-size: 1.4rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.02em !important;
    color: #2d3748 !important;
    padding: 18px 48px !important;
    margin-top: 32px !important;
    background: #ffffff !important;
    border: none !important;
    cursor: pointer !important;
    text-align: center !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    display: inline-block !important;
    min-width: 200px !important;
    text-transform: none !important;
}

.forminator-button-next:hover,
.forminator-button-submit:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2) !important;
}

.forminator-button-next:active,
.forminator-button-submit:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}

.forminator-button-back {
    font-size: 1.4rem !important;
    font-weight: 900 !important;
    color: #ffffff !important;
    padding: 14px 32px !important;
    margin-top: 32px !important;
    margin-right: 12px !important;
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(10px) !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    cursor: pointer !important;
    text-align: center !important;
    border-radius: 12px !important;
    transition: all 0.25s ease !important;
}

.forminator-button-back:hover {
    background: rgba(255, 255, 255, 0.25) !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
}

/* --- MESSAGES D'ERREUR --- */
.forminator-error-message {
    color: #e53e3e !important;
    background: #ffffff !important;
    padding: 12px 16px !important;
    border-radius: 8px !important;
    margin-top: 8px !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    border-left: 4px solid #e53e3e !important;
    box-shadow: 0 2px 8px rgba(229, 62, 62, 0.15) !important;
}

/* --- MESSAGE DE SUCCÈS --- */
/* === MESSAGE DE SUCCÈS SOBRE ET ADAPTABLE === */
.forminator-success {
    text-align: center !important;
}

.forminator-success p {
    background: rgba(255, 255, 255, 0.9) !important;
    color: #1e293b !important; /* gris bleuté foncé lisible sur fond clair ou foncé */
    font-size: 1.3rem !important;
    font-weight: 600 !important;
    line-height: 1.6 !important;
    padding: 20px 28px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    max-width: 700px !important;
    margin: 20px auto !important;
    backdrop-filter: blur(6px) !important;
    transition: all 0.3s ease !important;
}

/* Petite icône discrète à gauche */
.forminator-success p::before {
    content: "✓";
    display: inline-block;
    color: #16a34a; /* vert neutre */
    font-size: 1.4rem;
    font-weight: bold;
    margin-right: 8px;
    vertical-align: middle;
    opacity: 0.9;
}

.forminator-design--default .forminator-response-message.forminator-success {
    background-color: transparent!important;
    -webkit-box-shadow: none!important;
    box-shadow: none!important;
}

/* --- LIENS --- */
.forminator-custom-form p a {
    font-weight: 600 !important;
    color: #ffffff !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    transition: opacity 0.2s ease !important;
}

.forminator-custom-form p a:hover {
    opacity: 0.8 !important;
}

/* --- BARRE DE PROGRESSION --- */
.forminator-progress-label {
    display: none !important;
}

.forminator-progress-bar {
    margin: 0 0 32px 0 !important;
    background: rgba(255, 255, 255, 0.15) !important;
    border-radius: 20px !important;
    height: 10px !important;
    overflow: hidden !important;
    position: relative !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

.forminator-progress-bar span {
    display: block !important;
    height: 100% !important;
    background: linear-gradient(90deg, #ff5041 0%, #ff7961 100%) !important;
    border-radius: 20px !important;
    transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 2px 8px rgba(255, 80, 65, 0.4) !important;
}

.forminator-ui.forminator-custom-form[data-design=default] .forminator-pagination-progress {
    display: block !important;
    margin-bottom: 32px !important;
}

/* --- BOUTONS RADIO MODERNES --- */
.forminator-radio-group {
    display: flex !important;
    gap: 12px !important;
    margin-bottom: 16px !important;
    flex-wrap: wrap !important;
}

.forminator-radio {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 0 !important;
    border-radius: 10px !important;
    border: 2px solid rgba(255, 255, 255, 0.25) !important;
    background: rgb(255 255 255 / 23%) !important;
    backdrop-filter: blur(10px) !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 1.2rem !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    min-width: 90px !important;
}

.forminator-radio:hover {
    background: rgba(255, 255, 255, 0.2) !important;
    border-color: rgba(255, 255, 255, 0.4) !important;
    transform: translateY(-2px) !important;
}

.forminator-radio input[type="radio"] {
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    position: absolute !important;
}

.forminator-radio-bullet {
    display: none !important;
}

.forminator-radio.forminator-is_checked {
    background: #ffffff !important;
    color: #2d3748 !important;
    border-color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(255, 255, 255, 0.3) !important;
    transform: translateY(-2px) !important;
}

.forminator-radio-label {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    margin: 0 !important;
    user-select: none !important;
    padding: 12px 24px !important;
}

/* --- SLIDER MODERNE --- */
.forminator-slide.ui-slider {
    background: rgba(255, 255, 255, 0.15) !important;
    border-radius: 20px !important;
    height: 10px !important;
    margin-top: 20px !important;
    border: none !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1) !important;
    position: relative !important;
}

.ui-slider-range {
    background: linear-gradient(90deg, #ffffff 0%, #f7fafc 100%) !important;
    border-radius: 20px !important;
    height: 100% !important;
    box-shadow: 0 2px 8px rgba(255, 255, 255, 0.3) !important;
}

.ui-slider-handle {
    background: #ffffff !important;
    border: 3px solid #2d3748 !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
    cursor: grab !important;
    outline: none !important;
    transition: all 0.2s ease !important;
}

.ui-slider-handle:hover {
    transform: translateY(-50%) scale(1.1) !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25) !important;
}

.ui-slider-handle:active {
    cursor: grabbing !important;
    transform: translateY(-50%) scale(1.05) !important;
}

.ui-slider-handle:focus,
.ui-slider-handle.ui-state-active {
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.3) !important;
}

.forminator-slider-amount,
.forminator-slider-value-min {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 1.6rem !important;
    margin: 16px 0 !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

.forminator-slider-value {
    margin: 0 8px !important;
}

.forminator-ui.forminator-custom-form[data-design=default] .forminator-slider .ui-slider-horizontal .ui-slider-range {
    top: 0 !important;
    bottom: 0 !important;
}

/* --- CHAMPS DATE --- */
.forminator-date-input .forminator-label,
.forminator-slider-value-min {
    font-size: 1.2rem !important;
    font-weight: 600 !important;
}

/* --- MASQUER LIMITE CARACTÈRES --- */
.forminator-field .forminator-description [data-limit] {
    display: none !important;
}

/* --- FORMULAIRE ASSURANCES (ID 37252) --- */
#forminator-module-37252 .forminator-progress-bar span {
    background: linear-gradient(90deg, #0ea5e9 0%, #38bdf8 100%) !important;
}

#forminator-module-37252 .forminator-button-next,
#forminator-module-37252 .forminator-button-submit {
    color: #0ea5e9 !important;
}

#forminator-module-37252 .select2-results__option--highlighted,
#forminator-module-37252 .select2-results__option[aria-selected="true"] {
    background: #0ea5e9 !important;
}

.forminator-ui.forminator-custom-form[data-design=default] .forminator-button:active, .forminator-ui.forminator-custom-form[data-design=default] .forminator-button:focus, .forminator-ui.forminator-custom-form[data-design=default] .forminator-button:hover {
     -webkit-box-shadow: none!important;
     box-shadow:none!important;
}

/* === Corrige le délai de réaction du slider === */
.forminator-slide.ui-slider .ui-slider-range {
    transition: none !important;
}

.ui-slider-handle {
    transition: box-shadow 0.2s ease, transform 0.2s ease !important;
}

/* === SLIDER SIMPLE ET FLUIDE === */
.forminator-slide.ui-slider {
    background: rgba(255, 255, 255, 0.2) !important;
    border-radius: 20px !important;
    height: 10px !important;
}

/* === SLIDER SIMPLE ET FLUIDE - BLEU TURQUOISE === */
.forminator-slide.ui-slider {
    background: rgba(255, 255, 255, 0.2) !important;
    border-radius: 20px !important;
    height: 10px !important;
}

/* === SLIDER SIMPLE ET FLUIDE - STYLE SOMBRE === */
.forminator-slide.ui-slider {
    background: rgba(255, 255, 255, 0.15) !important;
    border-radius: 20px !important;
    height: 10px !important;
}

.ui-slider-range {
    background: linear-gradient(90deg, #1f2937 0%, #4b5563 100%) !important; /* dégradé gris anthracite */
    border-radius: 20px !important;
    transition: none !important;
}

.ui-slider-handle {
    background: #e5e7eb !important; /* gris clair */
    border: 2px solid #111827 !important; /* presque noir */
    width: 24px !important;
    height: 24px !important;
    border-radius: 50% !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.15) !important;
    cursor: grab !important;
    transition: transform 0.15s ease, box-shadow 0.2s ease !important;
}

.ui-slider-handle:hover {
    transform: translateY(-50%) scale(1.1) !important;
    box-shadow: 0 0 12px rgba(255, 255, 255, 0.25) !important;
}

.ui-slider-handle:active {
    transform: translateY(-50%) scale(0.95) !important;
}


/* ========================================
   RESPONSIVE - TABLETTE
   ======================================== */

@media (max-width: 768px) {
    .forminator-label {
        font-size: 1.3rem !important;
    }

    .forminator-description {
        font-size: 1.15rem !important;
    }

    .forminator-field {
        margin-bottom: 20px !important;
    }

    .forminator-input,
    .forminator-textarea,
    .select2-container .select2-selection--single {
        height: 52px !important;
        font-size: 1.2rem !important;
        padding: 14px 18px !important;
    }

    .forminator-textarea {
        min-height: 120px !important;
    }

    .forminator-button-next,
    .forminator-button-submit {
        width: 100% !important;
        padding: 16px 32px !important;
        margin-top: 24px !important;
    }

    .forminator-button-back {
        width: 100% !important;
        padding: 14px 24px !important;
        margin-top: 12px !important;
    }
}

/* ========================================
   RESPONSIVE - MOBILE
   ======================================== */

@media (max-width: 480px) {
    .forminator-label {
        font-size: 1.25rem !important;
        margin-bottom: 6px !important;
    }

    .forminator-description {
        font-size: 1.1rem !important;
    }

    .forminator-field {
        margin-bottom: 18px !important;
    }

    .forminator-input,
    .forminator-textarea,
    .select2-container .select2-selection--single {
        height: 50px !important;
        font-size: 1.2rem !important;
        padding: 12px 16px !important;
        border-radius: 10px !important;
    }

    /* Téléphone mobile */
    .forminator-input.forminator-field--phone {
        height: 50px !important;
        padding-left: 90px !important;
    }

    .iti__selected-flag {
        height: 50px !important;
        padding: 0 0 0 16px !important;
    }

    .iti__selected-dial-code {
        font-size: 1.2rem !important;
    }

    /* Select2 mobile */
    .select2-selection__rendered,
    .select2-selection__placeholder {
        line-height: 50px !important;
    }

    .forminator-textarea {
        min-height: 110px !important;
    }

    .forminator-button-next,
    .forminator-button-submit {
        font-size: 1.2rem !important;
        padding: 16px 24px !important;
        border-radius: 10px !important;
    }

    .forminator-button-back {
        font-size: 1.3rem !important;
        padding: 12px 20px !important;
        border-radius: 10px !important;
    }

    .forminator-radio-group {
        flex-direction: column !important;
        gap: 10px !important;
    }

    .forminator-radio {
        font-size: 1.2rem !important;
    }

    .ui-slider-handle {
        width: 24px !important;
        height: 24px !important;
    }

    .forminator-slide.ui-slider {
        height: 8px !important;
    }

    .forminator-slider-amount,
    .forminator-slider-value-min {
        font-size: 1.2rem !important;
    }

    .select2-dropdown {
        font-size: 1.35rem !important;
    }

    .forminator-progress-bar {
        height: 8px !important;
        margin-bottom: 24px !important;
    }

    .forminator-radio-label {
        padding: 12px 24px !important
    }

}


/* ===== SOURCE : assets/css/cookieconsent.css ===== */
#cc-main{background:transparent;color:var(--cc-primary-color);font-family:var(--cc-font-family);font-size:16px;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.15;position:relative;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;position:fixed;z-index:var(--cc-z-index)}#cc-main :after,#cc-main :before,#cc-main a,#cc-main button,#cc-main div,#cc-main h2,#cc-main input,#cc-main p,#cc-main span{all:unset;box-sizing:border-box}#cc-main .pm__badge,#cc-main button{all:initial;box-sizing:border-box;color:unset;visibility:unset}#cc-main .pm__badge,#cc-main a,#cc-main button,#cc-main input{-webkit-appearance:none;appearance:none;cursor:pointer;font-family:inherit;font-size:100%;line-height:normal;margin:0;outline:revert;outline-offset:2px;overflow:hidden}#cc-main table,#cc-main tbody,#cc-main td,#cc-main th,#cc-main thead,#cc-main tr{all:revert;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit}:root{--cc-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--cc-modal-border-radius:.5rem;--cc-btn-border-radius:.4rem;--cc-modal-transition-duration:.25s;--cc-link-color:var(--cc-btn-primary-bg);--cc-modal-margin:1rem;--cc-z-index:2147483647;--cc-bg:#fff;--cc-primary-color:#2c2f31;--cc-secondary-color:#5e6266;--cc-btn-primary-bg:#30363c;--cc-btn-primary-color:#fff;--cc-btn-primary-border-color:var(--cc-btn-primary-bg);--cc-btn-primary-hover-bg:#000;--cc-btn-primary-hover-color:#fff;--cc-btn-primary-hover-border-color:var(--cc-btn-primary-hover-bg);--cc-btn-secondary-bg:#eaeff2;--cc-btn-secondary-color:var(--cc-primary-color);--cc-btn-secondary-border-color:var(--cc-btn-secondary-bg);--cc-btn-secondary-hover-bg:#d4dae0;--cc-btn-secondary-hover-color:#000;--cc-btn-secondary-hover-border-color:#d4dae0;--cc-separator-border-color:#f0f4f7;--cc-toggle-on-bg:var(--cc-btn-primary-bg);--cc-toggle-off-bg:#667481;--cc-toggle-on-knob-bg:#fff;--cc-toggle-off-knob-bg:var(--cc-toggle-on-knob-bg);--cc-toggle-enabled-icon-color:var(--cc-bg);--cc-toggle-disabled-icon-color:var(--cc-bg);--cc-toggle-readonly-bg:#d5dee2;--cc-toggle-readonly-knob-bg:#fff;--cc-toggle-readonly-knob-icon-color:var(--cc-toggle-readonly-bg);--cc-section-category-border:var(--cc-cookie-category-block-bg);--cc-cookie-category-block-bg:#f0f4f7;--cc-cookie-category-block-border:#f0f4f7;--cc-cookie-category-block-hover-bg:#e9eff4;--cc-cookie-category-block-hover-border:#e9eff4;--cc-cookie-category-expanded-block-bg:transparent;--cc-cookie-category-expanded-block-hover-bg:#dee4e9;--cc-overlay-bg:rgba(0,0,0,.65);--cc-webkit-scrollbar-bg:var(--cc-section-category-border);--cc-webkit-scrollbar-hover-bg:var(--cc-btn-primary-hover-bg);--cc-footer-bg:var(--cc-btn-secondary-bg);--cc-footer-color:var(--cc-secondary-color);--cc-footer-border-color:#e4eaed;--cc-pm-toggle-border-radius:4em}#cc-main.cc--rtl{direction:rtl}#cc-main .cm__title,#cc-main a,#cc-main b,#cc-main em,#cc-main strong{font-weight:600}#cc-main button>span{pointer-events:none}#cc-main .cc__link,#cc-main a{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;font-weight:600;position:relative;transition:background-size .25s,color .25s ease}#cc-main .cc__link:hover,#cc-main a:hover{background-size:100% 1px;color:var(--cc-primary-color)}#cc-main .cc__link{color:var(--cc-link-color)}#cc-main .cm__desc,#cc-main .pm__body{overscroll-behavior:auto contain;scrollbar-width:thin}@media screen and (min-width:640px){#cc-main ::-webkit-scrollbar,#cc-main ::-webkit-scrollbar-thumb,#cc-main ::-webkit-scrollbar-track{all:revert}#cc-main ::-webkit-scrollbar-thumb{-webkit-background-clip:padding-box;background-clip:padding-box;background:var(--cc-toggle-readonly-bg);border:.25rem solid var(--cc-bg);border-radius:1rem}#cc-main ::-webkit-scrollbar-thumb:hover{background:var(--cc-toggle-off-bg)}#cc-main ::-webkit-scrollbar{background:transparent;width:12px}}html.disable--interaction.show--consent,html.disable--interaction.show--consent body{height:auto!important;overflow:hidden!important}@media (prefers-reduced-motion){#cc-main{--cc-modal-transition-duration:0s}}.cc--darkmode{--cc-bg:#161a1c;--cc-primary-color:#ebf3f6;--cc-secondary-color:#aebbc5;--cc-btn-primary-bg:#c2d0e0;--cc-btn-primary-color:var(--cc-bg);--cc-btn-primary-border-color:var(--cc-btn-primary-bg);--cc-btn-primary-hover-bg:#98a7b6;--cc-btn-primary-hover-color:#000;--cc-btn-primary-hover-border-color:var(--cc-btn-primary-hover-bg);--cc-btn-secondary-bg:#242c31;--cc-btn-secondary-color:var(--cc-primary-color);--cc-btn-secondary-border-color:var(--cc-btn-secondary-bg);--cc-btn-secondary-hover-bg:#353d43;--cc-btn-secondary-hover-color:#fff;--cc-btn-secondary-hover-border-color:var(--cc-btn-secondary-hover-bg);--cc-separator-border-color:#222a30;--cc-toggle-on-bg:var(--cc-btn-primary-bg);--cc-toggle-off-bg:#525f6b;--cc-toggle-on-knob-bg:var(--cc-btn-primary-color);--cc-toggle-off-knob-bg:var(--cc-btn-primary-color);--cc-toggle-enabled-icon-color:var(--cc-btn-primary-color);--cc-toggle-disabled-icon-color:var(--cc-btn-primary-color);--cc-toggle-readonly-bg:#343e45;--cc-toggle-readonly-knob-bg:#5f6b72;--cc-toggle-readonly-knob-icon-color:var(--cc-toggle-readonly-bg);--cc-section-category-border:#1e2428;--cc-cookie-category-block-bg:#1e2428;--cc-cookie-category-block-border:var(--cc-section-category-border);--cc-cookie-category-block-hover-bg:#242c31;--cc-cookie-category-block-hover-border:#232a2f;--cc-cookie-category-expanded-block-bg:transparent;--cc-cookie-category-expanded-block-hover-bg:var(--cc-toggle-readonly-bg);--cc-overlay-bg:rgba(0,0,0,.65);--cc-webkit-scrollbar-bg:var(--cc-section-category-border);--cc-webkit-scrollbar-hover-bg:var(--cc-btn-primary-hover-bg);--cc-footer-bg:#0c0e0f;--cc-footer-color:var(--cc-secondary-color);--cc-footer-border-color:#060809}.cc--darkmode #cc-main{color-scheme:dark}#cc-main .cm{background:var(--cc-bg);border-radius:var(--cc-modal-border-radius);box-shadow:0 .625em 1.875em rgba(0,0,2,.3);display:flex;flex-direction:column;max-width:24rem;opacity:0;overflow:hidden;position:fixed;transform:translateY(1.6em);visibility:hidden;z-index:1}#cc-main .cm--top{top:var(--cc-modal-margin)}#cc-main .cm--middle{top:50%;transform:translateY(calc(-50% + 1.6em))}#cc-main .cm--bottom{bottom:var(--cc-modal-margin)}#cc-main .cm--center{left:var(--cc-modal-margin);margin:0 auto;right:var(--cc-modal-margin);width:unset}#cc-main .cm--left{left:var(--cc-modal-margin);margin-right:var(--cc-modal-margin)}#cc-main .cm--right{margin-left:var(--cc-modal-margin);right:var(--cc-modal-margin)}#cc-main .cm__body{display:flex;flex-direction:column;justify-content:space-between;position:relative}#cc-main .cm__btns,#cc-main .cm__links{padding:1rem 1.3rem;width:unset}#cc-main .cm__texts{display:flex;flex:1;flex-direction:column;justify-content:center;padding:1rem 0 0}#cc-main .cm__desc,#cc-main .cm__title{padding:0 1.3rem}#cc-main .cm__title{font-size:1.05em}#cc-main .cm__title+.cm__desc{margin-top:1.1em}#cc-main .cm__desc{color:var(--cc-secondary-color);font-size:.9em;line-height:1.5;max-height:40vh;overflow-x:visible;overflow-y:auto;padding-bottom:1em}#cc-main .cm__btns{border-top:1px solid var(--cc-separator-border-color);display:flex;flex-direction:column;justify-content:center}#cc-main .cm__btn-group{display:grid;grid-auto-columns:minmax(0,1fr)}#cc-main .cm__btn+.cm__btn,#cc-main .cm__btn-group+.cm__btn-group{margin-top:.375rem}#cc-main .cm--flip .cm__btn+.cm__btn,#cc-main .cm--flip .cm__btn-group+.cm__btn-group{margin-bottom:.375rem;margin-top:0}#cc-main .cm--inline .cm__btn+.cm__btn{margin-left:.375rem;margin-top:0}#cc-main .cm--inline.cm--flip .cm__btn+.cm__btn{margin-bottom:0;margin-left:0;margin-right:.375rem}#cc-main .cm--inline.cm--flip .cm__btn-group+.cm__btn-group{margin-bottom:.375rem;margin-right:0}#cc-main .cm--wide .cm__btn+.cm__btn,#cc-main .cm--wide .cm__btn-group+.cm__btn-group{margin-left:.375rem;margin-top:0}#cc-main .cm--wide.cm--flip .cm__btn+.cm__btn,#cc-main .cm--wide.cm--flip .cm__btn-group+.cm__btn-group{margin-bottom:0;margin-right:.375rem}#cc-main .cm--bar:not(.cm--inline) .cm__btn-group--uneven,#cc-main .cm--wide .cm__btn-group--uneven{display:flex;flex:1;justify-content:space-between}#cc-main .cm--bar:not(.cm--inline).cm--flip .cm__btn-group--uneven,#cc-main .cm--wide.cm--flip .cm__btn-group--uneven{flex-direction:row-reverse}#cc-main .cm__btn{background:var(--cc-btn-primary-bg);border:1px solid var(--cc-btn-primary-border-color);border-radius:var(--cc-btn-border-radius);color:var(--cc-btn-primary-color);font-size:.82em;font-weight:600;min-height:42px;padding:.5em 1em;text-align:center}#cc-main .cm__btn:hover{background:var(--cc-btn-primary-hover-bg);border-color:var(--cc-btn-primary-hover-border-color);color:var(--cc-btn-primary-hover-color)}#cc-main .cm__btn--secondary{background:var(--cc-btn-secondary-bg);border-color:var(--cc-btn-secondary-border-color);color:var(--cc-btn-secondary-color)}#cc-main .cm__btn--secondary:hover{background:var(--cc-btn-secondary-hover-bg);border-color:var(--cc-btn-secondary-hover-border-color);color:var(--cc-btn-secondary-hover-color)}#cc-main .cm__btn--close{border-radius:0;border-bottom-left-radius:var(--cc-btn-border-radius);border-right:none;border-top:none;display:none;font-size:1em;height:42px;min-width:auto!important;overflow:hidden;padding:0!important;position:absolute;right:0;top:0;width:42px}#cc-main .cm__btn--close svg{stroke:var(--cc-btn-primary-color);transform:scale(.5);transition:stroke .15s ease}#cc-main .cm__btn--close:hover svg{stroke:var(--cc-btn-primary-hover-color)}#cc-main .cm__btn--close.cm__btn--secondary svg{stroke:var(--cc-btn-secondary-color)}#cc-main .cm__btn--close.cm__btn--secondary:hover svg{stroke:var(--cc-btn-secondary-hover-color)}#cc-main .cm__btn--close+.cm__texts .cm__title{padding-right:3rem}#cc-main .cm--inline .cm__btn-group{grid-auto-flow:column}#cc-main .cm__footer{background:var(--cc-footer-bg);border-top:1px solid var(--cc-footer-border-color);color:var(--cc-footer-color);padding:.4em 0 .5em}#cc-main .cm__links{display:flex;flex-direction:row;padding-bottom:0;padding-top:0}#cc-main .cm__link-group{display:flex;flex-direction:row;font-size:.8em;width:100%}#cc-main .cm__link-group>*+*{margin-left:1.3rem}#cc-main .cm--flip .cm__btn:last-child{grid-row:1}#cc-main .cm--inline.cm--flip .cm__btn:last-child{grid-column:1}#cc-main .cm--box .cm__btn--close{display:block}#cc-main .cm--box.cm--flip .cm__btns{flex-direction:column-reverse}#cc-main .cm--box.cm--wide{max-width:36em}#cc-main .cm--box.cm--wide .cm__btns{flex-direction:row;justify-content:space-between}#cc-main .cm--box.cm--wide .cm__btn-group{grid-auto-flow:column}#cc-main .cm--box.cm--wide .cm__btn{min-width:120px;padding-left:1.8em;padding-right:1.8em}#cc-main .cm--box.cm--wide.cm--flip .cm__btns{flex-direction:row-reverse}#cc-main .cm--box.cm--wide.cm--flip .cm__btn:last-child{grid-column:1}#cc-main .cm--cloud{max-width:54em;width:unset}#cc-main .cm--cloud .cm__body{flex-direction:row}#cc-main .cm--cloud .cm__texts{flex:1}#cc-main .cm--cloud .cm__desc{max-height:9.4em}#cc-main .cm--cloud .cm__btns{border-left:1px solid var(--cc-separator-border-color);border-top:none;max-width:23em}#cc-main .cm--cloud .cm__btn-group{flex-direction:column}#cc-main .cm--cloud .cm__btn{min-width:19em}#cc-main .cm--cloud.cm--flip .cm__btn-group,#cc-main .cm--cloud.cm--flip .cm__btns{flex-direction:column-reverse}#cc-main .cm--cloud.cm--inline .cm__btn-group{flex-direction:row}#cc-main .cm--cloud.cm--inline .cm__btn{min-width:10em}#cc-main .cm--cloud.cm--inline.cm--flip .cm__btn-group{flex-direction:row-reverse}#cc-main .cm--bar{border-radius:0;left:0;margin:0;max-width:unset;opacity:1;right:0;transform:translateY(0);width:100vw;--cc-modal-transition-duration:.35s}#cc-main .cm--bar.cm--top{top:0;transform:translateY(-100%)}#cc-main .cm--bar.cm--bottom{bottom:0;transform:translateY(100%)}#cc-main .cm--bar .cm__body,#cc-main .cm--bar .cm__links{margin:0 auto;max-width:55em;width:100%}#cc-main .cm--bar .cm__body{padding:.5em 0 .9em}#cc-main .cm--bar .cm__btns{border-top:none;flex-direction:row;justify-content:space-between}#cc-main .cm--bar .cm__btn-group{grid-auto-flow:column}#cc-main .cm--bar:not(.cm--inline) .cm__btn+.cm__btn,#cc-main .cm--bar:not(.cm--inline) .cm__btn-group+.cm__btn-group{margin-left:.375rem;margin-top:0}#cc-main .cm--bar .cm__btn{min-width:120px;padding-left:2em;padding-right:2em}#cc-main .cm--bar.cm--flip:not(.cm--inline) .cm__btn+.cm__btn,#cc-main .cm--bar.cm--flip:not(.cm--inline) .cm__btn-group+.cm__btn-group{margin-bottom:0;margin-left:0;margin-right:.375rem}#cc-main .cm--bar.cm--flip .cm__btns{flex-direction:row-reverse}#cc-main .cm--bar.cm--flip .cm__btn:last-child{grid-column:1}#cc-main .cm--bar.cm--inline .cm__body,#cc-main .cm--bar.cm--inline .cm__links{max-width:74em}#cc-main .cm--bar.cm--inline .cm__body{flex-direction:row;padding:0}#cc-main .cm--bar.cm--inline .cm__btns{flex-direction:column;justify-content:center;max-width:23em}#cc-main .cm--bar.cm--inline.cm--flip .cm__btns{flex-direction:column-reverse}#cc-main .cc--anim .cm,#cc-main .cc--anim.cm-wrapper:before{transition:opacity var(--cc-modal-transition-duration) ease,visibility var(--cc-modal-transition-duration) ease,transform var(--cc-modal-transition-duration) ease}#cc-main .cc--anim .cm__btn,#cc-main .cc--anim .cm__close{transition:background-color .15s ease,border-color .15s ease,color .15s ease}.disable--interaction #cc-main .cm-wrapper:before{background:var(--cc-overlay-bg);bottom:0;content:"";left:0;opacity:0;position:fixed;right:0;top:0;visibility:hidden;z-index:0}.show--consent #cc-main .cc--anim .cm{opacity:1;transform:translateY(0);visibility:visible!important}.show--consent #cc-main .cc--anim .cm--middle{transform:translateY(-50%)}.show--consent #cc-main .cc--anim .cm--bar{transform:translateY(0)}.show--consent #cc-main .cc--anim.cm-wrapper:before{opacity:1;visibility:visible}#cc-main.cc--rtl .cm__btn--close{border-bottom-left-radius:unset;border-bottom-right-radius:var(--cc-btn-border-radius);left:0;right:unset}#cc-main.cc--rtl .cm__btn--close+.cm__texts .cm__title{padding-left:3rem!important;padding-right:1.3rem}#cc-main.cc--rtl .cm--inline .cm__btn+.cm__btn{margin-left:0;margin-right:.375rem}#cc-main.cc--rtl .cm--inline.cm--flip .cm__btn+.cm__btn{margin-left:.375rem;margin-right:0}#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar .cm__btn-group+.cm__btn-group,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide .cm__btn-group+.cm__btn-group{margin-left:0;margin-right:.375rem}#cc-main.cc--rtl .cm:not(.cm--inline).cm--bar.cm--flip .cm__btn+.cm__btn,#cc-main.cc--rtl .cm:not(.cm--inline).cm--wide.cm--flip .cm__btn+.cm__btn{margin-left:.375rem;margin-right:0}#cc-main.cc--rtl .cm__link-group>*+*{margin-left:0;margin-right:1.3rem}@media screen and (max-width:640px){#cc-main{--cc-modal-margin:.5em}#cc-main .cm{max-width:none!important;width:auto!important}#cc-main .cm__body{flex-direction:column!important;padding:0!important}#cc-main .cm__btns,#cc-main .cm__desc,#cc-main .cm__links,#cc-main .cm__title{padding-left:1.1rem!important;padding-right:1.1rem!important}#cc-main .cm__btns{border-left:none!important;border-top:1px solid var(--cc-separator-border-color)!important;flex-direction:column!important;max-width:none!important;min-width:auto!important}#cc-main .cm__btn+.cm__btn,#cc-main .cm__btn-group+.cm__btn-group{margin:.375rem 0 0!important}#cc-main .cm--flip .cm__btn+.cm__btn,#cc-main .cm--flip .cm__btn-group+.cm__btn-group{margin-bottom:.375rem!important;margin-top:0!important}#cc-main .cm__btn-group{display:flex!important;flex-direction:column!important;min-width:auto!important}#cc-main .cm__btn{flex:auto!important}#cc-main .cm__link-group{justify-content:center!important}#cc-main .cm--flip .cm__btn-group,#cc-main .cm--flip .cm__btns{flex-direction:column-reverse!important}}#cc-main .pm-wrapper{position:relative;z-index:2}#cc-main .pm{background:var(--cc-bg);border-radius:var(--cc-modal-border-radius);box-shadow:0 .625em 1.875em rgba(0,0,2,.3);display:flex;flex-direction:column;opacity:0;overflow:hidden;position:fixed;visibility:hidden;width:100%;width:unset;z-index:1}#cc-main svg{fill:none;width:100%}#cc-main .pm__body,#cc-main .pm__footer,#cc-main .pm__header{padding:1em 1.4em}#cc-main .pm__header{align-items:center;border-bottom:1px solid var(--cc-separator-border-color);display:flex;justify-content:space-between}#cc-main .pm__title{align-items:center;display:flex;flex:1;font-weight:600;margin-right:2em}#cc-main .pm__close-btn{background:var(--cc-btn-secondary-bg);border:1px solid var(--cc-btn-secondary-border-color);border-radius:var(--cc-btn-border-radius);height:40px;position:relative;transition:all .15s ease;width:40px}#cc-main .pm__close-btn span{display:flex;height:100%;width:100%}#cc-main .pm__close-btn svg{stroke:var(--cc-btn-secondary-color);transform:scale(.5);transition:stroke .15s ease}#cc-main .pm__close-btn:hover{background:var(--cc-btn-secondary-hover-bg);border-color:var(--cc-btn-secondary-hover-border-color)}#cc-main .pm__close-btn:hover svg{stroke:var(--cc-btn-secondary-hover-color)}#cc-main .pm__body{flex:1;overflow-y:auto;overflow-y:overlay}#cc-main .pm__section,#cc-main .pm__section--toggle{border-radius:var(--cc-btn-border-radius);display:flex;flex-direction:column;margin-bottom:.5em}#cc-main .pm__section--toggle .pm__section-desc-wrapper{border:1px solid var(--cc-cookie-category-block-border);border-radius:var(--cc-btn-border-radius);border-top:none;border-top-left-radius:0;border-top-right-radius:0;display:none;margin-top:0!important;overflow:hidden}#cc-main .pm__section{border:1px solid var(--cc-separator-border-color);padding:1em;transition:background-color .25s ease,border-color .25s ease}#cc-main .pm__section:first-child{border:none;margin-bottom:2em;margin-top:0;padding:0;transition:none}#cc-main .pm__section:not(:first-child):hover{background:var(--cc-cookie-category-block-bg);border-color:var(--cc-cookie-category-block-border)}#cc-main .pm__section-toggles+.pm__section{margin-top:2em}#cc-main .pm__section--toggle{background:var(--cc-cookie-category-block-bg);border-top:none;margin-bottom:.375rem}#cc-main .pm__section--toggle .pm__section-title{align-items:center;background:var(--cc-cookie-category-block-bg);border:1px solid var(--cc-cookie-category-block-border);display:flex;justify-content:space-between;min-height:58px;padding:1.1em 5.4em 1.1em 1.2em;position:relative;transition:background-color .25s ease,border-color .25s ease;width:100%}#cc-main .pm__section--toggle .pm__section-title:hover{background:var(--cc-cookie-category-block-hover-bg);border-color:var(--cc-cookie-category-block-hover-border)}#cc-main .pm__section--toggle .pm__section-desc{margin-top:0;padding:1em}#cc-main .pm__section--toggle.is-expanded{--cc-cookie-category-block-bg:var(--cc-cookie-category-expanded-block-bg);--cc-cookie-category-block-border:var(--cc-cookie-category-expanded-block-hover-bg)}#cc-main .pm__section--toggle.is-expanded .pm__section-title{border-bottom-left-radius:0;border-bottom-right-radius:0}#cc-main .pm__section--toggle.is-expanded .pm__section-arrow svg{transform:scale(.5) rotate(180deg)}#cc-main .pm__section--toggle.is-expanded .pm__section-desc-wrapper{display:flex}#cc-main .pm__section--expandable .pm__section-title{cursor:pointer;padding-left:3.4em}#cc-main .pm__section--expandable .pm__section-arrow{background:var(--cc-toggle-readonly-bg);border-radius:100%;display:flex;height:20px;justify-content:center;left:18px;pointer-events:none;position:absolute;width:20px}#cc-main .pm__section--expandable .pm__section-arrow svg{stroke:var(--cc-btn-secondary-color);transform:scale(.5)}#cc-main .pm__section-title-wrapper{align-items:center;display:flex;position:relative}#cc-main .pm__section-title-wrapper+.pm__section-desc-wrapper{margin-top:.85em}#cc-main .pm__section-title{border-radius:var(--cc-btn-border-radius);font-size:.95em;font-weight:600}#cc-main .pm__badge{align-items:center;background:var(--cc-btn-secondary-bg);border-radius:5em;color:var(--cc-secondary-color);display:flex;flex:none;font-size:.8em;font-weight:600;height:23px;justify-content:center;margin-left:1em;min-width:23px;overflow:hidden;padding:0 .6em 1px;position:relative;text-align:center;white-space:nowrap;width:auto}#cc-main .pm__service-counter{background:var(--cc-btn-primary-bg);color:var(--cc-btn-primary-color);padding:0;width:23px}#cc-main .pm__service-counter[data-counterlabel]{padding:0 .6em 1px;width:auto}#cc-main .section__toggle,#cc-main .section__toggle-wrapper,#cc-main .toggle__icon,#cc-main .toggle__label{border-radius:var(--cc-pm-toggle-border-radius);height:23px;transform:translateZ(0);width:50px}#cc-main .section__toggle-wrapper{cursor:pointer;position:absolute;right:18px;z-index:1}#cc-main .toggle-service{height:19px;position:relative;right:0;width:42px}#cc-main .toggle-service .section__toggle,#cc-main .toggle-service .toggle__icon,#cc-main .toggle-service .toggle__label{height:19px;width:42px}#cc-main .toggle-service .toggle__icon{position:relative}#cc-main .toggle-service .toggle__icon-circle{height:19px;width:19px}#cc-main .toggle-service .section__toggle:checked~.toggle__icon .toggle__icon-circle{transform:translateX(23px)}#cc-main .pm__section--toggle:nth-child(2) .section__toggle-wrapper:after{display:none!important}#cc-main .section__toggle{border:0;cursor:pointer;display:block;left:0;margin:0;position:absolute;top:0}#cc-main .section__toggle:disabled{cursor:not-allowed}#cc-main .toggle__icon{background:var(--cc-toggle-off-bg);box-shadow:0 0 0 1px var(--cc-toggle-off-bg);display:flex;flex-direction:row;pointer-events:none;position:absolute;transition:all .25s ease}#cc-main .toggle__icon-circle{background:var(--cc-toggle-off-knob-bg);border:none;border-radius:var(--cc-pm-toggle-border-radius);box-shadow:0 1px 2px rgba(24,32,3,.36);display:block;height:23px;left:0;position:absolute;top:0;transition:transform .25s ease,background-color .25s ease;width:23px}#cc-main .toggle__icon-off,#cc-main .toggle__icon-on{height:100%;position:absolute;transition:opacity .15s ease;width:100%}#cc-main .toggle__icon-on{opacity:0;transform:rotate(45deg)}#cc-main .toggle__icon-on svg{stroke:var(--cc-toggle-on-bg);transform:scale(.55) rotate(-45deg)}#cc-main .toggle__icon-off{opacity:1}#cc-main .toggle__icon-off svg{stroke:var(--cc-toggle-off-bg);transform:scale(.55)}#cc-main .section__toggle:checked~.toggle__icon{background:var(--cc-toggle-on-bg);box-shadow:0 0 0 1px var(--cc-toggle-on-bg)}#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-circle{background-color:var(--cc-toggle-on-knob-bg);transform:translateX(27px)}#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-on{opacity:1}#cc-main .section__toggle:checked~.toggle__icon .toggle__icon-off{opacity:0}#cc-main .section__toggle:checked:disabled~.toggle__icon{background:var(--cc-toggle-readonly-bg);box-shadow:0 0 0 1px var(--cc-toggle-readonly-bg)}#cc-main .section__toggle:checked:disabled~.toggle__icon .toggle__icon-circle{background:var(--cc-toggle-readonly-knob-bg);box-shadow:none}#cc-main .section__toggle:checked:disabled~.toggle__icon svg{stroke:var(--cc-toggle-readonly-knob-icon-color)}#cc-main .toggle__label{opacity:0;overflow:hidden;pointer-events:none;position:absolute;top:0;z-index:-1}#cc-main .pm__section-desc-wrapper{color:var(--cc-secondary-color);display:flex;flex-direction:column;font-size:.9em}#cc-main .pm__section-desc-wrapper>:not(:last-child){border-bottom:1px solid var(--cc-cookie-category-block-border)}#cc-main .pm__section-services{display:flex;flex-direction:column}#cc-main .pm__service{align-items:center;display:flex;justify-content:space-between;padding:.4em 1.2em;position:relative;transition:background-color .15s ease}#cc-main .pm__service:hover{background-color:var(--cc-cookie-category-block-hover-bg)}#cc-main .pm__service-header{align-items:center;display:flex;margin-right:1em;width:100%}#cc-main .pm__service-icon{border:2px solid;border-radius:100%;height:8px;margin-left:6px;margin-right:20px;margin-top:1px;min-width:8px}#cc-main .pm__service-title{font-size:.95em;width:100%;word-break:break-word}#cc-main .pm__section-desc{line-height:1.5em}#cc-main .pm__section-table{border-collapse:collapse;font-size:.9em;margin:0;overflow:hidden;padding:0;text-align:left;width:100%}#cc-main .pm__table-caption{text-align:left}#cc-main .pm__table-caption,#cc-main .pm__table-head>tr{border-bottom:1px dashed var(--cc-separator-border-color);color:var(--cc-primary-color);font-weight:600}#cc-main .pm__table-tr{transition:background-color .15s ease}#cc-main .pm__table-tr:hover{background:var(--cc-cookie-category-block-hover-bg)}#cc-main .pm__table-caption,#cc-main .pm__table-td,#cc-main .pm__table-th{padding:.625em .625em .625em 1.2em;vertical-align:top}#cc-main .pm__footer{border-top:1px solid var(--cc-separator-border-color);display:flex;justify-content:space-between}#cc-main .pm__btn-group{display:flex}#cc-main .pm__btn+.pm__btn,#cc-main .pm__btn-group+.pm__btn-group{margin-left:.375rem}#cc-main .pm--flip .pm__btn+.pm__btn,#cc-main .pm--flip .pm__btn-group+.pm__btn-group{margin-left:0;margin-right:.375rem}#cc-main .pm__btn{background:var(--cc-btn-primary-bg);border:1px solid var(--cc-btn-primary-border-color);border-radius:var(--cc-btn-border-radius);color:var(--cc-btn-primary-color);flex:auto;font-size:.82em;font-weight:600;min-height:42px;min-width:110px;padding:.5em 1.5em;text-align:center;transition:background-color .15s ease,border-color .15s ease,color .15s ease}#cc-main .pm__btn:hover{background:var(--cc-btn-primary-hover-bg);border-color:var(--cc-btn-primary-hover-border-color);color:var(--cc-btn-primary-hover-color)}#cc-main .pm__btn--secondary{background:var(--cc-btn-secondary-bg);border-color:var(--cc-btn-secondary-border-color);color:var(--cc-btn-secondary-color)}#cc-main .pm__btn--secondary:hover{background:var(--cc-btn-secondary-hover-bg);border-color:var(--cc-btn-secondary-hover-border-color);color:var(--cc-btn-secondary-hover-color)}#cc-main .pm--box{height:calc(100% - 2em);left:var(--cc-modal-margin);margin:0 auto;max-height:37.5em;max-width:43em;right:var(--cc-modal-margin);top:50%;transform:translateY(calc(-50% + 1.6em))}#cc-main .pm--box.pm--flip .pm__btn-group,#cc-main .pm--box.pm--flip .pm__footer{flex-direction:row-reverse}#cc-main .pm--bar{border-radius:0;bottom:0;height:100%;margin:0;max-height:none;max-width:29em;opacity:1;top:0;width:100%;--cc-modal-transition-duration:.35s}#cc-main .pm--bar .pm__section-table,#cc-main .pm--bar .pm__table-body,#cc-main .pm--bar .pm__table-td,#cc-main .pm--bar .pm__table-th,#cc-main .pm--bar .pm__table-tr{display:block}#cc-main .pm--bar .pm__table-head{display:none}#cc-main .pm--bar .pm__table-caption{display:block}#cc-main .pm--bar .pm__table-tr:not(:last-child){border-bottom:1px solid var(--cc-separator-border-color)}#cc-main .pm--bar .pm__table-td{display:flex;justify-content:space-between}#cc-main .pm--bar .pm__table-td:before{color:var(--cc-primary-color);content:attr(data-column);flex:1;font-weight:600;min-width:100px;overflow:hidden;padding-right:2em;text-overflow:ellipsis}#cc-main .pm--bar .pm__table-td>div{flex:3}#cc-main .pm--bar:not(.pm--wide) .pm__body,#cc-main .pm--bar:not(.pm--wide) .pm__footer,#cc-main .pm--bar:not(.pm--wide) .pm__header{padding:1em 1.3em}#cc-main .pm--bar:not(.pm--wide) .pm__btn-group,#cc-main .pm--bar:not(.pm--wide) .pm__footer{flex-direction:column}#cc-main .pm--bar:not(.pm--wide) .pm__btn+.pm__btn,#cc-main .pm--bar:not(.pm--wide) .pm__btn-group+.pm__btn-group{margin:.375rem 0 0}#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__btn-group,#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__footer{flex-direction:column-reverse}#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__btn+.pm__btn,#cc-main .pm--bar:not(.pm--wide).pm--flip .pm__btn-group+.pm__btn-group{margin-bottom:.375rem;margin-top:0}#cc-main .pm--bar:not(.pm--wide) .pm__badge{display:none}#cc-main .pm--bar.pm--left{left:0;transform:translateX(-100%)}#cc-main .pm--bar.pm--right{right:0;transform:translateX(100%)}#cc-main .pm--bar.pm--wide{max-width:35em}#cc-main .pm--bar.pm--wide .pm__body,#cc-main .pm--bar.pm--wide .pm__footer,#cc-main .pm--bar.pm--wide .pm__header{padding:1em 1.4em}#cc-main .pm--bar.pm--wide.pm--flip .pm__btn-group,#cc-main .pm--bar.pm--wide.pm--flip .pm__footer{flex-direction:row-reverse}#cc-main .pm-overlay{background:var(--cc-overlay-bg);bottom:0;content:"";left:0;opacity:0;position:fixed;right:0;top:0;visibility:hidden;z-index:1}#cc-main .cc--anim .pm,#cc-main .cc--anim .pm-overlay{transition:opacity var(--cc-modal-transition-duration) ease,visibility var(--cc-modal-transition-duration) ease,transform var(--cc-modal-transition-duration) ease}.show--preferences #cc-main .cc--anim .pm{opacity:1;visibility:visible!important}.show--preferences #cc-main .cc--anim .pm--box{transform:translateY(-50%)}.show--preferences #cc-main .cc--anim .pm--bar{transform:translateX(0)}.show--preferences #cc-main .cc--anim .pm-overlay{opacity:1;visibility:visible}#cc-main.cc--rtl .pm__service-header{margin-left:1em;margin-right:0}#cc-main.cc--rtl .pm__section-arrow{left:unset;right:18px}#cc-main.cc--rtl .section__toggle-wrapper{left:18px;right:unset;transform-origin:left}#cc-main.cc--rtl .toggle-service{left:0}#cc-main.cc--rtl .pm__service-icon{margin-left:20px;margin-right:5px}#cc-main.cc--rtl .pm__section--toggle .pm__section-title{padding-left:5.4em;padding-right:1.2em}#cc-main.cc--rtl .pm__section--expandable .pm__section-title{padding-right:3.4em}#cc-main.cc--rtl .pm__badge{margin-left:unset;margin-right:1em}#cc-main.cc--rtl .toggle__icon-circle{transform:translateX(27px)}#cc-main.cc--rtl .toggle-service .toggle__icon-circle{transform:translateX(23px)}#cc-main.cc--rtl .section__toggle:checked~.toggle__icon .toggle__icon-circle{transform:translateX(0)}#cc-main.cc--rtl .pm__table-td,#cc-main.cc--rtl .pm__table-th{padding-left:unset;padding-right:1.2em;text-align:right}#cc-main.cc--rtl .pm__table-td{padding-left:unset;padding-right:1.2em}#cc-main.cc--rtl .pm__table-td:before{padding-left:2em;padding-right:unset}#cc-main.cc--rtl .pm__btn+.pm__btn,#cc-main.cc--rtl .pm__btn-group+.pm__btn-group{margin-left:0;margin-right:.375rem}#cc-main.cc--rtl .pm--flip .pm__btn+.pm__btn,#cc-main.cc--rtl .pm--flip .pm__btn-group+.pm__btn-group{margin-left:.375rem;margin-right:0}#cc-main.cc--rtl .pm--flip.pm--bar:not(.pm--wide) .pm__btn+.pm__btn,#cc-main.cc--rtl .pm--flip.pm--bar:not(.pm--wide) .pm__btn-group+.pm__btn-group{margin-left:0}@media screen and (max-width:640px){#cc-main .pm{border-radius:0;bottom:0;height:auto;left:0;max-height:100%;max-width:none!important;right:0;top:0;transform:translateY(1.6em)}#cc-main .pm__body,#cc-main .pm__footer,#cc-main .pm__header{padding:.9em!important}#cc-main .pm__badge{display:none}#cc-main .pm__section-table,#cc-main .pm__table-body,#cc-main .pm__table-caption,#cc-main .pm__table-td,#cc-main .pm__table-th,#cc-main .pm__table-tr{display:block}#cc-main .pm__table-head{display:none}#cc-main .pm__table-tr:not(:last-child){border-bottom:1px solid var(--cc-separator-border-color)}#cc-main .pm__table-td{display:flex;justify-content:space-between}#cc-main .pm__table-td:before{color:var(--cc-primary-color);content:attr(data-column);flex:1;font-weight:600;min-width:100px;overflow:hidden;padding-right:2em;text-overflow:ellipsis}#cc-main .pm__table-td>div{flex:3}#cc-main .pm__btn-group,#cc-main .pm__footer{flex-direction:column!important}#cc-main .pm__btn-group{display:flex!important}#cc-main .pm__btn+.pm__btn,#cc-main .pm__btn-group+.pm__btn-group{margin:.375rem 0 0!important}#cc-main .pm--flip .pm__btn+.pm__btn,#cc-main .pm--flip .pm__btn-group+.pm__btn-group{margin-bottom:.375rem!important;margin-top:0!important}#cc-main .pm--flip .pm__btn-group,#cc-main .pm--flip .pm__footer{flex-direction:column-reverse!important}.show--preferences #cc-main .cc--anim .pm{transform:translateY(0)!important}}

/* ===== SOURCE : assets/css/cookie-banner.css ===== */
/* ===============================
   CONTENEUR : effet premium + détaché
   =============================== */
#cc-main .cm {
    background: #ffffff !important;
    border-radius: 22px !important;
    border: 1px solid rgba(0,0,0,0.04) !important;

    /* Drop shadow premium, visible mais propre */
    box-shadow:
            0 -4px 12px rgba(0,0,0,0.12),
            0 -8px 30px rgba(0,0,0,0.20) !important;

    max-width: 620px !important;
    margin: 0 auto !important;
    padding: 32px 36px !important;

    /*position: relative;*/
}

/* ===============================
   EFFET DÉTACHÉ : halo léger
   =============================== */
#cc-main .cm::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 22px;
    background: radial-gradient(
            circle at 50% 110%,
            rgba(0,0,0,0.05),
            transparent 60%
    );
}

/* ===============================
   MODE MOBILE — contraste renforcé
   =============================== */
@media (max-width: 700px) {
    /* Image cookie légèrement plus grande sur mobile */
    .cookie-img {
        width: 180px !important;
    }

    /* Boutons plus espacés */
    #cc-main .cm__btns {
        gap: 12px !important;
    }

}


/* ===============================
   TITRE
   =============================== */
#cc-main .cm__title {
    color: #C4402F !important;
    font-size: 1.85rem !important;
    margin-bottom: 10px !important;
    font-weight: 900 !important;
    text-align: center !important;
}

/* ===============================
   TEXTE DU MESSAGE
   =============================== */
#cc-main .cm__texts {
    padding:0!important;
}
#cc-main .cm__desc,
.cookie-text {
    font-size: 1rem !important;
    color: #333 !important;
    line-height: 1.55 !important;
}

#cc-main .cm__desc {
    padding-bottom: 0!important;
}

/* ===============================
   IMAGE COOKIE
   =============================== */

.cookie-img-wrapper {
    display: flex !important;
    justify-content: center !important;
    margin: 16px auto 8px auto !important;
}

.cookie-img {
    width: 160px !important;
    height: auto !important;
    /* L'image est carrée. La balise <img> est fabriquée par le JS de
       configuration et n'a ni attribut width ni attribut height : sans ce
       rapport, le navigateur ignore la hauteur jusqu'à ce que le fichier
       soit téléchargé, réserve donc zéro, puis pousse les boutons du bandeau
       vers le bas à l'arrivée de l'image. Coûtait 0,013 de CLS. */
    aspect-ratio: 1 / 1;
    opacity: 1;
    user-select: none;
}

/* ===============================
   BOUTONS — ORDRE + DISCRÉTION
   =============================== */

/* On remet le conteneur en grid */
#cc-main .cm__btns {
    display: grid !important;
    grid-template-columns: 1fr 1fr;   /* 2 colonnes */
    gap: 10px !important;
}

/* 1er bouton (ACCEPTER) → sur toute la ligne */
#cc-main .cm__btns .cm__btn:nth-child(1) {
    grid-column: 1 / 3; /* colonne 1 à 2, donc full width */
}

/* 2ᵉ bouton (JE CHOISIS) → colonne 1 */
#cc-main .cm__btns .cm__btn:nth-child(2) {
    grid-column: 2;
}

/* 3ᵉ bouton (REFUSER) → colonne 2 */
#cc-main .cm__btns .cm__btn:nth-child(3) {
    grid-column: 1;
}

/* Réordonner les boutons */
#cc-main .cm__btn[data-role="all"] {
    order: 1;
}
#cc-main .cm__btn[data-role="show"] {
    order: 2;
}
#cc-main .cm__btn[data-role="necessary"] {
    order: 3;
}


/* Sur mobile → on repasse tout en colonne */
@media (max-width: 480px) {
    #cc-main .cm__btns {
        grid-template-columns: 1fr !important;
    }
    #cc-main .cm__btns .cm__btn {
        grid-column: 1 !important;
    }
}

/* Style général */
#cc-main .cm__btn {
    border-radius: 10px !important;
    padding: 12px 22px !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    width: 100% !important;
    border: none !important;
}

/* ====== 1) J’ACCEPTE (bouton principal) ====== */
#cc-main .cm__btn[data-role="all"] {
    background: #C4402F !important;
    color: #fff !important;
    font-weight: 800 !important;
}
#cc-main .cm__btn[data-role="all"]:hover {
    background: #A53524 !important;
    transform: translateY(-1px);
}

/* ====== 2) JE REFUSE (très discret) ====== */
#cc-main .cm__btn[data-role="necessary"] {
    background: #ececee78 !important;
    color: #666 !important;
    border: 0px solid #e5e5e5 !important;
}
#cc-main .cm__btn[data-role="necessary"]:hover {
    background: #e9e9ea !important;
}

/* ====== 3) JE CHOISIS (discret) ====== */
#cc-main .cm__btn[data-role="show"] {
    background: #ececee78 !important;
    color: #555 !important;
    border: 0px solid #e5e5e5 !important;
}
#cc-main .cm__btn[data-role="show"]:hover {
    background: #edeef1 !important;
}

/* ===============================
   RESPONSIVE
   =============================== */
@media (max-width: 600px) {

    #cc-main .cm {
        max-width: 92% !important;
        padding: 24px !important;
    }

    .cookie-img {
        width: 130px !important;
    }

    #cc-main .cm__btns {
        gap: 10px !important;
    }
}

/* ==============
   BTN OUVERTURE (petit bouton cookie)
   ============== */
.btn-cookie {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: #ffffff;
    border-radius: 50%;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    line-height: 1;
    border: 1px solid rgba(0,0,0,0.1);
    box-shadow:
            0 3px 8px rgba(0,0,0,0.12),
            0 6px 20px rgba(0,0,0,0.08);
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.15s ease;
}

.btn-cookie:hover {
    transform: scale(1.07);
    box-shadow:
            0 4px 10px rgba(0,0,0,0.18),
            0 8px 26px rgba(0,0,0,0.12);
}

.btn-cookie:active {
    transform: scale(0.96);
}

/* VOILE */
.disable--interaction #cc-main .cm-wrapper:before{
    background: rgba(0, 0, 0, 0.5)!important;
}


.btn-cookie-settings {
    position: fixed;
    bottom: 10px;
    left: 10px;
    width: 45px;
    height: 44px;
    cursor: pointer;
    z-index: 99999;
    border: none;
    border-radius: 50%;
    background-color: #ce5750;
    color: #fff
}

/* Sur mobile, la barre de navigation du bas (#bottom-mobile-menu, ~68px,
   masquée à partir de 768px) occupe le bas de l'écran : on remonte le bouton
   juste au-dessus pour ne pas recouvrir « Accueil ». */
@media (max-width: 767.98px) {
    .btn-cookie-settings {
        bottom: calc(78px + env(safe-area-inset-bottom, 0px));
    }
}

.btn-cookie-settings:hover {
    transform: scale(1.05);
    box-shadow: 0 10px 20px rgb(0 0 0 / .12),0 4px 8px rgb(0 0 0 / .06)
}

.btn-cookie-settings .material-symbols-sharp {
    font-size: 35px;
    line-height: 43px;
}


/* ===== SOURCE : widgets/hoverable-card/css/hoverable-card.css ===== */
/* ==========================================================================
   Widget Hoverable Card
   NB : ce CSS est aussi utilisé par les cartes codées en dur du hero
   (template-home-hero.php), ne pas le charger uniquement avec le widget.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Rangée Page Builder — classe « card-grid » à poser sur le style de la
   ligne, réservée aux rangées ne contenant que des widgets Hoverable Card.

   Tous les conteneurs intermédiaires de SiteOrigin (cellules, styles de
   cellule, panneaux, wrapper du widget) sont aplatis avec display:contents :
   les liens-cartes deviennent les enfants flex directs de la rangée. Les
   largeurs de cellule, paddings et marges que SiteOrigin pose — souvent via
   des sélecteurs d'ID prioritaires — n'ont ainsi plus aucun effet, quelle
   que soit la configuration de la ligne (nombre de colonnes, empilement
   mobile désactivé, styles de cellule…). Seule la rangée pilote la mise
   en page.
   -------------------------------------------------------------------------- */
.card-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  /* stretch : SiteOrigin pose align-items:flex-start sur ses rangées via un
     sélecteur d'ID ; sans cela les cartes gardent la hauteur de leur contenu
     et les chevrons ne s'alignent plus d'une carte à l'autre. */
  align-items: stretch !important;
  /* Réplique l'espacement historique : 25px de marge + 2×5px de padding */
  gap: 35px 36px;
  padding: 30px 0 5px;
}

.card-grid .panel-grid-cell,
.card-grid .panel-cell-style,
.card-grid .panel-widget-style,
.card-grid .so-panel,
.card-grid .so-widget-hoverable-card-widget {
  display: contents;
}

/* Le clearfix de SiteOrigin sur .so-panel générerait des items flex
   fantômes une fois le panneau aplati */
.card-grid .so-panel::before,
.card-grid .so-panel::after {
  display: none;
}

/* --------------------------------------------------------------------------
   2. Lien englobant (l'item flex de la rangée)
   -------------------------------------------------------------------------- */
.hoverable-card-link {
  display: block;
  text-decoration: none;
  border-radius: 12px;
}

/* Équivalent clavier de l'effet de survol */
.hoverable-card-link:focus-visible,
.afr-cards-home a:focus-visible {
  outline: 3px solid #213559;
  outline-offset: 3px;
}

/* --------------------------------------------------------------------------
   3. Carte
   -------------------------------------------------------------------------- */
.hoverable-card {
  text-align: center;
  padding: 1.5rem;
  transition: background-color 0.3s ease;
  background-color: #f5f5f5;
  border-radius: 12px;
  margin: 0;
  width: 260px;
  /* height: 100% + min-height : toutes les cartes d'une même ligne s'alignent
     sur la plus haute (les liens sont étirés par le flex de .card-grid) */
  min-height: 230px;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Alignement d'une carte à l'autre : le picto occupe une hauteur constante,
   le texte démarre en haut de sa zone et le chevron est ancré en bas. Sans
   cela, un libellé sur 3 lignes décale picto et chevron par rapport aux
   cartes voisines. */
.hoverable-card .sow-image-container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  height: 84px;
}

.hoverable-card .textwidget {
  display: flex;
  flex: 1;
  width: 100%;
}

.hoverable-card:hover,
a:focus-visible .hoverable-card {
  background-color: var(--hover-bg);
}

.hoverable-card img {
  max-width: 80px;
  height: auto;
  filter: none;
  opacity: 1;
  transition: filter 0.3s cubic-bezier(.4, 0, .2, 1), opacity 0.3s cubic-bezier(.4, 0, .2, 1);
}

/* Effet image toute blanche au survol / focus clavier */
.hoverable-card:hover img,
a:focus-visible .hoverable-card img {
  filter: brightness(0) invert(1) grayscale(1);
  opacity: 0.94; /* évite un blanc trop éclatant */
}

.hoverable-card p {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  margin-top: 0.5rem;
}

/* Les sauts de ligne du markup deviendraient des éléments flex parasites :
   c'est la direction « column » qui empile désormais les lignes. */
.hoverable-card p br {
  display: none;
}

.hoverable-card .fa-chevron-up {
  margin-top: auto;
}

.hoverable-card:hover p,
.hoverable-card:hover strong,
.hoverable-card:hover i,
a:focus-visible .hoverable-card p,
a:focus-visible .hoverable-card strong,
a:focus-visible .hoverable-card i {
  color: white;
}

/* --color : compat avec le markup du hero ; sinon couleur de survol de la carte */
.hoverable-card .fa-chevron-up {
  font-size: 40px;
  color: var(--color, var(--hover-bg, #213559));
}

/* Message affiché uniquement aux éditeurs quand aucune image n'est choisie */
.hoverable-card-missing-img {
  color: red;
}

/* --------------------------------------------------------------------------
   4. Mobile / petite tablette (≤ 700px) : liste compacte — une carte = une
   ligne picto + nom + chevron, pleine largeur. La répétition « mon
   comparateur » (span .hoverable-card-line1) disparaît.
   -------------------------------------------------------------------------- */
@media (max-width: 700px) {
  /* Chaque rangée Page Builder porte un padding propre à la page, posé par un
     sélecteur d'ID SiteOrigin (0, 20 ou 50px selon la page) : il l'emporte sur
     une simple classe, d'où un rythme différent d'une page à l'autre et des
     cartes collées aux bords. On impose donc le même cadrage partout —
     seul cas du fichier où !important est nécessaire. */
  .card-grid {
    gap: 10px;
    padding: 14px 12px !important;
  }

  .hoverable-card-link {
    width: 100%;
  }

  .hoverable-card {
    flex-direction: row;
    justify-content: flex-start;
    gap: 14px;
    width: 100%;
    min-height: 0;
    height: auto;
    padding: 0.95rem 1.15rem;
    text-align: left;
    /* Fond pastel dérivé de la couleur du métier (lisibilité de la liste).
       La version oklch garde la teinte mais impose clarté et saturation
       uniformes ; les 2 premières déclarations sont des replis. */
    background-color: #f5f5f5;
    background-color: color-mix(in srgb, var(--hover-bg) 11%, #fff);
    background-color: oklch(from var(--hover-bg) 96.5% 0.028 h);
  }

  .hoverable-card .hoverable-card-line1,
  .hoverable-card p br {
    display: none;
  }

  /* La grille d'alignement du mode carte ne s'applique pas à la liste */
  .hoverable-card .sow-image-container {
    flex-shrink: 0;
    height: auto;
    line-height: 0;
  }

  .hoverable-card img {
    max-width: 36px;
  }

  .hoverable-card .textwidget {
    flex: 1;
    min-width: 0;
  }

  .hoverable-card p {
    margin: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 1.0625rem;
  }

  /* Le chevron pivote vers la droite (sens de navigation) et se cale au bord */
  .hoverable-card .fa-chevron-up {
    margin-top: 0;
    margin-left: auto;
    font-size: 20px;
    transform: rotate(90deg);
  }
}


/* ===== SOURCE : widgets/select-link-widget/css/select-link.css ===== */
/* ==========================================================================
   Widget Sélecteur de lien — menu déroulant sur mesure
   Le contenu (groupes, couleurs, pictos, liens) vient du catalogue central :
   Réglages → Catalogue comparateurs.
   ========================================================================== */

/* ===============================
   CONTENEUR
   =============================== */
.container-select-project {
  position: relative;
  display: inline-block;
  max-width: 100%;
}

/* ===============================
   DÉCLENCHEUR (barre select + CTA)
   =============================== */
.select-project-trigger {
  display: inline-flex;
  align-items: stretch;
  max-width: 100%;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  font: inherit;
  text-align: left;
  border-radius: 12px;
  box-shadow: 0 12px 10px -8px rgba(0, 0, 0, 0.4);
}

.select-project-placeholder {
  display: flex;
  align-items: center;
  min-width: 0;
  height: 50px;
  padding: 0 16px;
  background: #fff;
  color: #000;
  font-weight: bold;
  font-size: 16px;
  white-space: nowrap;
  border-radius: 12px 0 0 12px;
  transition: background 0.2s ease;
}

.select-project-trigger:hover .select-project-placeholder,
.container-select-project.is-open .select-project-placeholder {
  background: #f2f5f9;
}

/* Segment rouge : l'appel à l'action visuel du déclencheur */
.select-project-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  flex-shrink: 0;
  background: #eb534c;
  border-radius: 0 12px 12px 0;
  transition: background 0.3s;
}

.select-project-trigger:hover .select-project-arrow,
.container-select-project.is-open .select-project-arrow {
  background: #ea4a43;
}

.select-project-chevron {
  width: 25px;
  height: 25px;
  filter: brightness(0) invert(1); /* chevron blanc sur fond rouge */
  transition: transform 0.25s ease;
}

.container-select-project.is-open .select-project-chevron {
  transform: rotate(180deg);
}

/* ===============================
   PANNEAU DÉROULANT
   =============================== */
.select-project-panel {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 1050;
  min-width: 100%;
  width: max-content;
  max-width: min(92vw, 640px);
  max-height: min(65vh, 520px);
  overflow-y: auto;
  padding: 14px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 18px 30px -12px rgba(0, 0, 0, 0.35);
}

/* Voile et en-tête : uniquement en mode feuille (mobile) */
.select-project-backdrop,
.select-project-panel-head {
  display: none;
}

.select-project-group {
  break-inside: avoid;
  margin-bottom: 12px;
}

.select-project-group:last-child {
  margin-bottom: 0;
}

/* Titre de groupe : pastel dérivé de la couleur du métier (replis avant color-mix) */
.select-project-group-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 2px;
  padding: 5px 8px;
  border-radius: 8px;
  font-weight: bold;
  font-size: 14px;
  background: #f2f5f9;
  color: #213559;
  background: color-mix(in srgb, var(--group-color, #213559) 12%, #fff);
  color: color-mix(in srgb, var(--group-color, #213559) 72%, #000);
}

.select-project-group-title img {
  width: 18px;
  height: 18px;
}

.select-project-group ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.select-project-group a {
  display: block;
  padding: 6px 8px 6px 34px;
  border-radius: 8px;
  font-size: 15px;
  color: #1d2b45;
  text-decoration: none;
}

.select-project-group a:hover {
  background: #eef2f7;
}

/* ===============================
   FOCUS ACCESSIBILITÉ
   =============================== */
.select-project-trigger:focus {
  outline: none;
}

.select-project-trigger:focus-visible {
  outline: 3px solid #213559;
  outline-offset: 3px;
}

.select-project-group a:focus-visible {
  outline: 3px solid #213559;
  outline-offset: -3px;
}

/* ===============================
   ADAPTATION
   =============================== */

/* Desktop : déclencheur plus généreux (il n'a plus le segment CTA texte,
   sans largeur minimale il se réduit à son libellé et paraît étriqué) */
@media (min-width: 701px) {
  .select-project-trigger {
    min-width: 360px;
  }

  .select-project-placeholder {
    flex: 1;
    height: 58px;
    padding: 0 24px;
    font-size: 17px;
  }

  .select-project-arrow {
    width: 58px;
    height: 58px;
  }

  .select-project-chevron {
    width: 28px;
    height: 28px;
  }
}

/* Panneau sur 2 colonnes quand la place le permet */
@media (min-width: 701px) {
  .select-project-panel {
    columns: 2;
    column-gap: 18px;
  }
}

@media (max-width: 700px) {
  .container-select-project {
    display: block;
  }

  .select-project-trigger {
    display: flex;
    width: 100%;
    box-shadow: 0 6px 8px -4px rgba(0, 0, 0, 0.3);
  }

  .select-project-placeholder {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* ---------------------------------------------------------------
     Mode feuille plein écran : le panneau est déplacé dans <body> par
     le JS à l'ouverture, il occupe donc la racine de l'empilement et
     passe au-dessus de la barre du bas (9999) et du bouton cookies (99999).
     --------------------------------------------------------------- */
  .select-project-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 100000;
    background: rgba(20, 30, 50, 0.55);
  }

  .select-project-panel {
    position: fixed;
    inset: 0;
    z-index: 100001;
    display: flex;
    flex-direction: column;
    width: auto;
    min-width: 0;
    max-width: none;
    max-height: none;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: hidden;
  }

  .select-project-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-shrink: 0;
    padding: 14px 16px;
    padding-top: calc(14px + env(safe-area-inset-top, 0px));
    border-bottom: 1px solid rgba(33, 53, 89, 0.12);
    font-weight: bold;
    font-size: 16px;
    color: #213559;
  }

  .select-project-close {
    /* flex + line-height 1 : le glyphe × est réellement centré dans le rond
       (sans cela il se cale sur la ligne de base et paraît décalé) */
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: #eef2f7;
    color: #213559;
    font-family: inherit;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
    transition: background 0.2s ease;
  }

  .select-project-close:active {
    background: #dde5ef;
  }

  .select-project-close:focus-visible {
    outline: 3px solid #213559;
    outline-offset: 2px;
  }

  /* Seule la liste défile, l'en-tête reste visible */
  .select-project-panel-body {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 12px 14px calc(18px + env(safe-area-inset-bottom, 0px));
  }

  /* Empêche le défilement de la page derrière la feuille */
  body.select-project-open {
    overflow: hidden;
  }
}

/* La mise en forme de ce widget dans la barre flottante mobile
   (#mobile-submenu-scroll) est définie avec ce composant,
   dans assets/css/header-mobile.css. */


/* ===== SOURCE : widgets/posts-by-category-widget/css/posts-by-category.css ===== */

.afr-post-item {
    text-align: center;
}

.afr-title {
    font-size: 28px;
    font-weight: bold;
}

.afr-thumbnail {
    margin: 20px 0;
}

.afr-excerpt {
    max-width: 800px;
    margin: 20px auto;
    font-size: 16px;
    color: #333;
}

.afr-read-more {
    display: inline-block;
    margin-top: 15px;
    padding: 10px 20px;
    border: 1px solid #000;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s ease;
}

.afr-read-more:hover {
    background-color: #213559;
    color: white;
}

.afr-pagination {
    margin-top: 40px;
    text-align: center;
}

.afr-pagination ul {
    list-style: none;
    padding: 0;
    display: inline-flex;
    gap: 10px;
}

.afr-pagination li {
    display: inline-block;
}

.afr-pagination .page-numbers {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: #f4f4f4;
    color: #213559;
    font-weight: 500;
    text-decoration: none;
    font-size: 20px;
    transition: background 0.3s, color 0.3s;
}

.afr-pagination .page-numbers.current {
    background-color: #213559;
    color: #fff;
}

.afr-pagination .page-numbers:hover {
    background-color: #213559;
    color: white;
}

.material-symbols-rounded {
    font-variation-settings:
            'FILL' 1,
            'wght' 400,
            'GRAD' 0,
            'opsz' 24;
    font-size: 22px;
    line-height: 1;
}


/* ===== SOURCE : widgets/advanced-accordion-widget/css/advanced-accordion.css ===== */
/* ==========================================================================
   Widget Advanced Accordion — accordéon en <details>/<summary> natif
   (clavier et lecteurs d'écran pris en charge par le navigateur, sans JS)
   ========================================================================== */

.advanced-accordion {
    color: var(--accordion-text-color, #333333);
}

.advanced-accordion details {
    margin-bottom: 1em;
    border: 1px solid var(--accordion-bd-color, #ddd);
    border-radius: var(--accordion-radius, 12px);
    background: var(--accordion-bg-color, transparent);
    padding: 1em;
    transition: box-shadow 0.3s ease;
}

.advanced-accordion details:hover {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.advanced-accordion summary {
    font-size: var(--accordion-title-size, 1.2em);
    font-weight: var(--accordion-title-weight, normal);
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 0.5em;
}

/* Safari ignore list-style/::marker sur summary : son triangle natif
   s'affichait en plus du chevron */
.advanced-accordion summary::-webkit-details-marker {
    display: none;
}

.advanced-accordion summary::before {
    content: '';
    display: inline-block;
    flex-shrink: 0;
    width: 1.2em;
    height: 1.2em;
    background-color: currentColor; /* utilise la couleur du texte */
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><polyline points='9 6 15 12 9 18' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><polyline points='9 6 15 12 9 18' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    transition: transform 0.3s ease;
}

.advanced-accordion details[open] summary::before {
    transform: rotate(90deg);
}

.advanced-accordion .content {
    margin-top: 0.7em;
    font-size: var(--accordion-text-size, 1em);
    line-height: 1.6;
}
