/*
 * Programmation des volets — socle partagé
 * Santé et bien-être / Éducation / Emploi
 * Refactor V4.10 : règles mutualisées, identités via variables CSS.
 */

/* ==========================================================
   PROGRAMMATION — SANTÉ ET BIEN-ÊTRE
   HERO + SECTION INTRODUCTIVE
   ========================================================== */

:is(.sb-programmation-page, .ee-programmation-page, .ec-programmation-page) {
    --volet-yellow:  var(--volet-primary);
    --volet-hero-yellow-pale:  #FFF3D6;
    --volet-navy:  #0F172A;
    --volet-body:  #475569;
    --volet-soft-blue:  #F0F7F9;
    --volet-soft-cream:  #FFF9EF;
    --volet-border:  #F2E7D0;
}

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

:is(.sb-programmation-hero, .ee-programmation-hero, .ec-programmation-hero) {
    position:  relative;
    isolation:  isolate;
    overflow:  hidden;
    width:  100%;
    margin:  0;
    padding:  44px 0 !important;
    background:  var(--volet-primary);
}

/*
 * Filigrane abstrait du volet CE.
 */

:is(.sb-programmation-hero, .ee-programmation-hero, .ec-programmation-hero)::before {
    content:  "";
    position:  absolute;
    z-index:  -1;
    top:  50%;
    right:  clamp(2rem, 9vw, 11rem);
    width:  clamp(300px, 31vw, 540px);
    aspect-ratio:  1 / 1;
    background: 
        var(--volet-shape)
        center / contain no-repeat;
    filter:  brightness(0) invert(1);
    opacity:  .26;
    transform: 
        translateY(-50%)
        rotate(-7deg);
    pointer-events:  none;
}

/* ==========================================================
   FIL D'ARIANE
   ========================================================== */

:is(.sb-programmation-hero__breadcrumb, .ee-programmation-hero__breadcrumb, .ec-programmation-hero__breadcrumb) {
    margin:  0 0 18px;
}

/* Fil d’Ariane — blanc sur le jaune officiel */

:is(.sb-programmation-hero__breadcrumb, .ee-programmation-hero__breadcrumb, .ec-programmation-hero__breadcrumb),
:is(.sb-programmation-hero__breadcrumb, .ee-programmation-hero__breadcrumb, .ec-programmation-hero__breadcrumb) a,
:is(.sb-programmation-hero__breadcrumb, .ee-programmation-hero__breadcrumb, .ec-programmation-hero__breadcrumb) span,
:is(.sb-programmation-hero__breadcrumb, .ee-programmation-hero__breadcrumb, .ec-programmation-hero__breadcrumb) i {
    color:  #fff;
}

:is(.sb-programmation-hero__breadcrumb, .ee-programmation-hero__breadcrumb, .ec-programmation-hero__breadcrumb) a {
    opacity:  .88;
}

:is(.sb-programmation-hero__breadcrumb, .ee-programmation-hero__breadcrumb, .ec-programmation-hero__breadcrumb) .breadcrumb__sep {
    opacity:  .5;
}

/* ==========================================================
   CONTENU HERO
   ========================================================== */

:is(.sb-programmation-hero__content, .ee-programmation-hero__content, .ec-programmation-hero__content) {
    position:  relative;
    z-index:  1;
    max-width:  none;
    width: 100%;
}

:is(.sb-programmation-hero__title, .ee-programmation-hero__title, .ec-programmation-hero__title) {
    margin:  0;
    color:  #fff;
    font-size:  clamp(2.15rem, 2.8vw, 3rem);
    font-weight:  700;
    line-height:  1.06;
    letter-spacing:  -.035em;
}

:is(.sb-programmation-hero__subtitle, .ee-programmation-hero__subtitle, .ec-programmation-hero__subtitle) {
    margin:  6px 0 0;
    color:  #fff;
    font-size:  clamp(1.22rem, 1.55vw, 1.58rem);
    font-weight:  400;
    line-height:  1.2;
}

