/* L'École de Do — agenda des cours ([agenda_cours]) */
.lda {
  --lda-brun: #7b5330;
  --lda-brun-fonce: #553118;
  --lda-rouge: #8c2411;
  --lda-creme: #f9f2ea;
  --lda-bord: #eadfce;
  --lda-texte: #2b2118;
  --lda-doux: #7a6a5a;
  max-width: 1200px;
  margin: 0 auto 2rem;
  padding: 0 12px;
  color: var(--lda-texte);
  font-size: 15px;
  box-sizing: border-box;
}
.lda *, .lda *::before, .lda *::after { box-sizing: border-box; }
html.lda-bloque { overflow: hidden; }

/* Le thème (Elementor) stylise tous les boutons : on repart d'une base neutre dans l'agenda */
.lda[data-lda] button { text-transform: none; letter-spacing: normal; font-family: inherit; font-weight: inherit; min-height: 0; box-shadow: none; text-decoration: none; }

/* ---------- Barre du haut ---------- */
.lda-barre { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; justify-content: space-between; margin: 0 0 10px; }
.lda-nav { display: flex; align-items: center; gap: 6px; min-width: 0; }
.lda-titre { font-family: "Josefin Sans", sans-serif; font-size: 1.25rem; font-weight: 700; margin: 0 0 0 6px; color: var(--lda-brun-fonce); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lda-outils { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.lda[data-lda] .lda-btn { appearance: none; border: 1px solid var(--lda-bord); background: #fff; color: var(--lda-brun-fonce); border-radius: 999px; padding: 6px 14px; font: inherit; font-size: 0.9rem; font-weight: 600; cursor: pointer; line-height: 1.2; }
.lda[data-lda] a.lda-btn { text-decoration: none; display: inline-flex; align-items: center; }
.lda[data-lda] .lda-btn:hover { border-color: var(--lda-brun); }
.lda[data-lda] .lda-btn:focus-visible, .lda[data-lda] .lda-vues button:focus-visible, .lda[data-lda] .lda-puce:focus-visible, .lda[data-lda] .lda-cours:focus-visible, .lda[data-lda] .lda-mois__jour:focus-visible { outline: 3px solid #e0a15a; outline-offset: 2px; }
.lda[data-lda] .lda-btn--icone { width: 34px; height: 34px; padding: 0; font-size: 1.4rem; line-height: 1; display: inline-flex; align-items: center; justify-content: center; }
.lda-vues { display: inline-flex; background: var(--lda-creme); border-radius: 999px; padding: 3px; }
.lda[data-lda] .lda-vues button { appearance: none; border: 0; background: transparent; border-radius: 999px; padding: 6px 12px; font: inherit; font-size: 0.85rem; font-weight: 600; color: var(--lda-doux); cursor: pointer; }
.lda[data-lda] .lda-vues button[aria-selected="true"] { background: #fff; color: var(--lda-brun-fonce); box-shadow: 0 1px 3px rgba(0,0,0,.12); }

/* Crédits : petit et discret */
.lda-credits { font-size: 0.82rem; font-weight: 600; color: var(--lda-doux); text-decoration: none; padding: 5px 10px; border-radius: 999px; background: var(--lda-creme); white-space: nowrap; }
.lda-credits:hover { color: var(--lda-brun-fonce); }

/* ---------- Filtres ---------- */
.lda-filtres { display: flex; gap: 6px; overflow-x: auto; padding: 2px 0 10px; scrollbar-width: none; }
.lda-filtres::-webkit-scrollbar { display: none; }
.lda[data-lda] .lda-puce { --c: var(--lda-brun); flex: 0 0 auto; appearance: none; border: 1px solid var(--lda-bord); background: #fff; color: var(--lda-texte); border-radius: 999px; padding: 5px 12px 5px 10px; font: inherit; font-size: 0.82rem; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.lda[data-lda] .lda-puce::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--c); }
.lda[data-lda] .lda-puce[data-lda-filtre=""]::before, .lda[data-lda] .lda-puce[data-lda-filtre="__mes_cours"]::before { display: none; }
.lda[data-lda] .lda-puce.is-actif { background: var(--c); border-color: var(--c); color: #fff; }
.lda[data-lda] .lda-puce.is-actif::before { background: #fff; }

/* ---------- Corps ---------- */
.lda-corps { position: relative; border: 1px solid var(--lda-bord); border-radius: 14px; background: #fff; overflow: hidden; outline: none; touch-action: pan-y; }
.lda-corps.is-chargement { opacity: .55; transition: opacity .2s; }
.lda-corps.is-glisse-g { animation: lda-glisse-g .25s ease-out; }
.lda-corps.is-glisse-d { animation: lda-glisse-d .25s ease-out; }
@keyframes lda-glisse-g { from { transform: translateX(24px); opacity: .4; }
to { transform: none; opacity: 1; } }
@keyframes lda-glisse-d { from { transform: translateX(-24px); opacity: .4; }
to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .lda-corps.is-glisse-g, .lda-corps.is-glisse-d { animation: none; } }
.lda-aide { font-size: 0.78rem; color: var(--lda-doux); text-align: center; margin: 8px 0 0; }
@media (hover: hover) { .lda-aide { display: none; } }
.lda-vide { text-align: center; color: var(--lda-doux); padding: 10px; margin: 0; border-top: 1px solid var(--lda-bord); }

/* ---------- Grille horaire ---------- */
.lda-grille { --col-heures: 44px; }
.lda-entetes { display: grid; grid-template-columns: var(--col-heures) repeat(var(--jours), 1fr); border-bottom: 1px solid var(--lda-bord); background: #fff; position: relative; z-index: 2; }
.lda-entete { text-align: center; padding: 8px 2px; font-size: 0.8rem; color: var(--lda-doux); text-transform: capitalize; border-left: 1px solid var(--lda-bord); }
.lda-entete strong { display: block; font-size: 1.15rem; color: var(--lda-texte); font-weight: 700; line-height: 1.3; }
.lda-entete.is-aujourdhui strong { display: inline-flex; width: 32px; height: 32px; align-items: center; justify-content: center; border-radius: 50%; background: var(--lda-rouge); color: #fff; }
/* Un seul défilement (téléphone et ordinateur) : celui de la page, l'agenda s'affiche en entier
   et la ligne des jours reste collée sous le bandeau du site */
.lda-defile { max-height: none; overflow: visible; }
.lda-corps { overflow: clip; }
.lda-entetes { position: sticky; top: var(--lda-haut-entete, 0px); }
.lda-heures-corps { position: relative; display: grid; grid-template-columns: var(--col-heures) repeat(var(--jours), 1fr); }
.lda-heures { position: relative; }
.lda-heure { position: absolute; right: 6px; transform: translateY(-50%); font-size: 0.72rem; color: var(--lda-doux); }
.lda-heure:first-child { transform: none; }
.lda-colonne { position: relative; border-left: 1px solid var(--lda-bord); }
.lda-colonne.is-aujourdhui { background: #fffaf3; }
.lda-ligne { position: absolute; left: 0; right: 0; border-top: 1px solid #f3ece2; }
.lda-maintenant { position: absolute; left: 0; right: 0; border-top: 2px solid #d93025; z-index: 3; }
.lda-maintenant::before { content: ""; position: absolute; left: -5px; top: -6px; width: 10px; height: 10px; border-radius: 50%; background: #d93025; }
.lda[data-lda] .lda-cours {
  --c: var(--lda-brun);
  position: absolute; z-index: 1; appearance: none; border: 0; margin: 0; cursor: pointer; text-align: left;
  padding: 4px 6px; border-radius: 7px; overflow: hidden;
  background: color-mix(in srgb, var(--c) 16%, #fff);
  border-left: 4px solid var(--c);
  color: color-mix(in srgb, var(--c) 70%, #000);
  display: flex; flex-direction: column; gap: 1px; font: inherit; line-height: 1.2;
  transition: transform .1s, box-shadow .1s;
}
.lda[data-lda] .lda-cours:hover { box-shadow: 0 2px 8px rgba(0,0,0,.15); z-index: 2; }
.lda[data-lda] .lda-cours:active { transform: scale(.98); }
.lda[data-lda] .lda-cours__titre { font-weight: 700; font-size: 0.8rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lda[data-lda] .lda-cours__heure, .lda[data-lda] .lda-cours__prof { font-size: 0.72rem; opacity: .85; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lda[data-lda] .lda-cours.is-inscrit { background: var(--c); color: #fff; }
.lda[data-lda] .lda-cours.is-complet:not(.is-inscrit) { background: repeating-linear-gradient(135deg, #f4f1ed, #f4f1ed 6px, #ebe6df 6px, #ebe6df 12px); color: #8a8078; border-left-color: #b9aea3; }
.lda[data-lda] .lda-cours__complet { align-self: flex-start; font-size: 0.6rem; font-weight: 800; text-transform: uppercase; letter-spacing: .02em; color: #fff; background: #8a8078; border-radius: 4px; padding: 1px 4px; margin-top: 1px; white-space: nowrap; }
.lda[data-lda] .lda-cours__complet--icone { background: none; padding: 0; font-size: 0.8rem; }
.lda[data-lda] .lda-cours.is-passe { opacity: .5; }
.lda[data-lda] .lda-cours.is-en-avant:not(.is-inscrit) { box-shadow: inset 0 0 0 1.5px #d4af37; }

/* ---------- Vue mois ---------- */
.lda-mois__entetes { display: grid; grid-template-columns: repeat(7, 1fr); border-bottom: 1px solid var(--lda-bord); }
.lda-mois__entetes div { text-align: center; font-size: 0.78rem; color: var(--lda-doux); padding: 8px 0; text-transform: capitalize; }
.lda-mois__grille { display: grid; grid-template-columns: repeat(7, 1fr); }
.lda[data-lda] .lda-mois__jour { color: var(--lda-texte); appearance: none; border: 0; border-right: 1px solid var(--lda-bord); border-bottom: 1px solid var(--lda-bord); background: #fff; min-height: 104px; padding: 4px; text-align: left; display: flex; flex-direction: column; gap: 2px; cursor: pointer; font: inherit; min-width: 0; }
.lda[data-lda] .lda-mois__jour:nth-child(7n) { border-right: 0; }
.lda[data-lda] .lda-mois__jour:hover { background: #fffaf3; color: var(--lda-texte); }
.lda[data-lda] .lda-mois__jour.is-hors { background: #fbf9f6; color: #b5a99c; }
.lda-mois__num { font-size: 0.8rem; font-weight: 700; width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; }
.lda[data-lda] .lda-mois__jour.is-aujourdhui .lda-mois__num { background: var(--lda-rouge); color: #fff; }
.lda-mois__cours { --c: var(--lda-brun); display: block; font-size: 0.72rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border-radius: 4px; padding: 1px 4px; background: color-mix(in srgb, var(--c) 14%, #fff); color: color-mix(in srgb, var(--c) 75%, #000); }
.lda-mois__cours.is-inscrit { background: var(--c); color: #fff; }
.lda-mois__cours.is-complet { background: #efebe6; color: #8a8078; }
.lda-mois__h { font-weight: 700; }
.lda-mois__plus { font-size: 0.72rem; color: var(--lda-doux); padding-left: 4px; }
.lda-mois__points { display: none; gap: 3px; flex-wrap: wrap; padding: 2px; }
.lda-mois__points i { width: 7px; height: 7px; border-radius: 50%; background: var(--c); }

/* ---------- Fiche d'un cours (feuille) ---------- */
.lda-feuille[hidden] { display: none; }
.lda-feuille { position: fixed; inset: 0; z-index: 2147483000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.lda-feuille__fond { position: absolute; inset: 0; background: rgba(30, 20, 10, .5); }
.lda-feuille__boite { position: relative; background: #fff; border-radius: 18px; width: 100%; max-width: 460px; max-height: 88vh; overflow-y: auto; padding: 22px 20px 20px; box-shadow: 0 20px 60px rgba(0,0,0,.3); animation: lda-apparait .2s ease-out; }
@keyframes lda-apparait { from { transform: translateY(12px); opacity: 0; }
to { transform: none; opacity: 1; } }
.lda[data-lda] .lda-feuille__fermer { position: absolute; top: 10px; right: 10px; width: 36px; height: 36px; padding: 0; border-radius: 50%; border: 0; background: var(--lda-creme); cursor: pointer; color: var(--lda-brun-fonce); display: flex; align-items: center; justify-content: center; }
.lda[data-lda] .lda-feuille__fermer:hover { background: #eadfce; }
.lda[data-lda] .lda-feuille__fermer svg { display: block; pointer-events: none; }
.lda-detail { --c: var(--lda-brun); }
.lda-detail__bandeau { display: inline-block; background: #1e3a5f; color: #fff; font-size: 0.7rem; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; padding: 3px 10px; border-radius: 999px; margin-bottom: 6px; }
.lda-detail__titre { font-family: "Josefin Sans", sans-serif; margin: 0 40px 4px 0; font-size: 1.45rem; color: var(--lda-brun-fonce); border-left: 5px solid var(--c); padding-left: 10px; }
.lda-detail__sous-titre { margin: 0 0 8px; color: var(--lda-doux); }
.lda-detail__infos { list-style: none; margin: 12px 0; padding: 0; display: grid; gap: 6px; font-size: 0.95rem; }
.lda-detail__inscription { background: var(--lda-creme); border-radius: 12px; padding: 10px 12px 12px; margin: 12px 0; }
.lda-detail__inscription .inscription-zone { margin-top: 0; }
.lda-detail__description { font-size: 0.9rem; color: #555; line-height: 1.5; }
.lda-detail__sous { font-size: 0.95rem; margin: 14px 0 6px; color: var(--lda-brun-fonce); }
.lda-detail__meta { font-size: 0.88rem; color: var(--lda-doux); margin: 0 0 8px; }
.lda-inscrits { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.lda-inscrit { background: #f3ede5; border-radius: 999px; padding: 3px 10px; font-size: 0.85rem; }
.lda-inscrit small { color: #e8590c; }
.lda-inscrit--podium { background: linear-gradient(135deg, #f7e7a1, #e9c85a); font-weight: 700; }

/* Top 10 */
.lda-top { list-style: none; margin: 0; padding: 0; }
.lda-top__ligne { display: flex; align-items: center; gap: 10px; padding: 8px 4px; border-bottom: 1px solid var(--lda-bord); }
.lda-top__ligne--podium { font-weight: 700; }
.lda-top__rang { width: 28px; text-align: center; font-size: 1.1rem; }
.lda-top__nom { flex: 1; }
.lda-top__nb { color: var(--lda-doux); font-size: 0.88rem; }

/* ---------- Téléphone ---------- */
@media (max-width: 700px) {
  .lda { padding: 0 6px; font-size: 14px; }
  .lda-barre { gap: 8px; }
  .lda-nav { width: 100%; }
  .lda-titre { font-size: 1.05rem; flex: 1; }
  .lda-outils { width: 100%; justify-content: space-between; }
  .lda-vues { flex: 1; justify-content: space-between; }
  .lda[data-lda] .lda-vues button { padding: 6px 8px; font-size: 0.8rem; flex: 1; }
  .lda-grille { --col-heures: 34px; }
  .lda-entete { font-size: 0.7rem; padding: 6px 0; }
  .lda-entete strong { font-size: 1rem; }
  .lda-entete.is-aujourdhui strong { width: 26px; height: 26px; }
  .lda[data-lda] .lda-cours { padding: 3px 4px; border-left-width: 3px; }
  .lda[data-lda] .lda-cours__titre { font-size: 0.72rem; white-space: normal; }
  .lda[data-lda] .lda-mois__jour { min-height: 64px; padding: 2px; align-items: center; }
  .lda-mois__cours, .lda-mois__plus { display: none; }
  .lda-mois__points { display: flex; justify-content: center; }
  .lda-feuille { align-items: flex-end; padding: 0; }
  .lda-feuille__boite { max-width: none; border-radius: 18px 18px 0 0; max-height: 90vh; padding-bottom: calc(20px + env(safe-area-inset-bottom)); animation-name: lda-monte; }
@keyframes lda-monte { from { transform: translateY(40px); }
to { transform: none; } }
.lda--halloween .lda-corps::before, .lda--halloween .lda-corps::after { width: 56px; height: 56px; }
}
 