/* Fiche d'un concert (à venir ou passé) */
.fiche-tete{position:relative;overflow:hidden;padding:clamp(6rem,13vh,8.5rem) clamp(1rem,4vw,3.6rem) clamp(3.4rem,7vw,5.6rem);background:var(--nuit);color:var(--os)}
.fiche-tete .fond{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.26) saturate(.5)}
.fiche-tete::after{content:"";position:absolute;inset:0;background:linear-gradient(#150a0566,#150a05 92%)}
.fiche-grille{position:relative;z-index:2;max-width:1320px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.6rem,4.5vw,4.4rem);align-items:center}
.fil{grid-column:1/-1;font-size:.92em;color:#f5e3bdb3}
.fil a{color:var(--orange-2);font-weight:700}
.fiche-affiche{margin:0;justify-self:center;width:min(100%,27rem);rotate:-1.6deg}
.fiche-affiche img{display:block;width:100%;height:auto;border-radius:3px;box-shadow:0 1.6rem 3rem -1rem #000c}
.fiche-affiche a{display:block;cursor:zoom-in}
.fiche-affiche.sans{width:min(70%,16rem);rotate:6deg}
.fiche-affiche.sans img{box-shadow:none;filter:drop-shadow(0 1rem 1.4rem #0009)}
.fiche-etat{margin-bottom:.8rem}
.pastille.a-venir{background:var(--orange);color:var(--nuit)}
.pastille.passe{background:#f5e3bd26;color:var(--os)}
.fiche-infos h1{font:900 clamp(3rem,7.2vw,6rem)/.88 var(--titre);text-transform:uppercase;letter-spacing:-.01em;text-wrap:balance}
.fiche-infos h1 .plus{color:var(--orange-2)}
.fiche-date{margin-top:1rem;font:800 clamp(1.6rem,2.8vw,2.4rem)/1.05 var(--gothique);color:var(--os)}
.fiche-heures{margin-top:.35rem;font-weight:700;font-size:1.1em;color:var(--orange-2)}
.fiche-infos .style{margin-top:1rem;background:var(--os);color:var(--nuit)}
.fiche-desc{margin-top:1rem;max-width:56ch}
.fiche-actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin-top:1.6rem}
.fiche-actions .btn2{color:var(--os)}
.fiche-pratique{background:var(--os);color:var(--nuit);padding:clamp(2.6rem,5vw,4rem) clamp(1rem,4vw,3.6rem)}
.fiche-pratique{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:clamp(1.6rem,4vw,3.4rem);max-width:none}
.fiche-pratique>div{max-width:30rem}
.fiche-pratique h2{font:900 clamp(1.8rem,3vw,2.4rem)/1 var(--titre);text-transform:uppercase;color:var(--sang);margin-bottom:.6rem}
.fiche-pratique p+p{margin-top:.8rem}
.groupes{list-style:none;padding:0;display:grid;gap:.25rem;font:900 clamp(1.4rem,2.4vw,1.9rem)/1.05 var(--titre);text-transform:uppercase}
.fiche .programme{margin-top:0}
@media (max-width:820px){
  .fiche-grille{grid-template-columns:minmax(0,1fr)}
  .fiche-affiche{width:min(78%,20rem)}
}

/* Annulé / reporté sur la page du concert */
.alerte{grid-column:1/-1;padding:1rem 1.3rem;border-radius:8px;background:var(--sang);color:#fff1cf;font-size:1.1em;box-shadow:0 1rem 2rem -1rem #000c}
.alerte a{color:inherit;font-weight:700}
.alerte strong{font:900 clamp(1.5rem,2.6vw,2rem)/1.1 var(--titre);text-transform:uppercase;letter-spacing:.02em;margin-right:.3em}
.alerte.reporte{background:var(--orange);color:var(--nuit)}
.fiche-affiche{position:relative}
.bandeau-etat{position:absolute;left:-10%;right:-10%;top:42%;rotate:-14deg;background:var(--sang);color:#fff1cf;font:900 clamp(2rem,4vw,3.2rem)/1 var(--titre);text-transform:uppercase;letter-spacing:.1em;text-align:center;padding:.3em 0 .34em;box-shadow:0 6px 14px #000a;pointer-events:none}
.fiche.passe .fiche-affiche img,.alerte~.fiche-affiche img{filter:none}
.alerte~.fiche-affiche img{filter:grayscale(.85) brightness(.7)}
.fiche-infos h1{transition:none}

/* Présentation du concert (ligne « Texte: » de l'agenda) */
.fiche-texte{background:var(--os);color:var(--nuit);padding:clamp(2.6rem,5vw,4rem) clamp(1rem,4vw,3.6rem) 0}
.fiche-texte>div{max-width:68ch;margin-inline:auto}
.fiche-texte h2{font:900 clamp(2rem,3.4vw,2.8rem)/1 var(--titre);text-transform:uppercase;color:var(--sang);margin-bottom:.8rem}
.fiche-texte p+p{margin-top:.9rem}
.lien-ext{display:inline-block;margin:.15rem .1rem;padding:.12em .6em;border-radius:999px;background:var(--nuit);color:var(--os);font-weight:700;font-size:.9em;text-decoration:none}
@media (hover:hover) and (pointer:fine){.lien-ext:hover{background:var(--sang)}}
.fiche-texte+.fiche-pratique{border-top:2px solid #150a0526;margin-top:clamp(2rem,4vw,3rem)}
