/*
Theme Name: wayinside
Description: 
Version: 1.1
Author: FC
Author URI: https://www.fabricecourt.com
Template: bcnco
*/

/*habillage*/
b, strong {font-weight: 600!important}
p, ul, ul li, ol, ol li {font-weight: 400!important;font-size: 15px!important}

/*Menu*/
#rmp_menu_trigger-4650 .responsive-menu-pro-inner, #rmp_menu_trigger-4650 .responsive-menu-pro-inner::before, #rmp_menu_trigger-4650 .responsive-menu-pro-inner::after {background-color: #f6bf00!important}
#rmp-menu-4650 ul li {font-size: 14px!important;list-style:none;padding-left: 0rem!important;padding-inline-start: 0px!important;list-style: none;line-height: 40px;}
#rmp-menu-4650 li {list-style: none;text-transform:uppercase;line-height: 40px;margin-left:10px;font-weight:bold!important}
#rmp-menu-4650 ul a {padding-left: 0rem;font-weight:500!important}
#rmp-menu-4650 {padding-left:20px!important}
.rmp-menu-subarrow {display: none}
ul.rmp-submenu.rmp-submenu-depth-1 {padding: 0}
@media screen and (max-width: 1260px){
#rmp-container-4650 {background-color: #fffffff0!important;background-image:none!important}
}

/*printMenu*/
.buttonprint .printfriendly.pf-button.pf-alignright {margin-top: 30px}
.buttonprint .printfriendly.pf-button.pf-alignright, .buttonprint .printfriendly.pf-button.pf-alignright a {float: right!important;text-decoration: none;color: #00a0af;background-color: #f7f7f7;padding: 2px 10px;border-radius: 10px;}
.date-modif {padding-top: 20px;text-transform: uppercase;font-size:12px!important}

/*Gravity forms*/
p.gform_required_legend {display: none!important}

/*video*/
.parcours-methode .btn-video, .formation-methode .btn-video {background: rgb(0 0 0 / 30%) no-repeat center!important}

/*page suppression titre prerequis*/
.parcours-prerequis h3 {display: none!important}
.parcours-prerequis h2 {color: #00a0af; font-weight: 700;font-size: 20px; text-transform:uppercase; letter-spacing:2px}


/* ============================================================
   REFONTE PAGE FORMATION (single-formations.php)
   Palette extraite de la maquette :
   - Bleu petrole fonce : #0d3b4a (titres, prix)
   - Teal bouton        : #00666f
   - Ambre CTA          : #e9ad0f (hover #f6bf00)
   - Bande foncee       : #004750
   - Fond carte         : #f5f6f6
   ============================================================ */

:root {
    --wi-ink: #0d3b4a;
    --wi-hero-dark: #004a51; /* #00a1af assombri (~55%), meme teinte */
    --wi-teal: #00666f;
    --wi-teal-site: #00a0af;
    --wi-gold: #e9ad0f;
    --wi-gold-hover: #f6bf00;
    --wi-dark: #004750;
    --wi-card: #f5f6f6;
    --wi-radius: 12px;
}

/* ---------- Boutons ---------- */
.wi-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 26px;
    border-radius: 50rem;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px;
    text-decoration: none !important;
    transition: all .25s ease-in-out;
    border: 2px solid transparent;
    line-height: 1.2;
    text-align: center;
}
.wi-btn-gold {
    background-color: var(--wi-gold);
    color: #fff !important;
}
.wi-btn-gold:hover {
    background-color: var(--wi-gold-hover);
    color: #fff !important;
    transform: translateY(-2px);
}
.wi-btn-teal {
    background-color: var(--wi-teal);
    color: #fff !important;
}
.wi-btn-teal:hover {
    background-color: var(--wi-teal-site);
    color: #fff !important;
    transform: translateY(-2px);
}
.wi-btn-ghost {
    background-color: rgba(255, 255, 255, .15);
    border-color: #fff;
    color: #fff !important;
}
.wi-btn-ghost:hover {
    background-color: transparent;
    border-color: rgba(255, 255, 255, .7);
    color: #fff !important;
}
.wi-btn-block {
    display: flex;
    width: 100%;
}

/* ---------- Hero ---------- */
.wi-hero {
    position: relative;
    background-size: cover;
    background-position: center;
}
.wi-hero .wi-hero-overlay {
    position: absolute;
    inset: 0;
    /* Overlay allege : le texte reste lisible a gauche, l'image respire a droite */
    background: linear-gradient(90deg, rgba(0, 74, 81, .86) 0%, rgba(0, 74, 81, .62) 45%, rgba(0, 74, 81, .12) 100%);
    z-index: 1;
}
/* on neutralise le degrade bas du theme parent */
.wi-hero .page-header-container-inner {
    background: none !important;
}
.wi-hero-container {
    position: relative;
    z-index: 2;
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.wi-hero-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    align-items: center;
}
@media (min-width: 992px) {
    .wi-hero-container {
        padding-top: 4.5rem;
        padding-bottom: 4.5rem;
    }
    .wi-hero-grid {
        grid-template-columns: minmax(0, 1fr) 340px;
        gap: 3rem;
    }
}

.wi-hero-title {
    color: #fff;
    font-weight: 700 !important;
    letter-spacing: -.01em;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .35);
}

