/*
Theme Name:     child theme Formation
Theme URI:      n/a
Template:       kadence
Author:         Alex
Author URI:     n/a
Description:    UN thème pour les formations créé par Nicolas ( presta ) et Alex
Version:        V1
License:        GNU General Public License v3.0 (or later)
License URI:    https://www.gnu.org/licenses/gpl-3.0.html
*/

/* Sticky bar Kadence : comportement par defaut (backup dans sticky-bar-kadence-backup.txt) */

/* ========================================
   Widget Section
======================================== */
.widgetSection {
    padding: 30px;
    background-color: red;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

/* ========================================
   Variables CSS
======================================== */
:root {
    --color-bordeaux: #681D26;
    --color-grain-cafe: #321211;
    --color-creme: #fcf6f3;
    --color-gris: #464645;
    --color-white: #ffffff;
    --color-black: #000000;
    --color-orange: #e87028;
    --colorBeige: #ede9e2;
    --colorVert: #004f3b;
    --colorGris: #f4f4f4;
	--colorBordeaux: #c1121f;
	--colorVertPastel: #E9F5E2;
    /* Couleurs de fond du contenu (champ couleur_contenu ACF) */
    --color-beige:    #ede9e2;
    --color-vert:     #004f3b;
    --color-gris:     #f4f4f4;
    --color-bordeaux: #681D26;
    --color-creme:    #fcf6f3;
    --color-blanc:    #ffffff;
    --font-title: 'Playfair Display', serif;
    --font-body: 'Lato', sans-serif;
    --max-width: 1280px;
    --section-padding: 80px;
    --header-height: 80px;
    --transition-smooth: cubic-bezier(0.4, 0, 0.2, 1);
    --transition-duration: 0.6s;
    --transition-fast: 0.3s;
    /* ── Variables ajoutées pour les blocs présentiel ── */
    /* Primary Colors */
    --vert-fonce: #003d2d;
    --vert-moyen: #0c8568;
    --vert-pale: #e8f2ec;
    --bordeaux: #7a1c2e;
    --orange: #CD4E10;
    
    /* Neutral Colors */
    --beige: #f5f0e8;
    --beige-fonce: #e8dfc8;
    --gris-texte: #2d3748;
    --gris-doux: #64748b;
    --white: #ffffff;
    --black: #000000;
    
    /* Legacy Exuvie Colors (fallback) */
    
    /* Typography */
    
    /* Spacing & Sizing */
    --spacing-xs: 0.5rem;
    --spacing-sm: 1rem;
    --spacing-md: 1.5rem;
    --spacing-lg: 2rem;
    --spacing-xl: 3rem;
    --spacing-2xl: 4rem;
    
    /* Border Radius */
    --radius-sm: 5px;
    --radius-md: 10px;
    --radius-lg: 15px;
    
    /* Shadows */
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);
    --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.12);
    --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.15);
    
    /* Transitions */
    --transition-normal: 0.3s ease-in-out;
    --transition-slow: 0.5s ease-in-out;
}

/* ========================================
   Texte blanc automatique sur fonds sombres
======================================== */
.innerCol[style*="--color-vert"],
.innerCol[style*="--color-bordeaux"] {
    color: #ffffff;
}
.innerCol[style*="--color-vert"] h1,
.innerCol[style*="--color-vert"] h2,
.innerCol[style*="--color-vert"] h3,
.innerCol[style*="--color-vert"] p,
.innerCol[style*="--color-bordeaux"] h1,
.innerCol[style*="--color-bordeaux"] h2,
.innerCol[style*="--color-bordeaux"] h3,
.innerCol[style*="--color-bordeaux"] p {
    color: #ffffff !important;
}

/* ========================================
   WooCommerce
======================================== */
.woocommerce-product-gallery__wrapper { pointer-events: none; }
.product img { transition: transform 0.3s ease; }
.product img:hover { transform: scale(1.04); }

a { text-decoration: none; }
a:hover { text-decoration: underline; }

