/*
Theme Name: Daisy Driver
Theme URI: https://www.daisydriver.fr/
Author: Daisy Driver
Description: Thème officiel du groupe de rock Daisy Driver
Version: 1.2.1
Requires at least: 6.3
Tested up to: 7.1
Requires PHP: 8.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: daisy-driver
*/

/* Polices hébergées dans le thème (aucun appel à Google Fonts) — licence SIL OFL, voir assets/fonts */
@font-face{font-family:"Big Shoulders Display";font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/big-shoulders-display-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Big Shoulders Display";font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/big-shoulders-display-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Big Shoulders Display";font-style:normal;font-weight:900;font-display:swap;src:url(assets/fonts/big-shoulders-display-latin-900-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Semi Condensed";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/barlow-semi-condensed-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Semi Condensed";font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/barlow-semi-condensed-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Semi Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/barlow-semi-condensed-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Semi Condensed";font-style:italic;font-weight:400;font-display:swap;src:url(assets/fonts/barlow-semi-condensed-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}

body{margin:0}img{max-width:100%}[hidden]{display:none!important}

/* Layout : écran VHS figé — nav fixe type OSD, écrans plein cadre, scanlines partout */
:root{
  --ink:#0d0f11;        /* noir de la silhouette */
  --tape:#15181b;       /* fond cassette */
  --static:#8d969a;     /* gris neigeux de la jaquette */
  --fog:#d6dbdc;        /* blanc brumeux du titre */
  --signal:#ff6a00;     /* orange DAISY DRIVER */
  --cyan:#35d3d6;       /* décalage RVB */
  --red:#e2344a;
  --line:rgba(214,219,220,.14);
  --display:"Big Shoulders Display","Impact","Arial Narrow",sans-serif;
  --body:"Barlow Semi Condensed","Arial Narrow",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"Courier New",monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--fog);font:400 1.1rem/1.6 var(--body);min-height:100vh;overflow-x:hidden}
a{color:inherit}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px}

/* scanlines + grain */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:50;
  background:repeating-linear-gradient(to bottom,rgba(255,255,255,.035) 0 1px,transparent 1px 3px);mix-blend-mode:overlay}

/* ---------- NAV / OSD ---------- */
.osd{position:fixed;top:0;left:0;right:0;z-index:40;padding-top:env(safe-area-inset-top,0px);
  background:linear-gradient(to bottom,rgba(13,15,17,.96),rgba(13,15,17,.82));backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.osd-in{max-width:1240px;margin:0 auto;padding:.7rem 20px;display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}

.nav{display:flex;gap:.2rem;flex-wrap:wrap;margin-left:auto}
.nav a{font:500 .78rem/1 var(--mono);text-transform:uppercase;letter-spacing:.12em;text-decoration:none;color:var(--static);padding:.55rem .7rem;border:1px solid transparent}
.nav a:hover{color:var(--fog)}
.nav a[aria-current="page"]{color:var(--ink);background:var(--fog)}
.rec{font:500 .72rem/1 var(--mono);color:var(--static);letter-spacing:.1em;display:flex;gap:.5rem;align-items:center}
.rec i{width:.55rem;height:.55rem;border-radius:50%;background:var(--red);display:inline-block;animation:blink 1.2s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);color:var(--fog);font:500 .78rem/1 var(--mono);letter-spacing:.12em;padding:.6rem .8rem;text-transform:uppercase;cursor:pointer}