.wi-hero-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 20px 0 0;
}
.wi-hero-chips li {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 14px;
    border-radius: 50rem;
    background-color: rgba(255, 255, 255, .14);
    backdrop-filter: blur(3px);
    border: 1px solid rgba(255, 255, 255, .25);
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.2;
}
.wi-hero-chips li::before {
    content: none !important;
}
.wi-hero-chips li svg {
    flex-shrink: 0;
    color: var(--wi-gold-hover);
}

/* Mots-clefs remontes du descriptif : chips plus discretes, sans icone */
.wi-hero-keywords {
    margin-top: 16px;
}
.wi-hero-keywords li {
    padding: 5px 13px;
    font-size: 12px !important;
    letter-spacing: .3px;
    background-color: rgba(255, 255, 255, .1);
    border-color: rgba(255, 255, 255, .2);
}

.wi-hero-satisfaction {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 20px;
}
.wi-stars {
    display: inline-flex;
    gap: 3px;
}
.wi-stars svg.is-full {
    fill: var(--wi-gold-hover);
}
.wi-stars svg.is-empty {
    fill: transparent;
    stroke: var(--wi-gold-hover);
    stroke-width: 1px;
}
.wi-satisfaction-txt {
    display: flex;
    flex-direction: column;
    color: #fff;
    line-height: 1.3;
}
.wi-satisfaction-txt strong {
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    font-weight: 700 !important;
}
.wi-satisfaction-txt small {
    font-size: 11px;
    opacity: .8;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.wi-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 26px;
}

.wi-hero-certif-logo {
    margin-top: 24px;
}
.wi-hero-certif-logo img {
    max-width: 120px;
    height: auto;
    background: #fff;
    border-radius: 8px;
    padding: 6px;
}

/* ---------- Carte session (hero) ---------- */
.wi-session-card {
    position: relative;
    background-color: #fff;
    border-radius: var(--wi-radius);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .28);
    padding: 26px 26px 24px;
    width: 100%;
    max-width: 380px;
    justify-self: center;
}
@media (min-width: 992px) {
    .wi-session-card {
        justify-self: end;
        margin-bottom: -90px; /* la carte deborde sur le contenu, comme la maquette */
    }
}
.wi-session-certif {
    position: absolute;
    top: 18px;
    right: 18px;
    max-width: 72px;
    height: auto;
}
.wi-session-label {
    font-family: "Montserrat", sans-serif;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #8a9499;
    margin: 0 0 6px;
}
.wi-session-label + .wi-session-label,
.wi-session-date + .wi-session-label,
.wi-session-price + .wi-session-label {
    margin-top: 18px;
}
.wi-session-date {
    display: inline-flex;
    align-items: flex-start;
    gap: 10px;
    text-decoration: none !important;
    color: var(--wi-ink);
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.25;
    transition: color .25s ease-in-out;
}
.wi-session-date:hover {
    color: var(--wi-teal-site);
}
.wi-session-date svg {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--wi-teal-site);
}
.wi-session-date small {
    display: block;
    font-size: 12px;
    font-weight: 500;
    color: #6c757d;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-top: 2px;
}
.wi-session-price {
    font-family: "Montserrat", sans-serif;
    font-size: 32px !important;
    font-weight: 700 !important;
    color: var(--wi-ink);
    line-height: 1;
    margin: 0;
}
.wi-session-financement {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 14px 0 0;
    font-size: 13px !important;
    color: #494948;
    line-height: 1.35;
}
.wi-session-financement svg {
    flex-shrink: 0;
    margin-top: 2px;
    color: #2e9e63;
}
.wi-session-card .wi-btn {
    margin-top: 20px;
}