.popup-drawer { background-color: #ffffff !important; }
body { background-color: #F5F6F7 !important; }

@media (max-width: 480px) {
    .woocommerce ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px;
    }
    .woocommerce ul.products li.product { margin: 0 !important; width: auto !important; }
}

.woocommerce-Input,
input[type="text"],
input[type="email"],
input[type="password"],
textarea { color: #000000 !important; }
input::placeholder,
textarea::placeholder { color: #000000 !important; }
.woocommerce .quantity input.qty { color: #000 !important; }

#block-11 h2, #block-25 h2, #block-21 h2 { color: #ffffff !important; }

.postid-5480 .entry-summary > .price { display: none !important; }
.postid-5480 p.stock { display: none !important; }
.postid-5480 .woocommerce-tabs.wc-tabs-wrapper { display: none !important; }
.postid-5480 .coffret-info { font-size: 18px !important; line-height: 1.6 !important; }

tr.mnm_item input[name="mnm_quantity[5735]"],
tr.mnm_item input[name="mnm_quantity[5735]"] ~ .button,
tr.mnm_item input[name="mnm_quantity[5735]"] ~ .button-minus,
tr.mnm_item input[name="mnm_quantity[5735]"] ~ .button-plus { display: none !important; }
tr.mnm_item[data-child_item_id="5735"] .price::before { content: "🎁 Offert"; font-weight: bold; color: #009900; }
tr.mnm_item[data-child_item_id="5735"] .price .amount { display: none !important; }

.postid-5426 .stock { display: none !important; }
.postid-5426 .woocommerce-tabs.wc-tabs-wrapper { display: none !important; }
.postid-5816 .stock { display: none !important; }
.postid-5816 .woocommerce-tabs.wc-tabs-wrapper { display: none !important; }
.postid-5816 .summary .price { display: none !important; }
.term-78 .woocommerce ul.products li.product .price,
.term-78 .kwt-price-wrap { display: none !important; }
.woocommerce-privacy-policy-text { display: none !important; }

a[href*="1987-generation-sacrifiee-gratuit"] { pointer-events: none; cursor: default; text-decoration: none; color: inherit; }

.postid-7634 .woocommerce-tabs.wc-tabs-wrapper { display: none !important; }
.postid-7634 .summary.entry-summary > p.price,
.postid-7634 .summary.entry-summary > div.price { display: none !important; }

.alert-stock {
    color: #fff !important;
    background: #ff7c2d;
    padding: 10px 15px;
    border-radius: 5px;
    font-size: 10px;
    font-weight: bold;
    display: inline-block;
    margin-top: 10px;
}

.postid-11214 .stock { display: none !important; }
.postid-11214 .woosb-products .woosb-name a,
.postid-11214 .woosb-products .woosb-title a,
.postid-11214 .woosb-products .woosb-thumb a {
    pointer-events: none !important; cursor: default !important;
    text-decoration: none !important; color: inherit !important;
}

/* ========================================
   Menu items
======================================== */
#menu-item-8903 > a {
    position: relative;
    background-color: #C1121F !important;
    color: #ffff !important;
    padding: 0.6em 1.1em !important;
    border-radius: 6px;
    font-weight: 600 !important;
}
#menu-item-8903 > a:hover { background-color: #A3081A !important; color: #ffff !important; }

label.kb-adv-form-label { color: #000000 !important; }

.kwsb-snackbar-notice {
    position: fixed !important; top: 50% !important; left: 50% !important;
    bottom: auto !important; right: auto !important;
    transform: translate(-50%, -50%) !important;
    z-index: 999999 !important; max-width: 550px !important; width: 90% !important;
    padding: 30px 40px !important; font-size: 18px !important;
    background: #28a745 !important; color: white !important;
    border-radius: 12px !important; box-shadow: 0 20px 60px rgba(0,0,0,0.5) !important;
}
.kwsb-snackbar-notice.woocommerce-error { background: #dc3545 !important; }

#menu-item-15045 > a {
    background: linear-gradient(135deg, #c45c26 0%, #CD4E10 100%);
    color: #ffffff !important; padding: 8px 18px !important; border-radius: 25px;
    font-weight: 600 !important; transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(196, 92, 38, 0.3);
}
#menu-item-15045 > a:hover {
    background: linear-gradient(135deg, #a84d1f 0%, #CD4E10 100%);
    transform: translateY(-2px); box-shadow: 0 4px 12px rgba(196, 92, 38, 0.4);
    color: #ffffff !important;
}
#menu-item-15045 > a .nav-drop-title-wrap { color: #ffffff !important; }

#menu-item-15041 > a { color: #CD4E10 !important; }
#menu-item-15041 > a:hover { color: #ffffff !important; }
#menu-item-15042 > a { color: #CD4E10 !important; }
#menu-item-15042 > a:hover { color: #ffffff !important; }
#menu-item-15041.current-menu-item > a,
#menu-item-15041.current-menu-ancestor > a,
#menu-item-15042.current-menu-item > a,
#menu-item-15042.current-menu-ancestor > a { color: #ffffff !important; }

#menu-item-15162 > a {
    background: linear-gradient(135deg, #c45c26 0%, #CD4E10 100%);
    color: #ffffff !important; padding: 5px 10px !important; border-radius: 100px;
    font-weight: 500 !important; transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(196, 92, 38, 0.3);
}
#menu-item-15162 > a:hover {
    background: linear-gradient(135deg, #a84d1f 0%, #CD4E10 100%);
    transform: translateY(-2px); box-shadow: 0 4px 12px rgba(196, 92, 38, 0.4);
    color: #ffffff !important;
}
#menu-item-15162 > a .nav-drop-title-wrap { color: #ffffff !important; }

/* ========================================
   Flexible Content
======================================== */
#flexibleContent { display: flex; flex-direction: column; }

#flexibleContent section,
#flexibleContent .bloc-section { min-height: auto !important; height: auto !important; }

/* Pas de padding par défaut sur la section — géré par margin-top/bottom */
.bloc-section { padding: 0; }

/* Background colors */
.bloc-section.bg-beige     { background-color: var(--colorBeige); }
.bloc-section.bg-vert      { background-color: var(--colorVert); color: #fff; }
.bloc-section.bg-gris      { background-color: var(--colorGris); }
.bloc-section.bg-bordeaux  { background-color: #681D26; color: #fff; }
.bloc-section.bg-creme     { background-color: #fcf6f3; }
.bloc-section.bg-noir      { background-color: #1a1a1a; color: #fff; }

/* Texte blanc automatique sur fond foncé */
.bloc-section.bg-vert .pres-section-label,
.bloc-section.bg-bordeaux .pres-section-label,
.bloc-section.bg-noir .pres-section-label { color: rgba(255,255,255,.7); }

.bloc-section.bg-vert .pres-section-titre,
.bloc-section.bg-bordeaux .pres-section-titre,
.bloc-section.bg-noir .pres-section-titre,
.bloc-section.bg-vert .pres-section-titre *,
.bloc-section.bg-bordeaux .pres-section-titre *,
.bloc-section.bg-noir .pres-section-titre * { color: #fff; }

/* ----------------------------------------
   Marges externes (padding_top / padding_bottom ACF)
   → repousse les blocs voisins
---------------------------------------- */
.bloc-section.margin-top-0   { margin-top: 0; }
.bloc-section.margin-top-20  { margin-top: 20px; }
.bloc-section.margin-top-40  { margin-top: 40px; }
.bloc-section.margin-top-60  { margin-top: 60px; }
.bloc-section.margin-top-80  { margin-top: 80px; }
.bloc-section.margin-top-100 { margin-top: 100px; }

.bloc-section.margin-bottom-0   { margin-bottom: 0; }
.bloc-section.margin-bottom-20  { margin-bottom: 20px; }
.bloc-section.margin-bottom-40  { margin-bottom: 40px; }
.bloc-section.margin-bottom-60  { margin-bottom: 60px; }
.bloc-section.margin-bottom-80  { margin-bottom: 80px; }
.bloc-section.margin-bottom-100 { margin-bottom: 100px; }

/* ----------------------------------------
   Padding interne (padding_top_interne / padding_bottom_interne ACF)
   → appliqué en style inline sur <section>
   → gère l'espace DANS la zone colorée, sans affecter la hauteur des colonnes image/vidéo
---------------------------------------- */
.innerCol.padding-top-0   { padding-top: 0; }
.innerCol.padding-top-20  { padding-top: 20px; }
.innerCol.padding-top-40  { padding-top: 40px; }
.innerCol.padding-top-60  { padding-top: 60px; }
.innerCol.padding-top-80  { padding-top: 80px; }
.innerCol.padding-top-100 { padding-top: 100px; }

.innerCol.padding-bottom-0   { padding-bottom: 0; }
.innerCol.padding-bottom-20  { padding-bottom: 20px; }
.innerCol.padding-bottom-40  { padding-bottom: 40px; }
.innerCol.padding-bottom-60  { padding-bottom: 60px; }
.innerCol.padding-bottom-80  { padding-bottom: 80px; }
.innerCol.padding-bottom-100 { padding-bottom: 100px; }

/* ========================================
   Container
======================================== */
.container { max-width: 1380px; margin: 0 auto; padding: 0 20px; }
.bloc-section .container { max-width: 1400px; padding: 0 20px; margin: 0 auto; box-sizing: border-box; }

/* ========================================
   Row & Columns
======================================== */
.top .row,
.bloc .row { display: flex; flex-wrap: wrap; margin: 0 -15px; }
.top .col,
.bloc .col { padding: 0 15px; box-sizing: border-box; }

.col-100 { width: 100%; }
.col-50  { width: 50%; }
.col-66  { width: 66.666%; }
.col-33  { width: 33.333%; }
.col-25  { width: 25%; }
.col-centered { margin: 0 auto; }

/* ========================================
   innerCol
======================================== */
.innerCol {
    height: 100%;
    background-color: var(--colorBeige);
    border-radius: 12px;
    overflow: hidden;
}
.innerCol.rounded { border-radius: 12px; overflow: hidden; }

/* Centrage vertical pour colonnes texte */
.col-texte .innerCol,
.bloc-colonnes-multiples .innerCol,
.bloc-accordion-image .col-66 .innerCol {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* Fond blanc pour innerCol dans sections colorées */
section.bg-beige .innerCol,
section.bg-vert .innerCol { background-color: white; }

/* ========================================
   Image Background Columns
======================================== */
.bloc .image-bg {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 420px;
    height: 100%;
}
.bloc-image-texte.reverse .row { flex-direction: row-reverse; }

/* ========================================
   innerContent
======================================== */
.innerContent {
    padding: 30px;
    width: 100%;
}
.innerContent > *:last-child { margin-bottom: 0 !important; }

.page-id-334 #main { padding-top: 80px; }

/* ========================================
   Video Wrapper
======================================== */
.video-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    background: #000;
}
.video-wrapper iframe,
.video-wrapper video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.bloc.bloc-video .innerCol { padding: 6px; }

/* ========================================
   Responsive
======================================== */
.product.type-product,
.page-id-209 .onecolumn-wrapper { max-width: 1400px; margin: 0 auto; }
div#product-110 { max-width: 1400px; margin: 0 auto; padding: 0 20px; }
.single-product aside { display: none; }

@media (max-width: 768px) {
    .bloc .col-33, .bloc .col-50, .bloc .col-66 { width: 100%; }
    .col-image .innerCol.image-bg { min-height: 300px; }
    .col-texte .innerContent { padding: 0 20px; }
    .bloc-section { padding: 0; }
    .bloc-image-texte.reverse .row { flex-direction: column; }
}

/* ========================================
   Bloc Colonnes Multiples
======================================== */
.bloc-colonnes-multiples h2 { text-align: center; margin-bottom: 40px; }
.bloc-colonnes-multiples h3 { margin-bottom: 15px; }
.bloc-colonnes-multiples .innerContent { text-align: center; }
.bloc-colonnes-multiples .innerContent h3:empty,
.bloc-colonnes-multiples .innerContent p:empty { display: none; }

/* Crop 20% bas sur vidéos et images */
.media-wrapper.crop-bottom {
    overflow: hidden;
    position: relative;
}

.media-wrapper.crop-bottom iframe {
    display: block;
    width: 100% !important;
}
/* ========================================
   Bloc Titre
======================================== */
.bloc-titre { width: 100%; }
.bloc-titre.text-left   { text-align: left; }
.bloc-titre.text-center { text-align: center; }
.bloc-titre.text-right  { text-align: right; }
.bloc-titre.text-white h2,
.bloc-titre.text-white h3,
.bloc-titre.text-white h4,
.bloc-titre.text-white h5,
.bloc-titre.text-white h6 { color: white; }

/* ========================================
   Bloc Accordion + Image
======================================== */
.bloc-accordion-image h2 { margin-bottom: 30px; }
.accordion { width: 100%; }
.accordion-item { border-bottom: 1px solid #ddd; }
.accordion-header {
    width: 100%; background: none; border: none; padding: 20px 0;
    text-align: left; cursor: pointer; display: flex;
    justify-content: space-between; align-items: center;
    font-size: 18px; font-weight: 600; color: var(--color-grain-cafe);
    transition: color 0.3s ease;
}
.accordion-header:hover { color: var(--color-bordeaux); }
.accordion-header h3 { margin: 0; font-size: inherit; font-weight: inherit; color: inherit; }

/* Icône accordéon : pilule verte, SVG blanc */
.accordion-header .accordion-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 30px;
    border-radius: 999px;
    background-color: var(--color-orange, #e87028);
    flex-shrink: 0;
    margin-left: 16px;
    padding: 0 12px;
    transition: background-color 0.3s ease;
    user-select: none;
    transform: none !important;
}

.accordion-header:hover .accordion-icon svg {
    stroke: var(--color-orange, #e87028);
}

.accordion-header .accordion-icon svg {
    transform: none !important;
    transition: none !important;
    flex-shrink: 0;
}

.accordion-header:hover .accordion-icon {
    background-color: #ffffff;
}

.accordion-content { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
.accordion-content-inner { padding: 0 0 20px 0; }
.accordion-header[aria-expanded="true"] + .accordion-content { max-height: 1000px; }

@media (max-width: 768px) {
    .col-25 { width: 100%; }
    .bloc-accordion-image.reverse .row { flex-direction: column; }
    .accordion-header { font-size: 16px; }
}

/* ========================================
   Listing Formations
======================================== */
.listingFormations { padding: 40px 0; }
.listingFormations .col { margin-bottom: 0px; }

.formationVignette {
    position: relative;
    border: 0;
    transition: all 0.3s ease;
    background-color: white;
    cursor: pointer;
}
.formationVignette:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.formationVignette .coverLink { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 10; }
.formationVignette .row { margin: 0; }
.formationVignette .col { padding: 0; }
.formationVignette .col-66 { padding: 0 20px 20px; position: relative; }

.formationImage {
    padding-right: 80px;
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
    min-height: 250px;
    height: 100%;
}

.formationVignette h2 {
    font-size: 20px;
    margin-bottom: 0;
    color: var(--color-grain-cafe);
    height: 72px;
    display: flex;
    align-items: center;
    line-height: 1.2;
}
.categoryBox { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.categoryBox .badge {
    display: inline-block; border: 1px solid var(--color-orange);
    padding: 4px 8px; font-size: 15px; border-radius: 4px;
    color: var(--color-orange); background: white;
}
.formationVignette .auteur { display: block; font-size: 15px; color: var(--color-bordeaux); margin-bottom: 10px; font-weight: 500; }
.formationVignette p { font-size: 15px; line-height: 1.4; margin-bottom: 15px; height: 60px; overflow: hidden; }

.formationInfos { list-style: none; padding: 0; margin: 0 0 15px 0; display: flex; flex-wrap: wrap; gap: 15px; }
.formationInfos li { font-size: 15px; color: var(--color-grain-cafe); }
.formationInfos li::before { content: none; margin-right: 5px; }

.formationInfos li.duree,
.formationInfos li.videos {
    display: flex;
    align-items: center;
    gap: 5px;
}
.formationInfos li.duree::before,
.formationInfos li.videos::before {
    display: none;
}

.savoir-plus { display: inline-block; font-size: 14px; color: var(--color-bordeaux); font-weight: 600; position: relative; z-index: 5; }

.formationVignette.presentiel { background-color: var(--colorBeige); }

.formationVignette.presentiel::before {
    content: 'En presentiel';
    position: absolute;
    top: 0;
    left: 0;
    padding: 0px 8px;
    font-size: 16px;
    font-weight: 600;
    z-index: 15;
    border-radius: 0;
    display: flex;
    text-transform: uppercase;
    background-color: var(--colorBeige);
    line-height: 22px;
    height: 30px;
    align-items: center;
    width: 33.333%;
    justify-content: center;
    color: var(--color-orange);
    letter-spacing: 1px;
}

.formationVignette.presentiel .tagBox {
    padding-top: 36px;
}

@media (max-width: 768px) {
    .formationImage { min-height: 200px; }
    .formationVignette .col-66 { padding: 15px; }
}

span.savoir-plus {
    background-color: var(--color-orange);
    color: #ffffff !important;
    padding: 0px 22px !important;
    height: 44px;
    border-radius: 22px;
    transition: all 0.3s ease;
    box-shadow: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    text-decoration: none;
    font-weight: 600 !important;
    font-size: 15px;
    text-transform: uppercase;
}

a.btn.orange {
    background: linear-gradient(135deg, #c45c26 0%, #e07b3c 100%);
    color: #ffffff !important;
    padding: 0px 22px !important;
    height: 44px;
    border-radius: 22px;
    font-weight: 600 !important;
    transition: all 0.3s ease;
    box-shadow: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    text-decoration: none;
    margin-bottom: 20px;
}

div#topListing { padding-top: 40px; }

.tagBox .badge { color: white; display: inline-flex; background-color: var(--colorVert); padding: 4px 8px; font-size: 14px; border-radius: 4px; margin: 4px; }
span.auteur { color: var(--colorVert); display: block; }

ul.formationInfos li { list-style: none; }
ul.formationInfos li:before { display: none; }
ul.formationInfos { align-items: center; }
ul.formationInfos li.savoir-plus-li { margin-left: auto; }
ul.formationInfos li.savoir-plus-li::before { display: none; }

@media screen and (min-width: 1241px) {
    .formationVignette { margin-bottom: 30px !important; }
}

@media screen and (max-width: 1240px) {
    .formationVignette.presentiel::before { width: 40%; }
    .top .row,
    .listingFormations > .bloc > .row { max-width: 1000px; margin: 0 auto; }
    .listingFormations > .bloc > .row > .col-50 { width: 100%; margin-bottom: 30px; padding: 0; }
    .listingFormations > .bloc > .row > .col-50 .col-66 { width: 60%; }
    .listingFormations > .bloc > .row > .col-50 .col-33 { width: 40%; }
}

@media screen and (max-width: 800px) {
    .formationVignette.presentiel::before { width: 100%; }
    .top .col.col-50:last-child { display: none; }
    .top .col.col-50:first-child,
    .listingFormations > .bloc > .row > .col-50 .col-66 { width: 100%; }
    .listingFormations > .bloc > .row > .col-50 .col-33 { width: 100%; }
}

@media screen and (max-width: 800px) {
    .formationVignette p {
        height: auto;
        min-height: 0;
        margin-bottom: 8px;
    }
    .formationVignette .col-66 { padding-bottom: 60px; }
}

@media screen and (max-width: 768px) {
    .kt-payment-icons-wrap {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
    }
    .kt-payment-icons-wrap .kt-payment-icons { flex-wrap: wrap; }
    .product-sticky-add-to-cart .kt-payment-icons-wrap { display: none !important; }
}

.formationVignette:hover span.savoir-plus { animation: popScale 0.5s cubic-bezier(0.25, 0.1, 0.25, 1); }
@keyframes popScale {
    0%   { transform: scale(1); }
    40%  { transform: scale(0.85); }
    100% { transform: scale(1); }
}

.page-template-page-formations .top { padding-top: 40px; }
.page-template-page-formations .top h1 { margin-top: 20px; }
.top .featured-image { min-height: 240px; background-size: cover; background-position: center; height: 100%; }

/* ========================================
   Bloc Carrousel + Texte
======================================== */
.bloc-carrousel-texte {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.carrousel-wrapper {
    position: relative;
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
}

.carrousel-track-wrapper {
    overflow: hidden;
    width: 100%;
}

.carrousel-track {
    display: flex;
    transition: transform 0.5s ease;
}

.carrousel-slide {
    min-width: 100%;
    position: relative;
}

.carrousel-slide img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    display: block;
}

.carrousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255,255,255,0.85);
    border: none;
    border-radius: 50%;
    width: 56px;
    height: 56px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    transition: background 0.2s ease, transform 0.2s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    font-size: 36px;
    line-height: 1;
    color: var(--color-grain-cafe);
}

.carrousel-btn:hover,
.carrousel-btn:focus {
    background: rgba(255,255,255,1);
    transform: translateY(-50%) scale(1.08);
    color: var(--color-grain-cafe);  /* force la couleur — pas d'orange hérité */
    outline: none;
}

.carrousel-prev { left: 20px; }
.carrousel-next { right: 20px; }

.carrousel-dots {
    position: absolute;
    bottom: 14px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 10;
}

.carrousel-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.8);
    background: transparent;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 0;
}

.carrousel-dot.active {
    background: #ffffff;
    border-color: #ffffff;
    transform: scale(1.2);
}

.carrousel-texte-wrapper { width: 100%; }
.carrousel-texte-wrapper .innerCol { height: auto; }

@media (max-width: 768px) {
    .carrousel-slide img { height: 260px; }
    .carrousel-btn { width: 36px; height: 36px; }
}
/* ========================================
   Bloc Carrousel + Texte côte à côte
======================================== */

/* Le carrousel côté conserve height: 100% pour s'aligner avec la colonne texte */
.bloc-carrousel-texte-cote .carrousel-cote {
    height: 100%;
    border-radius: 12px;
    overflow: hidden;
}

/* Les slides côte à côte utilisent object-fit: cover pour remplir la hauteur */
.carrousel-cote .carrousel-slide img {
    width: 100%;
    height: 100%;
    min-height: 300px;
    object-fit: cover;
    display: block;
}

/* Le track doit aussi être en height: 100% */
.carrousel-cote .carrousel-track-wrapper,
.carrousel-cote .carrousel-track,
.carrousel-cote .carrousel-slide {
    height: 100%;
}

/* Inversion des colonnes (texte à gauche, carrousel à droite) */
.bloc-carrousel-texte-cote.reverse .row {
    flex-direction: row-reverse;
}

/* Mobile : empiler les colonnes */
@media (max-width: 768px) {
    .bloc-carrousel-texte-cote .row {
        flex-direction: column;
    }
    .bloc-carrousel-texte-cote.reverse .row {
        flex-direction: column;
    }
    .bloc-carrousel-texte-cote .col-33,
    .bloc-carrousel-texte-cote .col-50,
    .bloc-carrousel-texte-cote .col-66 {
        width: 100%;
    }
    .carrousel-cote .carrousel-slide img {
        min-height: 240px;
    }
}

/* Masquer zones inutiles sur les produits formation */
.product_cat-formation .kt-svg-icon-list,
.product_cat-formation .kb-row-layout-id209_cacc7a-86 {
    display: none !important;
}


/* Fallback sans #elseContent */
body.product_cat-formation .kb-row-layout-id209_b68ca8-b6{
    display: none !important;
}


.thankyou-sso-wrap {
    background: #ffffff;
    border: 2px solid #CD4E10;
    border-radius: 12px;
    padding: 24px 30px;
    margin-bottom: 30px;
    text-align: center;
}
.thankyou-sso-text {
    font-size: 18px;
    color: #CD4E10;
    margin-bottom: 16px;
    font-weight: 600;
}
.thankyou-sso-btn {
    display: inline-block;
    background: #CD4E10;
    color: white !important;
    padding: 12px 30px;
    border-radius: 30px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.2s;
}
.thankyou-sso-btn:hover {
    background: #CD4E10;
}

.bloc-video-texte.reverse .row {
    flex-direction: row-reverse;
}
.bloc-video-texte .col-50:first-child .innerCol {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* ============================================================================
   BLOCS PRÉSENTIEL — Styles des landing pages formation
   Toutes les classes utilisent le préfixe 'pres-' pour éviter les conflits
   ========================================================================== */
/* ============================================================================
   URGENCE BAR
   ========================================================================== */

/* Barre d'urgence : sticky en haut de page, persiste au scroll */
.pres-urgence-bar {
  position: sticky;
  top: 0;
  z-index: 10;
  background-color: var(--bordeaux);
  color: var(--white);
  padding: var(--spacing-sm) var(--spacing-md);
  text-align: center;
  font-size: 0.875rem;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.pres-urgence-bar__badge {
  display: inline-block;
  background-color: rgba(255,255,255,.2);
  color: var(--white);
  padding: 2px 10px;
  border-radius: 3px;
  margin-left: 8px;
  font-weight: 700;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

@keyframes slideDown {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@media (max-width: 600px) {
  .pres-urgence-bar {
    padding: var(--spacing-sm);
    font-size: 0.8rem;
  }

  .pres-urgence-bar__badge {
    display: block;
    margin-right: 0;
    margin-bottom: var(--spacing-xs);
  }
}

/* ============================================================================
   HERO SECTION
   ========================================================================== */

.pres-hero {
  background-color: var(--beige);
  border-bottom: 1px solid var(--beige-fonce);
  padding: 3.5rem 0 0;
  overflow: hidden;
  position: relative;
}

/* ── Couleurs de fond hero — palette étendue ── */
.pres-hero--beige      { background-color: var(--beige); }
.pres-hero--blanc      { background-color: var(--white); }
.pres-hero--vert-pale  { background-color: var(--vert-pale); }
.pres-hero--vert-fonce { background-color: var(--vert-fonce); }
.pres-hero--vert-moyen { background-color: var(--vert-moyen); }
.pres-hero--bordeaux   { background-color: var(--bordeaux); }
.pres-hero--orange     { background-color: var(--orange); }
.pres-hero--noir       { background-color: var(--black); }
.pres-hero--gris-clair { background-color: #f1f5f9; }
.pres-hero--gris-fonce { background-color: #334155; }
.pres-hero--creme      { background-color: var(--color-creme); }
.pres-hero--bleu-nuit  { background-color: #1e293b; }
.pres-hero--rose-pale  { background-color: #fce7f3; }

/* ── Adaptation automatique texte clair/foncé (WCAG) ── */
.pres-hero--text-light,
.pres-hero--text-light .pres-hero__title,
.pres-hero--text-light .pres-hero__eyebrow,
.pres-hero--text-light .pres-hero__auteur,
.pres-hero--text-light .pres-hero__auteur p,
.pres-hero--text-light .pres-hero__accroche {
  color: var(--white);
}
.pres-hero--text-light .pres-hero__title em {
  color: #fbbf24; /* accent doré lisible sur fond foncé */
}
.pres-hero--text-light .pres-hero__eyebrow {
  border-left-color: rgba(255,255,255,.5);
}
.pres-hero--text-light .pres-hero__accroche {
  background-color: rgba(255,255,255,.1);
  border-left-color: rgba(255,255,255,.4);
  color: rgba(255,255,255,.95);
}
.pres-hero--text-light .pres-stat-pill {
  background-color: rgba(255,255,255,.15);
  border-color: rgba(255,255,255,.3);
  color: var(--white);
}
.pres-hero--text-light .pres-stat-pill:hover {
  border-color: rgba(255,255,255,.6);
}

.pres-hero--text-dark,
.pres-hero--text-dark .pres-hero__title {
  color: var(--gris-texte);
}

/* ── Images hero carrousel (sous le sous-titre/auteur) ── */
.pres-hero__images {
  margin: 0.5rem 0;
  border-radius: var(--radius-md);
  overflow: hidden;
}

.pres-hero__images-track {
  display: flex;
  gap: 0;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  max-height: 300px;
}

.pres-hero__image-item {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
}

.pres-hero__image-item img {
  width: 100%;
  height: 100%;
  max-height: 300px;
  display: block;
  object-fit: cover;
}

/* ── Bandeau images — pleine largeur entre hero et blocs flexible ── */
.pres-hero-bandeau {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.pres-hero-bandeau__inner {
  display: flex;
  gap: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  max-height: 480px;
}

.pres-hero-bandeau__item {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
}

.pres-hero-bandeau__item img {
  width: 100%;
  height: 100%;
  max-height: 480px;
  display: block;
  object-fit: cover;
}

@media (max-width: 600px) {
  .pres-hero-bandeau__inner {
    flex-direction: column;
    max-height: none;
  }
  .pres-hero-bandeau__item img {
    max-height: 250px;
  }
}

/* ── Galerie produit WooCommerce sous la carte prix (colonne droite) ── */
.pres-gallery-sidebar {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin-top: var(--spacing-md);
}

.pres-gallery-sidebar__item {
  margin: 0;
  border-radius: var(--radius-sm);
  overflow: hidden;
}

.pres-gallery-sidebar__item:first-child:last-child {
  grid-column: 1 / -1; /* une seule image → pleine largeur */
}

.pres-gallery-sidebar__item img {
  width: 100%;
  height: 150px;
  display: block;
  object-fit: cover;
  border-radius: var(--radius-sm);
  transition: transform var(--transition-fast);
}

.pres-gallery-sidebar__item img:hover {
  transform: scale(1.03);
}

@media (max-width: 900px) {
  .pres-gallery-sidebar {
    grid-template-columns: 1fr 1fr 1fr;
    margin-top: var(--spacing-lg);
  }
  .pres-gallery-sidebar__item img {
    height: 120px;
  }
}

/* ── Sidebar médias mixtes (vidéos + photos, remplace galerie WooCommerce) ── */
.pres-media-sidebar {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
  margin-top: var(--spacing-md);
}

.pres-media-sidebar__item {
  border-radius: var(--radius-sm);
  overflow: hidden;
}

/* Conteneur responsive 16:9 pour les iframes oEmbed (vidéos) */
.pres-media-sidebar__embed {
  position: relative;
  padding-bottom: 56.25%; /* ratio 16:9 */
  height: 0;
  overflow: hidden;
  border-radius: var(--radius-sm);
}

.pres-media-sidebar__embed iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: var(--radius-sm);
}

/* Photos dans la sidebar médias */
.pres-media-sidebar__figure {
  margin: 0;
  border-radius: var(--radius-sm);
  overflow: hidden;
}

.pres-media-sidebar__figure img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius-sm);
  object-fit: cover;
}

/* Légende commune (vidéo ou photo) */
.pres-media-sidebar__titre {
  margin: 0.4rem 0 0;
  font-size: 0.8rem;
  color: var(--gris-moyen);
  text-align: center;
}

/* Fallback lien si oEmbed échoue */
.pres-media-sidebar__fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  background: var(--gris-clair);
  border-radius: var(--radius-sm);
  color: var(--vert-principal);
  font-weight: 600;
  text-decoration: none;
  transition: background var(--transition-fast);
}
.pres-media-sidebar__fallback:hover {
  background: #e8e8e8;
}

@media (max-width: 900px) {
  .pres-media-sidebar {
    margin-top: var(--spacing-lg);
  }
}

/* ── Sidebar droite : wrapper carte prix + galerie ── */
.pres-hero__sidebar {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-md);
}

/* La carte prix n'a plus besoin d'être sticky toute seule,
   c'est le sidebar wrapper qui gère le positionnement */
.pres-hero__sidebar .pres-prix-card {
  position: static;
}

/* ── Layout 2 colonnes : contenu gauche + prix card droite ── */
/* On utilise .pres-hero__container au lieu de .container
   pour éviter tout conflit avec le .container de Kadence */
.pres-hero__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
  box-sizing: border-box;
}

.pres-hero__inner {
  display: grid !important;
  grid-template-columns: 1fr 380px !important;
  gap: 3rem !important;
  align-items: start !important;
}

.pres-hero__content {
  padding-bottom: 0.5rem;
}

/* Reset des marges par défaut Kadence sur les éléments hero */
.pres-hero__content h1,
.pres-hero__content p,
.pres-hero__content .pres-hero__auteur p {
  margin-top: 0;
}
.pres-hero__title,
.pres-hero__title p,
.pres-hero__title * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.pres-hero__auteur {
  margin-top: 0.1rem;
}

.pres-hero__eyebrow {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  color: var(--vert-moyen);
  margin-bottom: 0.15rem;
  padding-left: var(--spacing-md);
  border-left: 4px solid var(--orange);
}

.pres-hero__title {
  font-family: var(--font-title);
  font-size: clamp(2rem, 5vw, 4rem);
  font-weight: 700;
  line-height: 1.15;
  color: var(--gris-texte);
  margin-bottom: 0.15rem;
}

.pres-hero__title em {
  color: var(--bordeaux);
  font-style: normal;
}

/* Le sous-titre/auteur est un wysiwyg : on stylise le conteneur + ses <p> */
.pres-hero__auteur,
.pres-hero__auteur p {
  font-size: 1.125rem;
  color: var(--gris-doux);
  margin-bottom: 0.3rem;
  font-weight: 500;
}
.pres-hero__auteur p:last-child {
  margin-bottom: 0;
}

.pres-hero__accroche {
  background-color: var(--vert-pale);
  border-left: 5px solid var(--orange);
  padding: var(--spacing-md);
  border-radius: var(--radius-md);
  margin-bottom: 0.5rem;
  font-size: 1.0625rem;
  color: var(--vert-fonce);
  line-height: 1.6;
}

/* ── Stats pills : grille 2 colonnes dans la colonne gauche du hero ── */
.pres-hero__stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.625rem;
  margin-top: 0.5rem;
}

.pres-stat-pill {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background-color: var(--white);
  border: 1.5px solid var(--beige-fonce);
  border-radius: var(--radius-sm);
  padding: 0.6rem 0.875rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--gris-texte);
  transition: border-color var(--transition-fast);
}

.pres-stat-pill:hover {
  border-color: var(--vert-moyen);
  box-shadow: var(--shadow-sm);
}

.pres-stat-pill__icon {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
}

/* Hero Section - Responsive */
@media (max-width: 900px) {
  .pres-hero__inner {
    grid-template-columns: 1fr !important;
    gap: var(--spacing-lg) !important;
  }

  .pres-hero {
    padding: var(--spacing-xl) 0 var(--spacing-xl);
  }

  .pres-hero__images-track {
    max-height: 280px;
  }

  .pres-hero__image-item img {
    max-height: 280px;
  }
}

@media (max-width: 600px) {
  .pres-hero {
    padding: var(--spacing-lg) var(--spacing-md);
  }

  .pres-hero__title {
    font-size: clamp(1.5rem, 4vw, 2.5rem);
    margin-bottom: var(--spacing-md);
  }

  .pres-hero__accroche {
    font-size: 1rem;
    padding: var(--spacing-md);
  }

  .pres-hero__stats {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  .pres-stat-pill {
    font-size: 0.75rem;
    padding: 0.5rem 0.75rem;
  }
}

/* ============================================================================
   PRIX CARD (SIDEBAR)
   ========================================================================== */

/* ── Carte prix (colonne droite du hero) ── */
.pres-prix-card {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: sticky;
  top: 100px;
  background: var(--white);
  border-radius: var(--radius-md);
  border: 1.5px solid var(--beige-fonce);
  border-top: 4px solid var(--vert-fonce);
  box-shadow: 0 12px 40px rgba(0,0,0,.13);
  padding: 0.8rem 1rem;
  min-height: 200px;
}

.pres-prix-card__badge {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  background: var(--bordeaux);
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  border-radius: 4px;
  padding: 3px 10px;
  margin-bottom: 1rem;
}

.pres-prix-card__montant {
  display: flex;
  align-items: baseline;
  gap: .7rem;
  margin-bottom: 0.15rem;
}

.pres-prix-card__actuel {
  font-size: 3.8rem;
  font-weight: 700;
  color: var(--vert-fonce);
  font-family: var(--font-title);
}

.pres-prix-card__barre {
  font-size: 1.1rem;
  color: var(--gris-doux);
  text-decoration: line-through;
}

.pres-prix-card__economie {
  font-size: .78rem;
  color: var(--bordeaux);
  font-weight: 600;
  margin-bottom: 1.4rem;
}

.pres-prix-card__infos {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: .7rem;
  margin: 0 0 1.5rem 0;
  padding: 0 0 1.5rem 0;
  border-bottom: 1px solid var(--beige-fonce);
}

.pres-prix-card__infos li {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  font-size: .88rem;
  color: var(--gris-texte);
  line-height: 1.5;
}

.pres-prix-card__infos li svg {
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--vert-moyen);
}

.pres-prix-card__infos li strong {
  display: block;
  font-weight: 600;
}

.pres-prix-card__infos li span {
  color: var(--gris-doux);
  font-size: .82rem;
}

/* ── Bouton WooCommerce add-to-cart dans la carte prix ── */
.pres-prix-card__cart {
  margin: 0 0 .75rem 0 !important;
  padding: 0 !important;
}

/* ── Bouton add-to-cart : couleur unie (orange), pas de gradient ── */
.pres-prix-card__cart .pres-btn-cta,
.pres-prix-card__cart .single_add_to_cart_button {
  display: block !important;
  width: 100% !important;
  text-align: center;
  background-color: var(--orange);
  color: #fff !important;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 1rem 1.5rem;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(205,78,16,.25);
  transition: background-color .25s ease, box-shadow .25s ease;
}

.pres-prix-card__cart .pres-btn-cta:hover,
.pres-prix-card__cart .single_add_to_cart_button:hover {
  background-color: #b84108;
  box-shadow: 0 6px 20px rgba(205,78,16,.35);
}

.pres-prix-card__garantie {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  font-size: .78rem;
  color: var(--gris-doux);
  margin-top: .75rem;
}

.pres-prix-card__garantie svg {
  flex-shrink: 0;
}

/* Prix Card - Responsive */
@media (max-width: 900px) {
  .pres-prix-card {
    position: relative;
    top: 0;
    margin-top: var(--spacing-xl);
  }
}

@media (max-width: 600px) {
  .pres-prix-card {
    padding: 1.25rem;
  }

  .pres-prix-card__actuel {
    font-size: 2rem;
  }
}

/* ============================================================================
   LABELS & TITRES DE SECTION (communs à tous les blocs présentiel)
   ========================================================================== */

.pres-section-label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-weight: 700;
  color: var(--vert-moyen);
  margin-bottom: var(--spacing-xs);
}

.pres-section-titre {
  font-family: var(--font-title);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 700;
  color: var(--gris-texte);
  margin-bottom: var(--spacing-lg);
  line-height: 1.25;
}

/* Sur fond foncé (bg-vert), inverser les textes des sections */
.bloc-section.bg-vert .pres-section-label { color: rgba(255,255,255,.7); }
.bloc-section.bg-vert .pres-section-titre,
.bloc-section.bg-vert .pres-section-titre * { color: var(--white); }

/* ============================================================================
   BÉNÉFICES SECTION
   ========================================================================== */

/* Pas de background hardcodé : géré par la classe bg-* du style.css
   Le fond par défaut est hérité de .bloc-section */
.pres-benefices {
  padding: var(--spacing-2xl) var(--spacing-md);
  position: relative;
  overflow: hidden;
}

/* ── Textes en blanc sur fonds foncés ── */
.pres-benefices.bg-vert,
.pres-benefices.bg-bordeaux,
.pres-benefices.bg-noir { color: var(--white); }

.pres-benefices.bg-vert .pres-benefice-card h3,
.pres-benefices.bg-vert .pres-benefice-card p,
.pres-benefices.bg-bordeaux .pres-benefice-card h3,
.pres-benefices.bg-bordeaux .pres-benefice-card p,
.pres-benefices.bg-noir .pres-benefice-card h3,
.pres-benefices.bg-noir .pres-benefice-card p { color: var(--gris-texte); }

.pres-benefices.bg-vert .pres-pour-qui,
.pres-benefices.bg-vert .pres-pour-qui h3,
.pres-benefices.bg-vert .pres-pour-qui__texte,
.pres-benefices.bg-bordeaux .pres-pour-qui,
.pres-benefices.bg-bordeaux .pres-pour-qui h3,
.pres-benefices.bg-bordeaux .pres-pour-qui__texte,
.pres-benefices.bg-noir .pres-pour-qui,
.pres-benefices.bg-noir .pres-pour-qui h3,
.pres-benefices.bg-noir .pres-pour-qui__texte { color: var(--white); }

.pres-benefices__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-lg);
  max-width: 1200px;
  margin: 0 auto var(--spacing-2xl);
  position: relative;
  z-index: 1;
}

/* ── Cards compétences : fond blanc solide, lisible sur tout fond ── */
.pres-benefice-card {
  background-color: var(--white);
  border: 1px solid var(--beige-fonce);
  border-radius: var(--radius-md);
  padding: var(--spacing-lg);
  transition: box-shadow var(--transition-normal), transform var(--transition-normal);
  display: flex;
  flex-direction: column;
}

/* Sur fond foncé : cards blanches, texte + SVG (currentColor) forcés en foncé */
.pres-benefices.bg-vert .pres-benefice-card,
.pres-benefices.bg-bordeaux .pres-benefice-card,
.pres-benefices.bg-noir .pres-benefice-card {
  background-color: var(--white);
  border-color: var(--white);
  color: var(--gris-texte);
}

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

.pres-benefice-card__icon {
  font-size: 2.5rem;
  margin-bottom: var(--spacing-md);
  min-height: 50px;
  display: flex;
  align-items: center;
}

.pres-benefice-card h3 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: var(--spacing-sm);
  color: var(--gris-texte);
}

.pres-benefice-card p {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--gris-doux);
}

.pres-pour-qui {
  background-color: var(--vert-pale);
  border: 2px solid var(--vert-moyen);
  border-left: 5px solid var(--orange);
  border-radius: var(--radius-md);
  padding: var(--spacing-xl) var(--spacing-lg);
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

/* Sur fond foncé : section "pour qui" en blanc avec bordure orange visible */
.pres-benefices.bg-vert .pres-pour-qui,
.pres-benefices.bg-bordeaux .pres-pour-qui,
.pres-benefices.bg-noir .pres-pour-qui {
  background-color: var(--white);
  border-color: var(--white);
  border-left-color: var(--orange);
  color: var(--gris-texte);
}
.pres-benefices.bg-vert .pres-pour-qui h3,
.pres-benefices.bg-vert .pres-pour-qui__texte,
.pres-benefices.bg-bordeaux .pres-pour-qui h3,
.pres-benefices.bg-bordeaux .pres-pour-qui__texte,
.pres-benefices.bg-noir .pres-pour-qui h3,
.pres-benefices.bg-noir .pres-pour-qui__texte {
  color: var(--gris-texte);
}

.pres-pour-qui__title {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: var(--spacing-md);
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
}

.pres-pour-qui__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: var(--spacing-md);
  list-style: none;
  padding: 0;
  margin: 0;
}

.pres-pour-qui__item {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  font-size: 0.9375rem;
}

.pres-pour-qui__item::before {
  content: '→';
  color: var(--orange);
  font-weight: 700;
  flex-shrink: 0;
}

/* Bénéfices Section - Responsive */
@media (max-width: 900px) {
  .pres-benefices__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .pres-benefices {
    padding: var(--spacing-xl) var(--spacing-md);
  }

  .pres-benefices__title {
    font-size: clamp(1.5rem, 4vw, 2rem);
    margin-bottom: var(--spacing-lg);
  }

  .pres-benefices__grid {
    grid-template-columns: 1fr;
    gap: var(--spacing-md);
  }

  .pres-pour-qui__list {
    grid-template-columns: 1fr;
  }
}

/* ============================================================================
   SESSIONS PRÉSENTIEL SECTION
   ========================================================================== */

/* Pas de background hardcodé : géré par bg-* */
.pres-sessions {
  padding: var(--spacing-2xl) var(--spacing-md);
}

/* ── Grille sessions : centrage automatique si 1 seule carte ── */
.pres-sessions__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: var(--spacing-lg);
  max-width: 1200px;
  margin: 0 auto;
}
/* Une seule session → on passe en flexbox pour centrer facilement */
.pres-sessions__grid:has(.pres-session-card:only-child) {
  display: flex;
  justify-content: center;
}
.pres-sessions__grid .pres-session-card:only-child {
  width: 100%;
  max-width: 420px;
}

.pres-session-card {
  background-color: var(--white);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  transition: all var(--transition-normal);
  display: flex;
  flex-direction: column;
}

.pres-session-card:hover:not(.pres-session-card--complet) {
  box-shadow: var(--shadow-lg);
  transform: translateY(-2px);
}

.pres-session-card__header {
  background-color: var(--vert-moyen);
  color: var(--white);
  padding: var(--spacing-md) var(--spacing-lg);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--spacing-md);
}

.pres-session-card__mois {
  font-size: 1.25rem;
  font-weight: 700;
  font-family: var(--font-title);
}

.pres-session-card__places {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: var(--spacing-xs) var(--spacing-sm);
  border-radius: var(--radius-sm);
  background-color: rgba(255, 255, 255, 0.2);
}

/* Places en urgence (rouge) */
.pres-session-card--urgence .pres-session-card__places {
  background-color: var(--bordeaux);
}

.pres-session-card__body {
  padding: var(--spacing-lg);
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
}

.pres-session-card__dates,
.pres-session-card__info {
  display: flex;
  align-items: center;
  gap: var(--spacing-sm);
  font-size: 0.875rem;
  color: var(--gris-texte);
}

.pres-session-card__dates svg,
.pres-session-card__info svg {
  flex-shrink: 0;
  color: var(--vert-moyen);
}

.pres-session-card__footer {
  padding: 0 var(--spacing-lg) var(--spacing-lg);
  text-align: center;
}

/* ── Bouton dans la session card : taille maîtrisée, centré ── */
.pres-session-card__footer .pres-btn-cta {
  display: inline-flex;
  width: auto;
  min-width: 0;
  max-width: 100%;
  padding: 0.75rem 2rem;
  font-size: 0.875rem;
}

.pres-session-card--complet {
  opacity: 0.6;
}

.pres-session-card--complet .pres-session-card__header {
  background-color: var(--gris-doux);
}

.pres-session-card--complet .pres-btn-cta--disabled {
  pointer-events: none;
  opacity: 0.5;
  background-color: var(--gris-doux);
  color: var(--white);
  display: inline-block;
  padding: var(--spacing-sm) var(--spacing-lg);
  border-radius: 50px;
  font-weight: 600;
  font-size: 0.875rem;
}

/* Sessions Section - Responsive */
@media (max-width: 600px) {
  .pres-sessions {
    padding: var(--spacing-xl) var(--spacing-md);
  }

  .pres-sessions__grid {
    grid-template-columns: 1fr;
  }
}

/* ============================================================================
   LIEU SECTION
   ========================================================================== */

/* Pas de background hardcodé : géré par bg-* */
.pres-lieu {
  padding: var(--spacing-2xl) var(--spacing-md);
}

/* ── Carte lieu : grid adaptatif photo / éditorial / actions ── */
.pres-lieu__card {
  background-color: var(--white);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  display: grid;
  grid-template-columns: 280px 1fr auto;
  max-width: 100%;
}

/* Sans photo : 2 colonnes seulement */
.pres-lieu__card--no-photo {
  grid-template-columns: 1fr auto;
}

.pres-lieu__photo {
  overflow: hidden;
  min-height: 240px;
}

.pres-lieu__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Carrousel dans la colonne photo du lieu */
.pres-lieu__photo .carrousel-wrapper {
  height: 100%;
  border-radius: 0;
}
.pres-lieu__photo .carrousel-slide img {
  height: 100%;
  min-height: 240px;
  object-fit: cover;
}
.pres-lieu__photo .carrousel-track-wrapper,
.pres-lieu__photo .carrousel-track,
.pres-lieu__photo .carrousel-slide {
  height: 100%;
}

.pres-lieu__editorial {
  padding: var(--spacing-lg);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.pres-lieu__eyebrow {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-weight: 700;
  color: var(--gris-doux);
  margin-bottom: var(--spacing-xs);
}

.pres-lieu__titre {
  font-family: var(--font-title);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--gris-texte);
  margin-bottom: var(--spacing-sm);
}

.pres-lieu__desc {
  font-size: 0.9375rem;
  color: var(--gris-doux);
  margin-bottom: var(--spacing-md);
  line-height: 1.7;
}

.pres-lieu__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-xs);
}

.pres-lieu__tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background-color: var(--vert-pale);
  color: var(--vert-fonce);
  padding: var(--spacing-xs) var(--spacing-sm);
  border-radius: var(--radius-sm);
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.pres-lieu__tag svg {
  flex-shrink: 0;
}

.pres-lieu__actions {
  background-color: var(--vert-pale);
  padding: var(--spacing-lg);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--spacing-md);
  min-width: 220px;
  max-width: 300px;
}

.pres-lieu__adresse {
  font-size: 0.875rem;
  color: var(--gris-texte);
  line-height: 1.6;
  font-style: normal;
  display: flex;
  align-items: flex-start;
  gap: var(--spacing-sm);
}

.pres-lieu__adresse svg {
  flex-shrink: 0;
  color: var(--vert-moyen);
  margin-top: 2px;
}

/* Lieu Section - Responsive */
@media (max-width: 900px) {
  .pres-lieu__card,
  .pres-lieu__card--no-photo {
    grid-template-columns: 1fr;
  }

  .pres-lieu__photo {
    min-height: 200px;
    max-height: 300px;
  }

  .pres-lieu__actions {
    max-width: none;
    flex-direction: row;
    gap: var(--spacing-sm);
  }
}

@media (max-width: 600px) {
  .pres-lieu {
    padding: var(--spacing-xl) var(--spacing-md);
  }

  .pres-lieu__photo {
    min-height: 180px;
    max-height: 250px;
  }

  .pres-lieu__actions {
    flex-direction: column;
  }
}

/* ============================================================================
   PROGRAMME ACCORDÉON SECTION
   ========================================================================== */

/* Pas de background hardcodé : géré par bg-* */
.pres-programme {
  padding: var(--spacing-2xl) var(--spacing-md);
}

/* ── Stats résumé du programme (ex: "21 heures · 21 modules") ── */
.pres-programme__stats {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-md) var(--spacing-lg);
  margin-bottom: var(--spacing-xl);
}

.pres-programme__stat {
  font-size: 0.9375rem;
  color: var(--gris-texte);
}

.pres-programme__stat strong {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--vert-fonce);
  margin-right: 4px;
}

.pres-accordion {
  list-style: none;
  padding: 0;
  margin: 0;
}

.pres-accordion__item {
  background-color: var(--white);
  border: 1px solid var(--beige-fonce);
  border-radius: var(--radius-md);
  margin-bottom: var(--spacing-md);
  overflow: hidden;
  transition: all var(--transition-normal);
}

.pres-accordion__item:hover {
  box-shadow: var(--shadow-md);
}

.pres-accordion__item.is-open .pres-accordion__header {
  background-color: var(--vert-pale);
  border-bottom-color: var(--vert-moyen);
}

.pres-accordion__item.is-open .pres-accordion__chevron {
  transform: rotate(180deg);
}

.pres-accordion__header {
  display: flex;
  align-items: center;
  gap: var(--spacing-lg);
  padding: var(--spacing-lg);
  cursor: pointer;
  background-color: var(--white);
  border: none;
  border-bottom: 2px solid transparent;
  width: 100%;
  text-align: left;
  transition: all var(--transition-fast);
  font-size: 1rem;
}

.pres-accordion__header:hover {
  background-color: #fafaf8;
}

.pres-accordion__num {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: var(--vert-moyen);
  color: var(--white);
  font-weight: 700;
  font-size: 1.125rem;
  min-width: 40px;
}

.pres-accordion__item.is-open .pres-accordion__num {
  background-color: var(--vert-fonce);
}

.pres-accordion__label-group {
  flex: 1;
}

.pres-accordion__label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--gris-doux);
  font-weight: 600;
  margin-bottom: var(--spacing-xs);
}

