/* BYSUP Radar — lieux et moments BYSUP. Thème Leaflet : bysup-map.css */

/* ---------- hero ---------- */
.rd-hero{position:relative;overflow:hidden;display:flex;align-items:center;min-height:min(88svh,780px);padding:clamp(122px,14vw,180px) 0 clamp(48px,5vw,80px);background:radial-gradient(ellipse 34% 40% at 78% 42%,rgba(150,90,214,.26),transparent 72%),radial-gradient(ellipse 40% 34% at 12% 88%,rgba(226,67,43,.12),transparent 74%),linear-gradient(124deg,#0e0618 0%,#15071f 44%,#1e0a2c 78%,#2b0c3e 100%)}
.rd-hero .wrap{position:relative;z-index:2}
.rd-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,38%);gap:clamp(30px,4vw,68px);align-items:center}
.rd-h1{font-size:clamp(38px,6vw,100px);line-height:.96;letter-spacing:-.01em;margin:0}
.rd-h1 span{display:block;padding-top:.06em;margin-top:-.06em}
.rd-lead{font-size:clamp(16.5px,1.35vw,19px);line-height:1.7;color:var(--off-dim);max-width:46ch;margin-top:clamp(18px,2vw,26px)}
.rd-next{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:clamp(20px,2.2vw,30px);padding:14px 20px;border-radius:14px;border:1px solid rgba(150,90,214,.28);background:rgba(21,7,31,.5);font-size:14.5px;color:var(--off-dim)}
.rd-next b{font-family:'Anton',sans-serif;font-weight:400;letter-spacing:.02em;text-transform:uppercase;color:var(--violet-lt);font-size:12px}
.rd-next.is-empty{border-style:dashed;color:var(--off-faint)}
/* écho radar — décoratif, sobre */
.rd-echo{position:relative;aspect-ratio:1;max-width:420px;margin-left:auto;display:grid;place-items:center}
.rd-echo i{position:absolute;border-radius:50%;border:1px solid rgba(150,90,214,.3)}
.rd-echo i:nth-child(1){inset:0}
.rd-echo i:nth-child(2){inset:16%;border-color:rgba(150,90,214,.24)}
.rd-echo i:nth-child(3){inset:32%;border-color:rgba(150,90,214,.2)}
.rd-echo i:nth-child(4){inset:48%;border-color:rgba(226,67,43,.24)}
.rd-echo-core{position:relative;width:22%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 34%,rgba(164,92,246,.9),rgba(77,11,79,.7));box-shadow:0 0 40px rgba(164,92,246,.4)}
.rd-echo-pulse{position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(164,92,246,.5);animation:rdPulse 4.4s cubic-bezier(.2,.7,.3,1) infinite}
.rd-echo-pulse:nth-of-type(2){animation-delay:1.5s}
@keyframes rdPulse{0%{transform:scale(.16);opacity:.9}100%{transform:scale(1);opacity:0}}

