/* ============================================================
   Gabarit calendrier — archive /calendrier/, pages région et département.
   Repris de maquettes/maquette-calendrier-byu-france.html (parties propres à la page).
   ============================================================ */
h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;font-stretch:112%;line-height:1.05;letter-spacing:-.015em}

/* Tête de page */
.tete-page{background:var(--nuit);color:var(--papier);position:relative;isolation:isolate;overflow:hidden;
  padding:clamp(38px,6vw,68px) 0 clamp(34px,5vw,56px)}
.tete-page::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background-image:var(--photo-hero);
  background-size:cover;background-position:center 38%;
  filter:grayscale(1) contrast(1.08);
  opacity:var(--opacite-hero,.8);
}
/* Voile bleu nuit : plus dense à gauche, là où se trouve le titre */
.tete-page::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(100deg,
    rgba(11,27,57,.94) 0%,
    rgba(11,27,57,.80) 40%,
    rgba(11,27,57,.52) 68%,
    rgba(11,27,57,.78) 100%);
}
.tete-page .wrap{position:relative;z-index:1}
.fil{font-size:.85rem;color:#9FB4E8;margin-bottom:20px}
.fil a{text-decoration:none}
.fil a:hover{color:#fff}
.fil span{margin:0 8px;opacity:.5}
.tete-page h1{font-weight:900;font-stretch:118%;line-height:.95;letter-spacing:-.03em;
  font-size:clamp(2.1rem,5.2vw,3.6rem);max-width:16ch}
.tete-page .chapeau{margin-top:18px;color:#C6CEE0;font-size:1.05rem;max-width:76ch}

/* Filtres */
.filtres{background:#fff;border-bottom:1px solid var(--trait);position:sticky;top:72px;z-index:40}
.filtres .wrap{display:flex;gap:8px;flex-wrap:wrap;padding:14px var(--gouttiere)}
.filtres button{font:inherit;font-size:.88rem;font-weight:700;cursor:pointer;background:var(--papier);
  border:1px solid var(--trait);border-radius:2px;padding:7px 14px;color:var(--gris);
  transition:background .15s,color .15s,border-color .15s}
.filtres button:hover{border-color:var(--bleu);color:var(--bleu)}
.filtres button[aria-pressed="true"]{background:var(--encre);border-color:var(--encre);color:#fff}
/* Ajout thème : sous la barre d'administration (utilisateurs connectés seulement) */
@media screen and (min-width:783px){ .admin-bar .filtres{top:104px} }
@media screen and (min-width:601px) and (max-width:782px){ .admin-bar .filtres{top:118px} }

/* Liste des courses */
.liste-courses{padding:clamp(40px,6vw,64px) 0}
.compte{font-size:.9rem;color:var(--gris);margin-bottom:20px}
.saison{font-size:.82rem;font-weight:800;letter-spacing:.08em;color:var(--gris);
  padding:26px 0 10px;border-bottom:2px solid var(--encre)}
.saison:first-child{padding-top:0}
.course{display:grid;grid-template-columns:84px 1fr auto;gap:24px;align-items:center;
  padding:20px 0;border-bottom:1px solid var(--trait);text-decoration:none}
.course:hover{background:#fff}
.course:hover .titre{color:var(--bleu)}
.date{text-align:center;background:#fff;border:1px solid var(--trait);padding:9px 4px}
.course:hover .date{border-color:var(--bleu)}
.date i{font-style:normal;display:block;font-size:.74rem;font-weight:700;color:var(--rouge);letter-spacing:.04em}
.date b{display:block;font-size:1.7rem;font-style:italic;font-weight:900;line-height:1.05}
.date em{font-style:normal;display:block;font-size:.7rem;color:var(--gris)}
/* Correction validée par Ronan : nom et lieu sur deux lignes
   (dans la maquette, deux <span> en ligne collaient « … éditionLaval, Mayenne »). */
.infos .titre,.infos .lieu{display:block}
.infos .titre{font-weight:800;font-stretch:108%;font-size:1.14rem;line-height:1.2}
.infos .lieu{font-size:.92rem;color:var(--gris);margin-top:3px}
.infos .meta{font-size:.85rem;color:var(--gris);margin-top:7px;display:flex;gap:14px;flex-wrap:wrap}
.infos .meta b{color:var(--encre);font-weight:700}
.infos .meta .alerte{color:var(--rouge-sombre);font-weight:600}
.cote{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.etiquette{font-size:.72rem;font-weight:700;padding:4px 10px;border:1px solid var(--bleu);color:var(--bleu);
  border-radius:2px;white-space:nowrap}
.etiquette.mondial{background:var(--rouge);border-color:var(--rouge);color:#fff}
.etiquette.circuit{border-color:var(--gris);color:var(--gris)}
.tarif{font-style:italic;font-weight:900;font-stretch:112%;font-size:1.15rem}
.tarif.nc{font-size:.85rem;font-style:normal;font-weight:600;color:var(--gris)}

/* max-width:none : demande de Ronan, les paragraphes encadrés occupent toute la largeur. */
.avert{margin-top:34px;background:#fff;border:1px solid var(--trait);border-left:4px solid var(--bleu);
  padding:20px 22px;font-size:.94rem;color:var(--gris);max-width:none}
.avert b,.avert strong{color:var(--encre)}

/* Affiliation */
.affiliation{background:var(--nuit);color:var(--papier);padding:clamp(48px,6vw,80px) 0}
.affiliation h2{color:var(--papier)}
.affiliation .intro{color:#9FB4E8;margin-top:12px;margin-bottom:32px}
.raisons{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:rgba(159,180,232,.25);border:1px solid rgba(159,180,232,.25)}
.raisons li{background:var(--nuit);padding:24px}
.raisons h3{font-size:1.05rem;font-weight:800;margin-bottom:8px}
.raisons p{font-size:.93rem;color:#C6CEE0}
.affiliation .btn{margin-top:30px}

@media (max-width:900px){
  .filtres{top:72px}
  .raisons{grid-template-columns:1fr}
}
@media (max-width:560px){
  /* Correction validée par Ronan : sur mobile, les boutons de région défilent sur une
     seule ligne au lieu de six rangées collantes qui masquaient la moitié de l'écran. */
  .filtres .wrap{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}
  .filtres .wrap::-webkit-scrollbar{display:none}
  .filtres button{flex:none;white-space:nowrap}
  .course{grid-template-columns:66px 1fr;gap:14px}
  .cote{grid-column:2;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px}
  .date b{font-size:1.4rem}
}