.pres-accordion__titre {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--gris-texte);
  margin-bottom: var(--spacing-xs);
}

.pres-accordion__meta {
  font-size: 0.875rem;
  color: var(--gris-doux);
}

.pres-accordion__chevron {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--vert-moyen);
  transition: transform var(--transition-fast);
  font-size: 1.25rem;
}

/* Le panel utilise l'attribut HTML "hidden" natif (display:none).
   Quand .is-open est ajouté par le JS, hidden est retiré → le panel s'affiche. */
.pres-accordion__panel {
  padding: var(--spacing-lg);
  background-color: #fafaf8;
  border-top: 1px solid var(--beige-fonce);
}

.pres-accordion__panel[hidden] {
  display: none;
}

.pres-accordion__intro {
  font-size: 0.9375rem;
  color: var(--gris-texte);
  margin-bottom: var(--spacing-lg);
  line-height: 1.7;
}

.pres-module-topics {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-md);
  list-style: none;
  padding: 0;
  margin: 0;
}

.pres-module-topics__item {
  font-size: 0.9375rem;
  color: var(--gris-texte);
  padding-left: var(--spacing-md);
  position: relative;
}

.pres-module-topics__item::before {
  content: '–';
  position: absolute;
  left: 0;
  color: var(--vert-moyen);
  font-weight: 700;
}

