/* Page anciens-lives (repris de prototypes/concerts-passes.html) */
:root{--orange:#e8701c;--orange-2:#ff8a34;--nuit:#150a05;--os:#f5e3bd;--sang:#a3170d;--titre:"Big Shoulders Display",Impact,sans-serif;--gothique:"Grenze Gotisch",serif}
html{overflow-x:clip;scrollbar-color:var(--orange) var(--nuit);scroll-padding-top:7.4rem;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font:400 clamp(1.02rem,.3vw + .96rem,1.18rem)/1.5 "Schibsted Grotesk",system-ui,sans-serif;color:var(--nuit);background:var(--orange)}
::selection{background:var(--nuit);color:var(--orange-2)}
:focus-visible{outline:3px solid var(--nuit);outline-offset:3px}
.barre{position:sticky;top:0;z-index:5;background:var(--nuit);color:var(--os);padding:.5rem clamp(1rem,4vw,3.6rem);display:flex;align-items:center;gap:1rem}
.marque{font:900 1.65rem/1 var(--gothique);color:var(--orange-2);text-decoration:none;margin-right:auto}
.barre a:not(.marque){color:var(--os);font-weight:700;text-decoration:none}@media (hover:hover) and (pointer:fine){.barre a:not(.marque):hover{color:var(--orange-2)}}
header.tete{padding:clamp(3.2rem,8vw,6.6rem) clamp(1rem,4vw,3.6rem) clamp(1.4rem,3vw,2.4rem)}
h1{font:900 clamp(3.8rem,11vw,10.6rem)/.86 var(--gothique);max-width:11em;text-wrap:balance}
.resume{font:900 clamp(1.5rem,3vw,2.8rem)/1 var(--titre);text-transform:uppercase;margin-top:1rem}
.outils{position:sticky;top:2.95rem;z-index:4;background:var(--orange);padding:.7rem clamp(1rem,4vw,3.6rem);display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;align-items:center;border-block:3px solid var(--nuit)}
.outils label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.outils input{flex:1 1 15rem;min-width:0;max-width:26rem;background:var(--os);border:0;border-radius:999px;padding:.58em 1.1em;font:500 1rem/1.2 "Schibsted Grotesk",sans-serif;color:var(--nuit)}
.outils input::placeholder{color:#5c3a20}
.annees{display:flex;flex-wrap:wrap;gap:.1rem .8rem;font:900 1.5rem/1.1 var(--titre)}
.annees a{text-decoration:none;color:var(--nuit)}@media (hover:hover) and (pointer:fine){.annees a:hover{color:#fff1cf}}
main{padding:clamp(1.4rem,3vw,2.4rem) clamp(1rem,4vw,3.6rem) clamp(3.4rem,7vw,6rem)}
.annee{display:grid;grid-template-columns:clamp(7rem,17vw,16rem) minmax(0,1fr);gap:0 clamp(1rem,3vw,2.4rem);padding-top:clamp(1.4rem,3vw,2.6rem)}
.annee h2{font:900 clamp(3.6rem,9vw,8.4rem)/.82 var(--titre);position:sticky;top:7.4rem;align-self:start}
.annee ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(132px,14vw,196px),1fr));gap:clamp(1rem,1.8vw,1.6rem) clamp(.7rem,1.3vw,1.15rem)}
.tuile{display:block;color:inherit;text-decoration:none}
.aff{display:grid;place-items:center;aspect-ratio:3/4;overflow:hidden;background:var(--nuit);box-shadow:0 10px 16px -8px #150a0599;transition:transform .28s cubic-bezier(.2,1.25,.4,1),box-shadow .28s}
.aff img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.aff.sans img{width:58%;height:auto;object-fit:contain;opacity:.92}
.aff.bandeau img{object-fit:contain;object-position:center}
.aff{position:relative}
.aff.annule img{filter:grayscale(.9) brightness(.62)}
.annule-txt{position:absolute;left:-12%;right:-12%;top:44%;transform:rotate(-14deg);background:var(--sang);color:#fff1cf;font:900 clamp(1.25rem,2vw,1.9rem)/1 var(--titre);text-transform:uppercase;letter-spacing:.08em;text-align:center;padding:.32em 0 .36em;box-shadow:0 4px 10px #150a0580}@media (hover:hover) and (pointer:fine){a.tuile:hover .aff{transform:translateY(-5px) rotate(-1.2deg);box-shadow:0 18px 22px -8px #150a05b3}}
.annee time{display:block;margin-top:.5rem;font:800 1.02em/1.1 var(--gothique);color:#6e1208}
.annee h3{font:900 clamp(1.08rem,1.35vw,1.4rem)/1.02 var(--titre);text-transform:uppercase;overflow-wrap:anywhere}
.annee .sty{margin-top:.15rem;font:500 .84em/1.2 "Schibsted Grotesk",sans-serif}
.vide{font:800 clamp(1.8rem,4vw,3rem)/1.1 var(--gothique);padding:2rem 0}
@media (max-width:640px){.annee{grid-template-columns:minmax(0,1fr)}.annee h2{position:static;margin-bottom:.6rem}.annee ol{grid-template-columns:repeat(2,minmax(0,1fr))}.outils{position:static}html{scroll-padding-top:3.4rem}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}html{scroll-behavior:auto}}

/* Avis de recherche des affiches manquantes */
.avis-affiches{max-width:58ch;margin-top:1rem;padding:.8rem 1rem;border:2px dashed currentColor;border-radius:6px;font-size:1.02em}
.avis-affiches a{font-weight:700}
.recherche{position:absolute;left:0;right:0;bottom:0;padding:.35em .4em .4em;background:#150a05e6;color:var(--orange-2);font:900 clamp(.95rem,1.3vw,1.15rem)/1 var(--titre);text-transform:uppercase;letter-spacing:.06em;text-align:center}
