/* ==========================================================================
   04 — PODCAST  (maquette : y 750 → 943)
   Texte x 97, micro centré x 456, lecteur 583 → 862, épisodes 878 → 1030.
   ========================================================================== */
.pod{min-height:calc(194 * var(--m));background:radial-gradient(calc(420 * var(--m)) calc(120 * var(--m)) at calc(820 * var(--m)) 100%,rgba(140,12,24,.22),transparent 70%),radial-gradient(calc(200 * var(--m)) calc(150 * var(--m)) at calc(456 * var(--m)) 55%,rgba(160,14,28,.18),transparent 70%),var(--bg)}
.pod__grid{position:relative;z-index:2;display:grid;grid-template-columns:calc(220 * var(--m)) calc(266 * var(--m)) calc(279 * var(--m)) 1fr;padding:calc(22 * var(--m)) calc(30 * var(--m)) calc(18 * var(--m)) calc(97 * var(--m))}
.pod__title{margin-top:max(calc(var(--mins) * 18px),calc(12 * var(--m)))}
.pod__intro .txt{margin-top:max(calc(var(--mins) * 16px),calc(11 * var(--m)));font-size:var(--fs-small);max-width:max(calc(var(--mins) * 320px),calc(215 * var(--m)))}
.pod__intro .btn{margin-top:max(calc(var(--mins) * 22px),calc(14 * var(--m)))}

/* micro : fond04 découpé, anneaux et ondes animés par-dessus */
.pod__mic{position:absolute;z-index:1;left:calc(301 * var(--m));top:calc(-33 * var(--m));width:calc(310 * var(--m));pointer-events:none}
.pod__mic img{width:100%;height:auto;filter:brightness(.82) saturate(.95)}
.pod__mic-brand{position:absolute;left:51%;top:49.2%;transform:translateX(-50%);font-family:var(--f-title);font-weight:700;font-size:calc(7.5 * var(--m));letter-spacing:.3em;color:var(--red);text-shadow:0 0 6px rgba(246,43,62,.8)}
.pod__pulse{position:absolute;left:50%;top:50%;width:calc(162 * var(--m));height:calc(162 * var(--m));margin:calc(-81 * var(--m)) 0 0 calc(-81 * var(--m));border-radius:50%;border:1px solid rgba(246,43,62,.45);opacity:0}
.pod.is-playing .pod__pulse,.pod__mic:hover .pod__pulse{animation:podPulse 2.4s var(--ease-out) infinite}
.pod__pulse:nth-child(3){animation-delay:.8s!important}
.pod__pulse:nth-child(4){animation-delay:1.6s!important}
@keyframes podPulse{0%{opacity:.8;transform:scale(.92)}100%{opacity:0;transform:scale(1.5)}}