:is(.sb-programmation-hero__accent, .ee-programmation-hero__accent, .ec-programmation-hero__accent) {
    display:  block;
    width:  58px;
    height:  4px;
    margin-top:  22px;
    border-radius:  999px;
    background:  #fff;
}

:is(.sb-programmation-hero__lead, .ee-programmation-hero__lead, .ec-programmation-hero__lead) {
    max-width:  none;
    width:  100%;
    margin:  22px 0 0;
    color:  #fff;
    font-size:  clamp(.96rem, 1vw, 1.05rem);
    line-height:  1.5;
}

/* ==========================================================
   MAIN — SECTION INTRODUCTIVE
   ========================================================== */

:is(.sb-programmation-intro, .ee-programmation-intro, .ec-programmation-intro) {
    padding:  64px 0 70px;
    background:  #fff;
}

:is(.sb-programmation-intro__grid, .ee-programmation-intro__grid, .ec-programmation-intro__grid) {
    display:  grid;
    grid-template-columns:  repeat(2, minmax(0, 1fr));
    gap:  clamp(52px, 6vw, 88px);
    align-items:  start;
}

/* ----- Colonne gauche ----- */

:is(.sb-programmation-intro__kicker, .ee-programmation-intro__kicker, .ec-programmation-intro__kicker) {
    display:  inline-block;
    margin:  0 0 14px;
    color:  var(--volet-yellow);
    font-size:  .78rem;
    font-weight:  700;
    line-height:  1.2;
    letter-spacing:  .11em;
    text-transform:  uppercase;
}

:is(.sb-programmation-intro__title, .ee-programmation-intro__title, .ec-programmation-intro__title) {
    max-width:  560px;
    margin:  0 0 28px;
    color:  var(--volet-navy);
    font-size:  clamp(1.55rem, 1.9vw, 1.85rem);
    font-weight:  650;
    line-height:  1.2;
    letter-spacing:  -.018em;
}

:is(.sb-programmation-intro__text, .ee-programmation-intro__text, .ec-programmation-intro__text) {
    max-width:  650px;
}

:is(.sb-programmation-intro__text, .ee-programmation-intro__text, .ec-programmation-intro__text) p {
    margin:  0 0 17px;
    color:  var(--volet-body);
    font-size:  .95rem;
    line-height:  1.68;
}

:is(.sb-programmation-intro__text, .ee-programmation-intro__text, .ec-programmation-intro__text) p:last-child {
    margin-bottom:  0;
}

:is(.sb-programmation-intro__text, .ee-programmation-intro__text, .ec-programmation-intro__text) strong {
    color:  var(--volet-navy);
    font-weight:  650;
}

/* ==========================================================
   COLONNE DROITE — APPROCHE
   ========================================================== */

:is(.sb-programmation-focus, .ee-programmation-focus, .ec-programmation-focus) {
    margin:  0;
    padding:  0;
    background:  transparent;
    border:  0;
    border-radius:  0;
}

:is(.sb-programmation-focus__lead, .ee-programmation-focus__lead, .ec-programmation-focus__lead) {
    max-width:  620px;
    margin:  0 0 22px;
    color:  var(--volet-navy);
    font-size:  .95rem;
    font-weight:  700;
    line-height:  1.55;
}

:is(.sb-programmation-focus__items, .ee-programmation-focus__items, .ec-programmation-focus__items) {
    margin:  0;
    padding:  0;
    border-top:  1px solid var(--volet-yellow);
}

:is(.sb-programmation-focus__item, .ee-programmation-focus__item, .ec-programmation-focus__item) {
    margin:  0;
    padding:  16px 0;
    color:  var(--volet-body);
    font-size:  .92rem;
    line-height:  1.55;
    border-bottom:  1px solid var(--volet-yellow);
}

/* ==========================================================
   MAIN — RÔLE DE L’ACTION COLLECTIVE
   ========================================================== */

:is(.sb-action-section, .ee-action-section, .ec-action-section) {
    padding:  0 0 48px;
    background:  #fff;
}

:is(.sb-action-band, .ee-action-band, .ec-action-band) {
    position:  relative;
    overflow:  hidden;
    padding:  30px 38px 30px 42px;
    background:  var(--volet-soft-accent);
    border:  0;
    border-left:  5px solid var(--volet-yellow);
    border-radius:  4px;
}