/* ---------- Fil d'ariane compact, aligne sur la grille ---------- */
/* Le wrapper .wi-breadcrumb > .container aligne le fil d'ariane sur le
   colonnage du site ; on neutralise la geometrie du bandeau d'origine. */
.wi-breadcrumb .breadcrumb-container {
    width: 100% !important;
    max-width: none !important;
    padding: 8px 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    background: none !important;
}
.wi-breadcrumb .breadcrumb-container > *,
.wi-breadcrumb .breadcrumb-container ul,
.wi-breadcrumb .breadcrumb-container ol {
    margin: 0 !important;
    padding: 0 !important;
}
.wi-breadcrumb .breadcrumb-container,
.wi-breadcrumb .breadcrumb-container * {
    font-size: 12px !important;
    line-height: 1.5 !important;
}
/* la carte session deborde a droite : on garde le fil d'ariane a distance */
@media (min-width: 992px) {
    .wi-breadcrumb .breadcrumb-container {
        padding-right: 380px !important;
    }
}

/* ---------- Video "Notre methode" remontee sous les objectifs ---------- */
.wi-methode {
    margin: 2.5rem 0 3rem !important;
}

/* ---------- Suite du descriptif : deux colonnes egales pleine largeur ---------- */
.wi-columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 2rem;
    column-gap: 0;
    margin-top: .5rem;
}
@media (min-width: 992px) {
    /*
     * Classe doublee + !important : la gouttiere doit passer devant les
     * feuilles du theme parent et les SCSS generiques de l'agence.
     */
    .wi-columns.wi-columns {
        display: grid !important;
        /* minmax(0, 1fr) et non 1fr : une piste de grille ne descend pas sous la
           largeur intrinseque de son contenu tant que son minimum vaut auto */
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        /* En px et non en rem : insensible au font-size herite */
        column-gap: 64px !important;
        row-gap: 2.5rem !important;
        align-items: start;
    }
    /*
     * Ceinture et bretelles : une gouttiere obtenue par padding reste visible
     * meme si column-gap est neutralise ou si display:grid ne s'applique pas.
     */
    .wi-columns.wi-columns > .wi-col:first-child {
        padding-right: 24px;
    }
    .wi-columns.wi-columns > .wi-col:last-child {
        padding-left: 24px;
    }
}
.wi-columns.wi-columns > .wi-col {
    box-sizing: border-box;
    min-width: 0;
}
.wi-col .wi-section,
.wi-col .wi-jours,
.wi-col .wi-acc,
.wi-col .wi-acc summary,
.wi-col .wi-acc-body {
    min-width: 0;
    max-width: 100%;
}
.wi-col .wi-acc summary,
.wi-col .wi-acc-body {
    overflow-wrap: anywhere;
}
.wi-col .wi-acc-body img {
    max-width: 100%;
    height: auto;
}
.wi-col .wi-acc-body table,
.wi-col .wi-acc-body pre {
    display: block;
    max-width: 100%;
    overflow-x: auto;
}
.wi-columns .wi-col > .wi-section:last-child {
    margin-bottom: 0;
}

