/* Clochu · Lecteur radio en direct */
.rd{--rd-a:var(--accent,#E4572E);--rd-g:var(--gold,var(--sun,#F2C230));position:relative;border-radius:calc(var(--radius,10px) + 14px);overflow:hidden;isolation:isolate}
.rd-studio{color:#fff;background:#0d1020;padding:clamp(22px,4vw,44px);box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.rd-studio::before{content:"";position:absolute;inset:-40px;z-index:-2;background:var(--rd-bg,none) center/cover no-repeat;filter:blur(18px) saturate(1.2);opacity:.45;transform:scale(1.05)}
.rd-studio::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 15% 20%,color-mix(in srgb,var(--rd-a) 45%,transparent),transparent 55%),radial-gradient(circle at 90% 90%,color-mix(in srgb,var(--primary,#1B2F7A) 70%,transparent),transparent 60%),linear-gradient(135deg,rgba(10,12,24,.82),rgba(10,12,24,.95))}
.rd-carte{background:var(--paper,#fff);border:1px solid var(--line,#DCE2EE);padding:clamp(20px,3vw,34px);color:var(--ink);box-shadow:0 20px 40px -26px rgba(0,0,0,.35)}
.rd-bande{background:var(--dark,#141A33);color:#fff;padding:16px 22px}
.rd-stage{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:center}
.rd-art{position:relative;width:clamp(150px,22vw,250px);aspect-ratio:1;display:grid;place-items:center}
.rd-bande .rd-art{width:76px}
.rd-disc{position:relative;z-index:2;width:100%;height:100%;border-radius:50%;overflow:hidden;background:conic-gradient(from 0deg,#20243a,#0b0d18,#20243a,#0b0d18,#20243a);box-shadow:0 0 0 6px rgba(255,255,255,.08),0 22px 46px -14px rgba(0,0,0,.7);display:grid;place-items:center}
.rd-disc img{width:100%;height:100%;object-fit:cover}
.rd-disc .ic{width:40%;height:40%;color:#fff;opacity:.85}
.rd-carte .rd-disc{box-shadow:0 0 0 6px var(--light,#EEF3FB),0 18px 36px -16px rgba(0,0,0,.45)}
.rd.is-playing .rd-disc{animation:rdspin 18s linear infinite}
@keyframes rdspin{to{transform:rotate(360deg)}}
.rd-rings{position:absolute;inset:0;z-index:1}
.rd-rings i{position:absolute;inset:0;border-radius:50%;border:2px solid color-mix(in srgb,var(--rd-a) 70%,transparent);opacity:0}
.rd.is-playing .rd-rings i{animation:rdring 2.7s ease-out infinite}
.rd.is-playing .rd-rings i:nth-child(2){animation-delay:.9s}.rd.is-playing .rd-rings i:nth-child(3){animation-delay:1.8s}
@keyframes rdring{0%{transform:scale(1);opacity:.75}100%{transform:scale(1.55);opacity:0}}
.rd-kicker{display:flex;align-items:center;gap:12px;margin:0 0 8px;font-size:.85rem}
.rd-live{display:inline-flex;align-items:center;gap:7px;background:#E11D2E;color:#fff;font:800 .72rem/1 var(--font-body,system-ui);letter-spacing:.12em;text-transform:uppercase;padding:6px 10px 6px 9px;border-radius:999px}
.rd-live i{width:8px;height:8px;border-radius:50%;background:#fff;animation:rdblink 1.4s infinite}
@keyframes rdblink{50%{opacity:.25}}
.rd-state{opacity:.75;font-weight:700;letter-spacing:.04em}
.rd-name{font-size:clamp(1.8rem,1.2rem + 2.6vw,3.1rem);margin:0;line-height:1.05;color:inherit}
.rd-studio .rd-name{color:#fff}
.rd-slogan{margin:.35em 0 0;opacity:.8;font-size:1.05rem}
.rd-now{margin:14px 0 0;display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:12px;background:rgba(255,255,255,.08);border-left:3px solid var(--rd-g);max-width:560px}
.rd-carte .rd-now{background:var(--light,#EEF3FB)}
.rd-now span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;opacity:.7;font-weight:800}
.rd-now strong{font-size:1.02rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rd-show{margin:10px 0 0;font-weight:700;opacity:.92}.rd-show b{color:var(--rd-g)}
.rd-carte .rd-show b{color:var(--rd-a)}
.rd-controls{display:flex;align-items:center;gap:18px;margin-top:22px}
.rd-play{position:relative;flex:none;width:clamp(68px,8vw,84px);aspect-ratio:1;border-radius:50%;border:0;cursor:pointer;background:var(--rd-a);color:#fff;display:grid;place-items:center;box-shadow:0 14px 34px -10px color-mix(in srgb,var(--rd-a) 80%,transparent);transition:transform .15s}
.rd-play:hover{transform:scale(1.06)}.rd-play:active{transform:scale(.97)}
.rd-play:focus-visible,.rd-bar-play:focus-visible{outline:3px solid var(--rd-g,#F2C230);outline-offset:4px}
.rd-i-play{width:0;height:0;border-style:solid;border-width:13px 0 13px 21px;border-color:transparent transparent transparent currentColor;margin-left:5px}
.rd.is-playing .rd-i-play,.rd-bar.is-playing .rd-i-play{width:22px;height:24px;border:0;margin:0;background:linear-gradient(90deg,currentColor 0 36%,transparent 36% 64%,currentColor 64%)}
.rd.is-loading .rd-play::after,.rd-bar.is-loading .rd-bar-play::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:3px solid transparent;border-top-color:var(--rd-g,#F2C230);animation:rdspin .9s linear infinite}
.rd.is-loading .rd-i-play,.rd-bar.is-loading .rd-i-play{opacity:.4}
.rd-eq{display:flex;align-items:flex-end;gap:3px;height:42px;flex:1;max-width:320px}
.rd-eq i{flex:1;min-width:3px;height:16%;border-radius:3px;background:linear-gradient(to top,var(--rd-a),var(--rd-g));opacity:.45;transition:height .3s}
.rd.is-playing .rd-eq i,.rd-bar.is-playing .rd-eq i{opacity:1;animation:rdeq .9s ease-in-out infinite alternate;animation-delay:var(--d,0s)}
.rd-eq i:nth-child(3n){--h:85%}.rd-eq i:nth-child(3n+1){--h:55%}.rd-eq i:nth-child(3n+2){--h:100%}
@keyframes rdeq{0%{height:14%}100%{height:var(--h,70%)}}
.rd-time{font:700 1.05rem var(--font-head,system-ui);font-variant-numeric:tabular-nums;opacity:.85;min-width:60px}
.rd-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:20px}
.rd-tool{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);color:inherit;border-radius:999px;padding:8px 13px;font:600 .88rem var(--font-body,system-ui);cursor:pointer;text-decoration:none}
.rd-tool:hover{background:rgba(255,255,255,.16);color:inherit}
.rd-carte .rd-tool{border-color:var(--line,#DCE2EE);background:#fff}.rd-carte .rd-tool:hover{background:var(--light)}
.rd-tool .ic{width:17px;height:17px}
.rd-tool.is-muted{color:#fca5a5}
.rd-vol{width:120px;accent-color:var(--rd-a)}
.rd-grid{margin-top:clamp(22px,3vw,34px);padding-top:clamp(18px,2.4vw,26px);border-top:1px solid rgba(255,255,255,.14)}
.rd-carte .rd-grid{border-color:var(--line)}
.rd-grid h3{color:inherit;font-size:1.1rem;margin:0 0 12px}
.rd-shows{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.rd-shows li{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"t m" "d m";gap:2px 14px;padding:11px 14px;border-radius:12px;background:rgba(255,255,255,.06);align-items:center}
.rd-carte .rd-shows li{background:var(--light)}
.rd-sh-time{grid-area:t;font:800 .9rem var(--font-head,system-ui);font-variant-numeric:tabular-nums;color:var(--rd-g)}
.rd-carte .rd-sh-time{color:var(--rd-a)}
.rd-sh-days{grid-area:d;font-size:.75rem;opacity:.7;text-transform:uppercase;letter-spacing:.06em}
.rd-sh-main{grid-area:m;display:flex;flex-direction:column;min-width:0}.rd-sh-main small{opacity:.7}
.rd-shows li.on{background:color-mix(in srgb,var(--rd-a) 30%,transparent);box-shadow:inset 3px 0 0 var(--rd-a)}
.rd-shows li.on .rd-sh-main strong::after{content:" ●";color:#ef4444;font-size:.8em}
.rd-bande .rd-stage{grid-template-columns:auto minmax(0,1fr)}
.rd-bande .rd-controls{margin-top:8px}.rd-bande .rd-name{font-size:1.4rem}.rd-bande .rd-tools{margin-top:8px}.rd-bande .rd-play{width:58px}

/* Fenêtre d'écoute détachée */
.rd-popup-body{margin:0;min-height:100vh;background:#0d1020 center/cover;font-family:var(--font-body,system-ui);display:flex;align-items:center;padding:16px;box-sizing:border-box}
.rd-popup-body .rd{width:100%;max-width:520px;margin:0 auto;background:transparent;box-shadow:none;padding:12px}
.rd-popup-body .rd::before,.rd-popup-body .rd::after{display:none}
.rd-popup-body .rd-stage{grid-template-columns:1fr;text-align:center;justify-items:center}
.rd-popup-body .rd-controls,.rd-popup-body .rd-tools,.rd-popup-body .rd-kicker{justify-content:center}
.rd-popup-body .rd-now{align-items:center;border-left:0;border-top:3px solid var(--rd-g);margin-inline:auto}
.rd-popup-body .rd-shows{grid-template-columns:1fr;text-align:left}

/* Mini-lecteur en bas de toutes les pages */
.rd-bar{--rd-a:var(--accent,#E4572E);--rd-g:var(--gold,var(--sun,#F2C230));position:fixed;left:12px;right:12px;bottom:12px;z-index:65;display:flex;align-items:center;gap:12px;padding:8px 10px 8px 8px;border-radius:999px;background:rgba(13,16,32,.94);backdrop-filter:blur(12px);color:#fff;box-shadow:0 18px 40px -14px rgba(0,0,0,.65);max-width:620px;margin:0 auto;transform:translateY(140%);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.rd-bar:not(.show){visibility:hidden;transition:transform .35s cubic-bezier(.2,.8,.2,1),visibility 0s .35s}
.rd-bar.show{transform:none}
.rd-bar-play{position:relative;flex:none;width:48px;height:48px;border-radius:50%;border:0;background:var(--rd-a);color:#fff;display:grid;place-items:center;cursor:pointer}
.rd-bar-play .rd-i-play{border-width:9px 0 9px 15px;margin-left:4px}
.rd-bar.is-playing .rd-bar-play .rd-i-play{width:16px;height:18px}
.rd-bar.is-blocked .rd-bar-play{animation:rdpulse 1.6s infinite}
@keyframes rdpulse{50%{box-shadow:0 0 0 10px color-mix(in srgb,var(--rd-a) 25%,transparent)}}
.rd-bar-logo{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none}
.rd-bar-txt{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.25}
.rd-bar-txt strong{display:flex;align-items:center;gap:8px;font-size:.95rem;white-space:nowrap;overflow:hidden}
.rd-bar-txt .rd-live{font-size:.6rem;padding:4px 7px 4px 6px}.rd-bar-txt .rd-live i{width:6px;height:6px}
.rd-bar-txt span[data-rd-now]{font-size:.82rem;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rd-bar .rd-eq{height:24px;max-width:46px;flex:none}
.rd-bar-vol{width:80px;accent-color:var(--rd-a)}
.rd-bar-pop,.rd-bar-x{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.08);border:0;cursor:pointer}
.rd-bar-pop:hover,.rd-bar-x:hover{background:rgba(255,255,255,.18);color:#fff}
.rd-bar .ic{width:17px;height:17px}
body.has-rd-bar .sp-fab{bottom:96px}

@media (max-width:700px){
  .rd-stage{grid-template-columns:1fr;justify-items:center;text-align:center}
  .rd-kicker,.rd-controls,.rd-tools{justify-content:center}
  .rd-now{margin-inline:auto;align-items:center}
  .rd-eq{max-width:150px}
  .rd-vol{width:90px}
  .rd-bar{bottom:8px;left:8px;right:8px}
  .rd-bar-vol,.rd-bar .rd-eq{display:none}
  .rd-bande .rd-stage{grid-template-columns:auto minmax(0,1fr);text-align:left;justify-items:start}
}
@media (prefers-reduced-motion:reduce){.rd.is-playing .rd-disc,.rd.is-playing .rd-rings i,.rd-live i,.rd.is-playing .rd-eq i,.rd-bar.is-playing .rd-eq i{animation:none}}
.rd [hidden],.rd-bar [hidden]{display:none!important}
/* Mini-lecteur au repos : simple pastille « écouter » en bas à gauche */
.rd-bar.is-mini{left:0;right:0;width:max-content;max-width:calc(100vw - 32px);margin:0 auto;gap:10px;padding:6px 14px 6px 6px}
.rd-bar.is-mini .rd-bar-vol,.rd-bar.is-mini .rd-eq,.rd-bar.is-mini .rd-bar-pop,.rd-bar.is-mini [data-rd-now]{display:none}
.rd-bar.is-mini .rd-bar-play{width:40px;height:40px}.rd-bar.is-mini .rd-bar-logo{display:none}
.rd-bar.is-mini .rd-bar-txt strong{font-size:.85rem}.rd-bar.is-mini .rd-bar-x{width:28px;height:28px}
@media (max-width:700px){.rd-bar.is-mini{bottom:8px}}