:is(.sb-action-band, .ee-action-band, .ec-action-band)::after {
    content:  "";
    position:  absolute;
    top:  50%;
    right:  -85px;
    width:  285px;
    aspect-ratio:  1 / 1;
    background:  var(--volet-shape)
                center / contain no-repeat;
    opacity:  .07;
    transform:  translateY(-50%) rotate(-5deg);
    pointer-events:  none;
}

:is(.sb-action-band__title, .ee-action-band__title, .ec-action-band__title),
:is(.sb-action-band__text, .ee-action-band__text, .ec-action-band__text) {
    position:  relative;
    z-index:  1;
}

:is(.sb-action-band__title, .ee-action-band__title, .ec-action-band__title) {
    max-width:  860px;
    margin:  0 0 10px;
    color:  var(--volet-yellow);
    font-size:  .78rem;
    font-weight:  700;
    line-height:  1.2;
    letter-spacing:  .11em;
    text-transform:  uppercase;
}

:is(.sb-action-band__text, .ee-action-band__text, .ec-action-band__text) {
    max-width:  1080px;
    margin:  0;
    color:  var(--volet-body);
    font-size:  .92rem;
    line-height:  1.62;
}

/* ==========================================================
   MAIN — AXES DE RECHERCHE
   ========================================================== */

:is(.sb-axes-section, .ee-axes-section, .ec-axes-section) {
    padding:  6px 0 78px;
    background:  #fff;
}

:is(.sb-axes-section__header, .ee-axes-section__header, .ec-axes-section__header) {
    margin-bottom:  30px;
}

:is(.sb-axes-section__kicker, .ee-axes-section__kicker, .ec-axes-section__kicker) {
    margin:  0 0 10px;
    color:  var(--volet-yellow);
    font-size:  .78rem;
    font-weight:  700;
    line-height:  1.2;
    letter-spacing:  .11em;
    text-transform:  uppercase;
}

:is(.sb-axes-section__title, .ee-axes-section__title, .ec-axes-section__title) {
    margin:  0;
    color:  var(--volet-navy);
    font-size:  clamp(1.65rem, 2.05vw, 1.95rem);
    font-weight:  650;
    line-height:  1.2;
    letter-spacing:  -.018em;
}

:is(.sb-axes-section__intro, .ee-axes-section__intro, .ec-axes-section__intro) {
    margin:  12px 0 0;
    color:  var(--volet-body);
    font-size:  .95rem;
    line-height:  1.6;
}

:is(.sb-axes-list, .ee-axes-list, .ec-axes-list) {
    display:  grid;
    gap:  14px;
}

/* ----------------------------------------------------------
   Carte d’un axe
   ---------------------------------------------------------- */

:is(.sb-axis-card, .ee-axis-card, .ec-axis-card) {
    position:  relative;
    overflow:  hidden;
    background:  #fff;
    border:  1px solid #E2E8F0;
    border-radius:  14px;
    box-shadow:  0 5px 18px rgba(15, 23, 42, .035);
}

/* Bande latérale de l’axe — s’étend sur toute la hauteur de la carte */

:is(.sb-axis-card, .ee-axis-card, .ec-axis-card)::before {
    content:  "";
    position:  absolute;
    inset:  0 auto 0 0;
    width:  84px;
    background:  var(--volet-soft-accent);
    pointer-events:  none;
}

:is(.sb-axis-card__summary-row, .ee-axis-card__summary-row, .ec-axis-card__summary-row) {
    position:  relative;
    z-index:  1;
    display:  grid;
    grid-template-columns:  84px minmax(0, 1fr) 38px;
    gap:  24px;
    align-items:  start;
    padding:  24px 26px 24px 0;
}

/* Zone numérotation — remplace visuellement les photos */

:is(.sb-axis-card__number, .ee-axis-card__number, .ec-axis-card__number) {
    min-height:  100%;
    display:  flex;
    align-items:  center;
    justify-content:  center;
    align-self:  stretch;
    margin:  -24px 0;
    background:  transparent;
    color:  #fff;
    font-size:  .94rem;
    font-weight:  800;
}

