/* modules/stage_evenement/module.css - cartes des stages et evenements (le Template du site peut les completer). */
.se-liste { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin: 10px 0; }
.se-liste.se-vide { display: block; color: #667; }
.se-carte { display: flex; flex-direction: column; background: #fff; border: 1px solid #e3e8f0; border-radius: 14px; overflow: hidden; box-shadow: 0 4px 18px rgba(20, 61, 122, .09); }
.se-carte.se-passe { opacity: .8; }
.se-photo img { display: block; width: 100%; height: 180px; object-fit: cover; }
.se-corps { padding: 18px 20px 20px; display: flex; flex-direction: column; flex: 1; }
.se-badge { align-self: flex-start; background: #e8f0fd; color: #143d7a; border-radius: 999px; padding: 2px 12px; font-size: .8rem; font-weight: 700; }
.se-evenement .se-badge { background: #fff1d6; color: #7a4a00; }
.se-titre { margin: 10px 0 4px; font-size: 1.15rem; line-height: 1.3; }
.se-quand { margin: 0 0 8px; font-weight: 600; }
.se-infos { list-style: none; margin: 0 0 8px; padding: 0; font-size: .92rem; }
.se-infos li { margin: 2px 0; }
.se-etiquette { display: inline-block; min-width: 4.5em; color: #667; font-weight: 600; }
.se-desc { margin: 4px 0 12px; color: #444; }
.se-actions { margin: auto 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.se-btn { display: inline-block; background: #1f5fbf; color: #fff; text-decoration: none; padding: 9px 18px; border-radius: 8px; font-weight: 600; }
.se-btn:hover { filter: brightness(1.1); }
.se-lien { font-weight: 600; }
.se-etat { font-weight: 700; padding: 6px 12px; border-radius: 8px; background: #f1f3f8; color: #556; }
.se-complet { background: #fbe9e7; color: #b3261e; }
.se-pages { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 18px 0 6px; }
.se-page { display: inline-block; min-width: 38px; padding: 7px 12px; text-align: center; border: 1px solid #c9d3e6; border-radius: 8px; background: #fff; color: #143d7a; text-decoration: none; font-weight: 600; box-sizing: border-box; }
a.se-page:hover { background: #e8f0fd; }
.se-courante { background: #1f5fbf; border-color: #1f5fbf; color: #fff; }
.se-inactif { opacity: .45; }
.se-points { border-color: transparent; background: transparent; }
/* Tarifs en liste, bouton « En savoir plus » et fenetre modale (lot A, 14/10/2026) */
.se-tarifs-liste { display: inline-block; vertical-align: top; }
.se-tarif-lib { color: #445; }
.se-tarif-mont { font-weight: 700; }
button.se-lien { background: none; border: 1px solid #1f5fbf; color: #1f5fbf; padding: 8px 16px; border-radius: 8px; font: inherit; font-weight: 600; cursor: pointer; }
button.se-lien:hover { background: #e8f0fd; }
html.se-modale-ouverte { overflow: hidden; }
.se-modale-fond { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 99990; background: rgba(15, 23, 42, .6); display: flex; align-items: center; justify-content: center; padding: 16px; }
.se-modale { background: #fff; color: #222; width: 100%; max-width: 860px; max-height: 90vh; border-radius: 14px; box-shadow: 0 20px 60px rgba(0, 0, 0, .35); display: flex; flex-direction: column; overflow: hidden; }
.se-modale-tete { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 20px; border-bottom: 1px solid #e3e8f0; }
.se-modale-titre { margin: 0; font-size: 1.15rem; }
.se-modale-fermer { border: 0; background: #eef2f8; color: #223; width: 38px; height: 38px; border-radius: 50%; font-size: 1.6rem; line-height: 1; cursor: pointer; flex: none; }
.se-modale-fermer:hover { background: #dde5f2; }
.se-modale-corps { padding: 18px 22px 24px; overflow: auto; }
.se-modale-corps img { max-width: 100%; height: auto; }