/* ---------- PAGES ---------- */
main{padding-top:4.2rem}
.screen{min-height:calc(100vh - 4.2rem)}
.wrap{max-width:1240px;margin:0 auto;padding-inline:20px;padding-block:4.5rem 5rem}
.eyebrow{font:500 .78rem/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--static);display:flex;gap:.8rem;align-items:center}
.eyebrow b{color:var(--signal);font-weight:500}
h1,h2,h3{font-family:var(--display);text-transform:uppercase;line-height:.9;margin:0;text-wrap:balance}
h2.big{font-weight:900;font-size:clamp(3.2rem,11vw,8.5rem);margin:.8rem 0 2.5rem;letter-spacing:-.01em}
.glitch{position:relative;display:inline-block}
.glitch::before,.glitch::after{content:attr(data-t);position:absolute;inset:0;pointer-events:none}
.glitch::before{color:var(--cyan);transform:translate(-3px,0);mix-blend-mode:screen;opacity:.55;clip-path:inset(0 0 58% 0)}
.glitch::after{color:var(--red);transform:translate(3px,0);mix-blend-mode:screen;opacity:.55;clip-path:inset(46% 0 0 0)}
@media (prefers-reduced-motion:no-preference){
  .glitch::before{animation:jit 3.4s infinite steps(1)}
  .glitch::after{animation:jit 2.7s infinite steps(1) reverse}
  .screen.on .wrap,.screen.on .hero-copy{animation:tune .5s ease-out}
}
@keyframes jit{0%,88%,100%{transform:translate(-3px,0)}90%{transform:translate(6px,-2px);clip-path:inset(20% 0 55% 0)}94%{transform:translate(-8px,1px);clip-path:inset(62% 0 8% 0)}}
@keyframes tune{0%{filter:blur(3px) contrast(1.6);transform:translateX(-6px)}60%{filter:blur(0);transform:translateX(3px)}100%{transform:none}}

/* ---------- ACCUEIL ---------- */
.hero{position:relative;min-height:calc(100vh - 4.2rem);display:grid;align-items:end;overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-1;background:var(--tape) url(assets/images/fond-accueil.jpg) 50% 22%/cover no-repeat;filter:grayscale(.15) contrast(1.05)}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,15,17,.92) 0%,rgba(13,15,17,.55) 45%,rgba(13,15,17,.1) 100%),linear-gradient(to top,var(--ink) 0%,transparent 35%)}
.hero-copy{max-width:1240px;width:100%;margin:0 auto;padding-inline:20px;padding-block:3rem 4rem;display:grid;gap:1.4rem}
.hero h1{font-weight:900;color:var(--signal);font-size:clamp(4.2rem,17vw,13rem);letter-spacing:-.02em}
.hero .tag{font:500 1.35rem/1.35 var(--body);max-width:32rem;color:var(--fog)}
.cta-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:.6rem}
.btn{display:inline-flex;align-items:center;gap:.6rem;font:600 .82rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:1rem 1.3rem;border:1px solid var(--fog);color:var(--fog);background:transparent;cursor:pointer;transition:background .15s,color .15s}
.btn:hover{background:var(--fog);color:var(--ink)}
.btn.hot{background:var(--signal);border-color:var(--signal);color:var(--ink)}
.btn.hot:hover{background:var(--fog);border-color:var(--fog)}
.timecode{position:absolute;right:20px;top:1.4rem;font:500 .8rem/1.6 var(--mono);color:var(--fog);text-align:right;letter-spacing:.1em;opacity:.8}
.news{border-top:1px solid var(--line);background:var(--tape)}
.news .wrap{padding-block:3rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:2rem}
.news article{display:grid;gap:.6rem;align-content:start}
.news h3{font-weight:800;font-size:1.9rem}
.news p{margin:0;color:var(--static)}
.news a.more{font:500 .78rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--signal);text-decoration:none;margin-top:.4rem}

/* ---------- BIO ---------- */
.bio-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:4rem;align-items:start}
.prose{max-width:38rem}
.prose p{margin:0 0 1.2rem}
.prose p.lead{font-size:1.45rem;line-height:1.4;color:var(--fog);font-weight:500}
.prose p:not(.lead){color:#b9c1c3}
.lineup{display:grid;gap:0;border-top:1px solid var(--line)}
.lineup div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--line)}
.lineup strong{font:800 2.4rem/1 var(--display);text-transform:uppercase}
.lineup span{font:500 .78rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--static)}
.tl{margin-top:3rem;display:grid;gap:0}
.tl h3{font-weight:800;font-size:1.5rem;margin-bottom:1rem;color:var(--static)}
.tl li{list-style:none;display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:1rem;padding:.7rem 0;border-bottom:1px dashed var(--line)}
.tl ul{margin:0;padding:0}
.tl time{font:500 .85rem/1.6 var(--mono);color:var(--signal)}