:is(.sb-axis-card__number, .ee-axis-card__number, .ec-axis-card__number)::before {
    content:  "";
    position:  absolute;
    width:  48px;
    height:  48px;
    border-radius:  50%;
    background:  var(--volet-yellow);
    z-index:  0;
}

:is(.sb-axis-card__number, .ee-axis-card__number, .ec-axis-card__number) {
    position:  relative;
    z-index:  1;
}

:is(.sb-axis-card__number, .ee-axis-card__number, .ec-axis-card__number) {
    isolation:  isolate;
}

:is(.sb-axis-card__number, .ee-axis-card__number, .ec-axis-card__number)::before {
    z-index:  -1;
}

/* Texte */

:is(.sb-axis-card__content, .ee-axis-card__content, .ec-axis-card__content) {
    min-width:  0;
}

:is(.sb-axis-card__title, .ee-axis-card__title, .ec-axis-card__title) {
    margin:  0 0 7px;
    color:  var(--volet-navy);
    font-size:  1.05rem;
    font-weight:  700;
    line-height:  1.32;
}

:is(.sb-axis-card__summary, .ee-axis-card__summary, .ec-axis-card__summary) {
    margin:  0 0 10px;
    color:  var(--volet-body);
    font-size:  .91rem;
    line-height:  1.55;
}

:is(.sb-axis-card__link, .ee-axis-card__link, .ec-axis-card__link) {
    display:  inline-flex;
    align-items:  center;
    gap:  8px;
    color:  var(--volet-navy);
    text-decoration:  none;
    font-size:  .84rem;
    font-weight:  700;
}

:is(.sb-axis-card__link, .ee-axis-card__link, .ec-axis-card__link):hover,
:is(.sb-axis-card__link, .ee-axis-card__link, .ec-axis-card__link):focus-visible {
    color:  var(--volet-yellow);
}

:is(.sb-axis-card__link, .ee-axis-card__link, .ec-axis-card__link) i {
    transition:  transform .2s ease;
}

:is(.sb-axis-card__link, .ee-axis-card__link, .ec-axis-card__link):hover i {
    transform:  translateX(3px);
}

/* Bouton + / - */

:is(.sb-axis-card__toggle, .ee-axis-card__toggle, .ec-axis-card__toggle) {
    width:  34px;
    height:  34px;
    display:  inline-flex;
    align-items:  center;
    justify-content:  center;
    padding:  0;
    background:  #fff;
    border:  1px solid var(--volet-yellow);
    border-radius:  50%;
    color:  var(--volet-yellow);
    cursor:  pointer;
    transition: 
        background-color .2s ease,
        border-color .2s ease,
        color .2s ease;
}

:is(.sb-axis-card__toggle, .ee-axis-card__toggle, .ec-axis-card__toggle) i {
    display:  block;
    line-height:  1;
    margin:  0;
}

/* + et − : même traitement au repos; remplissage uniquement au survol */

:is(.sb-axis-card__toggle, .ee-axis-card__toggle, .ec-axis-card__toggle)[aria-expanded="true"],
:is(.sb-axis-card__toggle, .ee-axis-card__toggle, .ec-axis-card__toggle)[aria-expanded="false"] {
    background:  #fff;
    border-color:  var(--volet-yellow);
    color:  var(--volet-yellow);
}

:is(.sb-axis-card__toggle, .ee-axis-card__toggle, .ec-axis-card__toggle):hover,
:is(.sb-axis-card__toggle, .ee-axis-card__toggle, .ec-axis-card__toggle)[aria-expanded="true"]:hover,
:is(.sb-axis-card__toggle, .ee-axis-card__toggle, .ec-axis-card__toggle)[aria-expanded="false"]:hover {
    background:  var(--volet-yellow);
    border-color:  var(--volet-yellow);
    color:  #fff;
}

/* Détail ouvert */

:is(.sb-axis-card__details, .ee-axis-card__details, .ec-axis-card__details) {
    position:  relative;
    z-index:  1;
    margin:  0 26px 24px 108px;
    padding:  22px 0 0;
    border-top:  1px solid #E2E8F0;
}