/* Programme Accordéon - Responsive */
@media (max-width: 900px) {
  .pres-module-topics {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .pres-programme {
    padding: var(--spacing-xl) var(--spacing-md);
  }

  .pres-programme__title {
    font-size: clamp(1.5rem, 4vw, 2rem);
    margin-bottom: var(--spacing-lg);
  }

  .pres-accordion__header {
    gap: var(--spacing-md);
    padding: var(--spacing-md);
  }

  .pres-accordion__titre {
    font-size: 1.0625rem;
  }

  .pres-accordion__num {
    width: 32px;
    height: 32px;
    font-size: 1rem;
  }

  .pres-accordion__content {
    padding: var(--spacing-md);
  }
}

/* ============================================================================
   CTA SECTION
   ========================================================================== */

/* Pas de background hardcodé : géré par bg-* */
.pres-cta {
  padding: var(--spacing-2xl) var(--spacing-md);
  text-align: center;
  position: relative;
  overflow: hidden;
}

/* Sur fond foncé : texte blanc (pas de décor ::before/::after) */
.pres-cta.bg-vert,
.pres-cta.bg-bordeaux,
.pres-cta.bg-noir { color: var(--white); }
.pres-cta.bg-vert .pres-cta__texte,
.pres-cta.bg-vert .pres-cta__texte *,
.pres-cta.bg-bordeaux .pres-cta__texte,
.pres-cta.bg-bordeaux .pres-cta__texte *,
.pres-cta.bg-noir .pres-cta__texte,
.pres-cta.bg-noir .pres-cta__texte * { color: var(--white); }

.pres-cta__inner {
  position: relative;
  z-index: 1;
  max-width: 600px;
  margin: 0 auto;
}

.pres-cta__title {
  font-family: var(--font-title);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 700;
  margin-bottom: var(--spacing-lg);
  line-height: 1.3;
}

.pres-cta__description {
  font-size: 1.0625rem;
  margin-bottom: var(--spacing-xl);
  line-height: 1.7;
  opacity: 0.95;
}

.pres-cta__button {
  display: inline-block;
}

/* CTA Section - Responsive */
@media (max-width: 600px) {
  .pres-cta {
    padding: var(--spacing-xl) var(--spacing-md);
  }

  .pres-cta__title {
    font-size: clamp(1.25rem, 3vw, 1.75rem);
    margin-bottom: var(--spacing-md);
  }

  .pres-cta__description {
    font-size: 1rem;
    margin-bottom: var(--spacing-lg);
  }
}

/* ============================================================================
   BUTTON STYLES
   ========================================================================== */

.pres-btn-cta,
.pres-btn-secondaire {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-sm);
  padding: var(--spacing-md) var(--spacing-xl);
  border-radius: 50px;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: all var(--transition-fast);
  font-family: var(--font-body);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  white-space: nowrap;
}