/* ---------- Fiche technique (wi-facts) ---------- */
.wi-facts {
    padding-top: 2.5rem;
    padding-bottom: 3rem;
}
.wi-facts-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 16px;
}
.wi-fact {
    position: relative;
    display: flex;
    flex-direction: column;
    background-color: #fff;
    border: 1px solid rgba(13, 59, 74, .1);
    border-radius: var(--wi-radius);
    padding: 20px 20px 18px;
    transition: transform .2s ease-in-out, box-shadow .2s ease-in-out, border-color .2s ease-in-out;
}
.wi-fact:hover {
    transform: translateY(-3px);
    border-color: rgba(0, 160, 175, .35);
    box-shadow: 0 10px 26px rgba(13, 59, 74, .1);
}
/* Tuile compacte contenant une phrase ou du HTML plutot qu'une valeur courte
   (Financement, Rythme de la formation) */
.wi-fact-text .wi-fact-value {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
}
.wi-fact-value p,
.wi-fact-value ul,
.wi-fact-value ol {
    margin: 0 0 .4em;
    font-size: inherit !important;
}
.wi-fact-value > *:last-child {
    margin-bottom: 0;
}
.wi-fact-value ul,
.wi-fact-value ol {
    padding-left: 1.1em;
}
.wi-fact-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background-color: rgba(0, 160, 175, .1);
    color: var(--wi-teal-site);
    margin-bottom: 14px;
    flex-shrink: 0;
}
.wi-fact-label {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #8a9499;
    margin-bottom: 4px;
}
.wi-fact-value {
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: var(--wi-ink);
    line-height: 1.4;
}
.wi-fact-value strong {
    display: block;
    font-size: 22px;
    font-weight: 700 !important;
    line-height: 1.1;
}
.wi-fact-value small {
    display: block;
    font-size: 11px;
    font-weight: 400;
    color: #8a9499;
    margin-top: 4px;
    line-height: 1.35;
}
@media only screen and (max-width: 767px) {
    .wi-facts {
        padding-top: 1.5rem;
        padding-bottom: 2rem;
    }
    .wi-facts-grid {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }
    .wi-fact {
        padding: 16px 14px 14px;
    }
    .wi-fact-icon {
        width: 36px;
        height: 36px;
        margin-bottom: 10px;
    }
}
@media only screen and (max-width: 420px) {
    .wi-facts-grid {
        grid-template-columns: 1fr;
    }
}

/* ---------- Layout descriptif : contenu + sidebar ---------- */
/* Le theme parent applique un multi-colonnes CSS sur le descriptif :
   on le neutralise, la mise en page est geree par la grille wi-layout. */
.single-formations .formation-content,
.single-formations .formation-content div {
    -webkit-column-count: auto !important;
    -moz-column-count: auto !important;
    column-count: auto !important;
    -webkit-columns: auto !important;
    columns: auto !important;
    column-width: auto !important;
    column-gap: normal !important;
}
.wi-layout {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 2.5rem;
}
@media (min-width: 992px) {
    .wi-layout {
        grid-template-columns: minmax(0, 1fr) 320px;
        gap: 3.5rem;
        align-items: start;
    }
    .wi-side {
        position: sticky;
        top: 90px;
    }
}

.wi-section {
    margin-bottom: 2rem;
}
.wi-section:last-child {
    margin-bottom: 0;
}
/* Blocs longitudinaux en fin de bandeau "En bref" :
   Public concerné et Pré-requis, fond crème et icône ambre de la charte. */