:is(.sb-axis-card__details, .ee-axis-card__details, .ec-axis-card__details) p {
    margin:  0 0 15px;
    color:  var(--volet-body);
    font-size:  .92rem;
    line-height:  1.66;
}

:is(.sb-axis-card__details, .ee-axis-card__details, .ec-axis-card__details) ul {
    margin:  0;
    padding-left:  20px;
}

:is(.sb-axis-card__details, .ee-axis-card__details, .ec-axis-card__details) li {
    margin-bottom:  9px;
    color:  var(--volet-body);
    font-size:  .92rem;
    line-height:  1.6;
}

:is(.sb-axis-card__details, .ee-axis-card__details, .ec-axis-card__details) li::marker {
    color:  var(--volet-yellow);
}

/* ==========================================================
   AXES — RESPONSIVE
   ========================================================== */

@media (max-width: 767.98px) {
:is(.sb-axis-card, .ee-axis-card, .ec-axis-card)::before {
    width:  62px;
}

:is(.sb-axes-section, .ee-axes-section, .ec-axes-section) {
    padding-bottom:  58px;
}

:is(.sb-axis-card__summary-row, .ee-axis-card__summary-row, .ec-axis-card__summary-row) {
    grid-template-columns:  62px minmax(0, 1fr);
    gap:  18px;
    padding:  22px 20px 22px 0;
}

:is(.sb-axis-card__number, .ee-axis-card__number, .ec-axis-card__number) {
    margin:  -22px 0;
}

:is(.sb-axis-card__number, .ee-axis-card__number, .ec-axis-card__number)::before {
    width:  44px;
    height:  44px;
}

:is(.sb-axis-card__toggle, .ee-axis-card__toggle, .ec-axis-card__toggle) {
    grid-column:  2;
    justify-self:  start;
}

:is(.sb-axis-card__details, .ee-axis-card__details, .ec-axis-card__details) {
    margin:  0 20px 22px;
}
}

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

@media (max-width: 991.98px) {
:is(.sb-programmation-hero, .ee-programmation-hero, .ec-programmation-hero)::before {
    right:  -60px;
    width:  360px;
    opacity:  .22;
}

:is(.sb-programmation-hero__content, .ee-programmation-hero__content, .ec-programmation-hero__content) {
    max-width:  600px;
}

:is(.sb-programmation-intro__grid, .ee-programmation-intro__grid, .ec-programmation-intro__grid) {
    grid-template-columns:  1fr;
    gap:  44px;
}

:is(.sb-programmation-intro__text, .ee-programmation-intro__text, .ec-programmation-intro__text),
    :is(.sb-programmation-focus__lead, .ee-programmation-focus__lead, .ec-programmation-focus__lead) {
    max-width:  none;
}
}

@media (max-width: 575.98px) {
:is(.sb-programmation-hero, .ee-programmation-hero, .ec-programmation-hero) {
    padding:  44px 0;
}

:is(.sb-programmation-hero, .ee-programmation-hero, .ec-programmation-hero)::before {
    right:  -120px;
    width:  310px;
    opacity:  .18;
}

:is(.sb-programmation-hero__breadcrumb, .ee-programmation-hero__breadcrumb, .ec-programmation-hero__breadcrumb) {
    margin-bottom:  16px;
}

:is(.sb-programmation-hero__title, .ee-programmation-hero__title, .ec-programmation-hero__title) {
    font-size:  2rem;
}

:is(.sb-programmation-hero__subtitle, .ee-programmation-hero__subtitle, .ec-programmation-hero__subtitle) {
    font-size:  1.16rem;
}

:is(.sb-programmation-hero__accent, .ee-programmation-hero__accent, .ec-programmation-hero__accent),
    :is(.sb-programmation-hero__lead, .ee-programmation-hero__lead, .ec-programmation-hero__lead) {
    margin-top:  18px;
}

:is(.sb-programmation-intro, .ee-programmation-intro, .ec-programmation-intro) {
    padding:  48px 0 54px;
}

:is(.sb-programmation-intro__grid, .ee-programmation-intro__grid, .ec-programmation-intro__grid) {
    gap:  38px;
}

:is(.sb-programmation-intro__title, .ee-programmation-intro__title, .ec-programmation-intro__title) {
    margin-bottom:  22px;
    font-size:  1.4rem;
}

:is(.sb-programmation-intro__kicker, .ee-programmation-intro__kicker, .ec-programmation-intro__kicker) {
    margin-bottom:  12px;
}

:is(.sb-programmation-focus__item, .ee-programmation-focus__item, .ec-programmation-focus__item) {
    padding:  15px 0 16px;
}

:is(.sb-action-section, .ee-action-section, .ec-action-section) {
    padding-bottom:  42px;
}

:is(.sb-action-band, .ee-action-band, .ec-action-band) {
    padding:  25px 24px 25px 28px;
    border-left-width:  4px;
}

:is(.sb-action-band, .ee-action-band, .ec-action-band)::after {
    right:  -110px;
    width:  225px;
    opacity:  .055;
}
}

