.inscription-zone { margin-top: 0.6rem; text-align: center; min-height: 36px; }
.inscription-skeleton { display: inline-block; width: 100px; height: 30px; background: #f0e8dc; border-radius: 6px; animation: pulse 1.2s infinite; }
@keyframes pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.5; } }
.event-card-collapsed .inscription-form-expanded { display: none; }
.event-card-collapsed .inscription-form-collapsed { display: block; }
.event-card-expanded .inscription-form-collapsed { display: none; }
.event-card-expanded .inscription-form-expanded { display: block; }
.inscription-form { margin-top: 0.6rem; text-align: center; }
.inscription-form-collapsed { margin-top: 0.6rem; text-align: center; }
.inscription-message { margin-top: 0.5rem; font-weight: 600; text-align: center; font-size: 0.85em; }
.inscription-message.inscription-ok::before { content: "\002713"; display: inline-block; color: green; margin-right: 0.4em; }
.inscription-message.inscription-impossible::before { content: "\00274C"; display: inline-block; margin-right: 0.4em; }
.inscription-form select.select-paiement { padding: 8px 10px; background-color: white; border: 1px solid #c8b89a; font-size: 0.88em; margin-bottom: 0.6em; margin-top: 0.2em; border-radius: 6px; max-width: 280px; width: 100%; }
.wp-element-button-invert { background-color: transparent; color: black; }
.wp-element-button-invert:hover { background-color: #eaeaea; }
.wp-element-button:disabled { opacity: 0.7; cursor: not-allowed; }
.inscription-form .wp-element-button, .inscription-form-collapsed .wp-element-button { background-color: #8C2411; color: white; padding: 0.45em 1.2em; font-size: 0.88em; border-radius: 6px; }
.inscription-form .wp-element-button:hover, .inscription-form-collapsed .wp-element-button:hover { background-color: #6d1c0d; }
#event-modal-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.6); display: flex; justify-content: center; align-items: center; z-index: 2147483600; max-width: none; padding: 16px; box-sizing: border-box; } .event-modal-box { background: white; padding: 1.5em 1.5em 0; max-width: 400px; width: 100%; box-sizing: border-box; border-radius: 10px; box-shadow: 0 0 30px rgba(0,0,0,0.2);
max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
.event-modal-actions { margin: 1.2em -1.5em 0; padding: 12px 1.5em calc(12px + env(safe-area-inset-bottom)); display: flex; justify-content: flex-end; gap: 10px;
position: sticky; bottom: 0; background: white; border-top: 1px solid #eee; } .ldi { display: flex; flex-direction: column; gap: 12px; text-align: left; margin-top: 0.4rem; }
.ldi-label { font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #7a6a5a; }
.ldi-ligne { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ldi .ldi-stepper { display: inline-flex; align-items: center; background: #fff; border: 1px solid #e3d6c4; border-radius: 999px; padding: 3px; }
.ldi .ldi-stepper button { appearance: none; width: 34px; height: 34px; border-radius: 50%; border: 0; background: #f6efe6; color: #553118; font-size: 1.2rem; font-weight: 700; line-height: 1; padding: 0; cursor: pointer; min-height: 0; box-shadow: none; }
.ldi .ldi-stepper button:hover:not(:disabled) { background: #eadfce; }
.ldi .ldi-stepper button:disabled { opacity: .35; cursor: default; }
.ldi .ldi-stepper output { min-width: 34px; text-align: center; font-weight: 700; font-size: 1.05rem; color: #2b2118; }
.ldi-paiements { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ldi-paiements legend { margin-bottom: 8px; padding: 0; }
.ldi-option { display: flex; align-items: center; gap: 12px; background: #fff; border: 1.5px solid #e3d6c4; border-radius: 12px; padding: 10px 12px; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.ldi-option:hover { border-color: #c9ae8c; }
.ldi-option input { position: absolute; opacity: 0; pointer-events: none; }
.ldi-option:has(input:checked) { border-color: #8c2411; box-shadow: 0 0 0 3px rgba(140, 36, 17, .12); }
.ldi-option:has(input:focus-visible) { outline: 3px solid #e0a15a; outline-offset: 2px; }
.ldi-option.is-indisponible { opacity: .45; cursor: not-allowed; }
.ldi-option__icone { width: 36px; height: 36px; flex: 0 0 36px; border-radius: 10px; background: #f6efe6; display: flex; align-items: center; justify-content: center; font-size: 1.15rem; }
.ldi-option__texte { flex: 1; display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
.ldi-option__texte strong { font-size: 0.95rem; color: #2b2118; }
.ldi-option__texte small { font-size: 0.78rem; color: #7a6a5a; }
.ldi-option__prix { font-weight: 800; color: #2b2118; white-space: nowrap; }
.ldi-option:has(input:checked) .ldi-option__prix { color: #8c2411; }
.ldi-note { font-size: 0.8rem; color: #7a6a5a; margin: -4px 0 0; }
.ldi-gratuit { margin: 0; font-weight: 700; color: #2c7a2c; text-align: center; }
.inscription-form.ldi .wp-element-button.ldi-bouton { width: 100%; padding: 0.8em 1.2em; font-size: 1rem; font-weight: 700; border-radius: 999px; margin: 0; } .ld-ajout-places { margin-top: .7em; border: 1px dashed #d4b896; border-radius: 10px; padding: 8px 12px; }
.ld-ajout-places summary { cursor: pointer; font-weight: 700; color: #8C2411; }
.ld-ajout-form { display: grid; gap: 8px; margin-top: 8px; }
.ld-ajout-nb select { margin-left: 6px; }
.ld-ajout-paiement { display: grid; gap: 4px; font-size: .92em; }
.ld-ajout-paiement label { display: flex; gap: 6px; align-items: center; }
.ld-ajout-msg { margin: 0; font-weight: 600; font-size: .9em; }.ld-pseudo { --ld-fond: #f3ede5; display: inline-flex; align-items: center; gap: 5px; background: var(--ld-fond); color: #2b2118; border-radius: 999px; padding: 3px 10px 3px 5px; font-size: 0.86rem; line-height: 1.3; margin: 2px; vertical-align: middle; }
.ld-pseudo--sombre { color: #fff; }
.ld-pseudo--arc-en-ciel { background: linear-gradient(90deg, #ffb3ba, #ffdfba, #ffffba, #baffc9, #bae1ff, #e0c3fc, #ffb3ba); background-size: 300% 100%; animation: ld-cadre-arc 6s linear infinite; }
@keyframes ld-cadre-arc { to { background-position: 300% 0; } }
.ld-pseudo__nb { font-size: 0.72rem; font-weight: 700; opacity: .65; }
.ld-badge { display: inline-flex; align-items: center; justify-content: center; width: 1.45em; height: 1.45em; border-radius: 50%; background: rgba(255,255,255,.75); font-size: 0.95em; line-height: 1; flex: 0 0 auto; }
.ld-badge--grand { font-size: 1.7rem; }
.ld-badge .ld-icone { width: 1.05em; height: 1.05em; display: block; }
.ld-badge--large { width: auto; border-radius: 999px; padding: 0 0.25em; letter-spacing: -0.12em; } .ld-badge--bleue  { filter: hue-rotate(185deg) saturate(1.4); }
.ld-badge--rouge  { filter: hue-rotate(-18deg) saturate(2) brightness(.95); }
.ld-badge--verte  { filter: hue-rotate(85deg) saturate(1.3); }
.ld-badge--multi  { animation: ld-arc-en-ciel 4s linear infinite; }
@keyframes ld-arc-en-ciel { to { filter: hue-rotate(360deg); } }
.ld-badge--turbo { animation-duration: .04s; }  .ld-badge--couronne-0 { background: linear-gradient(135deg, #f7e7a1, #d4af37); box-shadow: 0 0 0 1.5px #d4af37; }
.ld-badge--couronne-1 { background: linear-gradient(135deg, #f1f1f1, #b8b8b8); box-shadow: 0 0 0 1.5px #a8a8a8; }
.ld-badge--couronne-2 { background: linear-gradient(135deg, #f0c9a0, #cd7f32); box-shadow: 0 0 0 1.5px #cd7f32; }
@media (prefers-reduced-motion: reduce) { .ld-badge--multi { animation: none; filter: hue-rotate(120deg); } .ld-pseudo--arc-en-ciel { animation: none; } } .ld-mes-badges { background: #fff; border: 1px solid #eadfce; border-radius: 14px; padding: 18px; margin-bottom: 20px; }
.ld-mes-badges h3 { margin: 0 0 10px; color: #553118; }
.ld-mes-badges__apercu { margin: 0 0 10px; }
.ld-mes-badges__ok { color: #2c7a2c; font-weight: 700; margin: 0 0 8px; }
.ld-mes-badges__info { font-size: 0.88rem; color: #7a6a5a; margin: 8px 0 0; }
.ld-mes-badges__label { font-weight: 700; margin: 14px 0 8px; color: #553118; }
.ld-badges-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 8px; }
.ld-badge-carte { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; border: 2px solid #eadfce; border-radius: 12px; padding: 10px 6px; cursor: pointer; background: #fff; }
.ld-badge-carte input { position: absolute; opacity: 0; pointer-events: none; }
.ld-badge-carte:has(input:checked), .ld-badge-carte.is-choisi { border-color: #7b5330; background: #f9f2ea; }
.ld-badge-carte:has(input:focus-visible) { outline: 3px solid #e0a15a; outline-offset: 2px; }
.ld-badge-carte.is-verrouille { cursor: default; background: #faf8f5; }
.ld-badge-carte.is-verrouille .ld-badge { filter: grayscale(1); opacity: .45; }
.ld-badge-carte__nom { font-weight: 700; font-size: 0.85rem; }
.ld-badge-carte__cond { font-size: 0.72rem; color: #7a6a5a; }
.ld-badge-carte__barre { width: 80%; height: 5px; background: #eee4d6; border-radius: 3px; overflow: hidden; }
.ld-badge-carte__barre i { display: block; height: 100%; background: #7b5330; }
.ld-couleurs { display: flex; flex-wrap: wrap; gap: 8px; }
.ld-couleur { position: relative; cursor: pointer; }
.ld-couleur input[type="radio"] { position: absolute; opacity: 0; pointer-events: none; }
.ld-couleur span { display: block; width: 34px; height: 34px; border-radius: 50%; background: var(--c); border: 2px solid #d9cbb8; }
.ld-couleur input:checked + span { box-shadow: 0 0 0 3px #fff, 0 0 0 5px #7b5330; }
.ld-couleur input:focus-visible + span { outline: 3px solid #e0a15a; outline-offset: 3px; }
.ld-couleur--libre input[type="color"] { width: 34px; height: 34px; border: 2px solid #d9cbb8; border-radius: 50%; padding: 0; cursor: pointer; background: none; }
.ld-couleur--libre:has(input[type="radio"]:checked) input[type="color"] { box-shadow: 0 0 0 3px #fff, 0 0 0 5px #7b5330; }
.ld-mes-badges__btn { background: #8c2411; color: #fff; border: 0; border-radius: 999px; padding: 10px 22px; font-weight: 700; cursor: pointer; margin-top: 12px; }
a.ld-mes-badges__btn, a.ld-mes-badges__btn:hover, a.ld-mes-badges__btn:visited { display: inline-block; color: #fff !important; text-decoration: none !important; }
.ld-couleur--arc span { background: conic-gradient(#ffb3ba, #ffdfba, #ffffba, #baffc9, #bae1ff, #e0c3fc, #ffb3ba); display: flex; align-items: center; justify-content: center; font-size: 0.8rem; }
.ld-couleur--arc.is-verrouille { cursor: default; }
.ld-couleur--arc.is-verrouille span { filter: grayscale(.8); opacity: .6; } .ld-badge-carte--saison { cursor: default; background: linear-gradient(160deg, #fff8ec, #fff); }
.ld-badge-saison { position: relative; display: inline-flex; flex-direction: column; align-items: center; }
.ld-badge-saison__icone { font-size: 2.4rem; line-height: 1; }
.ld-badge-saison b { margin-top: -6px; background: #2b2118; color: #ffd27a; font-size: 0.72rem; letter-spacing: .06em; border-radius: 999px; padding: 1px 7px; }
.ld-badge-carte--saison.is-verrouille .ld-badge-saison { filter: grayscale(1); opacity: .55; } .ld-pop-badge { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(30, 20, 12, .6); animation: ld-pop-fond .25s ease; }
.ld-pop-badge__boite { position: relative; width: 100%; max-width: 360px; background: #fff; border-radius: 20px; padding: 26px 22px 20px; text-align: center; box-shadow: 0 20px 50px rgba(0,0,0,.3); animation: ld-pop-entree .45s cubic-bezier(.2,1.4,.4,1); }
.ld-pop-badge__confettis { position: absolute; top: -26px; left: 50%; transform: translateX(-50%); margin: 0; font-size: 2.6rem; }
.ld-pop-badge__sur { margin: 4px 0 10px; font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #8C2411; }
.ld-pop-badge__icone { font-size: 3.4rem !important; }
.ld-pop-badge__icone.ld-badge--grand { width: 84px; height: 84px; font-size: 2.6rem !important; }
.ld-pop-badge h3 { margin: 10px 0 6px; color: #3b2414; font-size: 1.35rem; }
.ld-pop-badge p { margin: 0 0 14px; color: #6b5a4a; font-size: .92rem; }
.ld-pop-badge__actions { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.ld-pop-badge .ld-pop-badge__btn { appearance: none; border: 0 !important; border-radius: 999px !important; padding: 10px 18px !important; background: #8C2411 !important; color: #fff !important; font-family: inherit; font-size: .95rem; font-weight: 700; line-height: 1.2; text-transform: none !important; letter-spacing: normal !important; text-decoration: none !important; box-shadow: none !important; cursor: pointer; }
.ld-pop-badge .ld-pop-badge__btn--2 { background: #f3ede5 !important; color: #553118 !important; }
.ld-pop-badge__boite, .ld-pop-badge__boite * { box-sizing: border-box; }
@keyframes ld-pop-fond { from { opacity: 0; } }
@keyframes ld-pop-entree { from { opacity: 0; transform: scale(.6); } }
@media (prefers-reduced-motion: reduce) { .ld-pop-badge, .ld-pop-badge__boite { animation: none; } } .ld-pseudo--noel { --ld-lumiere: #fff; position: relative; background: #14532d; color: #fff; box-shadow: 0 0 0 1.5px #0d3b1f; margin: 7px 4px; }
.ld-pseudo--noel::before, .ld-pseudo--noel::after { content: ""; position: absolute; inset: -5px 7px; pointer-events: none;
background: radial-gradient(circle, var(--ld-lumiere) 0 2.2px, transparent 3px) 0 0 / 12px 8px repeat-x,
radial-gradient(circle, var(--ld-lumiere) 0 2.2px, transparent 3px) 6px 100% / 12px 8px repeat-x;
filter: drop-shadow(0 0 2px var(--ld-lumiere)) drop-shadow(0 0 3px var(--ld-lumiere));
animation: ld-guirlande 1.6s ease-in-out infinite; animation-delay: var(--ld-delai, 0s); }
.ld-pseudo--noel::after { background-position: 6px 0, 0 100%; animation-delay: calc(var(--ld-delai, 0s) - .8s); }
@keyframes ld-guirlande { 0%, 100% { opacity: 1; } 50% { opacity: .12; } }
.ld-couleur--noel span { background: radial-gradient(circle, var(--ld-lumiere) 0 2px, transparent 2.8px) 0 0 / 9px 9px, #14532d; box-shadow: inset 0 0 6px rgba(255,255,255,.4); } .ld-badge--noel-special { background: radial-gradient(circle, #fff7d1, #f2c94c); box-shadow: 0 0 0 1.5px #d4a52c, 0 0 8px 2px rgba(255, 210, 80, .9); animation: ld-noel-halo 1.4s ease-in-out infinite; }
@keyframes ld-noel-halo { 50% { box-shadow: 0 0 0 1.5px #d4a52c, 0 0 16px 6px rgba(255, 210, 80, 1); transform: scale(1.12); } }
@media (prefers-reduced-motion: reduce) { .ld-pseudo--noel::before, .ld-pseudo--noel::after, .ld-badge--noel-special { animation: none; } } .ld-roulette { background: linear-gradient(160deg, #14532d, #0d3b1f); color: #fff; border-radius: 16px; padding: 18px; margin-bottom: 20px; }
.ld-roulette h3 { margin: 0 0 6px; color: #f2c94c; font-size: 1.5rem; }
.ld-roulette__intro, .ld-roulette__tours { margin: 0 0 8px; color: #e7f1ea; }
.ld-roulette__tours { font-weight: 700; color: #f2c94c; }
.ld-roulette__test { background: #fff3bf; color: #553118; border-radius: 10px; padding: 8px 12px; margin: 0 0 10px; font-size: .9rem; }
.ld-roulette__zone { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; }
.ld-roulette__roue { position: relative; width: min(340px, 100%); flex: 0 0 auto; }
.ld-roulette__svg { display: block; width: 100%; height: auto; }
.ld-roulette__svg { transition: transform 5s cubic-bezier(.12, .7, .1, 1); }
.ld-roulette__fleche { position: absolute; top: -6px; left: 50%; transform: translateX(-50%); z-index: 2; width: 0; height: 0; border-left: 14px solid transparent; border-right: 14px solid transparent; border-top: 26px solid #f2c94c; filter: drop-shadow(0 2px 2px rgba(0,0,0,.4)); }
.ld-roulette__cote { flex: 1 1 220px; min-width: 0; }
.ld-roulette .ld-roulette__btn { appearance: none; border: 0; border-radius: 999px; padding: 12px 26px; background: #f2c94c; color: #3b2414; font-weight: 800; font-size: 1.05rem; cursor: pointer; text-transform: none; letter-spacing: normal; }
.ld-roulette .ld-roulette__btn:disabled { opacity: .55; cursor: default; }
.ld-roulette .ld-roulette__btn--2 { background: #fff; padding: 9px 20px; font-size: .95rem; margin-top: 4px; }
.ld-roulette__resultat { background: rgba(255,255,255,.1); border-radius: 12px; padding: 12px 14px; margin: 12px 0; }
.ld-roulette__resultat.is-gagne { background: #fff; color: #3b2414; animation: ld-pop-entree .45s cubic-bezier(.2,1.4,.4,1); }
.ld-roulette__titre { font-weight: 800; font-size: 1.15rem; margin: 0 0 4px; }
.ld-roulette__texte { margin: 0 0 8px; }
.ld-roulette__cadeaux { margin-top: 12px; }
.ld-roulette__sous-titre { font-weight: 700; color: #f2c94c; margin: 0 0 4px; }
.ld-roulette__cadeaux ul { margin: 0; padding-left: 18px; }
.ld-roulette-flottant { position: fixed; left: 16px; bottom: 16px; z-index: 9990; background: #14532d; color: #fff !important; border-radius: 999px; padding: 11px 18px; font-weight: 700; text-decoration: none !important; box-shadow: 0 0 0 2px #f2c94c, 0 6px 18px rgba(0,0,0,.3); animation: ld-noel-halo-btn 1.6s ease-in-out infinite; }
@keyframes ld-noel-halo-btn { 50% { box-shadow: 0 0 0 2px #f2c94c, 0 0 16px 4px rgba(242, 201, 76, .8); } }
@media (prefers-reduced-motion: reduce) { .ld-roulette__svg { transition-duration: .01s; } .ld-roulette-flottant { animation: none; } } .ld-pseudo[data-ld-profil] { cursor: pointer; }
.ld-pseudo__nb { white-space: nowrap; } .ld-pseudo--xp-bleu-nuit, .ld-couleur span.ld-pseudo--xp-bleu-nuit { background: #1d2b53; color: #fff; }
.ld-pseudo--xp-dore, .ld-couleur span.ld-pseudo--xp-dore { background: linear-gradient(135deg, #f7e7a1, #d4af37 55%, #f7e7a1); color: #3b2a05; box-shadow: 0 0 0 1.5px #b8932a; }
.ld-pseudo--xp-legende, .ld-couleur span.ld-pseudo--xp-legende { color: #3b2a05; background: linear-gradient(100deg, #d4af37 20%, #fff6c9 40%, #d4af37 60%) 0 0 / 250% 100%; box-shadow: 0 0 0 1.5px #8a6a12, 0 0 12px rgba(212,175,55,.8); animation: ld-legende 3s linear infinite; font-weight: 700; }
@keyframes ld-legende { to { background-position: -250% 0; } }
.ld-couleur--skin span { display: flex; align-items: center; justify-content: center; font-size: .8rem; padding: 0; margin: 0; }
.ld-couleur--skin.is-verrouille { cursor: default; }
.ld-couleur--skin.is-verrouille span { filter: grayscale(.8); opacity: .55; } .ld-badge--xp-flamme-doree { background: linear-gradient(135deg, #fff3c4, #e6c25a); box-shadow: 0 0 0 1.5px #c9a23a; }
.ld-badge--xp-note-cristal { background: linear-gradient(135deg, #e8f7ff, #b9e3ff 50%, #f3e8ff); box-shadow: 0 0 0 1.5px #8fc9ef, 0 0 8px rgba(143,201,239,.8); } .ld-xp-barre { display: flex; align-items: center; gap: 10px; margin: 8px 0; }
.ld-xp-barre__niv { background: #8c2411; color: #fff; font-weight: 800; border-radius: 999px; padding: 4px 12px; white-space: nowrap; }
.ld-xp-barre__jauge { flex: 1; height: 14px; background: #f1e7da; border-radius: 999px; overflow: hidden; min-width: 80px; }
.ld-xp-barre__jauge i { display: block; height: 100%; background: linear-gradient(90deg, #e0a15a, #8c2411); border-radius: 999px; }
.ld-xp-barre__txt { font-size: .85rem; font-weight: 700; color: #553118; white-space: nowrap; }
.ld-xp-niveaux { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 8px; }
.ld-xp-niveau { display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; border: 1px solid #eadfce; border-radius: 12px; padding: 10px 6px; opacity: .55; }
.ld-xp-niveau.is-gagne { opacity: 1; border-color: #e0a15a; }
.ld-xp-niveau small { font-size: .75rem; color: #6b5440; }
.ld-xp-quetes { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ld-xp-quete { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; border: 1px solid #eadfce; border-radius: 12px; padding: 10px 12px; }
.ld-xp-quete.is-faite { background: #f3faf3; border-color: #b9dcb9; }
.ld-xp-quete__nom { flex: 1 1 220px; font-weight: 600; }
.ld-xp-quete__xp { font-weight: 800; color: #8c2411; }
.ld-xp-quete__etat { font-size: .8rem; color: #6b5440; }
.ld-xp-quete .ld-badge-carte__barre { flex: 0 0 100px; }
.ld-xp-quete form, .ld-xp-quete .ld-mes-badges__btn { margin: 0; }
.ld-xp-quete .ld-mes-badges__btn, .ld-xp-demande .ld-mes-badges__btn { padding: 6px 14px; margin: 0; }
.ld-xp-prive { margin-top: 14px; font-size: .9rem; }
.ld-xp-demande { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 8px 0; border-bottom: 1px solid #f1e7da; }
.ld-mes-badges__btn--2 { background: #fff; color: #8c2411; box-shadow: inset 0 0 0 1.5px #8c2411; } .ld-pop-xp__niv { margin: 0 0 6px; font-size: 2.4rem; font-weight: 900; color: #8c2411; }
.ld-profil { text-align: left; }
.ld-profil__nom { text-align: center; font-size: 1.1rem; }
.ld-profil__info { margin: 8px 0; }
.ld-profil__disc { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 4px; }
.ld-profil__disc li { display: flex; align-items: center; gap: 8px; }
.ld-profil__disc b { margin-left: auto; }
.ld-pop-profil .ld-pop-badge__btn { margin-top: 8px; }
.ld-couleur span.ld-pseudo--arc-en-ciel { background: conic-gradient(#ffb3ba, #ffdfba, #ffffba, #baffc9, #bae1ff, #e0c3fc, #ffb3ba); animation: none; } .ld-pseudo--apercu { padding: 3px 12px; }
.ld-pop-xp__skin { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 6px 0; }
.ld-pseudo--xp-bordeaux, .ld-couleur span.ld-pseudo--xp-bordeaux { background: #6d1a2a; color: #fff; }
@keyframes ld-defile { to { background-position: 300% 0; } } .ld-badge--xp-micro-or { background: linear-gradient(135deg, #fff1b8, #d4af37); box-shadow: 0 0 0 1.5px #b8932a, 0 0 8px rgba(212,175,55,.7); }
@keyframes ld-tourne { to { transform: rotate(360deg); } }
.ld-badge--xp-trophee { background: linear-gradient(135deg, #fff6c9, #d4af37 50%, #fff6c9) 0 0 / 200% 100%; box-shadow: 0 0 0 2px #8a6a12, 0 0 14px rgba(212,175,55,1); animation: ld-legende 2.5s linear infinite; } .ld-mes-badges br, .ld-pop-badge br, .ld-profil br { display: none; }
.ld-mes-badges p:empty, .ld-badges-grille > p, .ld-couleurs > p, .ld-xp-niveaux > p { display: none; }
.ld-badge-carte > *, .ld-xp-niveau > * { margin: 0; }
.ld-pseudo > *, .ld-pseudo__nb { margin: 0; line-height: 1; }
.ld-pseudo { line-height: 1.2; } .ld-pseudo[class*="ld-pseudo--xp-"] { position: relative; }  .ld-pseudo--xp-partition, .ld-couleur span.ld-pseudo--xp-partition { color: #1b1b1b; background: repeating-linear-gradient(#fffdf6 0 3px, #9a8a70 3px 4px) 0 1px / 100% 20px, #fffdf6; }
.ld-pseudo--xp-partition::after { content: "♪ ♫ ♩ ♬"; position: absolute; top: -12px; left: 0; font-size: 11px; color: #553118; white-space: nowrap; animation: ld-defile-notes 5s linear infinite; pointer-events: none; }
@keyframes ld-defile-notes { from { transform: translateX(-30%); opacity: 0; } 20%, 80% { opacity: 1; } to { transform: translateX(110%); opacity: 0; } }  .ld-pseudo--xp-cordes, .ld-couleur span.ld-pseudo--xp-cordes { color: #fff; background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(230,210,160,.8) 3px 4px), linear-gradient(90deg, #5b3a1e, #8b5a2b, #5b3a1e); animation: ld-vibre .12s linear infinite alternate; }
@keyframes ld-vibre { to { background-position: 0 1px, 0 0; } } .ld-pseudo--xp-projecteurs, .ld-couleur span.ld-pseudo--xp-projecteurs { color: #fff; background: linear-gradient(110deg, transparent 30%, rgba(255,240,180,.55) 45%, transparent 60%) 0 0 / 250% 100%, #1a1a2e; animation: ld-projecteur 2.8s ease-in-out infinite alternate; }
@keyframes ld-projecteur { to { background-position: 100% 0, 0 0; } } .ld-pseudo--xp-dancefloor, .ld-couleur span.ld-pseudo--xp-dancefloor { color: #fff; background: conic-gradient(#ff3cac 25%, #2bd2ff 0 50%, #ffe600 0 75%, #7cff4f 0) 0 0 / 14px 14px; animation: ld-dalles 1s steps(2) infinite; text-shadow: 0 1px 2px #000; }
@keyframes ld-dalles { to { background-position: 7px 7px; } }
.ld-pseudo--xp-dancefloor::after { content: "💃"; position: absolute; top: -14px; left: 0; font-size: 13px; animation: ld-danseuse 4s ease-in-out infinite alternate; pointer-events: none; }
@keyframes ld-danseuse { 0% { left: 0; transform: rotate(-10deg); } 25% { transform: rotate(10deg) translateY(-2px); } 50% { transform: rotate(-10deg); } 75% { transform: rotate(10deg) translateY(-2px); } 100% { left: calc(100% - 14px); transform: rotate(-10deg); } } .ld-pseudo--xp-notes-volantes, .ld-couleur span.ld-pseudo--xp-notes-volantes { color: #fff; background: linear-gradient(135deg, #8c2411, #e0a15a); }
.ld-pseudo--xp-notes-volantes::before, .ld-pseudo--xp-notes-volantes::after { content: "♪"; position: absolute; bottom: 60%; left: 20%; font-size: 12px; color: #8c2411; animation: ld-envol 2.4s ease-out infinite; pointer-events: none; }
.ld-pseudo--xp-notes-volantes::after { content: "♫"; left: 70%; animation-delay: 1.2s; }
@keyframes ld-envol { from { transform: translateY(0); opacity: 1; } to { transform: translateY(-18px) rotate(15deg); opacity: 0; } } .ld-pseudo--xp-rideau, .ld-couleur span.ld-pseudo--xp-rideau { color: #fff6d8; background: radial-gradient(ellipse at 50% 0, rgba(255,230,150,.5), transparent 60%), repeating-linear-gradient(90deg, #7a0c14 0 5px, #b3141f 5px 9px, #7a0c14 9px 12px); box-shadow: 0 0 0 1.5px #d4af37; } .ld-pseudo--xp-concert, .ld-couleur span.ld-pseudo--xp-concert { color: #fff; background: #111; animation: ld-concert 1.6s steps(1) infinite; }
@keyframes ld-concert { 0% { box-shadow: 0 0 0 2px #ff3cac, 0 0 14px #ff3cac; } 25% { box-shadow: 0 0 0 2px #2bd2ff, 0 0 14px #2bd2ff; } 50% { box-shadow: 0 0 0 2px #ffe600, 0 0 14px #ffe600; } 75% { box-shadow: 0 0 0 2px #7cff4f, 0 0 14px #7cff4f; } } .ld-pseudo--xp-legende::after { content: "♪"; position: absolute; top: -12px; right: 6px; font-size: 12px; color: #d4af37; animation: ld-envol 2s ease-out infinite; pointer-events: none; } .ld-badge--xp-casque { background: linear-gradient(135deg, #e3edf9, #7aa7e0); animation: ld-battement .6s ease-in-out infinite; }
@keyframes ld-battement { 50% { transform: scale(1.12); } }
@media (prefers-reduced-motion: reduce) { .ld-pseudo[class*="ld-pseudo--xp-"], .ld-pseudo[class*="ld-pseudo--xp-"]::before, .ld-pseudo[class*="ld-pseudo--xp-"]::after, .ld-badge[class*="ld-badge--xp-"] { animation: none !important; } }
.ld-couleur--skin span { position: relative; } .ld-pseudo--xp-degrade, .ld-couleur span.ld-pseudo--xp-degrade { background: linear-gradient(135deg, var(--d1), var(--d2)); }
.ld-pseudo--xp-precieux, .ld-couleur span.ld-pseudo--xp-precieux { background: linear-gradient(110deg, var(--d1) 25%, var(--d2) 40%, #fff 50%, var(--d2) 60%, var(--d1) 75%) 0 0 / 300% 100%; animation: ld-defile 4s linear infinite; box-shadow: 0 0 8px var(--d2); }
.ld-badge--anneau-bronze { background: linear-gradient(135deg, #f6dcc0, #cd7f32); box-shadow: 0 0 0 1.5px #a0612a; }
.ld-badge--anneau-argent { background: linear-gradient(135deg, #ffffff, #b8bfc7); box-shadow: 0 0 0 1.5px #8e98a3; }
.ld-badge--anneau-or { background: linear-gradient(135deg, #fff3c4, #d4af37); box-shadow: 0 0 0 1.5px #b8932a, 0 0 8px rgba(212,175,55,.8); }
.ld-xp-tous { margin-top: 10px; }
.ld-xp-tous summary { cursor: pointer; font-weight: 700; color: #8c2411; margin-bottom: 8px; } .ld-xp-quete__type { font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; padding: 2px 8px; border-radius: 999px; background: #f1e7da; color: #553118; }
.ld-xp-quete--visibilite { border-color: #e0a15a; background: #fff8ef; }
.ld-xp-quete--visibilite .ld-xp-quete__type { background: #8c2411; color: #fff; }
.ld-xp-quete__minuteur { flex-basis: 100%; font-size: .78rem; color: #8c2411; font-variant-numeric: tabular-nums; }
.ld-mes-badges__label small { font-weight: 400; color: #6b5440; }
.ld-xp-quete .ld-xp-quete__minuteur { flex: 0 0 100%; width: 100%; order: 10; } .ld-pseudo__deco { position: absolute; pointer-events: none; z-index: -1; }
.ld-pseudo[class*="ld-pseudo--xp-"] { isolation: isolate; }
.ld-badge svg.ld-icone--anim { width: 1.25em; height: 1.25em; display: block; } .ld-pseudo--xp-piano, .ld-couleur span.ld-pseudo--xp-piano { color: #fff; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='40'%3E%3Crect width='28' height='40' fill='%23fff'/%3E%3Cg stroke='%23aaa' stroke-width='.7'%3E%3Cpath d='M4 0v40M8 0v40M12 0v40M16 0v40M20 0v40M24 0v40M28 0v40'/%3E%3C/g%3E%3Cg fill='%23111'%3E%3Crect x='2.6' width='2.8' height='24' rx='.5'/%3E%3Crect x='6.6' width='2.8' height='24' rx='.5'/%3E%3Crect x='14.6' width='2.8' height='24' rx='.5'/%3E%3Crect x='18.6' width='2.8' height='24' rx='.5'/%3E%3Crect x='22.6' width='2.8' height='24' rx='.5'/%3E%3C/g%3E%3C/svg%3E") 0 0 / auto 100% repeat-x; box-shadow: 0 0 0 2px #111; }
.ld-pseudo--xp-piano .ld-pseudo__nom { background: #111; color: #fff; padding: 1px 7px; border-radius: 5px; }
.ld-pseudo--xp-piano .ld-pseudo__nb { background: #111; color: #fff; padding: 2px 5px; border-radius: 5px; opacity: 1; } .ld-pseudo--xp-egaliseur, .ld-couleur span.ld-pseudo--xp-egaliseur { color: #fff; background: #0e0e12; text-shadow: 0 1px 2px #000; overflow: hidden; }
.ld-couleur span.ld-pseudo--xp-egaliseur { background: linear-gradient(0deg, #2ecc71 0 40%, #f1c40f 40% 70%, #e74c3c 70%) 50% 100% / 4px 70% no-repeat, #0e0e12; }
.ld-pseudo--xp-egaliseur .ld-pseudo__deco { inset: 0; width: 100%; height: 100%; opacity: .75; } .ld-pseudo--xp-accordeur, .ld-couleur span.ld-pseudo--xp-accordeur { color: #fff; background: linear-gradient(180deg, #2a2d34, #15171b); box-shadow: 0 0 0 1.5px #3ddc84; padding-right: 34px; }
.ld-couleur span.ld-pseudo--xp-accordeur { padding: 0; background: conic-gradient(from -60deg at 50% 85%, #e74c3c 0 40deg, #3ddc84 40deg 80deg, #e74c3c 80deg 120deg, transparent 120deg), #15171b; }
.ld-pseudo--xp-accordeur .ld-pseudo__deco { right: 6px; top: 50%; transform: translateY(-50%); width: 26px; height: 20px; z-index: 1; } .ld-badge--xp-micro-or { position: relative; overflow: visible; }
.ld-badge--xp-micro-or::before, .ld-badge--xp-micro-or::after { content: "♪"; position: absolute; top: -2px; right: -4px; font-size: .55em; color: #b8932a; animation: ld-envol 1.8s ease-out infinite; pointer-events: none; }
.ld-badge--xp-micro-or::after { content: "♫"; right: auto; left: -4px; animation-delay: .9s; } .ld-badge--xp-batteur { background: linear-gradient(135deg, #fff1e0, #f4c48a); }
.ld-badge--xp-danseur { background: linear-gradient(135deg, #ffe3ef, #ffb3cf); }
.ld-badge--xp-vinyle-or { background: #2b2118; box-shadow: 0 0 0 1.5px #d4af37, 0 0 8px rgba(212,175,55,.7); }
.ld-badge--xp-platine { background: #1f2329; box-shadow: 0 0 0 1.5px #c9ced6, 0 0 10px rgba(220,225,235,.9); }
.ld-badge--xp-dj { background: linear-gradient(135deg, #2a1b4a, #12101f); box-shadow: 0 0 0 1.5px #7d5bff, 0 0 8px rgba(125,91,255,.7); } .ld-roulette-pop { position: fixed; inset: 0; z-index: 100002; display: flex; align-items: center; justify-content: center; padding: 12px; background: rgba(20, 12, 6, .72); }
.ld-roulette-pop__boite { width: 100%; max-width: 720px; max-height: 94vh; overflow-y: auto; border-radius: 20px; animation: ld-pop-entree .45s cubic-bezier(.2,1.4,.4,1); }
.ld-roulette-pop .ld-roulette { margin: 0; }
html.ld-roulette-ouverte:has(.ld-roulette-pop) { overflow: hidden; }
.ld-badge-carte__niv { font-size: .7rem; font-weight: 800; color: #fff; background: #8c2411; border-radius: 999px; padding: 1px 8px; }
.ld-pop-profil { z-index: 2147483647; } .ld-profil__niveau { text-align: center; margin: 4px 0 0; font-size: 1.6rem; font-weight: 900; color: #8c2411; }.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; } .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; } .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); } .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); } .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; } .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); } .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; } .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; } .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); } .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; } .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; } @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; }
} .lda-mes-cours { padding: 6px 2px 14px; }
.lda-mes-cours--vide p { margin: 24px 0; text-align: center; color: var(--lda-gris, #777); }
.lda-mes-cours__jour { margin: 14px 0 6px; font-size: 0.95rem; font-weight: 700; color: var(--lda-texte); }
.lda-mes-cours ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.lda[data-lda] .lda-mes-cours__cours { --c: var(--lda-brun); width: 100%; appearance: none; display: flex; align-items: center; gap: 12px; text-align: left; font: inherit; color: var(--lda-texte); background: #fff; border: 1px solid var(--lda-bord); border-left: 5px solid var(--c); border-radius: 10px; padding: 10px 12px; cursor: pointer; }
.lda[data-lda] .lda-mes-cours__cours:hover { background: #faf6f1; }
.lda-mes-cours__heure { font-weight: 700; min-width: 3.2em; }
.lda-mes-cours__titre { display: flex; flex-direction: column; font-weight: 600; }
.lda-mes-cours__titre small { font-weight: 400; color: var(--lda-gris, #777); } .lda-attente { margin: 10px 0 14px; }
.lda[data-lda] .lda-attente__btn { width: 100%; justify-content: center; background: #fff4e5; border-color: #e0a15a; font-weight: 700; }
.lda[data-lda] .lda-attente__btn.is-actif { background: #e8f5e9; border-color: #66bb6a; color: #2e7d32; }
.lda-form { display: grid; gap: 10px; margin-top: 10px; }
.lda-form label { display: grid; gap: 4px; font-weight: 600; font-size: .92rem; }
.lda-form label small { font-weight: 400; color: #8c7a6a; }
.lda-form select, .lda-form textarea { font: inherit; padding: 9px 10px; border: 1px solid var(--lda-bord); border-radius: 10px; background: #fff; }
.lda[data-lda] .lda-btn--plein { background: #8C2411; border-color: #8C2411; color: #fff; justify-content: center; font-weight: 700; }
.lda-form__msg { margin: 0; font-weight: 600; font-size: .9rem; }
.lda-form__msg.is-ok { color: #2e7d32; }
.lda-form__msg.is-err { color: #c0392b; }
.lda-programme ul { margin: 4px 0 6px; padding-left: 18px; }
.lda-programme li { margin: 3px 0; }
.lda-programme small { color: #8c7a6a; }
.lda[data-lda] .lda-lien-inscription { display: inline-flex; width: 100%; text-decoration: none; } .lda[data-lda] .lda-cours.is-special { background: linear-gradient(135deg, #3b2414 0%, #8C2411 45%, #d4af37 100%) !important; color: #fff !important; border: 0 !important; box-shadow: 0 0 0 2px #f5d77a, 0 6px 18px rgba(212,175,55,.55) !important; overflow: hidden; z-index: 3; }
.lda[data-lda] .lda-cours.is-special .lda-cours__titre, .lda[data-lda] .lda-cours.is-special .lda-cours__heure, .lda[data-lda] .lda-cours.is-special .lda-cours__prof { color: #fff !important; font-weight: 800; text-shadow: 0 1px 2px rgba(0,0,0,.35); }
.lda[data-lda] .lda-cours.is-special::after { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.45) 50%, transparent 70%); transform: translateX(-100%); animation: lda-reflet 2.8s ease-in-out infinite; pointer-events: none; }
.lda-mois__cours.is-special { background: linear-gradient(135deg, #8C2411, #d4af37) !important; color: #fff !important; font-weight: 800; border-radius: 6px; box-shadow: 0 0 0 1.5px #f5d77a; }
.lda-detail--special .lda-detail__titre { background: linear-gradient(135deg, #8C2411, #d4af37); -webkit-background-clip: text; background-clip: text; color: transparent; }
.lda-detail__evenement { margin: 0 0 4px; font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #b8860b; }
@keyframes lda-reflet { 0%, 35% { transform: translateX(-100%); } 75%, 100% { transform: translateX(100%); } }
@media (prefers-reduced-motion: reduce) { .lda[data-lda] .lda-cours.is-special::after { animation: none; display: none; } } .lda[data-lda] .lda-cours.is-soiree { background: linear-gradient(135deg, #c2185b 0%, #ef6c00 100%) !important; color: #fff !important; border: 0 !important; box-shadow: 0 0 0 2px #ffd27a, 0 4px 14px rgba(194,24,91,.4) !important; z-index: 2; }
.lda[data-lda] .lda-cours.is-soiree .lda-cours__titre, .lda[data-lda] .lda-cours.is-soiree .lda-cours__heure, .lda[data-lda] .lda-cours.is-soiree .lda-cours__prof { color: #fff !important; font-weight: 800; }
.lda-mois__cours.is-soiree { background: linear-gradient(135deg, #c2185b, #ef6c00) !important; color: #fff !important; font-weight: 800; border-radius: 6px; } .lda-soiree { display: flex; gap: 10px; align-items: stretch; margin: 10px 0 4px; }
.lda-soiree__date { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 92px; padding: 8px 10px; border-radius: 14px; background: #8C2411; color: #fff; text-align: center; line-height: 1.05; }
.lda-soiree__jour { font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.lda-soiree__num { font-size: 2.3rem; font-weight: 900; }
.lda-soiree__mois { font-size: .85rem; font-weight: 700; }
.lda-soiree__h { margin-top: 4px; font-size: .95rem; font-weight: 800; background: rgba(255,255,255,.18); border-radius: 999px; padding: 1px 10px; }
.lda-soiree__repas { flex: 1; display: flex; flex-direction: column; justify-content: center; padding: 10px 14px; border-radius: 14px; background: linear-gradient(135deg, #fff1dc, #ffe2c2); border: 2px solid #e0a15a; }
.lda-soiree__menu { font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: #8C2411; }
.lda-soiree__plat { font-size: 1.45rem; line-height: 1.15; color: #3b2414; }
.lda-soiree__plus { font-size: .82rem; color: #7a5a3a; } .lda-mes-cours-outils { display: none; margin: 0 0 12px; }
.lda:has(.lda-puce[data-lda-filtre="__mes_cours"].is-actif) .lda-mes-cours-outils { display: block; }
.lda-mes-cours-outils .ld-cal { margin: 0; } .lda[data-lda] a.lda-quetes { position: relative; overflow: visible; background: linear-gradient(135deg, #e23125, #8C2411); color: #fff; border-color: #8C2411; font-weight: 800; padding: 7px 16px; animation: ldaQuetesHalo 2.2s ease-in-out infinite; isolation: isolate; }
.lda[data-lda] a.lda-quetes::before { content: ""; position: absolute; inset: 0; border-radius: inherit; overflow: hidden; background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,.55) 48%, transparent 66%) -150% 0 / 250% 100% no-repeat; animation: ldaQuetesReflet 2.8s ease-in-out infinite; z-index: -1; pointer-events: none; }
.lda-quetes__pastille { position: absolute; top: -8px; right: -8px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: #ffcf33; color: #3a0d06; font-size: .78rem; font-weight: 900; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 0 0 2px #fff; animation: ldaQuetesSaut 2.2s ease-in-out infinite; }
@keyframes ldaQuetesHalo { 0%, 100% { box-shadow: 0 0 0 0 rgba(226,49,37,.55); } 50% { box-shadow: 0 0 0 7px rgba(226,49,37,0), 0 0 18px 2px rgba(255,190,60,.55); } }
@keyframes ldaQuetesReflet { 0% { background-position: -150% 0; } 60%, 100% { background-position: 150% 0; } }
@keyframes ldaQuetesSaut { 0%, 70%, 100% { transform: scale(1); } 80% { transform: scale(1.25); } 90% { transform: scale(.95); } }
@media (prefers-reduced-motion: reduce) { .lda[data-lda] a.lda-quetes, .lda[data-lda] a.lda-quetes::before, .lda-quetes__pastille { animation: none; } }