.pres-btn-cta {
  background-color: var(--orange);
  color: var(--white);
  box-shadow: 0 4px 12px rgba(205, 78, 16, 0.3);
}

.pres-btn-cta:hover {
  background-color: #b84108;
  box-shadow: 0 8px 20px rgba(205, 78, 16, 0.4);
  transform: translateY(-2px);
}

.pres-btn-cta:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(205, 78, 16, 0.3);
}

.pres-btn-secondaire {
  background-color: transparent;
  color: var(--vert-moyen);
  border: 2px solid var(--vert-moyen);
}

.pres-btn-secondaire:hover {
  background-color: var(--vert-pale);
  border-color: var(--vert-fonce);
  color: var(--vert-fonce);
}

.pres-btn-secondaire:active {
  background-color: var(--beige-fonce);
}

/* ── Dans la carte prix, le CTA secondaire : bouton outline discret ── */
.pres-prix-card .pres-btn-secondaire {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 0.75rem;
  padding: 0.6rem 1.25rem !important;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--gris-doux);
  background: transparent !important;
  border: 1.5px solid var(--beige-fonce) !important;
  border-radius: 50px;
  text-transform: none;
  letter-spacing: normal;
  text-decoration: none;
  box-shadow: none !important;
  cursor: pointer;
  transition: all var(--transition-fast);
}

.pres-prix-card .pres-btn-secondaire:hover {
  color: var(--vert-fonce);
  background: var(--vert-pale) !important;
  border-color: var(--vert-moyen) !important;
  text-decoration: none;
}

.pres-btn-cta:disabled,
.pres-btn-secondaire:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  box-shadow: none;
  transform: none;
}

.pres-btn-cta:disabled:hover,
.pres-btn-secondaire:disabled:hover {
  transform: none;
}

/* Button Block Variant */
.pres-btn-cta.is-block,
.pres-btn-secondaire.is-block {
  display: flex;
  width: 100%;
}

/* Small Button Variant */
.pres-btn-cta.is-small,
.pres-btn-secondaire.is-small {
  padding: var(--spacing-sm) var(--spacing-lg);
  font-size: 0.875rem;
}

/* Large Button Variant */
.pres-btn-cta.is-large,
.pres-btn-secondaire.is-large,
.pres-btn-cta--lg {
  padding: var(--spacing-lg) var(--spacing-2xl);
  font-size: 1.125rem;
}

/* ── Sous-texte CTA (garantie, etc.) ── */
.pres-cta__sous-texte {
  font-size: 0.8rem;
  color: var(--gris-doux);
  margin-top: var(--spacing-sm);
  opacity: 0.85;
}
.pres-cta.bg-vert .pres-cta__sous-texte,
.pres-cta.bg-bordeaux .pres-cta__sous-texte,
.pres-cta.bg-noir .pres-cta__sous-texte {
  color: rgba(255, 255, 255, 0.7);
}

/* ============================================================================
   UTILITY CLASSES
   ========================================================================== */

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

.pres-text-white {
  color: var(--white);
}

.pres-text-orange {
  color: var(--orange);
}

.pres-text-green {
  color: var(--vert-moyen);
}

.pres-text-dark {
  color: var(--vert-fonce);
}

.pres-flex {
  display: flex;
}

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

.pres-gap-sm {
  gap: var(--spacing-sm);
}

.pres-gap-md {
  gap: var(--spacing-md);
}

.pres-gap-lg {
  gap: var(--spacing-lg);
}

.pres-mt-md {
  margin-top: var(--spacing-md);
}

.pres-mt-lg {
  margin-top: var(--spacing-lg);
}

.pres-mb-md {
  margin-bottom: var(--spacing-md);
}

.pres-mb-lg {
  margin-bottom: var(--spacing-lg);
}

.pres-pt-lg {
  padding-top: var(--spacing-lg);
}

.pres-pt-xl {
  padding-top: var(--spacing-xl);
}

.pres-pb-lg {
  padding-bottom: var(--spacing-lg);
}

.pres-pb-xl {
  padding-bottom: var(--spacing-xl);
}

/* ============================================================================
   ACCESSIBILITY & PRINT
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
  .pres-btn-cta,
  .pres-btn-secondaire,
  .pres-session-card,
  .pres-benefice-card,
  .pres-accordion__panel,
  .pres-accordion__header {
    transition: none;
  }
}

@media print {
  .pres-urgence-bar,
  .pres-prix-card,
  .pres-cta__button {
    display: none;
  }

  .pres-hero__content {
    grid-template-columns: 1fr;
  }

  .pres-accordion__item.is-open .pres-accordion__panel {
    max-height: none;
  }
}

/* ============================================================================
   LEGACY SUPPORT - Fallback classes for existing components
   ========================================================================== */

.pres-woo-compat {
  /* Hide default WooCommerce elements if needed */
}

.pres-woo-compat .woocommerce-notices-wrapper {
  display: none;
}

.pres-woo-compat .related.products,
.pres-woo-compat .upsells.products {
  display: none;
}


/* ==========================================================================
   DISTANCIEL — Variables couleur (bleu nuit / bleu doux)
   ========================================================================== */

/* ==========================================================================
   PARTAGE — Video inline (hero + sidebar + blocs)
   ========================================================================== */

.hero-video-preview {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 1rem;
}
.hero-video-preview__thumb {
  position: relative;
  cursor: pointer;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 12px;
}
.hero-video-preview__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: opacity 0.2s;
}
.hero-video-preview__thumb:hover img {
  opacity: 0.7;
}
.hero-video-preview__play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 64px;
  height: 64px;
  background: rgba(255, 255, 255, 0.95);
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  transition: transform 0.2s;
}
.hero-video-preview__play:hover {
  transform: translate(-50%, -50%) scale(1.08);
}
.hero-video-preview__play svg {
  margin-left: 3px;
}
.hero-video-preview__label {
  position: absolute;
  top: 12px;
  left: 12px;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-size: 0.8rem;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 6px;
  z-index: 2;
  line-height: 1.3;
  max-width: 70%;
}

/* ==========================================================================
   PARTAGE — Sidebar medias (photo / video / temoignage)
   ========================================================================== */