/* ---------- DISCO ---------- */
.release{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:3.5rem;align-items:center;padding-bottom:4rem;border-bottom:1px solid var(--line)}
.release img{width:100%;height:auto;display:block;box-shadow:0 0 0 1px var(--line),14px 14px 0 var(--signal)}
.release h3{font-weight:900;font-size:clamp(2.8rem,7vw,5rem);margin:.7rem 0 1rem}
.release p{color:#b9c1c3;margin:0 0 1.5rem;max-width:34rem}
.back{margin-top:3.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:2rem}
.card{display:grid;gap:1rem;align-content:start}
.sleeve{aspect-ratio:1;max-width:100%;display:grid;place-items:center;background:
  repeating-linear-gradient(0deg,rgba(214,219,220,.06) 0 2px,transparent 2px 6px),linear-gradient(135deg,#2a2f33,#121416);border:1px solid var(--line);position:relative;overflow:hidden}
.sleeve span{font:900 clamp(2.6rem,6vw,3.6rem)/.85 var(--display);text-transform:uppercase;color:var(--fog);text-align:center;padding:1rem}
.sleeve img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.sleeve::after{z-index:2;content:"";position:absolute;left:0;right:0;top:38%;height:10px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:.25}
.card h4{font:800 1.7rem/1 var(--display);text-transform:uppercase;margin:0}
.meta{font:500 .78rem/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--static)}
.tracks{margin:0;padding:0;counter-reset:t;columns:2;column-gap:1.5rem;font-size:1rem;color:#b9c1c3}
.tracks li{list-style:none;counter-increment:t;break-inside:avoid;padding:.15rem 0}
.tracks li::before{content:"— ";color:var(--static)}
.clips{margin-top:4rem}
.clips h3{font-weight:800;font-size:2rem;margin-bottom:1.2rem}
.cliplist{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1.6rem 1.2rem}
.cliplist a{text-decoration:none;display:grid;gap:.8rem;align-content:start}
.cliplist .cap{display:grid;gap:.35rem}
.cliplist strong{font:800 1.6rem/1 var(--display);text-transform:uppercase;transition:color .15s}
.cliplist a:hover strong{color:var(--signal)}
.thumb{position:relative;aspect-ratio:16/9;max-width:100%;overflow:hidden;background:repeating-linear-gradient(0deg,rgba(214,219,220,.05) 0 2px,transparent 2px 5px),linear-gradient(135deg,#2a2f33,#111315);border:1px solid var(--line)}
.thumb .ph{position:absolute;left:.7rem;top:.6rem;font:500 .7rem var(--mono);letter-spacing:.14em;color:var(--static)}
.thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.35) contrast(1.05);transition:filter .25s,transform .25s}
.cliplist a:hover .thumb img{filter:none;transform:scale(1.03)}
.play{position:absolute;right:.7rem;bottom:.7rem;width:2.6rem;height:2.6rem;background:var(--signal);clip-path:polygon(0 0,100% 50%,0 100%);opacity:.92;transition:transform .15s}
.cliplist a:hover .play{transform:scale(1.12)}
.thumb .new{position:absolute;z-index:1;left:.7rem;bottom:.7rem;font:500 .68rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;background:var(--signal);color:var(--ink);padding:.35rem .5rem}
.cliplist a.all{align-content:center;justify-items:start;border:1px dashed var(--line);padding:1.4rem;min-height:9rem}

/* ---------- CONCERTS ---------- */
.gig-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:3rem;align-items:start}
.bit-box{border:1px solid var(--line);background:var(--tape);padding:1.6rem;min-height:14rem}
.bit-fallback{display:grid;gap:1rem}
.bit-fallback p{margin:0;color:#b9c1c3}
.gigs{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.gigs li{display:grid;grid-template-columns:5.5rem minmax(0,1fr) auto;gap:1.2rem;align-items:center;padding:1.1rem 0;border-bottom:1px solid var(--line)}
.gig-date{display:grid;line-height:1;text-align:center;border:1px solid var(--line);padding:.6rem .3rem}
.gig-date b{font:900 2.2rem/1 var(--display);color:var(--signal)}
.gig-date span{font:500 .7rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--static)}
.gig-info{display:grid;gap:.25rem;min-width:0}
.gig-info strong{font:800 1.7rem/1 var(--display);text-transform:uppercase}
.gig-info span{color:#b9c1c3;font-size:1rem}
.gig-info em{font:500 .72rem/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--signal);font-style:normal}
.gigs .btn{padding:.75rem 1rem;font-size:.72rem}
@media (max-width:560px){.gigs li{grid-template-columns:4.5rem minmax(0,1fr)}.gigs li .btn{grid-column:1/-1;justify-self:start}}
.ico-sm{width:1.1rem;height:1.1rem;fill:currentColor;flex:none}
.aside h3{font-weight:800;font-size:1.8rem;margin-bottom:.8rem}
.aside p{color:#b9c1c3;margin:0 0 1.2rem}
.aside .copy{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;font:500 .9rem var(--mono);color:var(--fog);border:1px dashed var(--line);padding:.8rem 1rem;user-select:all;word-break:break-all}

/* ---------- MERCH ---------- */
.shop{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:2rem}
.item{display:grid;gap:.8rem;align-content:start}
.mock{aspect-ratio:4/5;max-width:100%;background:var(--tape);border:1px solid var(--line);display:grid;place-items:center;position:relative;overflow:hidden}
.mock img{width:62%;height:auto;filter:grayscale(.1)}
.mock .lbl{position:absolute;left:.8rem;top:.8rem;font:500 .7rem var(--mono);letter-spacing:.14em;color:var(--static);text-transform:uppercase}
.tee{width:66%;aspect-ratio:1;max-width:100%;background:var(--ink);clip-path:polygon(28% 0,40% 6%,60% 6%,72% 0,100% 16%,90% 34%,80% 29%,80% 100%,20% 100%,20% 29%,10% 34%,0 16%);display:grid;place-items:center}
.tee.light{background:#c9cfd0}
.tee span{font:900 1.25rem/.9 var(--display);color:var(--signal);text-transform:uppercase;text-align:center;margin-top:12%}
.poster{width:58%;aspect-ratio:3/4;max-width:100%;background:url(assets/images/en-desaccord.jpg) center/cover;box-shadow:0 8px 24px rgba(0,0,0,.5)}
.picks{display:flex;gap:.4rem}
.picks i{width:1.8rem;height:1.8rem;border-radius:50%;background:var(--signal);display:block;border:3px solid var(--tape);box-shadow:0 0 0 1px var(--line)}
.picks i:nth-child(2){background:var(--fog)}.picks i:nth-child(3){background:var(--ink)}
.item h4{font:800 1.6rem/1 var(--display);text-transform:uppercase;margin:0}
.item .row{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.price{font:500 1rem var(--mono);color:var(--signal);font-variant-numeric:tabular-nums}
.item .btn{padding:.75rem 1rem;font-size:.72rem}
.note{margin-top:2.5rem;font:400 .8rem/1.5 var(--mono);color:var(--static);border-left:2px solid var(--signal);padding-left:1rem;max-width:44rem}

/* ---------- ÉCOUTER ---------- */
.platforms{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.platforms a{background:var(--ink);text-decoration:none;padding:2rem 1.6rem;display:flex;justify-content:space-between;align-items:end;gap:1rem;min-height:9rem;transition:background .15s,color .15s}
.platforms .ico{display:block;width:2.4rem;height:2.4rem;fill:var(--fog);margin-bottom:1.1rem;transition:fill .15s}
.platforms a.yt .ico{width:3.4rem;height:3.4rem}
.platforms a:hover .ico{fill:var(--ink)}
.platforms a strong{font:900 2.6rem/.9 var(--display);text-transform:uppercase}
.platforms a span{font:500 .75rem/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--static)}
.platforms a:hover{background:var(--signal);color:var(--ink)}
.platforms a:hover span{color:var(--ink)}
.platforms a.yt{grid-column:1/-1;min-height:12rem;background:var(--tape)}
.platforms a.yt strong{font-size:clamp(3rem,9vw,6rem);color:var(--signal)}
.platforms a.yt:hover strong{color:var(--ink)}
.arrow{font:500 1.6rem/1 var(--mono)}

footer{border-top:1px solid var(--line)}
footer .wrap{padding-block:2rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font:500 .75rem/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--static)}
footer a{text-decoration:none}footer a:hover{color:var(--signal)}

@media (max-width:860px){
  .bio-grid,.release,.gig-grid{grid-template-columns:minmax(0,1fr);gap:2.5rem}
  .burger{display:inline-block}
  .rec{display:none}
  .nav{display:none;width:100%;flex-direction:column;margin-left:0;padding-bottom:.6rem}
  .osd.open .nav{display:flex}
  .nav a{padding:.9rem .4rem;font-size:.85rem}
  .timecode{display:none}
  .tracks{columns:1}
}

.logo{display:block;width:100%;height:auto}
.brand{display:block;width:9.5rem;color:var(--signal)}
.hero-logo{position:relative;width:min(100%,56rem);color:var(--signal);margin:0}
.hero-logo .gl{position:absolute;inset:0;mix-blend-mode:screen;opacity:.55}
.hero-logo .gl.c{color:var(--cyan);transform:translate(-4px,0);clip-path:inset(0 0 58% 0)}
.hero-logo .gl.r{color:var(--red);transform:translate(4px,0);clip-path:inset(46% 0 0 0)}
@media (prefers-reduced-motion:no-preference){.hero-logo .gl.c{animation:jit 3.4s infinite steps(1)}.hero-logo .gl.r{animation:jit 2.7s infinite steps(1) reverse}}
.consent{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--tape);border-top:1px solid var(--signal);padding-bottom:env(safe-area-inset-bottom,0px)}
.consent-in{max-width:1240px;margin:0 auto;padding:1.1rem 20px;display:flex;gap:1rem 2rem;align-items:center;flex-wrap:wrap}
.consent p{margin:0;flex:1 1 22rem;min-width:0;font-size:1rem;color:#b9c1c3}
.consent p b{color:var(--fog);font-weight:600}
.consent .btn{padding:.8rem 1.1rem;font-size:.72rem}
.linkbtn{background:none;border:0;padding:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer}
.linkbtn:hover{color:var(--signal)}
.legal{max-width:46rem;display:grid;gap:2.4rem}
.legal section{display:grid;gap:.7rem}
.legal h3{font-weight:800;font-size:1.9rem;color:var(--fog)}
.legal p,.legal li{margin:0;color:#b9c1c3;font-size:1.05rem}
.legal ul{margin:0;padding-left:1.1rem;display:grid;gap:.4rem}
.legal dl{margin:0;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.5rem 1.4rem}
.legal dt{font:500 .75rem/1.9 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--static)}
.legal dd{margin:0;color:var(--fog);min-width:0;overflow-wrap:anywhere}
.todo{color:var(--signal);font-style:italic}
.updated{font:500 .75rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--static)}
@media (max-width:560px){.legal dl{grid-template-columns:minmax(0,1fr);gap:.1rem}.legal dd{margin-bottom:.7rem}}
.facts{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin:0 0 1.2rem;padding:0;list-style:none;font:500 .75rem/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--static)}
.facts b{color:var(--fog);font-weight:500}
.tracklist{margin-top:3rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 3rem;padding:0;list-style:none;counter-reset:tl;border-top:1px solid var(--line)}
.tracklist li{counter-increment:tl;display:grid;grid-template-columns:2.2rem minmax(0,1fr) auto;gap:.2rem .8rem;padding:.75rem 0;border-bottom:1px solid var(--line);align-items:baseline}
.tracklist li::before{content:counter(tl,decimal-leading-zero);font:500 .78rem var(--mono);color:var(--signal)}
.tracklist strong{font:800 1.35rem/1.05 var(--display);text-transform:uppercase}
.tracklist time{font:500 .78rem var(--mono);color:var(--static);font-variant-numeric:tabular-nums}
.tl-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-top:3.5rem}
.tl-head h3{font-weight:800;font-size:2rem}
.quote{margin:0;border-left:3px solid var(--signal);padding:.2rem 0 .2rem 1.2rem;display:grid;gap:.6rem}
.quote p{font:600 1.35rem/1.35 var(--body);color:var(--fog);margin:0}
.quote cite{font:500 .72rem/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--static);font-style:normal}
.quote cite a{color:var(--signal);text-decoration:none}
.press{border-top:1px solid var(--line)}
.press .wrap{padding-block:3rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:2.5rem}
.report{margin-top:5rem;padding-top:3rem;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:3rem;align-items:start}
.report h3{font-weight:900;font-size:clamp(2.2rem,6vw,3.6rem);margin:.6rem 0 1rem}
.report .prose p{margin:0 0 1rem;color:#b9c1c3}
.stars{font:500 .8rem var(--mono);letter-spacing:.14em;color:var(--signal);text-transform:uppercase}
.moments{margin:1.4rem 0 0;padding:0;list-style:none;display:grid;gap:.7rem}
.moments li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem;color:#b9c1c3}
.moments li::before{content:"▶";color:var(--signal);font-size:.7rem;line-height:1.9}
details.setlist{border:1px solid var(--line);background:var(--tape)}
details.setlist summary{cursor:pointer;list-style:none;padding:1rem 1.2rem;display:flex;justify-content:space-between;gap:1rem;font:500 .8rem/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase}
details.setlist summary::-webkit-details-marker{display:none}
details.setlist summary::after{content:"+";color:var(--signal);font-size:1.1rem;line-height:1}
details.setlist[open] summary::after{content:"–"}
details.setlist ol{margin:0;padding:0 1.2rem 1.2rem 3rem;columns:2;column-gap:2rem;color:#b9c1c3;font-size:1rem}
details.setlist ol li{break-inside:avoid;padding:.12rem 0}
details.setlist ol li::marker{font:500 .72rem var(--mono);color:var(--static)}
details.setlist ol em{color:var(--static);font-style:normal;font-size:.85rem}
@media (max-width:860px){.tracklist,.report{grid-template-columns:minmax(0,1fr)}.tracklist{gap:0}}
@media (max-width:480px){details.setlist ol{columns:1}}

/* =====================================================================
   Ajouts WordPress 
   ===================================================================== */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.skip-link:focus{clip:auto;clip-path:none;height:auto;width:auto;left:12px;top:12px;z-index:100;background:var(--signal);color:var(--ink);padding:.8rem 1rem;font:600 .8rem var(--mono)}

/* barre d'administration */
.admin-bar .osd{top:32px}
@media screen and (max-width:782px){.admin-bar .osd{top:46px}}
@media screen and (max-width:600px){.admin-bar .osd{top:0}}

/* contenu saisi dans l'éditeur : articles, pages libres, mentions légales */
.entry{max-width:46rem}
.entry>*{margin:0 0 1.1rem}
.entry>*:last-child{margin-bottom:0}
.entry p,.entry li{color:#b9c1c3;font-size:1.05rem}
.entry h2,.entry h3,.entry h4{font-weight:800;color:var(--fog);margin-top:2.4rem;margin-bottom:.8rem}
.entry h2{font-size:2.4rem}.entry h3{font-size:1.9rem}.entry h4{font-size:1.5rem}
.entry>h2:first-child,.entry>h3:first-child{margin-top:0}
.entry ul,.entry ol{padding-left:1.1rem;display:grid;gap:.4rem}
.entry a:not(.btn){color:var(--signal)}
.entry strong{color:var(--fog)}
.entry img{height:auto}
.entry figure{margin-inline:0}
.entry figcaption{font:500 .72rem/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--static);margin-top:.6rem}
.entry blockquote{margin-inline:0;border-left:3px solid var(--signal);padding:.2rem 0 .2rem 1.2rem}
.entry blockquote p{font:600 1.35rem/1.35 var(--body);color:var(--fog)}
.legal.entry{display:block}
.legal.entry>*{margin:0 0 .7rem}
.legal.entry>h2,.legal.entry>h3{margin:1.7rem 0 .7rem}
.legal.entry>.updated{margin-bottom:2.4rem}
.legal.entry>.updated+h2,.legal.entry>.updated+h3{margin-top:0}
.legal.entry dl{margin:0 0 1.1rem}

/* biographie : le premier paragraphe saisi devient le chapô */
.prose>p:first-child{font-size:1.45rem;line-height:1.4;color:var(--fog);font-weight:500}

/* compte rendu du dernier concert (contenu de la page Concerts, blocs Colonnes) */
.report{display:block}
.report>.wp-block-columns{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:3rem;align-items:start;margin:0}
.report .wp-block-column{flex-basis:auto!important;min-width:0}
.report .wp-block-column>:first-child{margin-top:0}
.report .eyebrow{margin:0}
.report h3,.report h2{font-weight:900;font-size:clamp(2.2rem,6vw,3.6rem);margin:.6rem 0 1rem}
.report p{margin:0 0 1rem;color:#b9c1c3}
.report p.stars{color:var(--signal)}
.report p.eyebrow{color:var(--static)}
.report ul.moments{margin:1.4rem 0 0}
.report details.setlist,.report details.setlist>*{margin:0}
@media (max-width:860px){.report>.wp-block-columns{grid-template-columns:minmax(0,1fr)}}

/* liste d'actualités et article seul */
.post-nav{margin-top:3rem;display:flex;gap:.8rem;flex-wrap:wrap}
.news-list{display:grid;border-top:1px solid var(--line);max-width:52rem}
.news-list article{display:grid;gap:.6rem;padding:2rem 0;border-bottom:1px solid var(--line)}
.news-list h3{font-weight:800;font-size:2.2rem}
.news-list h3 a{text-decoration:none}
.news-list h3 a:hover{color:var(--signal)}
.news-list p{margin:0;color:#b9c1c3}
.news-list a.more{font:500 .78rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--signal);text-decoration:none}
.single-hero{margin:0 0 2.5rem;max-width:52rem}
.single-hero img{display:block;width:100%;height:auto;box-shadow:0 0 0 1px var(--line),14px 14px 0 var(--signal)}
.pagination .nav-links{margin-top:2rem;display:flex;gap:.4rem;flex-wrap:wrap;font:500 .8rem var(--mono)}
.pagination .page-numbers{padding:.6rem .8rem;border:1px solid var(--line);text-decoration:none}
.pagination .current{background:var(--fog);color:var(--ink)}
.report .moments+p{margin-top:1.4rem}
.gigs li.none{display:block}

/* ---------- COMMANDE EN LIGNE (page Merch) ---------- */
.order{margin-top:5rem;padding-top:3rem;border-top:1px solid var(--line);scroll-margin-top:5rem}
.order-head{max-width:40rem;margin-bottom:2.2rem}
.order-head h3{font-weight:900;font-size:clamp(2.2rem,6vw,3.6rem);margin:.6rem 0 1rem}
.order-head p{margin:0;color:#b9c1c3}
.order-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:3rem;align-items:start}
.order-fields{display:grid;gap:2.2rem}
.order fieldset{border:0;margin:0;padding:0;display:grid;gap:1rem;min-width:0}
.order legend{font:500 .78rem/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--fog);padding:0 0 1rem;display:flex;gap:.8rem;width:100%;border-bottom:1px solid var(--line);margin-bottom:.4rem}
.order legend b{color:var(--signal);font-weight:500}
.order .row-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}
.order .row-qty{grid-template-columns:minmax(0,1fr) 7rem}
.order .row-3{display:grid;grid-template-columns:8rem minmax(0,1fr) minmax(0,11rem);gap:1rem}
.field{display:grid;gap:.45rem;min-width:0}
.field label{font:500 .72rem/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--static)}
.field label span{text-transform:none;letter-spacing:.04em;opacity:.75}
.field input,.field select,.field textarea{width:100%;min-width:0;font:400 1.05rem/1.4 var(--body);color:var(--fog);background:var(--ink);border:1px solid rgba(214,219,220,.24);border-radius:0;padding:.8rem .9rem;transition:border-color .15s,box-shadow .15s}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--signal) 50%),linear-gradient(135deg,var(--signal) 50%,transparent 50%);background-position:calc(100% - 1.1rem) 55%,calc(100% - .75rem) 55%;background-size:.35rem .35rem;background-repeat:no-repeat;padding-right:2.2rem}
.field textarea{resize:vertical;min-height:5.5rem}
.field input::placeholder,.field textarea::placeholder{color:#5e676b}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--signal);box-shadow:0 0 0 1px var(--signal)}
.field input:user-invalid,.field.bad input,.field textarea:user-invalid{border-color:var(--red)}
.order-sum{position:sticky;top:6rem;border:1px solid var(--line);background:var(--tape);padding:1.6rem;display:grid;gap:1.2rem}
.order-cover{display:grid;place-items:center;background:var(--ink);border:1px solid var(--line);padding:1.4rem}
.order-cover img{width:62%;height:auto;display:block;box-shadow:0 8px 24px rgba(0,0,0,.5)}
.order-sum dl{margin:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem 0;font:500 .8rem/1.4 var(--mono);letter-spacing:.06em;color:#b9c1c3}
.order-sum dt{min-width:0}
.order-sum dd{margin:0;padding-left:1rem;text-align:right;font-variant-numeric:tabular-nums;color:var(--fog)}
.order-sum .tot{border-top:1px solid var(--line);padding-top:.8rem;margin-top:.2rem;font-size:1rem;text-transform:uppercase;letter-spacing:.14em;color:var(--fog)}
.order-sum dd.tot{color:var(--signal);font-size:1.25rem}
.pay-note{margin:0;font-size:.95rem;color:#b9c1c3;border-left:2px solid var(--signal);padding-left:.8rem}
.check{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem;align-items:start;font-size:.95rem;color:#b9c1c3;cursor:pointer}
.check input{appearance:none;width:1.15rem;height:1.15rem;margin:.2rem 0 0;border:1px solid rgba(214,219,220,.4);background:var(--ink);display:grid;place-items:center;cursor:pointer}
.check input:checked{background:var(--signal);border-color:var(--signal)}
.check input:checked::after{content:"";width:.3rem;height:.6rem;border:solid var(--ink);border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.check input:focus-visible{outline:2px solid var(--signal);outline-offset:2px}
.check.bad input{border-color:var(--red)}
.check a{color:var(--signal)}
.order-sum .btn{justify-content:center;width:100%;padding:1.1rem 1.3rem}
.order-sum .btn[disabled]{opacity:.6;cursor:wait}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.order-done,.order-err{border:1px solid var(--line);background:var(--tape);padding:1.6rem;max-width:44rem;display:grid;gap:.8rem}
.order-done{border-left:3px solid var(--signal)}
.order-done h4{font:900 2.4rem/.95 var(--display);text-transform:uppercase;margin:0;color:var(--signal)}
.order-done p{margin:0;color:#b9c1c3}
.order-err{border-left:3px solid var(--red);margin-bottom:2rem}
.order-err ul{margin:0;padding-left:1.1rem;color:#b9c1c3}
@media (max-width:860px){
  .order-grid{grid-template-columns:minmax(0,1fr)}
  .order-sum{position:static}
  .order-cover img{width:40%}
}
@media (max-width:560px){
  .order .row-2,.order .row-3{grid-template-columns:minmax(0,1fr)}
  .order .row-qty{grid-template-columns:minmax(0,1fr) 5.5rem}
  .order .row-3{grid-template-columns:7rem minmax(0,1fr)}
  .order .row-3 .field:last-child{grid-column:1/-1}
}
/* choix du mode de paiement */
.pay-choice{border:0;margin:0;padding:0;display:grid;gap:.5rem;min-width:0}
.pay-choice legend{font:500 .78rem/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--fog);padding:0 0 .9rem;display:flex;gap:.8rem}
.pay-choice legend b{color:var(--signal);font-weight:500}
.pay-opt{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem;align-items:start;padding:.85rem 1rem;border:1px solid rgba(214,219,220,.24);background:var(--ink);cursor:pointer;transition:border-color .15s,background .15s}
.pay-opt:hover{border-color:rgba(214,219,220,.5)}
.pay-opt:has(input:checked){border-color:var(--signal);box-shadow:inset 3px 0 0 var(--signal)}
.pay-opt input{appearance:none;width:1.1rem;height:1.1rem;margin:.15rem 0 0;border:1px solid rgba(214,219,220,.5);border-radius:50%;background:var(--ink);display:grid;place-items:center;cursor:pointer}
.pay-opt input:checked{border-color:var(--signal)}
.pay-opt input:checked::after{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--signal)}
.pay-opt input:focus-visible{outline:2px solid var(--signal);outline-offset:2px}
.pay-opt span{display:grid;gap:.2rem;min-width:0}
.pay-opt strong{font:600 1.05rem/1.25 var(--body);color:var(--fog)}
.pay-opt small{font-size:.9rem;line-height:1.35;color:#b9c1c3}
.pay-choice.bad .pay-opt{border-color:var(--red)}