/* ==========================================================
   V9 — OVERRIDE PRIORITAIRE : RÔLE DE L’ACTION COLLECTIVE
   Sélecteurs volontairement plus spécifiques pour éviter
   qu'une règle globale du thème écrase cette proposition.
   ========================================================== */

main#main-content section:is(.sb-action-section, .ee-action-section, .ec-action-section) {
    padding:  0 0 48px  !important;
    background:  #fff  !important;
}

main#main-content section:is(.sb-action-section, .ee-action-section, .ec-action-section) > .container-custom > :is(.sb-action-band, .ee-action-band, .ec-action-band) {
    position:  relative  !important;
    overflow:  hidden  !important;
    padding:  30px 210px 30px 38px  !important;
    background:  var(--volet-soft-accent)  !important;
    border:  0  !important;
    border-left:  6px solid var(--volet-primary)  !important;
    border-radius:  4px  !important;
    box-shadow:  none  !important;
}

main#main-content section:is(.sb-action-section, .ee-action-section, .ec-action-section) > .container-custom > :is(.sb-action-band, .ee-action-band, .ec-action-band)::after {
    content:  ""  !important;
    display:  block  !important;
    position:  absolute  !important;
    top:  50%  !important;
    right:  -62px  !important;
    width:  250px  !important;
    height:  250px  !important;
    background-image:  var(--volet-shape)  !important;
    background-repeat:  no-repeat  !important;
    background-position:  center  !important;
    background-size:  contain  !important;
    opacity:  .08  !important;
    transform:  translateY(-50%) rotate(-5deg)  !important;
    pointer-events:  none  !important;
}

main#main-content section:is(.sb-action-section, .ee-action-section, .ec-action-section) :is(.sb-action-band__title, .ee-action-band__title, .ec-action-band__title),
main#main-content section:is(.sb-action-section, .ee-action-section, .ec-action-section) :is(.sb-action-band__text, .ee-action-band__text, .ec-action-band__text) {
    position:  relative  !important;
    z-index:  2  !important;
}

main#main-content section:is(.sb-action-section, .ee-action-section, .ec-action-section) :is(.sb-action-band__title, .ee-action-band__title, .ec-action-band__title) {
    margin:  0 0 10px  !important;
    color:  var(--volet-primary)  !important;
    font-size:  .78rem  !important;
    font-weight:  700  !important;
    line-height:  1.2  !important;
    letter-spacing:  .11em  !important;
    text-transform:  uppercase  !important;
}

main#main-content section:is(.sb-action-section, .ee-action-section, .ec-action-section) :is(.sb-action-band__text, .ee-action-band__text, .ec-action-band__text) {
    max-width:  1040px  !important;
    margin:  0  !important;
    color:  var(--volet-body)  !important;
    font-size:  .92rem  !important;
    line-height:  1.62  !important;
}

@media (max-width: 767.98px) {
main#main-content section:is(.sb-action-section, .ee-action-section, .ec-action-section) > .container-custom > :is(.sb-action-band, .ee-action-band, .ec-action-band) {
    padding:  25px 28px  !important;
    border-left-width:  5px  !important;
}