.hero-sidebar-media {
  margin-top: 1rem;
}
.hero-sidebar-media--photo img {
  width: 100%;
  border-radius: 12px;
  display: block;
}
.hero-sidebar-media__caption {
  font-size: 0.8rem;
  color: #64748b;
  margin-top: 0.35rem;
}
.hero-sidebar-media--temoignage {
  background: #f8f8f8;
  border-radius: 12px;
  padding: 1.25rem;
}
.hero-sidebar-media__quote {
  font-style: italic;
  font-size: 0.9rem;
  line-height: 1.5;
  color: #2d3748;
  margin: 0 0 0.75rem 0;
}
.hero-sidebar-media__auteur {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.hero-sidebar-media__avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
}
.hero-sidebar-media__avatar--initials {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--dist-bleu-doux, #0c8568);
  color: #fff;
  font-size: 0.7rem;
  font-weight: 700;
}
.hero-sidebar-media__name {
  font-weight: 600;
  font-size: 0.85rem;
  display: block;
}
.hero-sidebar-media__role {
  font-size: 0.75rem;
  color: #64748b;
  display: block;
}
.hero-sidebar-media--shortcode {
  margin-top: 0.25rem;
  overflow: hidden;
  border-radius: 12px;
}
.hero-sidebar-media--shortcode .ti-widget,
.hero-sidebar-media--shortcode .ti-widget-container,
.hero-sidebar-media--shortcode .ti-reviews-container-wrapper {
  padding-top: 0.4rem !important;
  padding-bottom: 0.4rem !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.hero-sidebar-media--shortcode .ti-reviews-container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ==========================================================================
   DISTANCIEL — Variables et styles
   ========================================================================== */

:root {
  --dist-bleu-nuit: #003d2d;
  --dist-bleu-doux: #0c8568;
  --dist-bleu-pale: #e8f2ec;
}

/* ==========================================================================
   DISTANCIEL — Barre d'urgence
   ========================================================================== */

.dist-urgence-bar {
  background: var(--bordeaux, #7a1c2e);
  color: #fff;
  text-align: center;
  padding: 1rem 1.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  position: sticky;
  top: 0;
  z-index: 10;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
.dist-urgence-bar__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.dist-urgence-bar__badge {
  background: rgba(255, 255, 255, 0.2);
  padding: 2px 10px;
  border-radius: 3px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
}

/* ==========================================================================
   DISTANCIEL — Hero Section
   ========================================================================== */

.dist-hero {
  background: #fff;
  padding: 2.5rem 0 3rem;
}
.dist-hero__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
}
.dist-hero__inner {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 3rem;
  align-items: start;
}
@media (max-width: 900px) {
  .dist-hero__inner {
    grid-template-columns: 1fr;
  }
}

/* ── Eyebrow ── */
.dist-hero__eyebrow {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  color: var(--dist-bleu-doux);
  margin-bottom: 0.25rem;
  padding-left: 1.5rem;
  border-left: 4px solid var(--color-orange, #CD4E10);
}

/* ── Titre ── */
.dist-hero__title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  font-weight: 700;
  line-height: 1.15;
  color: var(--gris-texte, #2d3748);
  margin-top: 0;
  margin-bottom: 0.15rem;
}
.dist-hero__title,
.dist-hero__title p,
.dist-hero__title * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.dist-hero__title em {
  color: var(--dist-bleu-doux);
  font-style: normal;
}

/* ── Auteur ── */
.dist-hero__auteur {
  font-size: 1.05rem;
  color: #64748b;
  margin-top: 0.1rem;
  margin-bottom: 0.3rem;
}

/* ── Vidéo preview ── */
.dist-hero__video-preview {
  margin: 0.5rem 0;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  background: var(--dist-bleu-nuit);
}
.dist-hero__video-link {
  display: block;
  text-decoration: none;
}
.dist-hero__video-preview img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  display: block;
  opacity: 0.7;
  transition: opacity 0.3s;
}
.dist-hero__video-link:hover img {
  opacity: 0.85;
}
.dist-hero__video-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 64px;
  height: 64px;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  transition: transform 0.2s;
}
.dist-hero__video-link:hover .dist-hero__video-play {
  transform: translate(-50%, -50%) scale(1.08);
}
.dist-hero__video-play svg {
  margin-left: 3px;
}
.dist-hero__video-label {
  position: absolute;
  bottom: 12px;
  left: 12px;
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  padding: 0.3rem 0.75rem;
  border-radius: 4px;
  font-size: 0.8rem;
  font-weight: 600;
}

/* ── Accroche ── */
.dist-hero__accroche {
  background: var(--dist-bleu-pale);
  border-left: 5px solid var(--dist-bleu-doux);
  padding: 1rem 1.25rem;
  border-radius: 10px;
  margin: 0.5rem 0;
  font-size: 1rem;
  color: var(--dist-bleu-nuit);
  line-height: 1.6;
}

/* ── Stats pills ── */
.dist-hero__stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.625rem;
  margin-top: 0.5rem;
}
.dist-stat-pill {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: #f4f4f4;
  border: 1.5px solid #e2e8f0;
  border-radius: 5px;
  padding: 0.6rem 0.875rem;
  font-size: 0.8125rem;
  font-weight: 600;
}
.dist-stat-pill svg {
  flex-shrink: 0;
  color: var(--dist-bleu-doux);
}

/* ==========================================================================
   DISTANCIEL — Carte prix (sidebar)
   ========================================================================== */

.dist-prix-card {
  background: #fff;
  border-radius: 16px;
  padding: 0.8rem 1rem;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
  border: 2px solid #e2e8f0;
}
.dist-prix-card__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  background: var(--dist-bleu-doux);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.3rem 0.8rem;
  border-radius: 20px;
  margin-bottom: 0.25rem;
}
.dist-prix-card__montant {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  margin-bottom: 0;
}
.dist-prix-card__actuel {
  font-size: 3.8rem;
  font-weight: 700;
  color: var(--gris-texte, #2d3748);
  font-family: 'Playfair Display', serif;
}
.dist-prix-card__barre {
  font-size: 1.2rem;
  color: #94a3b8;
  text-decoration: line-through;
}
.dist-prix-card__economie {
  font-size: 0.85rem;
  color: #0c8568;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.dist-prix-card__infos {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
  padding: 0;
}
.dist-prix-card__infos li {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  font-size: 0.875rem;
}
.dist-prix-card__infos li strong {
  display: block;
  font-weight: 600;
}
.dist-prix-card__infos li span {
  color: #64748b;
  font-size: 0.8rem;
}
.dist-prix-card__infos li svg {
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--dist-bleu-doux);
}
.dist-prix-card__garantie {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8rem;
  color: #64748b;
  justify-content: center;
  margin-top: 0.5rem;
}