/* ---- lecteur ----------------------------------------------------------- */
.player{position:relative;grid-column:3;align-self:start;margin-top:calc(14 * var(--m));min-height:calc(122 * var(--m));padding:calc(29 * var(--m)) calc(15 * var(--m)) calc(12 * var(--m));border:1px solid var(--line-2);background:linear-gradient(180deg,rgba(14,14,15,.72),rgba(8,8,9,.82));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.player__tag{position:absolute;left:calc(-1 * var(--m));top:calc(4 * var(--m));display:flex;align-items:center;gap:calc(5 * var(--m));padding:calc(2 * var(--m)) calc(8 * var(--m)) calc(2 * var(--m)) calc(4 * var(--m));border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);font-family:var(--f-mono);font-weight:500;font-size:var(--fs-nano);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3)}
.player__tag i{width:5px;height:5px;border-radius:50%;background:var(--yellow);box-shadow:0 0 6px rgba(255,210,31,.8);flex:none}
.player__tag i:first-child{background:var(--red);box-shadow:0 0 6px var(--red-glow)}
.player__ep{font-family:var(--f-mono);font-weight:500;font-size:max(calc(var(--mins) * 11px),calc(6 * var(--m)));color:var(--red);letter-spacing:.08em;text-transform:uppercase}
.player__title{margin-top:max(calc(var(--mins) * 4px),calc(3 * var(--m)));font-family:var(--f-text);font-weight:600;font-size:max(calc(var(--mins) * 19px),calc(11.8 * var(--m)));line-height:1.18;letter-spacing:-.01em;color:var(--ink);max-width:calc(150 * var(--m));min-height:2.36em;text-wrap:balance}
.player__state{margin-left:.9em;font-family:var(--f-mono);font-weight:500;font-size:var(--fs-nano);letter-spacing:.2em;color:var(--ink-3);text-transform:uppercase;border:1px solid var(--line-2);padding:1px 6px;vertical-align:middle}
.player__row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:max(calc(var(--mins) * 16px),calc(17 * var(--m)));margin-top:max(calc(var(--mins) * 12px),calc(10 * var(--m)))}
.player__play{--d:max(calc(var(--mins) * 48px),calc(30 * var(--m)));width:var(--d);height:var(--d);border-radius:50%;background:var(--red);display:grid;place-items:center;box-shadow:0 0 0 0 var(--red-glow);transition:box-shadow .35s var(--ease),transform .35s var(--ease),background-color .3s}
.player__play:hover{box-shadow:0 0 24px -2px var(--red-glow);transform:scale(1.05);background:var(--red-hi)}
.player__play svg{width:36%;height:36%;fill:#fff}
.player__play .i-pause{display:none}
.player.is-playing .player__play .i-play{display:none}
.player.is-playing .player__play .i-pause{display:block}
.player__wave{position:relative;height:max(calc(var(--mins) * 34px),calc(20 * var(--m)));cursor:pointer;touch-action:pan-y}
.player__wave canvas{width:100%;height:100%}
.player__wave:focus-visible{outline-offset:6px}
.player__times{display:flex;justify-content:space-between;margin-top:max(calc(var(--mins) * 4px),calc(2 * var(--m)));font-family:var(--f-mono);font-weight:500;font-size:var(--fs-nano);color:var(--red);letter-spacing:.08em}
.player__msg{margin-top:8px;font-size:var(--fs-nano);font-family:var(--f-mono);letter-spacing:.08em;color:var(--ink-2);min-height:1.4em}
.player__msg a{color:var(--red);text-decoration:underline;text-underline-offset:3px}

/* ---- épisodes ------------------------------------------------------------ */
.eps{grid-column:4;position:relative;margin-left:calc(16 * var(--m));padding-left:calc(15 * var(--m));padding-top:calc(6 * var(--m))}
.eps::before{content:"";position:absolute;left:0;top:calc(4 * var(--m));bottom:calc(-10 * var(--m));width:1px;background:var(--line-2)}
.eps__list{position:relative}
.eps__list::before{content:"";position:absolute;left:calc(8 * var(--m));top:calc(10 * var(--m));bottom:calc(10 * var(--m));width:1px;background:var(--line-2)}
.ep{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:calc(14 * var(--m));width:100%;text-align:left;padding:max(calc(var(--mins) * 5px),calc(4 * var(--m))) 0;min-height:calc(36 * var(--m))}
.ep__dot{--d:max(calc(var(--mins) * 28px),calc(17 * var(--m)));width:var(--d);height:var(--d);border-radius:50%;border:1px solid var(--line-2);background:#0a0a0b;display:grid;place-items:center;color:var(--red);transition:border-color .3s,box-shadow .3s}
.ep__dot svg{width:48%;height:48%}
.ep__meta{display:block;font-family:var(--f-mono);font-weight:500;font-size:var(--fs-nano);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4)}
.ep__name{display:block;margin-top:2px;font-size:max(calc(var(--mins) * 13px),calc(6.6 * var(--m)));font-weight:500;color:var(--ink);line-height:1.3}
.ep:hover .ep__dot,.ep.is-current .ep__dot{border-color:var(--red);box-shadow:0 0 12px -2px var(--red-glow)}
.ep.is-current .ep__meta{color:var(--red)}
.eps__on{margin-top:calc(12 * var(--m));padding-top:calc(10 * var(--m));border-top:1px solid var(--line)}
.eps__on p{font-family:var(--f-mono);font-weight:500;font-size:var(--fs-nano);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3)}
.eps__on ul{display:flex;gap:calc(22 * var(--m));margin-top:calc(8 * var(--m))}
.eps__on a{display:block;width:max(calc(var(--mins) * 26px),calc(14 * var(--m)));transition:transform .3s var(--ease)}
.eps__on a:hover{transform:translateY(-2px)}

@media (max-width:1023px){
  .pod{min-height:0}
  .pod__grid{grid-template-columns:1fr;padding:56px 24px 48px;gap:0}
  .pod__intro .txt{font-size:16px;max-width:560px}
  .pod__mic{position:relative;left:auto;top:auto;width:min(86vw,440px);margin:10px auto -20px}
  .player{grid-column:1;margin-top:0;padding:40px 18px 18px}
  .player__title{font-size:22px;max-width:none;min-height:0}
  .eps{grid-column:1;margin:28px 0 0;padding-left:0}
  .eps::before{display:none}
  .ep{min-height:58px}
  .ep__name{font-size:15px}
}