.wi-fact-cream {
    grid-column: 1 / -1;
    display: block;
    background-color: #fcf9ed;
    border: 1px solid rgba(233, 173, 15, .3);
    border-left: 4px solid var(--wi-gold);
    padding: 18px 24px;
}
.wi-fact-cream:hover {
    transform: none;
    box-shadow: none;
    border-color: rgba(233, 173, 15, .3);
    border-left-color: var(--wi-gold);
}
/* L'icone flotte a cote du titre, pas en marge du bloc */
.wi-fact-cream .wi-fact-icon {
    position: static;
    display: inline-flex;
    vertical-align: middle;
    width: 34px;
    height: 34px;
    margin: 0 12px 0 0;
    background-color: rgba(233, 173, 15, .22);
    color: #8a6408;
}
.wi-fact-cream .wi-fact-label {
    display: inline-block;
    vertical-align: middle;
    margin-bottom: 0;
    font-size: 1rem;
    letter-spacing: 1px;
    color: #111;
}
.wi-fact-cream .wi-fact-value {
    display: block;
    margin-top: 12px;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.55;
}
@media only screen and (max-width: 767px) {
    .wi-fact-cream {
        padding: 16px 18px;
    }
}

/* ---------- Accordeons (sections administratives / qualite) ---------- */
.wi-accordeons {
    margin-top: 2.5rem;
}
.wi-acc {
    background-color: #fff;
    border: 1px solid rgba(13, 59, 74, .12);
    border-radius: 10px;
    margin-bottom: 10px;
    overflow: hidden;
}
.wi-acc summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 18px;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: var(--wi-ink);
    transition: background-color .2s ease-in-out;
    user-select: none;
}
.wi-acc summary::-webkit-details-marker {
    display: none;
}
.wi-acc summary::marker {
    content: none;
}
.wi-acc summary::after {
    content: "";
    width: 9px;
    height: 9px;
    border-right: 2px solid var(--wi-teal-site);
    border-bottom: 2px solid var(--wi-teal-site);
    transform: rotate(45deg);
    transition: transform .25s ease-in-out;
    flex-shrink: 0;
    margin-top: -4px;
}
.wi-acc[open] summary::after {
    transform: rotate(225deg);
    margin-top: 4px;
}
.wi-acc summary:hover,
.wi-acc[open] summary {
    background-color: var(--wi-card);
}
.wi-acc-body {
    padding: 14px 18px 18px;
    border-top: 1px solid rgba(13, 59, 74, .08);
}
.wi-acc-body > *:first-child {
    margin-top: 0;
}
.wi-acc-body > *:last-child {
    margin-bottom: 0;
}

/* ---------- Accordeons "Jour n" du contenu de formation ---------- */
.wi-jours {
    margin-top: .5rem;
}
.wi-acc-jour {
    border-color: rgba(233, 173, 15, .45);
}
/* En-tete : bandeau teal, texte blanc, pastille ambre */
.wi-acc-jour summary {
    justify-content: flex-start;
    font-size: 13px;
    padding: 12px 16px;
    background-color: var(--wi-teal);
    color: #fff;
    letter-spacing: .3px;
}
.wi-acc-jour summary:hover,
.wi-acc-jour[open] summary {
    background-color: var(--wi-teal-site);
    color: #fff;
}
.wi-acc-jour summary::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--wi-gold-hover);
    flex-shrink: 0;
    margin-right: 4px;
}
.wi-acc-jour summary::after {
    margin-left: auto;
    border-right-color: #fff;
    border-bottom-color: #fff;
}
/* Corps : fond creme ambre, texte noir profond */
.wi-acc-jour .wi-acc-body {
    background-color: #fef8e7;
    color: #111;
    border-top-color: rgba(233, 173, 15, .4);
}
.wi-acc-jour .wi-acc-body p,
.wi-acc-jour .wi-acc-body span,
.wi-acc-jour .wi-acc-body strong,
.wi-acc-jour .wi-acc-body b,
.wi-acc-jour .wi-acc-body em,
.wi-acc-jour .wi-acc-body i,
.wi-acc-jour .wi-acc-body li,
.wi-acc-jour .wi-acc-body td,
.wi-acc-jour .wi-acc-body th,
.wi-acc-jour .wi-acc-body h1,
.wi-acc-jour .wi-acc-body h2,
.wi-acc-jour .wi-acc-body h3,
.wi-acc-jour .wi-acc-body h4,
.wi-acc-jour .wi-acc-body h5,
.wi-acc-jour .wi-acc-body h6 {
    color: #111 !important;
}
.wi-acc-jour .wi-acc-body li::marker {
    color: var(--wi-gold);
}
.wi-acc-jour .wi-acc-body li::before {
    color: var(--wi-gold) !important;
    background-color: var(--wi-gold) !important;
}
.wi-acc-jour .wi-acc-body a {
    color: var(--wi-teal) !important;
    text-decoration: underline;
}