main#main-content section:is(.sb-action-section, .ee-action-section, .ec-action-section) > .container-custom > :is(.sb-action-band, .ee-action-band, .ec-action-band)::after {
    right:  -105px  !important;
    width:  210px  !important;
    height:  210px  !important;
    opacity:  .05  !important;
}
}

/* ==========================================================
   FIN DE PAGE — EXPLORER LE VOLET — PLEINE LARGEUR
   ========================================================== */

:is(.sb-explore-section, .ee-explore-section, .ec-explore-section) {
    margin-top:  78px;
    padding:  clamp(62px, 6vw, 86px) 0;
    background:  var(--volet-primary);
}

:is(.sb-explore-layout, .ee-explore-layout, .ec-explore-layout) {
    display:  grid;
    grid-template-columns:  minmax(0, .9fr) minmax(480px, 1.1fr);
    gap:  clamp(54px, 7vw, 100px);
    align-items:  center;
}

:is(.sb-explore-copy, .ee-explore-copy, .ec-explore-copy) {
    max-width:  650px;
}

:is(.sb-explore-heading, .ee-explore-heading, .ec-explore-heading) {
    display:  flex;
    align-items:  center;
    gap:  clamp(22px, 2.5vw, 34px);
}

:is(.sb-explore-heading-copy, .ee-explore-heading-copy, .ec-explore-heading-copy) {
    min-width:  0;
}

:is(.sb-explore-compass, .ee-explore-compass, .ec-explore-compass) {
    width:  92px;
    height:  92px;
    flex:  0 0 92px;
    display:  inline-flex;
    align-items:  center;
    justify-content:  center;
    border:  2px solid var(--volet-primary);
    border-radius:  50%;
    background:  #fff;
    color:  var(--volet-primary);
    box-shadow:  0 8px 24px rgba(71, 84, 21, .08);
}

:is(.sb-explore-compass, .ee-explore-compass, .ec-explore-compass) i {
    font-size:  2.25rem;
    line-height:  1;
}

:is(.sb-explore-kicker, .ee-explore-kicker, .ec-explore-kicker) {
    margin:  0 0 10px;
    color:  #fff;
    font-size:  .78rem;
    font-weight:  700;
    line-height:  1.2;
    letter-spacing:  .11em;
    text-transform:  uppercase;
}

:is(.sb-explore-title, .ee-explore-title, .ec-explore-title) {
    margin:  0 0 14px;
    color:  #fff;
    font-size:  clamp(1.8rem, 2.5vw, 2.45rem);
    font-weight:  700;
    line-height:  1.12;
    letter-spacing:  -.02em;
}

:is(.sb-explore-text, .ee-explore-text, .ec-explore-text) {
    max-width:  570px;
    margin:  0;
    color:  #fff;
    font-size:  1rem;
    line-height:  1.65;
}

:is(.sb-explore-links, .ee-explore-links, .ec-explore-links) {
    display:  grid;
    grid-template-columns:  repeat(2, minmax(0, 1fr));
    gap:  14px;
}

:is(.sb-explore-link, .ee-explore-link, .ec-explore-link) {
    min-height:  56px;
    height:  56px;
    display:  flex;
    align-items:  center;
    justify-content:  space-between;
    gap:  18px;
    padding:  12px 20px;
    background:  var(--volet-primary);
    border:  2px solid #fff;
    border-radius:  10px;
    color:  #fff;
    text-decoration:  none;
    font-size:  .94rem;
    font-weight:  700;
    line-height:  1.3;
    box-shadow:  none;
    transition:  transform .2s ease, box-shadow .2s ease;
}

:is(.sb-explore-link, .ee-explore-link, .ec-explore-link):hover,
:is(.sb-explore-link, .ee-explore-link, .ec-explore-link):focus-visible {
    color:  #fff;
    background:  var(--volet-primary);
    border-color:  #fff;
    transform:  translateY(-2px);
    box-shadow:  0 8px 18px rgba(71, 84, 21, .16);
}

