/* DJ-TheSwat — styles des pages intérieures */
.muted{color:var(--mute)}
.sp{flex:1}
a{transition:color .2s}
#view.enter{animation:pageIn .5s cubic-bezier(.2,.7,.2,1)}
@keyframes pageIn{from{opacity:0;transform:translateY(14px)}}
.nav ul a.on{color:var(--cyan);background:rgba(46,230,255,.1)}
section.tight{padding:50px 0}
.pad{padding:28px}
.lead2{font-size:18px;color:#d6e2ff;margin:12px 0 18px}
h2 a,h3 a{color:inherit}
.s-past{background:rgba(141,160,201,.15);color:var(--mute)}

/* en-tête de page */
.phead{position:relative;padding:150px 0 50px;overflow:hidden;isolation:isolate}
.phead-bg{position:absolute;inset:0;z-index:-1;background-size:cover;opacity:.55}
.phead-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 10%,rgba(4,6,26,.6)),linear-gradient(0deg,var(--bg),transparent 60%)}
.crumbs{font:12px "JetBrains Mono",monospace;color:var(--mute);letter-spacing:.06em;margin-bottom:14px}
.crumbs a{color:var(--cyan)}.crumbs span{opacity:.5;margin:0 4px}
.ptitle{font-family:var(--ft);font-weight:900;font-size:clamp(36px,6vw,72px);line-height:1;letter-spacing:.02em;text-shadow:0 0 30px rgba(46,230,255,.25)}
.psub{color:#c3d1f0;font-size:17px;margin-top:14px;max-width:620px}

/* barre d'outils */
.toolbar{display:flex;gap:14px;align-items:center;padding:12px;border-radius:18px;flex-wrap:wrap}
.toolbar .search{flex:1;min-width:220px}
input.search,select{font:inherit;color:var(--txt);background:rgba(0,0,0,.25);border:1px solid var(--line);border-radius:12px;padding:10px 14px;outline:none}
input.search:focus,select:focus{border-color:var(--cyan)}
select option{background:#0b1133}
.seg{display:flex;padding:3px;border-radius:12px;background:rgba(0,0,0,.25);border:1px solid var(--line)}
.seg button{font:inherit;font-size:13px;color:var(--mute);background:none;border:0;padding:7px 14px;border-radius:9px;cursor:pointer}
.seg button.on{background:rgba(46,230,255,.15);color:var(--cyan)}

/* cartes album */
.acard{display:block}
.art .art-logo{position:absolute;width:70%;left:15%;top:15%;opacity:.85;filter:drop-shadow(0 0 20px rgba(0,0,0,.4));transition:.5s}
.acard:hover .art-logo{transform:rotate(25deg) scale(1.05)}
.acard.is-current,.card.is-current{border-color:rgba(46,230,255,.6)}

/* liste de titres */
.tlist{padding:8px;border-radius:18px}
.trow{display:grid;grid-template-columns:44px 44px 1fr 110px 80px 64px 36px;gap:14px;align-items:center;padding:8px 12px;border-radius:12px;cursor:pointer;transition:.15s}
.trow:hover{background:rgba(46,230,255,.07)}
.trow .n{position:relative;font:13px "JetBrains Mono",monospace;color:var(--mute);text-align:center}
.trow .pi{position:absolute;inset:0;display:grid;place-items:center;font-style:normal;color:var(--cyan);opacity:0}
.trow:hover .pi,.trow.is-current .pi{opacity:1}.trow:hover .n,.trow.is-current .n{color:transparent}
.sp-is-playing .trow.is-current .pi{font-size:0}.sp-is-playing .trow.is-current .pi::before{content:"❚❚";font-size:12px}
.trow .tc{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;overflow:hidden}.trow .tc img{width:88%}
.trow .tt{min-width:0}.trow .tt>a{font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trow .tt a:hover{color:var(--cyan)}.trow .tt small{color:var(--mute);font-size:12px}.trow .tt small a{color:var(--mute)}
.trow.is-current .tt>a{color:var(--cyan)}
.trow .tg{font-size:12px;color:var(--mute)}.trow .tb,.trow .td{font-size:12px;color:var(--mute)}
.trow .tl{font:inherit;background:none;border:0;color:var(--mute);cursor:pointer;font-size:16px}.trow .tl:hover{color:#ff4f8b}

/* page album / titre */
.ahead{position:relative;padding:140px 0 40px;isolation:isolate}
.ahead .phead-bg{opacity:1}.ahead .phead-bg::after{display:none}
.ahead-in{display:grid;grid-template-columns:minmax(260px,400px) 1fr;gap:48px;align-items:start}
.acover{position:relative;aspect-ratio:1;border-radius:20px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line)}
.acover img{width:80%;filter:drop-shadow(0 0 calc(30px + var(--bass,0)*40px) rgba(46,230,255,.55))}
.acover.big{position:sticky;top:110px;box-shadow:0 40px 90px -30px rgba(42,91,255,.6)}
.acover.spin img{animation:spin 40s linear infinite}
.ahead .ptitle{margin:8px 0 10px}
.ahead .cta{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 14px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.specs{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;font-size:14px}.specs dt{color:var(--mute)}
.embed{display:block;margin-top:14px;padding:14px;border-radius:12px;background:rgba(0,0,0,.35);border:1px solid var(--line);font:12px "JetBrains Mono",monospace;color:var(--cyan);word-break:break-all}
.stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.stats-grid>div{padding:16px 18px;border-radius:16px}
.stats-grid span{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.stats-grid b{display:block;font-size:18px;margin-top:4px}
.bigwave{position:relative;height:110px;margin:22px 0 4px;cursor:pointer;padding:6px 0}
.bigwave svg{width:100%;height:100%;fill:rgba(141,160,201,.35)}
.bigwave svg .rf{opacity:.35}
.bigwave.is-current svg{fill:url(#none);fill:var(--cyan);filter:drop-shadow(0 0 6px rgba(46,230,255,.5))}
.bigwave:hover svg{fill:rgba(46,230,255,.6)}
.bw-play{position:absolute;left:0;top:50%;transform:translateY(-70%);width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--cyan);color:#020414;box-shadow:var(--glow);font-size:18px}
.bigwave svg{padding-left:70px}
.mini-album{display:flex;gap:14px;align-items:center;margin-top:14px;padding:10px;border-radius:14px;border:1px solid var(--line)}
.mini-album .acover{width:72px;border-radius:12px}.mini-album small{display:block;color:var(--mute)}
.mini-album:hover{border-color:var(--cyan)}

/* vidéos */
.vbadge{position:absolute;top:12px;left:12px;z-index:2;font-size:10px;letter-spacing:.14em;padding:4px 9px;border-radius:999px;background:rgba(0,0,0,.5);backdrop-filter:blur(6px);text-transform:uppercase}
.featured{display:grid;grid-template-columns:1.7fr 1fr;gap:20px;align-items:stretch}
.featured .sv{aspect-ratio:16/9}
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.vgrid .vid{aspect-ratio:16/10}
.vpage{padding:120px 0 60px}
.vlayout{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start}
.vlayout.theater{grid-template-columns:1fr}
.vlayout.theater .upnext{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.vtitle{font-family:var(--ft);font-size:clamp(24px,3vw,34px);margin:22px 0 10px}
.vmeta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:var(--mute);font-size:14px;margin-bottom:18px}
.chapters{display:grid;gap:6px;margin-top:10px}
.chapters button{display:flex;gap:14px;align-items:center;font:inherit;color:var(--txt);text-align:left;background:rgba(0,0,0,.2);border:1px solid var(--line);border-radius:10px;padding:9px 12px;cursor:pointer}
.chapters button:hover{border-color:var(--cyan)}.chapters .mono{color:var(--cyan);font-size:12px}
.fmt-note{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:20px;font-size:12px}
.upnext .kicker{margin-bottom:12px}
.un{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:8px;border-radius:12px;align-items:center}
.un:hover{background:rgba(46,230,255,.06)}
.uth{position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;display:block}
.uth img{width:100%;height:100%;object-fit:cover}.uth i{position:absolute;inset:0;display:grid;place-items:center;font-style:normal;background:rgba(0,0,0,.3)}
.un b{font-size:13px;display:block;line-height:1.3}.un small{color:var(--mute);font-size:12px}

/* événements */
.ev{color:inherit}
.calendar{padding:20px}
.calh{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.calh h3{font-family:var(--ft);text-transform:capitalize}
.cgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cdh{font-size:11px;letter-spacing:.14em;color:var(--mute);text-align:center;padding:6px 0;text-transform:uppercase}
.cd{min-height:96px;border-radius:12px;border:1px solid rgba(80,140,255,.1);padding:8px;font-size:13px;background:rgba(0,0,0,.15)}
.cd.empty{border:0;background:none}
.cd span{color:var(--mute);font-family:"JetBrains Mono",monospace}
.cd.today{border-color:var(--cyan)}.cd.today span{color:var(--cyan)}
.cd.has{background:linear-gradient(160deg,rgba(46,230,255,.12),rgba(139,92,255,.12))}
.cev{display:block;margin-top:6px;font-size:11px;padding:4px 6px;border-radius:6px;background:var(--cyan);color:#020414;font-weight:600;line-height:1.25}
.evhero{position:relative;padding:160px 0 60px;isolation:isolate;overflow:hidden}
.evhero .phead-bg{opacity:.65}
.evh-row{display:flex;gap:28px;align-items:center}
.date.xl{min-width:130px;padding:16px 10px}.date.xl b{font-size:56px}
.countdown{display:flex;gap:12px;margin:30px 0 4px}
.countdown div{min-width:84px;text-align:center;padding:12px 8px;border-radius:14px;background:rgba(6,10,36,.6);border:1px solid var(--line);backdrop-filter:blur(10px)}
.countdown b{display:block;font-family:var(--ft);font-size:30px;color:var(--cyan);text-shadow:var(--glow)}
.countdown span{font-size:11px;color:var(--mute);letter-spacing:.12em;text-transform:uppercase}
.evhero .cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}
.lineup{list-style:none;margin-top:12px}
.lineup li{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-weight:600}.lineup .mono{color:var(--cyan);font-weight:400;min-width:50px}
.mapbox{overflow:hidden;padding:0}
.map{height:220px;position:relative;background:#060b26;background-image:linear-gradient(rgba(46,230,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(46,230,255,.12) 1px,transparent 1px),radial-gradient(circle at 60% 40%,rgba(139,92,255,.35),transparent 50%);background-size:28px 28px,28px 28px,100% 100%}
.pin{position:absolute;left:58%;top:38%;width:22px;height:22px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--cyan);box-shadow:0 0 0 8px rgba(46,230,255,.18),var(--glow);animation:pulse 1.6s infinite}

/* galerie */
.gal{columns:3 260px;column-gap:16px}
.gi{position:relative;break-inside:avoid;margin:0 0 16px;border-radius:16px;overflow:hidden;cursor:zoom-in;border:1px solid var(--line);aspect-ratio:4/5}
.gi img{width:100%;height:100%;object-fit:cover;transition:.5s}
.gi:hover img{transform:scale(1.05)}
.gi figcaption{position:absolute;left:12px;bottom:10px;font-size:12px;padding:4px 10px;border-radius:999px;background:rgba(0,0,0,.5);backdrop-filter:blur(6px)}
.lb{position:fixed;inset:0;z-index:90;background:rgba(2,3,14,.94);display:grid;place-items:center;opacity:0;transition:.25s}
.lb.show{opacity:1}
.lb img{max-width:min(1100px,92vw);max-height:80vh;width:min(1100px,92vw);aspect-ratio:3/2;object-fit:cover;border-radius:14px;box-shadow:0 0 60px rgba(46,230,255,.25)}
.lb button{position:absolute;font-size:30px;color:#fff;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:50%;width:54px;height:54px;cursor:pointer}
.lbx{top:20px;right:20px;font-size:20px!important}.lbn.l{left:20px}.lbn.r{right:20px}
.lbc{position:absolute;bottom:24px;color:var(--mute);font-size:13px}

/* bio */
.timeline{position:relative;display:grid;gap:14px;padding-left:28px}
.timeline::before{content:"";position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--cyan),var(--violet))}
.tli{position:relative;padding:16px 20px;border-radius:14px;background:var(--panel);border:1px solid var(--line)}
.tli::before{content:"";position:absolute;left:-28px;top:22px;width:14px;height:14px;border-radius:50%;background:var(--bg);border:2px solid var(--cyan);box-shadow:var(--glow)}
.tli .mono{color:var(--cyan);font-size:12px;margin-right:12px}
.epk{display:grid;grid-template-columns:1fr 1.4fr;gap:30px;padding:36px;align-items:center}
.epk-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.epk-i{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;column-gap:12px;padding:16px;border-radius:14px;border:1px solid var(--line);background:rgba(0,0,0,.2)}
.epk-i span{grid-row:span 2;font-size:26px;display:grid;place-items:center}.epk-i small{color:var(--mute)}
.epk-i:hover{border-color:var(--cyan);box-shadow:var(--glow)}

/* actus */
.nfeat{display:grid;grid-template-columns:420px 1fr;overflow:hidden;margin-bottom:24px}
.nfeat .acover{border:0;border-radius:0}
.ngrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ngrid.one{grid-template-columns:1fr;margin-top:14px}
.ncard{overflow:hidden;display:flex;flex-direction:column;transition:.3s}
.ncard:hover{transform:translateY(-5px);border-color:rgba(46,230,255,.45)}
.nimg{position:relative;aspect-ratio:16/9;overflow:hidden}
.nimg img{width:100%;height:100%;object-fit:cover}.nimg .acover{border:0;border-radius:0;height:100%;aspect-ratio:auto}
.nimg .type{position:absolute;left:12px;top:12px;font-size:10px;letter-spacing:.14em;padding:4px 9px;border-radius:999px;background:rgba(0,0,0,.5);text-transform:uppercase}
.nb{padding:18px 20px 22px}.nb small{color:var(--cyan);font-size:12px}.nb h3{font-size:18px;margin:6px 0}.nb p{color:var(--mute);font-size:14px}
.nb .more{display:inline-block;margin-top:12px;color:var(--cyan);font-size:13px}
.article{display:grid;grid-template-columns:1fr 320px;gap:28px;align-items:start}
.article p{color:#c3d1f0;margin:12px 0}.article h3{font-family:var(--ft);margin-top:26px}

/* booking */
.booking-page{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;align-items:start}
.bform{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bform .full{grid-column:1/-1}
.chk{flex-direction:row;display:flex!important;align-items:center;gap:10px;text-transform:none;letter-spacing:0;font-size:13px}
.chk input{width:18px;height:18px}
details{border-bottom:1px solid var(--line);padding:12px 0}
summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between}
summary::after{content:"+";color:var(--cyan)}details[open] summary::after{content:"−"}
details p{color:var(--mute);margin-top:8px;font-size:14px}

/* 404 */
.nf{min-height:80vh;display:grid;place-items:center;text-align:center;padding:140px 0 60px}
.nf-code{font-family:var(--ft);font-weight:900;font-size:clamp(120px,22vw,260px);line-height:.9;color:transparent;-webkit-text-stroke:2px var(--cyan);text-shadow:0 0 60px rgba(46,230,255,.35)}

/* toast */
.toast{position:fixed;left:50%;bottom:110px;transform:translate(-50%,20px);z-index:95;padding:12px 20px;border-radius:14px;background:#0b1133;border:1px solid var(--cyan);box-shadow:var(--glow);opacity:0;transition:.3s;font-size:14px}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* menu mobile */
.mnav{position:fixed;inset:0;z-index:45;background:rgba(3,5,22,.96);backdrop-filter:blur(14px);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;opacity:0;pointer-events:none;transition:.3s}
.mnav a{font-family:var(--ft);font-size:26px;padding:8px 20px;color:var(--mute)}.mnav a.on{color:var(--cyan)}
.menu-open .mnav{opacity:1;pointer-events:auto}

/* pied de page */
footer.foot{padding:60px 0 120px;border-top:1px solid var(--line);margin-top:40px}
footer.foot .fcols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:30px}
.foot h5{font:600 11px "JetBrains Mono",monospace;letter-spacing:.2em;color:var(--cyan);margin-bottom:14px}
.foot .fcols>div>a:not(.brand){display:block;color:var(--mute);font-size:14px;padding:4px 0}.foot .fcols>div>a:hover{color:var(--txt)}
.nl{display:flex;gap:8px;margin-top:12px}.nl input{flex:1;min-width:0}
footer.foot .fbot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:40px;padding-top:20px;border-top:1px solid var(--line);color:var(--mute);font-size:13px}

@media (max-width:960px){
  .ahead-in,.two,.featured,.vlayout,.article,.booking-page,.epk,.nfeat{grid-template-columns:1fr}
  .acover.big{position:relative;top:0;max-width:340px}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .vgrid,.ngrid{grid-template-columns:1fr}
  .trow{grid-template-columns:30px 40px 1fr 54px;gap:10px}.trow .tg,.trow .tb,.trow .tl{display:none}
  footer.foot .fcols{grid-template-columns:1fr 1fr}
  .evh-row{flex-direction:column;align-items:flex-start}
  .countdown div{min-width:0;flex:1}
  .bform{grid-template-columns:1fr}
  .cd{min-height:58px;padding:4px}.cev{font-size:0;height:6px;padding:0}
  .phead{padding-top:120px}
  .nav-cta{display:none}
}
.vgrid .vid:first-child{grid-row:auto;aspect-ratio:16/10}