/* ---------- barre d'outils ---------- */
.rd-bar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:clamp(12px,1.4vw,20px);align-items:end;margin-bottom:clamp(14px,1.6vw,22px)}
.rd-search label{display:block;font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(14px,1.3vw,18px);letter-spacing:.05em;color:var(--off);margin-bottom:10px}
.rd-search-row{display:flex;gap:10px;flex-wrap:wrap}
.rd-search input{flex:1;min-width:220px;padding:15px 18px;border-radius:12px;border:1px solid rgba(150,90,214,.28);background:rgba(11,4,19,.6);color:var(--off);font-family:'Manrope',sans-serif;font-size:15.5px}
.rd-search input:focus{outline:none;border-color:var(--violet-lt);box-shadow:0 0 0 3px rgba(138,60,226,.18)}
.rd-geo{display:inline-flex;align-items:center;gap:9px;padding:14px 20px;border-radius:12px;border:1px solid rgba(150,90,214,.34);background:rgba(21,7,31,.5);color:var(--off);font-family:'Manrope',sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:border-color .2s ease,background .2s ease}
.rd-geo:hover{border-color:var(--violet-lt);background:rgba(150,90,214,.16)}
.rd-geo svg{width:15px;height:15px;color:var(--violet-lt)}
.rd-views{display:inline-flex;padding:4px;border-radius:100px;border:1px solid rgba(150,90,214,.3);background:rgba(11,4,19,.5);gap:2px}
.rd-views button{padding:11px 18px;border-radius:100px;border:none;background:transparent;color:var(--off-dim);font-family:'Manrope',sans-serif;font-size:13.5px;font-weight:700;letter-spacing:.04em;cursor:pointer;transition:background .25s ease,color .25s ease}
.rd-views button[aria-pressed="true"]{background:var(--violet-ink);color:#fff}
.rd-views button:focus-visible{outline:2px solid var(--violet-lt);outline-offset:2px}
.rd-bar-side{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rd-filters,.rd-subfilters{display:flex;flex-wrap:wrap;gap:9px}
.rd-filters{margin-bottom:10px}
.rd-subfilters{margin-bottom:clamp(16px,1.8vw,24px);padding-top:10px;border-top:1px solid rgba(150,90,214,.14)}
.rd-subfilters .chip{font-size:12.5px;padding:9px 16px}
.rd-reset{background:none;border:none;color:var(--off-faint);font-family:'Manrope',sans-serif;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:9px 4px}
.rd-reset:hover{color:var(--off)}
.rd-date-row{display:none;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:clamp(16px,1.8vw,24px)}
.rd-date-row.is-on{display:flex}
.rd-date-row label{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--off-faint);display:block;margin-bottom:7px}
.rd-date-row input{padding:12px 14px;border-radius:11px;border:1px solid rgba(150,90,214,.28);background:rgba(11,4,19,.6);color:var(--off);font-family:'Manrope',sans-serif;font-size:14.5px}
.rd-filters-open{display:none}

/* ---------- carte + résultats ---------- */
.rd-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(16px,1.8vw,26px);align-items:start}
#rdMap{height:clamp(420px,64vh,700px);width:100%;background:#0d0517}
.rd-map-side{position:relative}
.rd-split.is-list{grid-template-columns:1fr}
.rd-split.is-list .rd-map-side{display:none}
.rd-split.is-list .rd-list{max-height:none;overflow:visible;padding-right:0}
.rd-split.is-list .rd-card{grid-template-columns:110px minmax(0,1fr)}
/* carte plein écran : reste SOUS le header fixe (z-index 50) */
.rd-map-side.is-fs{position:fixed;inset:auto 0 0;top:var(--rd-head,78px);z-index:40;margin:0;background:#0d0517;display:flex;flex-direction:column}
.rd-map-side.is-fs .bm-map-wrap{flex:1;border-radius:0;border-left:none;border-right:none}
.rd-map-side.is-fs #rdMap{height:100%}
.rd-map-side.is-fs .rd-map-tools{padding:10px 14px;margin:0}
.rd-fs-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:100px;border:1px solid rgba(150,90,214,.34);background:rgba(21,7,31,.6);color:var(--off-dim);font-family:'Manrope',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.rd-fs-btn:hover{border-color:var(--violet-lt);color:#fff}
.rd-fs-btn svg{width:13px;height:13px}
.rd-map-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px}
.rd-legend{display:flex;flex-wrap:wrap;gap:10px 16px;padding:14px 16px;border-radius:14px;border:1px solid rgba(150,90,214,.18);background:rgba(21,7,31,.42)}
.rd-legend span{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600;letter-spacing:.04em;color:var(--off-dim)}
.rd-legend i{width:10px;height:10px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 3px rgba(150,90,214,.12)}
.rd-results-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.rd-count{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--off-faint)}
.rd-count b{color:var(--violet-lt)}
.rd-list{display:flex;flex-direction:column;gap:12px;max-height:clamp(420px,64vh,700px);overflow-y:auto;padding-right:4px}
.rd-list::-webkit-scrollbar{width:5px}
.rd-list::-webkit-scrollbar-thumb{background:rgba(150,90,214,.32);border-radius:4px}
.rd-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;padding:12px;border-radius:16px;border:1px solid rgba(150,90,214,.2);background:linear-gradient(180deg,#1d0a2c,#15071f);text-align:left;cursor:pointer;font-family:'Manrope',sans-serif;color:var(--off);transition:border-color .25s ease,transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease}
.rd-card:hover,.rd-card.is-on{border-color:rgba(164,92,246,.5);transform:translateY(-2px);box-shadow:0 20px 40px -28px rgba(150,90,214,.5)}
.rd-card:focus-visible{outline:2px solid var(--violet-lt);outline-offset:2px}
.rd-card-shot{position:relative;aspect-ratio:1;border-radius:11px;overflow:hidden;background:radial-gradient(ellipse 62% 58% at 50% 44%,rgba(150,90,214,.2),transparent 72%),#170822;display:grid;place-items:center}
.rd-card-shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rd-card-shot .rd-dot{width:16px;height:16px;border-radius:50%}
.rd-card-body{display:flex;flex-direction:column;gap:6px;min-width:0}
.rd-card-cat{font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--violet-lt)}
.rd-card-body h4{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:17px;line-height:1.1;letter-spacing:.02em;color:var(--off)}
.rd-card-meta{font-size:13px;line-height:1.5;color:var(--off-faint)}
.rd-card-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}
.rd-status{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:100px;font-size:8.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;border:1px solid rgba(150,90,214,.45);color:var(--violet-lt)}
.rd-status.is-open{border-color:rgba(143,220,171,.5);color:#8fdcab}
.rd-status.is-full,.rd-status.is-cancelled{border-color:rgba(226,67,43,.5);color:#f08a76}
.rd-status.is-live{border-color:rgba(212,175,98,.55);color:var(--gold)}
.rd-status.is-done{border-color:rgba(247,244,248,.25);color:var(--off-faint)}
.rd-card-go{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--violet-lt);display:inline-flex;align-items:center;gap:7px}
.rd-card-go svg{width:12px;height:12px}

/* ---------- calendrier ---------- */
.rd-cal{border-radius:clamp(14px,1.4vw,22px);border:1px solid rgba(150,90,214,.2);background:linear-gradient(168deg,#1a0827,#130620);padding:clamp(18px,2.2vw,32px)}
.rd-cal-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:clamp(16px,1.8vw,24px)}
.rd-cal-month{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(20px,2.4vw,34px);letter-spacing:.02em;color:var(--off)}
.rd-cal-nav{display:flex;gap:8px}
.rd-cal-nav button{width:44px;height:44px;border-radius:50%;border:1px solid rgba(150,90,214,.34);background:rgba(21,7,31,.5);color:var(--off);display:grid;place-items:center;cursor:pointer;transition:border-color .2s ease,background .2s ease}
.rd-cal-nav button:hover{border-color:var(--violet-lt);background:rgba(150,90,214,.16)}
.rd-cal-nav svg{width:16px;height:16px}
.rd-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:rgba(150,90,214,.14);border:1px solid rgba(150,90,214,.14);border-radius:12px;overflow:hidden}
.rd-cal-dow{background:#150720;padding:10px 8px;text-align:center;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--off-faint)}
.rd-cal-cell{background:#160722;min-height:clamp(78px,8vw,116px);padding:8px;display:flex;flex-direction:column;gap:5px}
.rd-cal-cell.is-out{background:#120520;color:var(--off-faint);opacity:.45}
.rd-cal-cell.is-today{box-shadow:inset 0 0 0 1px rgba(164,92,246,.5)}
.rd-cal-num{font-size:12px;font-weight:700;color:var(--off-faint)}
.rd-cal-cell.is-today .rd-cal-num{color:var(--violet-lt)}
.rd-cal-ev{display:flex;align-items:center;gap:6px;padding:5px 7px;border-radius:7px;border:none;background:rgba(109,40,173,.32);color:var(--off);font-family:'Manrope',sans-serif;font-size:11px;font-weight:600;text-align:left;cursor:pointer;line-height:1.25;transition:background .2s ease}
.rd-cal-ev:hover{background:rgba(109,40,173,.6)}
.rd-cal-ev i{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.rd-agenda{display:flex;flex-direction:column;gap:clamp(16px,1.8vw,24px)}
.rd-agenda-day{display:grid;grid-template-columns:minmax(0,132px) minmax(0,1fr);gap:clamp(14px,1.6vw,24px);padding-top:clamp(14px,1.6vw,20px);border-top:1px solid rgba(150,90,214,.16)}
.rd-agenda-date{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(15px,1.4vw,19px);letter-spacing:.03em;color:var(--violet-lt)}
.rd-agenda-date span{display:block;font-family:'Manrope',sans-serif;font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--off-faint);margin-top:5px}
.rd-agenda-items{display:flex;flex-direction:column;gap:10px}

/* ---------- états ---------- */
.rd-empty{border-radius:clamp(14px,1.4vw,20px);border:1px dashed rgba(150,90,214,.34);background:radial-gradient(ellipse 46% 54% at 50% 20%,rgba(150,90,214,.12),transparent 72%),#150720;padding:clamp(26px,3vw,46px);text-align:center}
.rd-empty-h{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(21px,2.6vw,38px);line-height:1.06;color:var(--off)}
.rd-empty-p{font-size:15px;line-height:1.7;color:var(--off-dim);max-width:48ch;margin:14px auto 0}
.rd-empty .cta-row{justify-content:center;margin-top:clamp(20px,2.4vw,30px)}
.rd-note{margin-top:14px;font-size:12.5px;line-height:1.6;color:var(--off-faint)}
.rd-geo-msg{display:none;margin-top:12px;font-size:13px;color:var(--gold)}
.rd-geo-msg.is-on{display:block}

/* ---------- fiche détaillée ---------- */
.rd-detail-hero{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:radial-gradient(ellipse 60% 50% at 50% 40%,rgba(150,90,214,.22),transparent 72%),#170822;margin-bottom:18px}
.rd-detail-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rd-detail-h{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(24px,3.2vw,42px);line-height:1.04;color:var(--off)}
.rd-detail-loc{font-size:14.5px;color:var(--off-faint);margin-top:8px}
.rd-blocks{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:clamp(18px,2vw,26px)}
.rd-block{padding:14px 16px;border-radius:12px;border:1px solid rgba(150,90,214,.18);background:rgba(11,4,19,.42)}
.rd-block.wide{grid-column:1/-1}
.rd-block b{display:block;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--violet-lt);margin-bottom:7px}
.rd-block p{font-size:14.5px;line-height:1.62;color:var(--off-dim);white-space:pre-line}
.rd-mini{height:170px;border-radius:12px;overflow:hidden;margin-top:14px}
.rd-share{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.rd-share button{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:100px;border:1px solid rgba(150,90,214,.34);background:transparent;color:var(--off-dim);font-family:'Manrope',sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .2s ease,color .2s ease}
.rd-share button:hover{border-color:var(--violet-lt);color:#fff}
.rd-share svg{width:14px;height:14px}
.rd-share-note{font-size:12.5px;color:var(--off-faint);margin-top:10px}

/* ---------- connexions / proposer ---------- */
.rd-routes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(150,90,214,.16);border:1px solid rgba(150,90,214,.16);border-radius:clamp(14px,1.4vw,22px);overflow:hidden}
.rd-route{padding:clamp(22px,2.2vw,32px);background:linear-gradient(168deg,#180823,#140520 70%);display:flex;flex-direction:column;gap:10px;transition:background .3s ease}
.rd-route:hover{background:linear-gradient(168deg,#200c2f,#170722 70%)}
.rd-route b{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(17px,1.5vw,22px);letter-spacing:.02em;color:var(--off)}
.rd-route span{font-size:14px;line-height:1.6;color:var(--off-dim)}
.rd-route a{margin-top:auto;padding-top:8px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--violet-lt);display:inline-flex;align-items:center;gap:7px}
.rd-route a svg{width:12px;height:12px}
.rd-band{display:flex;align-items:center;justify-content:space-between;gap:clamp(24px,3vw,54px);flex-wrap:wrap;border-radius:clamp(14px,1.4vw,22px);border:1px dashed rgba(150,90,214,.34);background:radial-gradient(ellipse 46% 60% at 8% 50%,rgba(150,90,214,.12),transparent 72%),#150720;padding:clamp(26px,3vw,48px)}
.rd-band-txt{max-width:60ch}
.rd-band-side{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.rd-err{display:none;margin-top:10px;font-size:13.5px;font-weight:600;color:#ff8f7a}
.rd-err.is-on{display:block}

/* ---------- reveal ---------- */
.js-reveal .reveal{opacity:0;transform:translateY(20px);transition:opacity .75s cubic-bezier(.19,.84,.32,1),transform .75s cubic-bezier(.19,.84,.32,1)}
.js-reveal .reveal.in{opacity:1;transform:none}
.js-reveal .reveal-media{opacity:0;transition:opacity .9s ease}
.js-reveal .reveal-media.in{opacity:1}

@media(max-width:1080px){
  .rd-routes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rd-split{grid-template-columns:1fr}
  .rd-list{max-height:none;overflow:visible;padding-right:0}
  #rdMap{height:clamp(340px,50vh,480px)}
  .rd-blocks{grid-template-columns:1fr}
}
@media(max-width:920px){
  .rd-hero-grid{grid-template-columns:1fr;gap:34px}
  .rd-echo{max-width:300px;margin:0 auto}
  .rd-bar{grid-template-columns:1fr;align-items:start}
  .rd-bar-side{justify-content:space-between}
  /* mobile : filtres regroupés dans un panneau accessible */
  .rd-filters,.rd-subfilters,.rd-date-row.is-on{display:none}
  .rd-filters-open{display:inline-flex}
  .rd-sheet-filters .rd-filters,.rd-sheet-filters .rd-subfilters{display:flex}
  .rd-sheet-filters .rd-date-row.is-on{display:flex}
  .rd-views{width:100%;justify-content:space-between}
  .rd-views button{flex:1;text-align:center;padding:12px 8px}
  .rd-agenda-day{grid-template-columns:1fr;gap:10px}
}
@media(max-width:680px){
  .rd-routes{grid-template-columns:1fr}
  .rd-band{flex-direction:column;align-items:flex-start}
  .rd-hero .cta-row{flex-direction:column;align-items:stretch}
  .rd-hero .cta-row .btn{justify-content:center;width:100%}
  .rd-card{grid-template-columns:70px minmax(0,1fr)}
  .rd-cal-grid{display:none}
  .rd-legend{gap:8px 12px}
}
@media(prefers-reduced-motion:reduce){
  .rd-echo-pulse{animation:none;opacity:.3}
  .js-reveal .reveal,.js-reveal .reveal-media{opacity:1!important;transform:none!important}
}