:is(.sb-explore-link, .ee-explore-link, .ec-explore-link) i {
    flex:  0 0 auto;
    color:  #fff;
    font-size:  1.05rem;
    transition:  transform .2s ease;
}

:is(.sb-explore-link, .ee-explore-link, .ec-explore-link):hover i,
:is(.sb-explore-link, .ee-explore-link, .ec-explore-link):focus-visible i {
    transform:  translateX(5px);
}

@media (max-width: 991.98px) {
:is(.sb-explore-layout, .ee-explore-layout, .ec-explore-layout) {
    grid-template-columns:  1fr;
    gap:  36px;
}

:is(.sb-explore-copy, .ee-explore-copy, .ec-explore-copy) {
    max-width:  700px;
}
}

@media (max-width: 767.98px) {
:is(.sb-explore-heading, .ee-explore-heading, .ec-explore-heading) {
    align-items:  flex-start;
}

:is(.sb-explore-compass, .ee-explore-compass, .ec-explore-compass) {
    width:  76px;
    height:  76px;
    flex-basis:  76px;
}

:is(.sb-explore-compass, .ee-explore-compass, .ec-explore-compass) i {
    font-size:  1.9rem;
}
}

@media (max-width: 575.98px) {
:is(.sb-explore-section, .ee-explore-section, .ec-explore-section) {
    margin-top:  58px;
    padding:  52px 0;
}

:is(.sb-explore-heading, .ee-explore-heading, .ec-explore-heading) {
    display:  block;
}

:is(.sb-explore-compass, .ee-explore-compass, .ec-explore-compass) {
    margin-bottom:  22px;
}

:is(.sb-explore-links, .ee-explore-links, .ec-explore-links) {
    grid-template-columns:  1fr;
}

:is(.sb-explore-link, .ee-explore-link, .ec-explore-link) {
    min-height:  56px;
    height:  56px;
}
}

/* Santé et Bien-être — contraste sur le vert officiel */

:is(.sb-programmation-hero__breadcrumb, .ee-programmation-hero__breadcrumb, .ec-programmation-hero__breadcrumb),
:is(.sb-programmation-hero__breadcrumb, .ee-programmation-hero__breadcrumb, .ec-programmation-hero__breadcrumb) a,
:is(.sb-programmation-hero__breadcrumb, .ee-programmation-hero__breadcrumb, .ec-programmation-hero__breadcrumb) span,
:is(.sb-programmation-hero__breadcrumb, .ee-programmation-hero__breadcrumb, .ec-programmation-hero__breadcrumb) i,
:is(.sb-programmation-hero__title, .ee-programmation-hero__title, .ec-programmation-hero__title),
:is(.sb-programmation-hero__subtitle, .ee-programmation-hero__subtitle, .ec-programmation-hero__subtitle),
:is(.sb-programmation-hero__lead, .ee-programmation-hero__lead, .ec-programmation-hero__lead) {
    color:  #FFFFFF  !important;
}

:is(.sb-programmation-hero__accent, .ee-programmation-hero__accent, .ec-programmation-hero__accent) {
    background:  #FFFFFF  !important;
}

:is(.sb-explore-kicker, .ee-explore-kicker, .ec-explore-kicker), :is(.sb-explore-title, .ee-explore-title, .ec-explore-title), :is(.sb-explore-text, .ee-explore-text, .ec-explore-text) {
    color:  #FFFFFF  !important;
}

:is(.sb-explore-link, .ee-explore-link, .ec-explore-link) {
    color:  #FFFFFF;
    border-color:  #FFFFFF;
}

:is(.sb-explore-link, .ee-explore-link, .ec-explore-link):hover, :is(.sb-explore-link, .ee-explore-link, .ec-explore-link):focus-visible {
    color:  #FFFFFF;
    border-color:  #FFFFFF;
    background:  var(--volet-primary);
}

:is(.sb-explore-link, .ee-explore-link, .ec-explore-link) i {
    color:  #FFFFFF;
}

:is(.sb-explore-compass, .ee-explore-compass, .ec-explore-compass) {
    border-color:  #FFFFFF;
    color:  var(--volet-primary);
    background:  #FFFFFF;
}