/* ---------- Notes de bas de page (mots-clefs, date de publication) ---------- */
.wi-footnotes {
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(13, 59, 74, .1);
}
.wi-footnotes p {
    font-size: 12px !important;
    color: #8a9499;
    margin: 0 0 5px;
    line-height: 1.4;
}
.wi-footnotes p span {
    font-family: "Montserrat", sans-serif;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* ---------- Mentions secondaires (tarif, financement) ---------- */
.wi-session-price small {
    display: block;
    font-size: 11px !important;
    font-weight: 400 !important;
    color: #8a9499;
    line-height: 1.35;
    margin-top: 6px;
    text-transform: none;
    letter-spacing: 0;
}
.wi-session-financement {
    font-size: 12px !important;
    color: #8a9499;
}
.wi-muted {
    display: block;
    font-size: 11px;
    font-weight: 400;
    color: #8a9499;
    line-height: 1.35;
    margin-top: 2px;
}

/* Impression : le contenu des accordeons doit sortir */
@media print {
    .wi-acc {
        border: none;
    }
    .wi-acc summary::after {
        display: none;
    }
}

/* ---------- Carte recap sidebar ---------- */
/* Bloc Ressources, deplace de la sidebar vers la colonne du contenu */
.wi-col .formation-ressources {
    background-color: var(--wi-card);
    border-radius: var(--wi-radius);
    padding: 22px;
    margin-top: 1.75rem;
}
.wi-col .formation-ressources h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 0 !important;
    padding-top: 0 !important;
}
.wi-col .formation-ressources h3 .icon {
    display: inline-flex;
    flex-shrink: 0;
    color: var(--wi-teal-site);
}
.wi-col .formation-ressources ul {
    list-style: none;
    margin: 14px 0 0;
    padding: 0;
}
.wi-col .formation-ressources li + li {
    margin-top: 8px;
}
.wi-col .formation-ressources a {
    color: var(--wi-teal) !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.wi-col .formation-ressources a:hover {
    color: var(--wi-teal-site) !important;
}

/* Dates de session : texte simple, aucun lien sortant */
.wi-session-dates {
    list-style: none;
    margin: 0 0 18px;
    padding: 0;
}
.wi-session-dates li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 7px 0;
    font-family: "Montserrat", sans-serif;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.35;
    color: var(--wi-teal);
}
.wi-session-dates li + li {
    border-top: 1px solid rgba(13, 59, 74, .1);
}
.wi-session-dates li::before {
    content: none !important;
}
.wi-session-dates svg {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--wi-teal-site);
}
.wi-session-dates small {
    display: block;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: #8a9499;
}

/* ---------- Mention "(sur demande)" dans les titres ---------- */
.wi-sur-demande {
    display: inline-block;
    vertical-align: middle;
    margin-left: .4em;
    padding: .2em .75em .24em;
    border-radius: 50rem;
    background-color: var(--wi-gold);
    color: #111 !important;
    font-family: "Montserrat", sans-serif;
    /* Taille relative au titre, bornee pour rester lisible du H1 au H3 */
    font-size: clamp(11px, .4em, 17px) !important;
    font-weight: 700 !important;
    letter-spacing: .08em;
    line-height: 1.45;
    text-transform: uppercase;
    text-shadow: none;
    white-space: nowrap;
}
/* Variantes possibles selon la mention detectee */
.wi-mention-complet {
    background-color: #b9412f;
    color: #fff !important;
}
.wi-mention-nouveau {
    background-color: var(--wi-teal-site);
    color: #fff !important;
}
@media print {
    .wi-sur-demande {
        background: none !important;
        border: 1px solid #111;
        color: #111 !important;
    }
}

