/* MWS Events - Catalogue (v0.6) : charge seulement la ou un bloc du catalogue est affiche. */

.mws-ev-fgrille,
.mws-ev-fliste,
.mws-ev-ffiche { box-sizing: border-box; }

.mws-ev-fgrille *,
.mws-ev-fliste *,
.mws-ev-ffiche * { box-sizing: inherit; }

/* --- Grille : 3 colonnes, 2 sur tablette, 1 sur mobile (selon la place) --- */

.mws-ev-fgrille {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr));
  gap: 40px 28px;
  align-items: start;
  padding-top: 16px;
}

.mws-ev-fgrille--2 { grid-template-columns: repeat(auto-fill, minmax(min(340px, 100%), 1fr)); max-width: 860px; }
.mws-ev-fgrille--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mws-ev-fgrille--1 { grid-template-columns: minmax(0, 420px); }

@media (max-width: 980px) {
  .mws-ev-fgrille--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .mws-ev-fgrille,
  .mws-ev-fgrille--2,
  .mws-ev-fgrille--3 { grid-template-columns: minmax(0, 1fr); gap: 36px; }
}

/* --- Carte formation (option B, 05/11/2026) : classe doublee contre les kits Elementor --- */

.mws-ev-fgrille { align-items: stretch; }

.mws-ev-fcarte.mws-ev-fcarte {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 36px 24px 24px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 2px 10px rgba(var(--mws-ev-encre-rgb, 20, 66, 79), .09);
  color: var(--mws-ev-texte-carte, #3A4F55);
  font-family: inherit;
  font-size: 15px;
  line-height: 1.55;
}

.mws-ev-fcarte.mws-ev-fcarte p,
.mws-ev-fcarte.mws-ev-fcarte ul,
.mws-ev-fcarte.mws-ev-fcarte h3 { margin: 0; }

.mws-ev-fcarte__bulle {
  position: absolute;
  top: -14px;
  left: 20px;
  max-width: calc(100% - 40px);
  padding: 6px 14px;
  border-radius: 100px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
}

.mws-ev-fcarte.mws-ev-fcarte .mws-ev-fcarte__t {
  margin: 0 0 -8px;
  color: var(--mws-ev-encre, #14424F);
  font-family: inherit;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.25;
}

.mws-ev-fcarte__t.mws-ev-fcarte__t a { color: inherit; text-decoration: none; }
.mws-ev-fcarte__t.mws-ev-fcarte__t a:hover { color: inherit; text-decoration: underline; }

.mws-ev-fcarte__pre {
  font-size: 14px;
  font-weight: 700;
  color: var(--mws-ev-encre, #14424F);
}

.mws-ev-fcarte.mws-ev-fcarte .mws-ev-fcarte__acc,
.mws-ev-fentete__acc {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  margin-bottom: -8px;
  color: var(--mws-ev-encre, #14424F);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}

.mws-ev-fentete__acc { margin: 0; font-size: 18px; -webkit-line-clamp: unset; }

.mws-ev-fcarte.mws-ev-fcarte .mws-ev-fcarte__x {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
  color: var(--mws-ev-texte-carte, #3A4F55);
  font-size: 15px;
  line-height: 1.55;
}

.mws-ev-fcarte__pied {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: auto; /* pied cale en bas : les « Reserver » d'une rangee sont alignes */
}

/* Chiffres cles : liste a icones, icones a la couleur de la charte */
.mws-ev-fcarte.mws-ev-fcarte .mws-ev-faits {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 0;
  border-top: 1px solid rgba(var(--mws-ev-encre-rgb, 20, 66, 79), .12);
  border-bottom: 1px solid rgba(var(--mws-ev-encre-rgb, 20, 66, 79), .12);
  list-style: none;
}

.mws-ev-faits li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  padding: 0;
  font-size: 14px;
  line-height: 1.4;
}

.mws-ev-faits li b { flex: 0 0 76px; color: var(--mws-ev-encre, #14424F); font-weight: 700; }
.mws-ev-faits li span { flex: 1 1 auto; min-width: 0; }
.mws-ev-faits .mws-ev-icon { flex-shrink: 0; margin-top: 1px; color: var(--mws-ev-document-lisible, var(--mws-ev-document, #00B3CF)); }

.mws-ev-satisf {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  line-height: 1.45;
}

.mws-ev-satisf .mws-ev-icon { flex-shrink: 0; color: var(--mws-ev-document-lisible, var(--mws-ev-document, #00B3CF)); }
.mws-ev-satisf b { color: var(--mws-ev-encre, #14424F); font-size: 15px; }

/* Volet de detail (details natif) */
.mws-ev-fdetail {
  border: 1.5px solid rgba(var(--mws-ev-encre-rgb, 20, 66, 79), .14);
  border-radius: 10px;
}

.mws-ev-fdetail summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 44px;
  padding: 0 14px;
  color: var(--mws-ev-encre, #14424F);
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  list-style: none;
  cursor: pointer;
}

.mws-ev-fdetail summary::-webkit-details-marker { display: none; }
.mws-ev-fdetail summary .mws-ev-icon { flex-shrink: 0; transition: transform .2s; }
.mws-ev-fdetail[open] summary .mws-ev-icon { transform: rotate(180deg); }
.mws-ev-fdetail summary:focus-visible { outline: 2px solid var(--mws-ev-document, #00B3CF); outline-offset: 2px; }

.mws-ev-fdetail__c {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0 14px 14px;
  font-size: 14px;
  line-height: 1.5;
}

.mws-ev-fdetail__c.mws-ev-fdetail__c h4 {
  margin: 6px 0 0;
  color: var(--mws-ev-encre, #14424F);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.mws-ev-fdetail__c.mws-ev-fdetail__c ul { margin: 0; padding-left: 18px; }
.mws-ev-fdetail__c.mws-ev-fdetail__c p { margin: 0; }

.mws-ev-fdetail__hand {
  padding: 10px 12px;
  border-radius: 8px;
  background: rgba(var(--mws-ev-document-rgb, 0, 179, 207), .08);
}

/* Documents, ligne de date, actions */
.mws-ev-fdocs { display: flex; gap: 10px; flex-wrap: wrap; }

.mws-ev-fdocs .mws-ev-doc.mws-ev-doc {
  flex: 1 1 120px;
  justify-content: center;
  min-height: 44px;
  border-radius: 8px;
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

.mws-ev-fligne {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 12px 16px;
  border-radius: 10px;
  background: rgba(var(--mws-ev-encre-rgb, 20, 66, 79), .05);
  font-size: 15px;
}

.mws-ev-fligne--ouverte { background: rgba(var(--mws-ev-document-rgb, 0, 179, 207), .10); }

.mws-ev-fligne__lab {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--mws-ev-document-lisible, var(--mws-ev-document, #00B3CF));
}

.mws-ev-fligne__date { color: var(--mws-ev-encre, #14424F); font-size: 16px; }
.mws-ev-fligne__lieu { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; }
.mws-ev-fligne__places { font-size: 14px; font-weight: 700; color: var(--mws-ev-secondaire-lisible, var(--mws-ev-secondaire, #A20074)); }
.mws-ev-fligne .mws-ev-ics.mws-ev-ics { min-height: 32px; margin-top: 2px; }

.mws-ev-factions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.mws-ev-btn--large.mws-ev-btn { width: 100%; }

.mws-ev-btn--encre.mws-ev-btn {
  background: var(--mws-ev-encre, #14424F);
  color: var(--mws-ev-encre-texte, #fff);
}

.mws-ev-btn--encre.mws-ev-btn:hover,
.mws-ev-btn--encre.mws-ev-btn:focus { filter: brightness(.9); color: var(--mws-ev-encre-texte, #fff); }

/* --- Liste « Toutes les prochaines sessions » --- */

.mws-ev-fliste {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-top: 40px;
  scroll-margin-top: 24px;
}

.mws-ev-fliste__t { margin: 0; color: var(--mws-ev-encre, #14424F); }
.mws-ev-fliste__n { margin: 0; font-size: 15px; opacity: .75; }
.mws-ev-fliste__l { display: flex; flex-direction: column; gap: 14px; }

.mws-ev-filtres { display: flex; gap: 10px; flex-wrap: wrap; }

.mws-ev-filtres button {
  min-height: 44px;
  padding: 0 18px;
  border: 1.5px solid rgba(var(--mws-ev-encre-rgb, 20, 66, 79), .2);
  border-radius: 100px;
  background: #fff;
  color: var(--mws-ev-encre, #14424F);
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}

.mws-ev-filtres button[aria-pressed="true"] {
  border-color: var(--mws-ev-encre, #14424F);
  background: var(--mws-ev-encre, #14424F);
  color: var(--mws-ev-encre-texte, #fff);
}

.mws-ev-filtres button:focus-visible { outline: 2px solid var(--mws-ev-document, #00B3CF); outline-offset: 2px; }

.mws-ev-fsession {
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
  padding: 18px 22px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 1px 4px rgba(var(--mws-ev-encre-rgb, 20, 66, 79), .08);
}

.mws-ev-fsession[hidden] { display: none; }
.mws-ev-fsession__c { flex: 1 1 300px; min-width: 0; }
.mws-ev-fsession__t { margin: 0; color: var(--mws-ev-encre, #14424F); font-size: 20px; line-height: 1.3; }
.mws-ev-fsession__a { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }

/* --- Fiche formation --- */

.mws-ev-ffiche { display: flex; flex-direction: column; gap: 20px; }

/* Fiche : tailles propres au plugin, le theme (Astra : h1 70 px, marges de p 1,6 em) n'entre plus (05/11/2026). */
.mws-ev-ffiche.mws-ev-ffiche p { margin: 0; }
.mws-ev-ffiche.mws-ev-ffiche .mws-ev-fentete__t { font-size: clamp(28px, 2.6vw, 36px); font-weight: 700; }
.mws-ev-ffiche.mws-ev-ffiche .mws-ev-finscription__t { font-size: 24px; line-height: 1.25; }
.mws-ev-ffiche.mws-ev-ffiche .mws-ev-infos__t { font-size: 20px; line-height: 1.3; }

.mws-ev-fentete {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 32px 36px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(var(--mws-ev-encre-rgb, 20, 66, 79), .08);
}

.mws-ev-fentete__type {
  align-self: flex-start;
  padding: 6px 14px;
  border-radius: 100px;
  background: rgba(var(--mws-ev-encre-rgb, 20, 66, 79), .08);
  color: var(--mws-ev-encre, #14424F);
  font-size: 14px;
  font-weight: 600;
}

.mws-ev-fentete__t { margin: 0; color: var(--mws-ev-encre, #14424F); line-height: 1.15; }
.mws-ev-fentete__x { margin: 0; max-width: 760px; font-size: 17px; line-height: 1.5; color: var(--mws-ev-texte-carte, #3A4F55); }
.mws-ev-fentete__p { display: flex; gap: 10px; flex-wrap: wrap; }

.mws-ev-fpill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 100px;
  font-size: 15px;
  font-weight: 600;
}

.mws-ev-fpill--contour {
  border: 1.5px solid rgba(var(--mws-ev-encre-rgb, 20, 66, 79), .2);
  background: #fff;
  color: var(--mws-ev-encre, #14424F);
}

.mws-ev-ffiche__cols {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 28px;
  align-items: start;
}

.mws-ev-ffiche__side { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 24px; }

.mws-ev-fprochaine {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 24px 26px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(var(--mws-ev-encre-rgb, 20, 66, 79), .08);
}

.mws-ev-fprochaine__l { display: flex; align-items: center; gap: 16px; }
.mws-ev-fprochaine__l > div { display: flex; flex-direction: column; gap: 3px; font-size: 15px; }
.mws-ev-fprochaine__l strong { color: var(--mws-ev-encre, #14424F); font-size: 18px; }

.mws-ev-fprochaine__lab {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--mws-ev-document-lisible, var(--mws-ev-document, #00B3CF));
}

.mws-ev-fprochaine__info { margin: 0; font-size: 15px; }
.mws-ev-fprochaine__tarif { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin: 0; }
.mws-ev-fprochaine__tarif b { color: var(--mws-ev-encre, #14424F); font-size: 22px; }
.mws-ev-fprochaine .mws-ev-etat { align-self: flex-start; }
.mws-ev-fprochaine .mws-ev-btn.mws-ev-btn--action { flex: 1 1 auto; }
.mws-ev-fprochaine--docs .mws-ev-fdocs { flex-direction: column; }
.mws-ev-fprochaine--docs .mws-ev-fdocs .mws-ev-doc.mws-ev-doc { flex: 0 0 auto; }

.mws-ev-finscription { scroll-margin-top: 24px; }
.mws-ev-finscription__t { margin: 0 0 16px; color: var(--mws-ev-encre, #14424F); }
.mws-ev-finscription .mws-ev-formulaire { max-width: none; }

/* Objectifs du bloc reglementaire */
.mws-ev-infos__st { margin: 0 0 10px; color: var(--mws-ev-encre, #14424F); font-size: 17px; }
.mws-ev-infos__obj { display: grid; gap: 8px; margin: 0 0 20px; padding: 0; list-style: none; }
.mws-ev-infos__obj li { display: flex; align-items: flex-start; gap: 10px; font-size: 16px; line-height: 1.45; }
.mws-ev-infos__obj .mws-ev-icon { flex-shrink: 0; margin-top: 3px; color: var(--mws-ev-document-lisible, var(--mws-ev-document, #00B3CF)); }

/* Note reservee aux gestionnaires */
.mws-ev-note-admin {
  margin: 12px 0;
  padding: 12px 16px;
  border: 1.5px dashed rgba(var(--mws-ev-secondaire-rgb, 162, 0, 116), .5);
  border-radius: 10px;
  background: rgba(var(--mws-ev-secondaire-rgb, 162, 0, 116), .05);
  font-size: 14px;
  line-height: 1.5;
}

.mws-ev-note-admin small { opacity: .7; }

@media (max-width: 960px) {
  .mws-ev-ffiche__cols { grid-template-columns: minmax(0, 1fr); }
  .mws-ev-ffiche__side { position: static; }
}

@media (max-width: 640px) {
  .mws-ev-fentete { padding: 24px 20px; }
  .mws-ev-faits { grid-template-columns: minmax(0, 1fr); }
}
