/* MABD Formations · bloc « Prochaines sessions » (maquette v2, visa Vera du 11/09/2026).
   Tailles en rem, comme le thème : html{font-size:62.5%} suit la taille de police choisie par le visiteur
   (1rem = 10 px par défaut, 12,5 px à 20 px). Bordures, rayons, ombres et contours restent en px.
   Graisses : le thème ne déclare Avenir qu'en 400 et 900 ; tout libellé en gras passe en Outfit (600, 700, 800).
   Toutes les classes sont préfixées « mabd- » pour ne rien croiser avec knacss (.btn, .button…). */

svg.mabd-sprite{position:absolute;width:0;height:0;overflow:hidden}

.mabd-s{
  --mabd-vert-fonce:#0E7458; --mabd-vert:#5CA27A; --mabd-orange:#ED7120; --mabd-orange-texte:#B8520F;
  --mabd-rose:#C22E62; --mabd-creme:#EBD9CF; --mabd-creme-clair:#FAF6F5; --mabd-gris:#3E4A47; --mabd-gris-doux:#6B7572;
  --mabd-vert-pale:#E3F0E8;
  --mabd-r-carte:20px; --mabd-r-moyen:15px; --mabd-r-bouton:10px;
  --mabd-ombre:0 1px 2px rgb(62 74 71 / .08), 0 8px 24px rgb(62 74 71 / .06);
  --mabd-f-titre:"Outfit", system-ui, sans-serif;
  --mabd-f-corps:"Avenir", "Avenir Next", system-ui, sans-serif;
  container:mabd-s / inline-size;
  margin-block:4rem;
  color:var(--mabd-gris);font-family:var(--mabd-f-corps);font-size:1.6rem;line-height:1.375;
}

/* Remises à zéro face au thème (titres, listes, legend, label, summary) */
.mabd-s *,.mabd-s *::before,.mabd-s *::after{box-sizing:border-box}
.mabd-s [hidden]{display:none!important}
.mabd-s p{margin:0}
.mabd-s ul{margin:0;padding:0;list-style:none}
.mabd-s li{margin:0;padding:0}
.mabd-s img{display:block;max-width:100%;height:auto}
.mabd-s button{font:inherit;color:inherit;margin:0}
.mabd-s :focus-visible{outline:3px solid var(--mabd-vert-fonce);outline-offset:2px}
.mabd-s .mabd-carte__titre:focus{outline:none}
.mabd-s .mabd-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
@media (prefers-reduced-motion:no-preference){
  .mabd-btn,.mabd-puce label{transition:background-color .15s,color .15s,border-color .15s}
}

/* Titre de section : celui des autres H2 de la page (thème), seules les marges sont réglées */
.mabd-s .mabd-s__titre{margin:0 0 1.6rem}