/* Session en plusieurs blocs : chaque bloc sur sa ligne */
.wi-session-bloc {
    display: block;
}
.wi-session-bloc + .wi-session-bloc {
    margin-top: 2px;
}
.wi-session-bloc em {
    font-style: normal;
    font-weight: 500;
    color: #8a9499;
}

.wi-session-mention {
    margin: 0 0 18px;
    padding: 10px 14px;
    border-radius: 10px;
    background-color: #fcf9ed;
    border-left: 3px solid var(--wi-gold);
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.4;
    color: var(--wi-ink);
}

.wi-session-mention.is-a-venir {
    background-color: #eef1f2;
    border-left-color: var(--wi-teal-site);
    font-style: italic;
}

.wi-recap-card {
    background-color: var(--wi-card);
    border-radius: var(--wi-radius);
    padding: 22px;
    margin-bottom: 20px;
}
.wi-recap-title {
    font-family: "Montserrat", sans-serif;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--wi-ink);
    margin: 0 0 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(13, 59, 74, .12);
}
.wi-recap-card ul {
    list-style: none;
    padding: 0;
    margin: 0 0 6px;
}
.wi-recap-card ul li {
    display: flex;
    flex-direction: column;
    padding: 8px 0;
    font-size: 14px !important;
    line-height: 1.35;
}
.wi-recap-card ul li::before {
    content: none !important;
}
.wi-recap-label {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #8a9499;
    margin-bottom: 2px;
}

.le-plus h2 .small {
    display: block;
}

/* ---------- Bande CTA finale : texte 1/3 + formulaire 2/3 ---------- */
.wi-band {
    background-color: var(--wi-dark);
    margin-top: 3rem;
    padding: 3rem 0;
    /* les boutons "Contactez-nous" sont des ancres : on degage le header fixe */
    scroll-margin-top: 90px;
}
.wi-band-inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    align-items: start;
}
@media (min-width: 992px) {
    .wi-band {
        padding: 4rem 0;
    }
    .wi-band-inner {
        grid-template-columns: 1fr 2fr;
        gap: 3.5rem;
    }
}
.wi-band-illus {
    margin-bottom: 22px;
    border-radius: var(--wi-radius);
    overflow: hidden;
    line-height: 0;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .25);
}
.wi-band-illus img {
    display: block;
    width: 100%;
    height: 180px;
    object-fit: cover;
    object-position: center;
}
@media (min-width: 992px) {
    .wi-band-illus img {
        height: 210px;
    }
}
.wi-band-txt h2 {
    color: #fff !important;
    text-transform: none;
    padding-bottom: .35em !important;
    margin-bottom: 0;
}
.wi-band-txt p {
    color: rgba(255, 255, 255, .85) !important;
    margin-bottom: 0;
}
.wi-band-link {
    display: inline-block;
    margin-top: 16px;
    color: #fff !important;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .5px;
    text-decoration: underline;
    text-underline-offset: 4px;
    transition: color .25s ease-in-out;
}
.wi-band-link:hover {
    color: var(--wi-gold-hover) !important;
}

/* ---------- Formulaire Gravity dans le bandeau ---------- */
.wi-band-form {
    background-color: #fff;
    border-radius: var(--wi-radius);
    padding: 26px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .22);
}
@media (min-width: 992px) {
    .wi-band-form {
        padding: 32px 34px;
    }
}
/* Gravity Forms encapsule son markup differemment selon les versions :
   les selecteurs restent volontairement larges, mais tous scopes au bandeau. */