/* ── Boutons CTA ── */
.dist-btn-cta {
  display: block;
  width: 100%;
  padding: 1rem;
  background: var(--color-orange, #CD4E10) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  margin-bottom: 0.75rem;
  transition: opacity 0.2s;
}
.dist-btn-cta:hover {
  opacity: 0.9;
}
.dist-btn-secondaire {
  display: block;
  width: 100%;
  padding: 0.75rem;
  text-align: center;
  border: 2px solid var(--dist-bleu-doux);
  color: var(--dist-bleu-doux);
  border-radius: 10px;
  font-weight: 600;
  font-size: 0.9rem;
  text-decoration: none;
  margin-bottom: 0.75rem;
  transition: background 0.2s, color 0.2s;
}
.dist-btn-secondaire:hover {
  background: var(--dist-bleu-doux);
  color: #fff;
}

/* ==========================================================================
   DISTANCIEL — Témoignage sidebar
   ========================================================================== */

.dist-temoignage-sidebar {
  margin-top: 1rem;
  background: #f4f4f4;
  border-radius: 10px;
  padding: 1.25rem;
}
.dist-temoignage-sidebar__quote {
  font-size: 0.9rem;
  font-style: italic;
  color: var(--gris-texte, #2d3748);
  line-height: 1.6;
  margin-bottom: 0.75rem;
}
.dist-temoignage-sidebar__auteur {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.8rem;
}
.dist-temoignage-sidebar__avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
}
.dist-temoignage-sidebar__avatar--initials {
  background: var(--dist-bleu-pale);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: var(--dist-bleu-doux);
  font-size: 0.75rem;
}
.dist-temoignage-sidebar__name {
  font-weight: 600;
  display: block;
}
.dist-temoignage-sidebar__role {
  color: #64748b;
  display: block;
}

/* ==========================================================================
   DISTANCIEL — Couleurs de fond hero (mapping)
   ========================================================================== */

.dist-hero--beige       { background: #f5f0e8; }
.dist-hero--blanc       { background: #ffffff; }
.dist-hero--vert-pale   { background: #e8f2ec; }
.dist-hero--vert-fonce  { background: #003d2d; }
.dist-hero--vert-moyen  { background: #0c8568; }
.dist-hero--bordeaux    { background: #7a1c2e; }
.dist-hero--orange      { background: #CD4E10; }
.dist-hero--noir        { background: #1a1a2e; }
.dist-hero--gris-clair  { background: #f4f4f4; }
.dist-hero--gris-fonce  { background: #2d3748; }
.dist-hero--creme       { background: #faf5ef; }
.dist-hero--bleu-nuit   { background: var(--dist-bleu-nuit); }
.dist-hero--bleu-doux   { background: var(--dist-bleu-doux); }
.dist-hero--rose-pale   { background: #fde8e8; }

/* ── Texte clair (fond foncé) ── */
.dist-hero--text-light .dist-hero__eyebrow,
.dist-hero--text-light .dist-hero__title,
.dist-hero--text-light .dist-hero__auteur,
.dist-hero--text-light .dist-hero__accroche,
.dist-hero--text-light .dist-stat-pill {
  color: #fff;
}
.dist-hero--text-light .dist-hero__eyebrow {
  border-left-color: rgba(255, 255, 255, 0.5);
}
.dist-hero--text-light .dist-hero__accroche {
  background: rgba(255, 255, 255, 0.1);
  border-left-color: rgba(255, 255, 255, 0.3);
  color: rgba(255, 255, 255, 0.9);
}
.dist-hero--text-light .dist-stat-pill {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
}
.dist-hero--text-light .dist-stat-pill svg {
  color: rgba(255, 255, 255, 0.7);
}

/* ==========================================================================
   DISTANCIEL — Blocs flexibles
   ========================================================================== */

.dist-section {
  padding: 3rem 0;
}
.dist-section__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.5rem;
}
.dist-section__title {
  font-family: 'Playfair Display', serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--gris-texte, #2d3748);
  margin-bottom: 0.5rem;
}
.dist-section__subtitle {
  font-size: 1rem;
  color: #64748b;
  margin-bottom: 1.5rem;
}

/* ── Bloc Inclus ── */
.dist-inclus {
  background: #fff;
}
.dist-inclus__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
}
.dist-inclus__item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1.25rem;
  background: #f4f4f4;
  border-radius: 10px;
}
.dist-inclus__icon {
  width: 40px;
  height: 40px;
  background: var(--dist-bleu-pale);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--dist-bleu-doux);
}
.dist-inclus__text h4 {
  font-size: 0.95rem;
  font-weight: 700;
  margin-bottom: 0.2rem;
}
.dist-inclus__text p {
  font-size: 0.825rem;
  color: #64748b;
  margin: 0;
}

/* ── Bloc Modules ── */
.dist-modules {
  background: #f4f4f4;
}
.dist-modules__list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.dist-module-card {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  gap: 1rem;
  align-items: center;
  background: #fff;
  border-radius: 10px;
  padding: 1.25rem 1.5rem;
  border: 1px solid #e2e8f0;
}
@media (max-width: 600px) {
  .dist-module-card {
    grid-template-columns: 48px 1fr;
  }
  .dist-module-card__meta {
    grid-column: 1 / -1;
    flex-direction: row !important;
  }
}
.dist-module-card__num {
  width: 48px;
  height: 48px;
  background: var(--dist-bleu-doux);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  font-weight: 700;
  flex-shrink: 0;
}
.dist-module-card__content h4 {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.2rem;
}
.dist-module-card__content p {
  font-size: 0.875rem;
  color: #64748b;
  margin: 0;
}
.dist-module-card__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.3rem;
}
.dist-module-card__duree {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.8rem;
  color: #64748b;
  font-weight: 600;
}
.dist-module-card__duree svg {
  color: var(--dist-bleu-doux);
}
.dist-module-card__format {
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  background: var(--dist-bleu-pale);
  color: var(--dist-bleu-doux);
}
.dist-module-card__format--live {
  background: #fef3cd;
  color: #856404;
}
.dist-module-card__format--quiz {
  background: #d4edda;
  color: #155724;
}
.dist-module-card__format--exercice {
  background: #f8d7da;
  color: #721c24;
}

/* ── Bloc Formateur ── */
.dist-formateur {
  background: #fff;
}
.dist-formateur__card {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 2rem;
  align-items: start;
  background: #f4f4f4;
  border-radius: 15px;
  padding: 2rem;
}
@media (max-width: 700px) {
  .dist-formateur__card {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .dist-formateur__photo {
    justify-self: center;
  }
}
.dist-formateur__photo img {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  object-fit: cover;
}
.dist-formateur__nom {
  font-family: 'Playfair Display', serif;
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
}
.dist-formateur__titre {
  font-size: 1rem;
  color: var(--dist-bleu-doux);
  font-weight: 600;
  margin-bottom: 1rem;
}
.dist-formateur__bio {
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 1rem;
}
.dist-formateur__credentials {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.dist-formateur__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  background: var(--dist-bleu-pale);
  color: var(--dist-bleu-doux);
  padding: 0.35rem 0.75rem;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: 600;
}
.dist-formateur__badge svg {
  color: var(--dist-bleu-doux);
}

/* ── Bloc Témoignages ── */
.dist-temoignages {
  background: #f4f4f4;
}
.dist-temoignages__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.25rem;
}
.dist-temoignage-card {
  background: #fff;
  border-radius: 10px;
  padding: 1.5rem;
  border: 1px solid #e2e8f0;
}
.dist-temoignage-card__stars {
  color: #f5a524;
  font-size: 1rem;
  margin-bottom: 0.75rem;
  letter-spacing: 2px;
}
.dist-temoignage-card__quote {
  font-size: 0.9rem;
  font-style: italic;
  line-height: 1.6;
  margin-bottom: 1rem;
  color: var(--gris-texte, #2d3748);
}
.dist-temoignage-card__auteur {
  display: flex;
  flex-direction: column;
}
.dist-temoignage-card__name {
  font-weight: 600;
  font-size: 0.875rem;
}
.dist-temoignage-card__role {
  font-size: 0.8rem;
  color: #64748b;
}

/* ── Bloc FAQ ── */
.dist-faq {
  background: #fff;
}
.dist-faq__list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.dist-faq__item {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  overflow: hidden;
}
.dist-faq__question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.5rem;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 600;
  color: var(--gris-texte, #2d3748);
  text-align: left;
}
.dist-faq__question .accordion-chevron {
  transition: transform 0.3s;
  flex-shrink: 0;
  margin-left: 1rem;
}
.dist-faq__item.open .dist-faq__question .accordion-chevron {
  transform: rotate(180deg);
}
.dist-faq__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  padding: 0 1.5rem;
}
.dist-faq__item.open .dist-faq__answer {
  max-height: 500px;
  padding: 0 1.5rem 1.25rem;
}
.dist-faq__answer p {
  font-size: 0.95rem;
  line-height: 1.6;
  color: #64748b;
}

/* ── Bloc Plateforme / Process ── */
.dist-plateforme {
  background: var(--dist-bleu-nuit);
  color: #fff;
}
.dist-plateforme .dist-section__title {
  color: #fff;
}
.dist-plateforme__steps {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 1.5rem;
  margin-top: 1rem;
}
.dist-plateforme__step {
  text-align: center;
  padding: 1.5rem;
}
.dist-plateforme__step-num {
  width: 56px;
  height: 56px;
  background: #fff;
  color: var(--dist-bleu-nuit, #003d2d);
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  font-weight: 700;
  margin: 0 auto 1rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.dist-plateforme__step-content h4 {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  color: #fff;
}
.dist-plateforme__step-content p {
  font-size: 0.9rem;
  opacity: 0.9;
  line-height: 1.5;
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
}

/* ── Inversion texte sur fonds fonces (dist blocs) ── */
.dist-section.bg-bordeaux,
.dist-section.bg-vert,
.dist-section.bg-noir,
.dist-section.bg-bordeaux > .dist-section__inner,
.dist-section.bg-vert > .dist-section__inner,
.dist-section.bg-noir > .dist-section__inner {
  color: #fff;
}
.dist-section.bg-bordeaux > .dist-section__inner > h2,
.dist-section.bg-bordeaux > .dist-section__inner > h3,
.dist-section.bg-bordeaux > .dist-section__inner > h4,
.dist-section.bg-vert > .dist-section__inner > h2,
.dist-section.bg-vert > .dist-section__inner > h3,
.dist-section.bg-vert > .dist-section__inner > h4,
.dist-section.bg-noir > .dist-section__inner > h2,
.dist-section.bg-noir > .dist-section__inner > h3,
.dist-section.bg-noir > .dist-section__inner > h4,
.dist-section.bg-bordeaux > .dist-section__inner > .dist-section__title,
.dist-section.bg-vert > .dist-section__inner > .dist-section__title,
.dist-section.bg-noir > .dist-section__inner > .dist-section__title {
  color: #fff;
}

/* ── Reset texte fonce sur cartes a fond clair dans sections foncees ── */
.dist-section.bg-bordeaux .dist-formateur__card,
.dist-section.bg-vert .dist-formateur__card,
.dist-section.bg-noir .dist-formateur__card,
.dist-section.bg-bordeaux .dist-temoignage-card,
.dist-section.bg-vert .dist-temoignage-card,
.dist-section.bg-noir .dist-temoignage-card,
.dist-section.bg-bordeaux .dist-faq__item,
.dist-section.bg-vert .dist-faq__item,
.dist-section.bg-noir .dist-faq__item,
.dist-section.bg-bordeaux .dist-inclus__item,
.dist-section.bg-vert .dist-inclus__item,
.dist-section.bg-noir .dist-inclus__item {
  color: var(--gris-texte, #2d3748);
}
.dist-section.bg-bordeaux .dist-formateur__card h3,
.dist-section.bg-vert .dist-formateur__card h3,
.dist-section.bg-noir .dist-formateur__card h3,
.dist-section.bg-bordeaux .dist-formateur__nom,
.dist-section.bg-vert .dist-formateur__nom,
.dist-section.bg-noir .dist-formateur__nom {
  color: var(--gris-texte, #2d3748);
}
.dist-section.bg-bordeaux .dist-formateur__titre,
.dist-section.bg-vert .dist-formateur__titre,
.dist-section.bg-noir .dist-formateur__titre {
  color: var(--dist-bleu-doux);
}
.dist-section.bg-bordeaux .dist-formateur__bio,
.dist-section.bg-vert .dist-formateur__bio,
.dist-section.bg-noir .dist-formateur__bio {
  color: var(--gris-texte, #2d3748);
}
.dist-section.bg-bordeaux .dist-formateur__badge,
.dist-section.bg-vert .dist-formateur__badge,
.dist-section.bg-noir .dist-formateur__badge {
  background: var(--dist-bleu-pale);
  color: var(--dist-bleu-doux);
}
.dist-section.bg-bordeaux .dist-formateur__badge svg,
.dist-section.bg-vert .dist-formateur__badge svg,
.dist-section.bg-noir .dist-formateur__badge svg {
  color: var(--dist-bleu-doux);
}
.dist-section.bg-bordeaux .dist-temoignage-card__quote,
.dist-section.bg-vert .dist-temoignage-card__quote,
.dist-section.bg-noir .dist-temoignage-card__quote {
  color: var(--gris-texte, #2d3748);
}
.dist-section.bg-bordeaux .dist-temoignage-card__name,
.dist-section.bg-vert .dist-temoignage-card__name,
.dist-section.bg-noir .dist-temoignage-card__name {
  color: var(--gris-texte, #2d3748);
}
.dist-section.bg-bordeaux .dist-temoignage-card__role,
.dist-section.bg-vert .dist-temoignage-card__role,
.dist-section.bg-noir .dist-temoignage-card__role {
  color: #64748b;
}
.dist-section.bg-bordeaux .dist-faq__question,
.dist-section.bg-vert .dist-faq__question,
.dist-section.bg-noir .dist-faq__question {
  color: var(--gris-texte, #2d3748);
}
.dist-section.bg-bordeaux .dist-faq__answer,
.dist-section.bg-vert .dist-faq__answer,
.dist-section.bg-noir .dist-faq__answer,
.dist-section.bg-bordeaux .dist-faq__answer p,
.dist-section.bg-vert .dist-faq__answer p,
.dist-section.bg-noir .dist-faq__answer p {
  color: #64748b;
}

/* ==========================================================================
   DISTANCIEL — Responsive
   ========================================================================== */

@media (max-width: 900px) {
  .dist-section__inner {
    padding: 2rem 1rem;
  }
  .dist-hero__sidebar {
    position: relative;
  }
  .dist-temoignages__grid {
    grid-template-columns: 1fr;
  }
  .dist-plateforme__steps {
    grid-template-columns: 1fr;
  }
  .dist-inclus__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .dist-section__inner {
    padding: 1.5rem 0.75rem;
  }
  .dist-section__title {
    font-size: 1.4rem;
  }
  .dist-hero__stats {
    grid-template-columns: 1fr;
  }
  .dist-hero__video-preview img {
    max-height: 200px;
  }
  .dist-prix-card {
    padding: 1.25rem !important;
  }
  .dist-prix-card__actuel {
    font-size: 2.8rem;
  }
  .dist-btn-cta {
    font-size: 0.95rem;
    padding: 0.875rem 1.5rem;
  }
  .dist-inclus__grid {
    grid-template-columns: 1fr;
  }
  .dist-faq__question {
    padding: 1rem;
    font-size: 0.95rem;
  }
  .dist-plateforme__step {
    padding: 1rem;
  }
  .dist-urgence-bar {
    font-size: 0.8rem;
    padding: 0.5rem;
  }
}

/* ============================================================================
   EXUVIE — Page Formations (listing) — rework mockup avril 2026
   ----------------------------------------------------------------------------
   Prefix : .exuvie-fl-  (formations listing)
   Scope  : applique uniquement sous .exuvie-fl-page (template page-formations.php)
   Charte : vert #003d2d / accent #0c8568 / orange #CD4E10
   ============================================================================ */

.exuvie-fl-page,
.exuvie-fl-listing {
  --exfl-green-primary: #003d2d;
  --exfl-green-accent:  #0c8568;
  --exfl-green-light:   #eaf4ea;
  --exfl-orange-cta:    #CD4E10;
  --exfl-orange-hover:  #b04309;
  --exfl-heading:       #2D3748;
  --exfl-body:          #4A5568;
  --exfl-muted:         #718096;
  --exfl-bg-soft:       #F7FAFC;
  --exfl-bg-warm:       #faf8f3;
  --exfl-border:        #e2e8f0;
  --exfl-radius-card:   8px;
  --exfl-radius-btn:    3px;
  --exfl-shadow-sm:     0 1px 2px rgba(0,0,0,.04);
  --exfl-shadow-md:     0 4px 12px rgba(0,0,0,.06);
  --exfl-shadow-lg:     0 12px 32px rgba(0,61,45,.10);
}

.exuvie-fl-page {
  color: var(--exfl-body);
  line-height: 1.6;
}

.exuvie-fl-page *,
.exuvie-fl-page *::before,
.exuvie-fl-page *::after,
.exuvie-fl-listing *,
.exuvie-fl-listing *::before,
.exuvie-fl-listing *::after { box-sizing: border-box; }

.exuvie-fl-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

/* ---------- Boutons ---------- */
.exuvie-fl-btn {
  display: inline-block;
  border: none;
  cursor: pointer;
  font-family: inherit;
  text-decoration: none;
  border-radius: var(--exfl-radius-btn);
  transition: background .2s, border-color .2s, color .2s, transform .1s;
}
.exuvie-fl-btn--primary {
  background: var(--exfl-orange-cta);
  color: #fff !important;
  padding: 14px 28px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .5px;
}
.exuvie-fl-btn--primary:hover { background: var(--exfl-orange-hover); }
.exuvie-fl-btn--primary:active { transform: translateY(1px); }
.exuvie-fl-btn--secondary {
  color: var(--exfl-green-primary) !important;
  padding: 14px 20px;
  font-size: 14px;
  font-weight: 500;
  border-bottom: 2px solid transparent;
  background: transparent;
}
.exuvie-fl-btn--secondary:hover { border-bottom-color: var(--exfl-green-accent); }

/* ---------- HERO ---------- */
.exuvie-fl-hero {
  background: linear-gradient(180deg, var(--exfl-bg-warm) 0%, #ffffff 100%);
  padding: 64px 0 72px;
  border-bottom: 1px solid var(--exfl-border);
}
.exuvie-fl-hero__grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 56px;
  align-items: center;
}
.exuvie-fl-hero__eyebrow {
  display: inline-block;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--exfl-green-accent);
  font-weight: 600;
  margin-bottom: 16px;
}
.exuvie-fl-hero__title {
  font-size: 48px;
  line-height: 1.15;
  color: var(--exfl-green-primary);
  margin: 0 0 20px;
  font-weight: 600;
}
.exuvie-fl-hero__title em {
  font-style: italic;
  color: var(--exfl-green-accent);
  font-weight: 500;
}
.exuvie-fl-hero__lead {
  font-size: 18px;
  color: var(--exfl-body);
  margin: 0 0 28px;
  max-width: 520px;
}
.exuvie-fl-hero__stats {
  display: flex;
  gap: 32px;
  margin: 0 0 32px;
  padding: 20px 0;
  border-top: 1px solid var(--exfl-border);
  border-bottom: 1px solid var(--exfl-border);
}
.exuvie-fl-hero__stat-num {
  font-size: 28px;
  font-weight: 700;
  color: var(--exfl-green-primary);
  display: block;
  line-height: 1;
}
.exuvie-fl-hero__stat-label {
  font-size: 12px;
  color: var(--exfl-muted);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-top: 4px;
  display: block;
}
.exuvie-fl-hero__ctas {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}
.exuvie-fl-hero__trust {
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  gap: 20px;
  font-size: 13px;
  color: var(--exfl-muted);
  flex-wrap: wrap;
}
.exuvie-fl-hero__trust li {
  display: flex;
  align-items: center;
  gap: 6px;
}
.exuvie-fl-hero__trust li::before {
  content: "✓";
  color: var(--exfl-green-accent);
  font-weight: 700;
}
.exuvie-fl-hero__visual {
  aspect-ratio: 4 / 3;
  border-radius: var(--exfl-radius-card);
  box-shadow: var(--exfl-shadow-lg);
  overflow: hidden;
  background: linear-gradient(135deg, #d4e3d4 0%, #b8d4b8 100%);
}
.exuvie-fl-hero__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.exuvie-fl-hero__visual.is-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--exfl-green-primary);
  font-size: 14px;
  font-style: italic;
  position: relative;
}
.exuvie-fl-hero__visual.is-placeholder::after {
  content: "Ajoutez une image a la une sur la page Formations";
  text-align: center;
  padding: 0 20px;
  opacity: .55;
}

/* ---------- Section head ---------- */
.exuvie-fl-section-head {
  text-align: center;
  margin: 80px 0 40px;
}
.exuvie-fl-section-head h2 {
  font-size: 36px;
  color: var(--exfl-green-primary);
  margin: 0 0 12px;
  font-weight: 600;
}
.exuvie-fl-section-head p {
  color: var(--exfl-body);
  max-width: 640px;
  margin: 0 auto;
  font-size: 16px;
}

/* ---------- Filtres pills ---------- */
.exuvie-fl-filters {
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 0 48px;
}
.exuvie-fl-pill {
  padding: 8px 18px;
  border: 1px solid var(--exfl-border);
  border-radius: 999px;
  font-size: 14px;
  color: var(--exfl-body);
  background: #fff;
  cursor: pointer;
  font-family: inherit;
  transition: all .2s;
}
.exuvie-fl-pill:hover {
  border-color: var(--exfl-green-accent);
  color: var(--exfl-green-primary);
}
.exuvie-fl-pill.is-active {
  background: var(--exfl-green-primary);
  color: #fff;
  border-color: var(--exfl-green-primary);
}

/* ---------- Badges ---------- */
.exuvie-fl-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 3px;
  line-height: 1.4;
  box-shadow: var(--exfl-shadow-sm);
}
.exuvie-fl-badge--level {
  background: var(--exfl-green-primary);
  color: #fff;
}
.exuvie-fl-badge--students {
  background: rgba(255,255,255,.95);
  color: var(--exfl-green-primary);
  border-radius: 999px;
  text-transform: none;
  letter-spacing: 0;
  font-size: 12px;
  padding: 4px 12px;
}
.exuvie-fl-badge--students-muted {
  background: var(--exfl-muted);
  color: #fff;
  border-radius: 999px;
  text-transform: none;
  letter-spacing: 0;
  font-size: 12px;
  padding: 4px 12px;
}
.exuvie-fl-badge--soon {
  background: #fef3c7;
  color: #92400e;
  border: 1px solid #fcd34d;
  box-shadow: none;
}
.exuvie-fl-badge--bestseller {
  background: var(--exfl-orange-cta);
  color: #fff;
}
.exuvie-fl-badge--promo {
  background: var(--exfl-orange-cta);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.2px;
  padding: 5px 12px;
  border-radius: 3px;
  box-shadow: 0 2px 8px rgba(205,78,16,.35);
}
.exuvie-fl-card__image .exuvie-fl-badge--promo,
.exuvie-fl-featured__image .exuvie-fl-badge--promo {
  position: absolute !important;
  bottom: 12px !important;
  right: 12px !important;
  top: auto !important;
  left: auto !important;
  z-index: 3 !important;
}
.exuvie-fl-badge--presentiel {
  background: var(--exfl-green-accent);
  color: #fff;
  text-transform: none;
  letter-spacing: .3px;
  font-size: 12px;
  padding: 5px 10px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  box-shadow: 0 2px 6px rgba(12,133,104,.25);
}

/* ---------- Card / Featured présentiel — différenciation visuelle ---------- */
.exuvie-fl-card.is-presentiel {
  border-top: 3px solid var(--exfl-green-accent);
}
.exuvie-fl-featured.is-presentiel {
  border-top: 3px solid var(--exfl-green-accent);
}
.exuvie-fl-card.is-presentiel .exuvie-fl-badge--presentiel,
.exuvie-fl-featured.is-presentiel .exuvie-fl-badge--presentiel {
  position: absolute;
  bottom: 12px;
  left: 12px;
  z-index: 2;
}

/* ---------- Featured (formation phare) ---------- */
.exuvie-fl-featured {
  position: relative;
  background: #fff;
  border: 1px solid var(--exfl-border);
  border-left: 4px solid var(--exfl-green-accent);
  border-radius: var(--exfl-radius-card);
  overflow: hidden;
  box-shadow: var(--exfl-shadow-md);
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  margin-bottom: 48px;
  transition: box-shadow .2s, transform .2s;
}
.exuvie-fl-featured:hover {
  box-shadow: var(--exfl-shadow-lg);
}
.exuvie-fl-featured__cover-link {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.exuvie-fl-featured__image {
  position: relative;
  aspect-ratio: 16 / 10;
  background: linear-gradient(135deg, #c8dcc8 0%, #a8c4a8 100%);
  overflow: hidden;
}
.exuvie-fl-featured__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.exuvie-fl-featured__image .exuvie-fl-badge--bestseller {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 2 !important;
}
.exuvie-fl-featured__image .exuvie-fl-badge--students {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 2 !important;
}
.exuvie-fl-featured.is-presentiel .exuvie-fl-featured__image .exuvie-fl-badge--presentiel {
  position: absolute !important;
  bottom: 16px !important;
  left: 16px !important;
  top: auto !important;
  right: auto !important;
  z-index: 2 !important;
}
.exuvie-fl-featured__image {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  overflow: hidden !important;
}
.exuvie-fl-featured__content {
  padding: 36px 40px;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
}
.exuvie-fl-featured__badges {
  margin-bottom: 14px;
}
.exuvie-fl-featured__title {
  font-size: 28px;
  color: var(--exfl-green-primary);
  margin: 0 0 8px;
  line-height: 1.25;
  font-weight: 600;
}
.exuvie-fl-featured__author {
  font-size: 14px;
  color: var(--exfl-green-accent);
  margin: 0 0 14px;
  font-style: italic;
}
.exuvie-fl-featured__tagline {
  font-size: 16px;
  color: var(--exfl-body);
  margin: 0 0 20px;
  font-style: italic;
  line-height: 1.55;
}
.exuvie-fl-featured__meta {
  font-size: 13px;
  color: var(--exfl-muted);
  margin: 0 0 24px;
  padding-top: 16px;
  border-top: 1px solid var(--exfl-border);
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.exuvie-fl-featured__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--exfl-muted);
}
.exuvie-fl-featured__meta-item svg {
  color: var(--exfl-green-accent);
}
.exuvie-fl-featured__cta-row {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: auto;
  position: relative;
  z-index: 3;
}
.exuvie-fl-featured__price {
  font-size: 22px;
  color: var(--exfl-green-primary);
  font-weight: 700;
}
.exuvie-fl-featured__price .woocommerce-Price-amount {
  font-size: 22px;
}
.exuvie-fl-featured__price del { opacity: .55; font-size: 16px; margin-right: 8px; }

/* ---------- Grille cartes ---------- */
.exuvie-fl-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-bottom: 80px;
}
.exuvie-fl-grid--cols-2 { grid-template-columns: repeat(2, 1fr); }
.exuvie-fl-grid--cols-4 { grid-template-columns: repeat(4, 1fr); gap: 20px; }
.exuvie-fl-card {
  position: relative;
  background: #fff;
  border: 1px solid var(--exfl-border);
  border-radius: var(--exfl-radius-card);
  overflow: hidden;
  transition: transform .2s, box-shadow .2s;
  display: flex;
  flex-direction: column;
}
.exuvie-fl-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--exfl-shadow-md);
}
.exuvie-fl-card__cover-link {
  position: absolute;
  inset: 0;
  z-index: 1;
}
/* Defense contre les overlays hover Kadence Blocks (flash noir sur cartes en home/widget) */
.exuvie-fl-card__cover-link,
.exuvie-fl-card__cover-link:hover,
.exuvie-fl-card__cover-link:focus,
.exuvie-fl-card__cover-link:active,
.exuvie-fl-featured__cover-link,
.exuvie-fl-featured__cover-link:hover,
.exuvie-fl-featured__cover-link:focus,
.exuvie-fl-featured__cover-link:active {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: transparent !important;
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
  border: none !important;
  opacity: 1 !important;
}
.exuvie-fl-card__cover-link::before,
.exuvie-fl-card__cover-link::after,
.exuvie-fl-featured__cover-link::before,
.exuvie-fl-featured__cover-link::after {
  display: none !important;
  content: none !important;
  background: transparent !important;
}
/* Anti-effet zoom-in image au hover (au cas ou Kadence imageoverlay l'applique) */
.exuvie-fl-card img,
.exuvie-fl-featured img {
  transition: none !important;
}
.exuvie-fl-card:hover img,
.exuvie-fl-featured:hover img {
  transform: none !important;
}
.exuvie-fl-card__image {
  position: relative;
  aspect-ratio: 16 / 10;
  background: linear-gradient(135deg, #d4e3d4 0%, #b8d4b8 100%);
  overflow: hidden;
}
.exuvie-fl-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.exuvie-fl-card__image .exuvie-fl-badge--level,
.exuvie-fl-card__image .exuvie-fl-badge--soon {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 2 !important;
}
.exuvie-fl-card__image .exuvie-fl-badge--students,
.exuvie-fl-card__image .exuvie-fl-badge--students-muted {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 2 !important;
}
.exuvie-fl-card.is-presentiel .exuvie-fl-card__image .exuvie-fl-badge--presentiel {
  position: absolute !important;
  bottom: 12px !important;
  left: 12px !important;
  top: auto !important;
  right: auto !important;
  z-index: 2 !important;
}
/* Structure carte verrouillee (defense contre les overrides Kadence Blocks sur mobile) */
.exuvie-fl-card {
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
}
.exuvie-fl-card__image {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  overflow: hidden !important;
}
.exuvie-fl-card__body {
  padding: 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
}
.exuvie-fl-card__tags {
  font-size: 11px;
  color: var(--exfl-muted);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0 0 8px;
}
.exuvie-fl-card__title {
  font-size: 20px;
  color: var(--exfl-green-primary);
  margin: 0 0 8px;
  line-height: 1.3;
  font-weight: 600;
}
.exuvie-fl-card__author {
  font-size: 13px;
  color: var(--exfl-green-accent);
  margin: 0 0 12px;
  font-style: italic;
}
.exuvie-fl-card__tagline {
  font-size: 14px;
  color: var(--exfl-body);
  line-height: 1.5;
  margin: 0 0 16px;
  flex: 1;
}
.exuvie-fl-card__meta {
  font-size: 12px;
  color: var(--exfl-muted);
  margin-bottom: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--exfl-border);
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.exuvie-fl-card__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--exfl-muted);
}
.exuvie-fl-card__meta-item svg {
  color: var(--exfl-green-accent);
}
.exuvie-fl-card__link {
  display: inline-block;
  align-self: flex-start;
  background: var(--exfl-orange-cta);
  color: #fff !important;
  padding: 10px 22px;
  border-radius: var(--exfl-radius-btn);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .5px;
  text-transform: uppercase;
  text-decoration: none;
  transition: background .2s, transform .1s;
  position: relative;
  z-index: 3;
}
.exuvie-fl-card__link:hover { background: var(--exfl-orange-hover); }
.exuvie-fl-card__link:active { transform: translateY(1px); }

/* ---------- Carte reportée ---------- */
.exuvie-fl-card.is-reportee {
  opacity: .65;
}
.exuvie-fl-card.is-reportee:hover {
  opacity: 1;
}
.exuvie-fl-card.is-reportee .exuvie-fl-card__image {
  filter: grayscale(.4);
}

/* ---------- Bloc réassurance ---------- */
.exuvie-fl-reassurance {
  background: var(--exfl-bg-warm);
  padding: 56px 0;
  margin-top: 0;
}
.exuvie-fl-reassurance__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
}
.exuvie-fl-reassurance__icon {
  width: 48px;
  height: 48px;
  margin: 0 auto 12px;
  background: var(--exfl-green-light);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--exfl-green-primary);
  font-size: 22px;
}
.exuvie-fl-reassurance__title {
  font-size: 15px;
  color: var(--exfl-green-primary);
  margin: 0 0 4px;
  font-weight: 600;
}
.exuvie-fl-reassurance__text {
  font-size: 13px;
  color: var(--exfl-muted);
  margin: 0;
}

/* ---------- Empty state ---------- */
.exuvie-fl-empty {
  text-align: center;
  padding: 60px 20px;
  color: var(--exfl-muted);
  font-style: italic;
}

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
  .exuvie-fl-hero__grid { grid-template-columns: 1fr; gap: 32px; }
  .exuvie-fl-hero__title { font-size: 36px; }
  .exuvie-fl-featured { grid-template-columns: 1fr; }
  .exuvie-fl-featured__image { aspect-ratio: 16 / 9; }
  .exuvie-fl-grid { grid-template-columns: repeat(2, 1fr); }
  .exuvie-fl-reassurance__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .exuvie-fl-hero { padding: 40px 0; }
  .exuvie-fl-hero__title { font-size: 28px; }
  .exuvie-fl-hero__stats { gap: 16px; }
  .exuvie-fl-hero__stat-num { font-size: 22px; }
  .exuvie-fl-grid { grid-template-columns: 1fr; }
  .exuvie-fl-featured__content { padding: 24px; }
  .exuvie-fl-featured__title { font-size: 22px; }
  .exuvie-fl-section-head { margin: 56px 0 32px; }
  .exuvie-fl-section-head h2 { font-size: 28px; }
}
