/* Rubrique événements — prolonge /site/styles.css (mêmes variables, même
   grammaire). Chargée par la coque site après styles.css ; ne redéfinit rien. */

.evt-titre-rubrique { margin: 0; font-family: var(--serif); font-size: clamp(28px, 3.4vw, 40px); line-height: 1.12; }

.evt-chip { display: inline-block; margin-top: 18px; padding: 3px 10px; border: 1px solid var(--violet); border-radius: 999px; color: var(--violet); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; width: max-content; }

/* Cartes a venir : l illustration en pleine largeur, la categorie en pastille. */
.evt-carte { min-height: 0; }
.evt-image { display: block; margin: -28px -28px 22px; aspect-ratio: 16 / 9; overflow: hidden; border-bottom: 1px solid var(--line); border-radius: var(--radius) var(--radius) 0 0; }
.evt-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.evt-carte:hover .evt-image img { transform: scale(1.04); }
.evt-carte h3 { margin-top: 14px; font-size: 22px; }
.evt-carte h3 a { color: inherit; text-decoration: none; }
.evt-carte h3 a:hover { color: var(--violet); }

/* Déjà passés : lignes compactes, vignette carrée. */
.evt-passes { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
.evt-passe { display: flex; gap: 16px; align-items: center; padding: 14px 18px 14px 14px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); text-decoration: none; color: inherit; transition: transform .2s ease, box-shadow .2s ease; }
.evt-passe:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.evt-passe img { width: 86px; height: 86px; object-fit: cover; border-radius: calc(var(--radius) - 8px); flex: none; }
.evt-passe-symbole { width: 86px; height: 86px; flex: none; border: 1px solid var(--violet); border-radius: 50%; display: grid; place-items: center; color: var(--violet); font-family: var(--serif); font-size: 19px; }
.evt-passe-corps { display: grid; gap: 3px; min-width: 0; }
.evt-passe-corps .evt-chip { margin-top: 0; }
.evt-passe-corps strong { font-size: 15px; line-height: 1.35; }
.evt-passe-corps small { color: var(--muted); font-size: 12px; }

/* La fiche. */
.evt-retour { margin: 0 0 30px; font-size: 13px; }
.evt-retour a { color: var(--muted); text-decoration: none; font-weight: 700; }
.evt-retour a:hover { color: var(--violet); }
.evt-fiche-grille { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; }
.evt-fiche-grille--pleine { grid-template-columns: 1fr; max-width: 820px; }
.evt-fiche-titre { margin: 10px 0 0; font-family: var(--serif); font-size: clamp(30px, 4vw, 44px); line-height: 1.12; }
.evt-meta { margin-top: 16px; color: var(--muted); font-size: 14px; }
.evt-fiche-image { margin: 0; }
.evt-fiche-image img { width: 100%; display: block; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.evt-description { max-width: 760px; margin-top: 36px; }
.evt-description p { margin: 0 0 14px; }

.festival-benefices { margin-top: 44px; padding: 28px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); max-width: 760px; }
.festival-benefices h2 { margin: 0; font-family: var(--serif); }
.festival-benefices ul { margin: 14px 0 0; padding-left: 20px; }
.festival-benefices li { margin-bottom: 8px; }
.festival-benefices .deja-billet { margin: 16px 0 0; color: var(--muted); font-size: 14px; }

/* L'inscription. */
.evt-inscription { margin-top: 44px; max-width: 560px; }
.evt-inscription h2 { font-family: var(--serif); margin: 0; }
.evt-inscription .places { font-weight: 700; }
.evt-closes, .evt-inscription .complet { color: var(--muted); }
.evt-form div { margin-top: 14px; }
.evt-form label { display: block; margin-bottom: 5px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.evt-form input[type="text"], .evt-form input[type="email"] { width: 100%; box-sizing: border-box; padding: 11px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); }
.evt-form input[type="text"]:focus, .evt-form input[type="email"]:focus { outline: 2px solid var(--violet-pale); border-color: var(--violet); }
.evt-form .case { display: flex; gap: 10px; align-items: baseline; }
.evt-form .case label { display: inline; margin: 0; font-size: 14px; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--ink); }
.evt-form input[type="submit"] { margin-top: 20px; }
.evt-form .erreurs { margin-top: 14px; padding: 12px 16px; border: 1px solid #b3403e; border-radius: 10px; background: var(--white); color: #b3403e; }
.evt-form .erreurs ul { margin: 0; padding-left: 18px; }
.evt-form .mention { color: var(--muted); font-size: 12px; }

@media (max-width: 820px) {
  .evt-passes { grid-template-columns: 1fr; }
  .evt-fiche-grille { grid-template-columns: 1fr; gap: 24px; }
}