.wi-band-form .gform_wrapper {
    margin: 0;
}
.wi-band-form .gform_wrapper form {
    margin: 0;
}
.wi-band-form .gform_wrapper .gform_fields {
    grid-row-gap: 16px;
}
.wi-band-form .gform_wrapper .gfield_label,
.wi-band-form .gform_wrapper legend.gfield_label {
    font-family: "Montserrat", sans-serif;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .8px;
    text-transform: uppercase;
    color: var(--wi-ink);
    margin-bottom: 6px;
}
.wi-band-form .gform_wrapper .gfield_required {
    color: var(--wi-teal-site);
}
.wi-band-form .gform_wrapper input[type="text"],
.wi-band-form .gform_wrapper input[type="email"],
.wi-band-form .gform_wrapper input[type="tel"],
.wi-band-form .gform_wrapper input[type="url"],
.wi-band-form .gform_wrapper input[type="number"],
.wi-band-form .gform_wrapper select,
.wi-band-form .gform_wrapper textarea {
    width: 100%;
    padding: 11px 14px;
    font-family: inherit;
    font-size: 15px;
    color: var(--wi-ink);
    background-color: #fff;
    border: 1px solid rgba(13, 59, 74, .22);
    border-radius: 8px;
    transition: border-color .2s ease-in-out, box-shadow .2s ease-in-out;
}
.wi-band-form .gform_wrapper input:focus,
.wi-band-form .gform_wrapper select:focus,
.wi-band-form .gform_wrapper textarea:focus {
    outline: none;
    border-color: var(--wi-teal-site);
    box-shadow: 0 0 0 3px rgba(0, 160, 175, .15);
}
.wi-band-form .gform_wrapper textarea {
    min-height: 110px;
    resize: vertical;
}
.wi-band-form .gform_wrapper .gfield_description,
.wi-band-form .gform_wrapper .gform_fileupload_rules {
    font-size: 12px !important;
    color: #8a9499;
}
/* Les champs sont des <li> en markup legacy : pas de puce heritee du theme */
.wi-band-form .gform_wrapper li::before,
.wi-band-form .gform_wrapper ul li::before {
    content: none !important;
}
.wi-band-form .gform_wrapper ul,
.wi-band-form .gform_wrapper ul li {
    list-style: none;
    padding-left: 0;
    margin-left: 0;
}
.wi-band-form .gform_wrapper .gform_footer {
    margin: 20px 0 0;
    padding: 0;
}
.wi-band-form .gform_wrapper .gform_footer input[type="submit"],
.wi-band-form .gform_wrapper .gform_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 32px;
    border: 2px solid transparent;
    border-radius: 50rem;
    background-color: var(--wi-gold);
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px;
    cursor: pointer;
    transition: all .25s ease-in-out;
    width: auto;
}
.wi-band-form .gform_wrapper .gform_footer input[type="submit"]:hover,
.wi-band-form .gform_wrapper .gform_button:hover {
    background-color: var(--wi-gold-hover);
    transform: translateY(-2px);
}
/* Erreurs et confirmation lisibles sur fond blanc */
.wi-band-form .gform_wrapper .gfield_validation_message,
.wi-band-form .gform_wrapper .validation_message {
    font-size: 13px !important;
    background: none;
    border: none;
    padding: 4px 0 0;
}
.wi-band-form .gform_confirmation_message {
    color: var(--wi-ink);
    font-size: 15px;
    line-height: 1.5;
}
@media only screen and (max-width: 480px) {
    .wi-band-form {
        padding: 20px 18px;
    }
    .wi-band-form .gform_wrapper .gform_footer input[type="submit"],
    .wi-band-form .gform_wrapper .gform_button {
        width: 100%;
    }
}
/* A l'impression, le formulaire n'a aucun sens */
@media print {
    .wi-band-form {
        display: none !important;
    }
}

/* ---------- Ajustements responsive hero ---------- */
@media only screen and (max-width: 991px) {
    .wi-hero-title {
        font-size: 28px !important;
    }
    .wi-session-card {
        max-width: 100%;
    }
    /* l'ancien positionnement du logo certif du parent ne s'applique plus */
    .wi-hero .page-header-datadocke-wrapper {
        display: none;
    }
}
@media only screen and (max-width: 480px) {
    .wi-hero-actions .wi-btn {
        width: 100%;
    }
}

/* Le hero remplace l'ancienne contrainte de largeur du contenu */
.page-header-formation .wi-hero-main {
    max-width: 100% !important;
    padding-bottom: 0 !important;
}