/* ============ Votre situation ============ */
.mabd-s .mabd-situation{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;border:0;margin:0 0 1.8rem;padding:0;min-width:0;font-size:1.45rem}
.mabd-s .mabd-situation legend{float:left;display:block;padding:0;margin:0 .4rem 0 0;font-family:var(--mabd-f-titre);font-weight:600;color:var(--mabd-gris)}
.mabd-puce{position:relative}
.mabd-s .mabd-puce input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;margin:0}
.mabd-s .mabd-puce label{display:inline-flex;align-items:center;min-height:4.4rem;margin:0;padding:.6rem 1.4rem;border-radius:999px;border:1.5px solid var(--mabd-gris-doux);background:#fff;color:var(--mabd-gris);cursor:pointer;font-weight:400;font-size:1.45rem;line-height:1.2;white-space:nowrap}
.mabd-s .mabd-puce input:checked+label{background:var(--mabd-vert-fonce);border-color:var(--mabd-vert-fonce);color:#fff}
.mabd-s .mabd-puce input:focus-visible+label{outline:3px solid var(--mabd-vert-fonce);outline-offset:2px}
/* Le thème colore tous les liens du contenu (.contenu-gutenberg a:not(.wp-element-button) : 0,2,1 ; :hover/:focus : 0,3,1).
   Classe doublée et états explicites pour garder nos couleurs, au clavier comme à la souris. */
.mabd-s.mabd-s .mabd-lien{display:inline-flex;align-items:center;min-height:4.4rem;padding:0;border:0;background:none;color:var(--mabd-vert-fonce);font-family:var(--mabd-f-titre);font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.mabd-s.mabd-s .mabd-lien:is(:hover,:focus,:active){text-decoration-thickness:.2rem;color:var(--mabd-vert-fonce)}

/* ============ Grille ============ */
.mabd-grille{display:grid;grid-template-columns:minmax(0,1fr);gap:1.6rem}
@container mabd-s (min-width:62rem){ .mabd-grille{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem} }
@container mabd-s (min-width:96rem){ .mabd-grille{grid-template-columns:repeat(3,minmax(0,1fr))} }

/* ============ Carte de session ============ */
.mabd-carte{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #eef0ef;border-radius:var(--mabd-r-carte);box-shadow:var(--mabd-ombre)}
.mabd-carte__visuel{position:relative;aspect-ratio:5/2;border-radius:var(--mabd-r-carte) var(--mabd-r-carte) 0 0;background:var(--mabd-creme)}
@container mabd-s (min-width:62rem){ .mabd-carte__visuel{aspect-ratio:16/8} }
.mabd-s .mabd-carte__visuel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.mabd-carte__repli{position:absolute;inset:0;overflow:hidden;border-radius:inherit;background:var(--mabd-creme)}
.mabd-carte__repli svg{position:absolute;max-width:none}
.mabd-repli-1{right:8%;top:10%}
.mabd-repli-2{right:44%;top:18%;opacity:.35}
.mabd-repli-3{right:36%;top:62%;opacity:.25}
.mabd-date{position:absolute;left:1.6rem;bottom:-2.6rem;width:7.8rem;overflow:hidden;padding:.7rem .4rem .8rem;background:#fff;border-radius:var(--mabd-r-moyen);box-shadow:0 2px 10px rgb(62 74 71 / .18);text-align:center}
.mabd-date::before{content:"";position:absolute;right:-.9rem;top:-.9rem;width:2.2rem;height:2.2rem;background:var(--mabd-orange);border-radius:0 0 0 70%}
.mabd-date__m{display:block;font:700 1.25rem/1 var(--mabd-f-titre);letter-spacing:.06em;text-transform:uppercase;color:var(--mabd-orange-texte)}
.mabd-date__j{display:block;margin-top:.3rem;font:700 2.8rem/1.05 var(--mabd-f-titre);color:var(--mabd-vert-fonce);white-space:nowrap}
.mabd-date__j--petit{font-size:2.2rem;padding-top:.3rem}
.mabd-date__s{display:block;margin-top:.2rem;font-size:1.2rem;color:var(--mabd-gris)}
.mabd-carte__corps{display:flex;flex-direction:column;gap:1rem;flex:1;padding:3.6rem 1.8rem 1.8rem}
.mabd-carte__visuel:not(:has(.mabd-date))+.mabd-carte__corps{padding-top:1.8rem}

.mabd-s .mabd-etiquettes{display:flex;flex-wrap:wrap;gap:.6rem}
.mabd-s .mabd-etiquettes li{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .9rem .3rem .6rem;border-radius:999px;background:var(--mabd-creme-clair);color:var(--mabd-gris);font-family:var(--mabd-f-titre);font-size:1.3rem;font-weight:600;line-height:1.3}
.mabd-etiquettes li svg{width:1.2rem;height:1.5rem;flex:none}
.mabd-s .mabd-etiquettes .mabd-etiquettes__format{padding-left:.9rem;background:var(--mabd-vert-pale);color:var(--mabd-vert-fonce)}
.mabd-etiquettes__format svg{width:1.5rem;height:1.5rem}

.mabd-s .mabd-carte__titre{margin:0;font:600 1.8rem/1.25 var(--mabd-f-titre);color:var(--mabd-vert-fonce);letter-spacing:normal;text-transform:none}
@container mabd-s (min-width:76rem){ .mabd-s .mabd-carte__titre{font-size:1.9rem} }

.mabd-s .mabd-infos{display:grid;gap:.5rem;font-size:1.5rem}
.mabd-s .mabd-infos li{display:flex;align-items:flex-start;gap:.9rem}
.mabd-infos svg{width:1.8rem;height:1.8rem;flex:none;margin-top:.2rem;color:var(--mabd-vert-fonce)}

.mabd-prix{margin-top:.2rem;padding-top:1.2rem;border-top:1px dashed #d8dedc}
.mabd-s .mabd-prix__ligne{display:flex;flex-wrap:wrap;align-items:baseline;gap:1rem}
.mabd-prix__montant{font:700 2.6rem/1 var(--mabd-f-titre);color:var(--mabd-gris)}
.mabd-prix__qui{font-size:1.4rem;color:var(--mabd-gris)}
.mabd-prix__qui b{font-family:var(--mabd-f-titre);font-weight:600}
.mabd-s .mabd-prix-liste{display:grid;gap:.3rem;font-size:1.45rem}
.mabd-prix-liste b{display:inline-block;min-width:5.8rem;font:700 1.7rem var(--mabd-f-titre)}
.mabd-prix__vide{font-size:1.5rem;color:var(--mabd-gris)}
.mabd-s .mabd-bonus{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.8rem}
.mabd-s .mabd-bonus li{padding:.3rem .9rem;border-radius:999px;background:var(--mabd-vert-pale);color:var(--mabd-vert-fonce);font-family:var(--mabd-f-titre);font-size:1.3rem;font-weight:600}
.mabd-s .mabd-prix__choisir{margin-top:.6rem;font-size:1.4rem}

.mabd-etat{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.2rem;font-size:1.45rem}
.mabd-jauge{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--mabd-f-titre);font-weight:600}
.mabd-jauge::before{content:"";width:.9rem;height:.9rem;border-radius:50%;background:var(--mabd-vert)}
.mabd-jauge--dernieres{color:var(--mabd-orange-texte)}
.mabd-jauge--dernieres::before{background:var(--mabd-orange)}
.mabd-jauge--complet{color:var(--mabd-gris)}
.mabd-jauge--complet::before{background:#9aa3a0}
.mabd-limite{color:var(--mabd-gris)}
.mabd-limite--proche{color:var(--mabd-orange-texte);font-family:var(--mabd-f-titre);font-weight:600}

.mabd-actions{display:flex;flex-direction:column;gap:1rem;margin-top:auto;padding-top:.6rem}
.mabd-s.mabd-s .mabd-btn{display:inline-flex;align-items:center;justify-content:center;gap:.8rem;min-height:4.8rem;margin:0;padding:1.2rem 1.8rem;border:0;border-radius:var(--mabd-r-bouton);background:var(--mabd-rose);color:#fff;font:800 1.45rem/1.15 var(--mabd-f-titre);letter-spacing:.02em;text-align:center;text-decoration:none;text-transform:uppercase;cursor:pointer}
.mabd-s.mabd-s .mabd-btn:is(:focus,:active){color:#fff}
.mabd-s.mabd-s .mabd-btn:hover{background:var(--mabd-vert-fonce);color:#fff}
.mabd-s.mabd-s .mabd-btn--fantome{background:#fff;color:var(--mabd-vert-fonce);border:2px solid var(--mabd-vert-fonce)}
.mabd-s.mabd-s .mabd-btn--fantome:is(:focus,:active){color:var(--mabd-vert-fonce)}
.mabd-s.mabd-s .mabd-btn--fantome:hover{background:var(--mabd-vert-pale);color:var(--mabd-vert-fonce)}
.mabd-btn svg{width:1.6rem;height:1.6rem;flex:none}
.mabd-s.mabd-s .mabd-lien-pdf{display:inline-flex;align-items:center;align-self:center;gap:.6rem;min-height:4.4rem;padding:0;color:var(--mabd-vert-fonce);font-family:var(--mabd-f-titre);font-size:1.5rem;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.mabd-s.mabd-s .mabd-lien-pdf:is(:hover,:focus,:active){color:var(--mabd-vert-fonce);text-decoration-thickness:.2rem}
.mabd-lien-pdf svg{width:1.7rem;height:1.7rem;flex:none}
.mabd-carte--complet .mabd-carte__visuel img,.mabd-carte--complet .mabd-carte__repli{filter:grayscale(.6);opacity:.8}

/* ============ Tri par formateur ============ */
/* Posé seulement quand le bloc montre plusieurs formateurs, et masqué sans JavaScript (hidden). */
.mabd-s .mabd-facette{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;margin:0 0 1.8rem;font-size:1.45rem}
.mabd-s .mabd-facette label{font-family:var(--mabd-f-titre);font-weight:600;color:var(--mabd-gris)}
.mabd-s .mabd-facette select{min-height:4.4rem;max-width:100%;padding:.6rem 1.2rem;border-radius:999px;border:1.5px solid var(--mabd-gris-doux);background:#fff;color:var(--mabd-gris);font:inherit;line-height:1.2}
/* Nom d'un formateur lié à sa présentation : souligné, jamais une couleur seule. */
.mabd-s .mabd-formateur{color:inherit;text-decoration:underline;text-underline-offset:.2em}
.mabd-s .mabd-formateur:hover,.mabd-s .mabd-formateur:focus-visible{color:var(--mabd-vert-fonce)}
/* Pendant un tri, les sessions repliées sont dans le lot : le bouton « voir tout » n'a plus de sens. */

/* ============ Tri par type (0.3.1) ============ */
/* Pastilles à cocher, sur le modèle de « Votre situation » (.mabd-puce) : posées seulement quand le bloc
   montre au moins deux types, masquées sans JavaScript (hidden). La couleur de la famille n'est portée que
   par le pictogramme, sur un disque blanc : le texte garde le contraste des pastilles de situation. */
.mabd-s .mabd-types{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;border:0;margin:0 0 1.8rem;padding:0;min-width:0;font-size:1.45rem}
.mabd-s .mabd-types legend{display:block;float:left;width:100%;padding:0;margin:0 0 .2rem;font-family:var(--mabd-f-titre);font-weight:600;color:var(--mabd-gris)}
.mabd-s .mabd-types .mabd-puce{min-width:0;max-width:100%}
.mabd-s .mabd-types .mabd-puce label{gap:.6rem;padding-left:.6rem;font-family:var(--mabd-f-titre);font-weight:600;white-space:normal}
.mabd-s .mabd-types .mabd-puce label:hover{border-color:var(--mabd-vert-fonce);background:var(--mabd-vert-pale)}
.mabd-s .mabd-types .mabd-puce input:checked+label:hover{background:var(--mabd-vert-fonce)}
.mabd-types__ic{display:inline-flex;align-items:center;justify-content:center;flex:none;width:3rem;height:3rem;border-radius:50%;background:#fff}
.mabd-types__ic svg{width:1.4rem;height:1.75rem}
.mabd-s .mabd-puce input:checked+label .mabd-types__ic{box-shadow:0 0 0 1.5px #fff}
/* Aucune carte pour ces choix (formateur + type qu'il n'enseigne pas) : message et « Tout afficher ». */
.mabd-s .mabd-aucune{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem 1.2rem;margin:0 0 1.8rem;padding:.8rem 1.6rem;border-radius:var(--mabd-r-moyen);background:var(--mabd-creme-clair);font-size:1.5rem}

/* ============ Suite, pied, états ============ */
.mabd-suite{margin-top:1.8rem}
.mabd-s .mabd-suite>summary{display:inline-flex;list-style:none}
.mabd-suite>summary::-webkit-details-marker{display:none}
.mabd-s .mabd-suite[open]>summary{display:none}
.mabd-suite>.mabd-grille{margin-top:.4rem}
.mabd-s .mabd-s__pied{margin-top:1rem;font-size:1.5rem}

.mabd-s .mabd-bandeau strong{font-family:var(--mabd-f-titre);font-weight:600}
.mabd-s .mabd-bandeau{display:flex;gap:1rem;margin:0 0 1.6rem;padding:1.2rem 1.4rem;border-left:4px solid var(--mabd-orange);border-radius:6px;background:var(--mabd-creme-clair);font-size:1.5rem}

.mabd-vide{padding:2.4rem 2rem;border-radius:var(--mabd-r-carte);background:var(--mabd-creme-clair)}
.mabd-s .mabd-vide__titre{margin:0 0 .6rem;font:600 2rem/1.25 var(--mabd-f-titre);color:var(--mabd-vert-fonce)}
.mabd-s .mabd-vide__sortie{margin-top:1.4rem}

/* Contraste forcé (Windows) : la situation choisie garde un fond qui la distingue */
@media (forced-colors:active){
  .mabd-s .mabd-puce input:checked+label{forced-color-adjust:none;background:Highlight;color:HighlightText;border-color:Highlight}
  .mabd-s .mabd-puce input:focus-visible+label{outline-color:CanvasText}
}
