/* ===========================================================
   Le Podcats — styles
   Direction « Motifs » : fonds en plein écran, cartes blanches
   qui flottent, carrousel de 3 épisodes par page.
   =========================================================== */

:root{
  --blue:#1E3AD6; --blue-ink:#1E3AD6; --pink:#E066BC;
  --ground:#efe7f7; --panel:#FCFAF8; --panel-2:#f4f0f6; --panel-line:#ece5ef;
  --ink:#211f29; --muted:#726d7d; --card:#ffffff;
  --pattern-scrim:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,0));
  --shadow:0 16px 40px rgba(40,30,60,.16), 0 3px 10px rgba(40,30,60,.09);
  --shadow-sm:0 3px 10px rgba(40,30,60,.14);
  --display:"Futura","Avenir Next",-apple-system,system-ui,sans-serif;
  --body:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  --violet-clair:#BCA8ED;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --blue:#8ea0f7; --blue-ink:#9fadf8; --pink:#f19bd3;
    --ground:#151220; --panel:#211d2b; --panel-2:#191622; --panel-line:#322c3e;
    --ink:#f1eef6; --muted:#a49eb2; --card:#211d2b;
    --pattern-scrim:linear-gradient(rgba(18,15,26,.66),rgba(18,15,26,.66));
    --shadow:0 16px 40px rgba(0,0,0,.5), 0 3px 10px rgba(0,0,0,.4);
    --shadow-sm:0 3px 10px rgba(0,0,0,.45);
    --violet-clair:#c9b7f5;
  }
}
:root[data-theme="dark"]{
  --blue:#8ea0f7; --blue-ink:#9fadf8; --pink:#f19bd3;
  --ground:#151220; --panel:#211d2b; --panel-2:#191622; --panel-line:#322c3e;
  --ink:#f1eef6; --muted:#a49eb2; --card:#211d2b;
  --pattern-scrim:linear-gradient(rgba(18,15,26,.66),rgba(18,15,26,.66));
  --shadow:0 16px 40px rgba(0,0,0,.5), 0 3px 10px rgba(0,0,0,.4);
  --shadow-sm:0 3px 10px rgba(0,0,0,.45);
  --violet-clair:#c9b7f5;
}

*{box-sizing:border-box}
html,body{min-height:100%}
body{
  margin:0; color:var(--ink); font-family:var(--body); font-size:16px; line-height:1.5;
  --pattern-img:url('media/patterns/fond3.jpg'); /* motif de fond ; change le numero pour un autre */
  background-color:var(--ground);
  background-image:var(--pattern-scrim), var(--pattern-img, none);
  background-size:auto, 460px; background-attachment:fixed, fixed;
  -webkit-font-smoothing:antialiased;
  padding:0 0 116px; /* place pour le lecteur collant */
}
body.calm{ --pattern-img:none !important; background-color:var(--ground); }
body.no-player{ padding-bottom:40px; }

/* ---- Barre du haut (par-dessus le motif) ---- */
.siteTop{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px;max-width:1080px;margin:0 auto}
.langs{display:inline-flex;background:var(--panel);border:1px solid var(--panel-line);border-radius:999px;padding:3px;box-shadow:var(--shadow-sm)}
.langs button{border:0;background:none;cursor:pointer;font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.03em;color:var(--muted);padding:5px 10px;border-radius:999px}
.langs button[aria-pressed="true"]{background:var(--blue);color:#fff}
.toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-family:var(--display);font-weight:700;font-size:12.5px;color:var(--ink);background:var(--panel);border:1px solid var(--panel-line);padding:7px 12px;border-radius:999px;box-shadow:var(--shadow-sm)}
.toggle .sw{width:28px;height:17px;border-radius:999px;background:#cfc7da;position:relative;transition:background .2s}
.toggle .sw i{position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 2px rgba(0,0,0,.3)}
body.calm .toggle .sw{background:var(--blue)}
body.calm .toggle .sw i{left:13px}

/* ---- Logo ---- */
.logo{display:block;height:clamp(74px,12vw,124px);width:auto;margin:12px auto 28px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.12))}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .logo{filter:brightness(1.5) saturate(1.15) drop-shadow(0 2px 8px rgba(0,0,0,.5))}}
:root[data-theme="dark"] .logo{filter:brightness(1.5) saturate(1.15) drop-shadow(0 2px 8px rgba(0,0,0,.5))}

/* ---- Galerie / carrousel ---- */
.gallery{display:flex;align-items:center;gap:12px;max-width:1080px;margin:0 auto;padding:0 14px}
.nav{flex:0 0 auto;width:46px;height:46px;border-radius:50%;border:1px solid var(--panel-line);background:var(--panel);color:var(--ink);cursor:pointer;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}
.nav:hover{border-color:var(--blue);color:var(--blue)}
.nav[disabled]{opacity:0;pointer-events:none}
.pagegrid{flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;min-width:0}
@media (max-width:860px){.pagegrid{grid-template-columns:repeat(2,1fr);gap:14px}}
@media (max-width:560px){.pagegrid{grid-template-columns:1fr;gap:18px}.nav{width:40px;height:40px}}

.epcard{display:flex;flex-direction:column;min-width:0}
.flip{position:relative;width:100%;aspect-ratio:1;perspective:1200px;cursor:pointer;background:none;border:0;padding:0}
.flip-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.flip.flipped .flip-inner{transform:rotateY(180deg)}
.face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:18px;overflow:hidden;background:var(--card);box-shadow:var(--shadow);padding:8px}
.face.back{transform:rotateY(180deg)}
.face img{width:100%;height:100%;object-fit:cover;display:block;border-radius:11px;background:#e9e4ef}
.face .cap{position:absolute;left:8px;right:8px;bottom:8px;border-radius:0 0 11px 11px;padding:12px 12px 11px;color:#fff;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.66));font-size:12.5px;font-weight:600}
.play{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.94);border:0;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.32);opacity:0;transition:opacity .18s, transform .18s}
.play::after{content:"";position:absolute;left:20px;top:16px;border-style:solid;border-width:10px 0 10px 16px;border-color:transparent transparent transparent var(--blue)}
.flip:hover .play,.flip:focus-within .play,.play:focus-visible{opacity:1}
.play.playing::after{border-width:0;left:17px;top:16px;width:5px;height:20px;background:var(--blue);box-shadow:9px 0 0 var(--blue)}
.fliphint{position:absolute;top:14px;right:14px;background:rgba(255,255,255,.94);color:var(--blue-ink);font-family:var(--display);font-weight:700;font-size:10px;letter-spacing:.03em;padding:4px 9px;border-radius:999px;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.face.back .fliphint{color:var(--pink)}

.eplabel{padding:14px 4px 0;text-align:left}
/* Nom de l'invite-e : meme police que « A propos » (--display), blanc, contour sombre pour la lisibilite sur le motif */
.eplabel .guest{display:block;font-family:var(--display);font-weight:700;font-size:21px;line-height:1.16;color:#ffffff;letter-spacing:-.01em;
  text-shadow:0 1px 2px rgba(0,0,0,.6), 0 0 3px rgba(0,0,0,.5), 1px 0 1px rgba(0,0,0,.35), -1px 0 1px rgba(0,0,0,.35)}
/* Titre de l'episode : meme police, bleu clair (comme la ligne « A propos ») */
.eplabel .t{display:block;font-family:var(--display);font-weight:700;font-size:17px;line-height:1.16;color:var(--blue-ink);text-wrap:balance;margin-top:6px;
  text-shadow:0 1px 2px rgba(0,0,0,.5), 0 0 2px rgba(0,0,0,.4)}
.eplabel .m{display:block;font-size:13px;color:var(--muted);margin-top:5px}
/* Halo de lisibilite pour la duree quand elle est posee sur le motif */
body:not(.calm) .eplabel .m{text-shadow:0 1px 3px rgba(255,255,255,.6)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) body:not(.calm) .eplabel .m{text-shadow:0 1px 4px rgba(0,0,0,.8)}}
:root[data-theme="dark"] body:not(.calm) .eplabel .m{text-shadow:0 1px 4px rgba(0,0,0,.8)}

/* Bande-annonce : anneau rose + badge, pas de retournement */
.epcard.trailer .face.front{box-shadow:0 0 0 3px #ffffff, var(--shadow)}
.face .badge{position:absolute;top:12px;left:12px;z-index:2;background:var(--pink);color:#fff;
  font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.02em;padding:5px 10px;border-radius:999px;
  box-shadow:0 2px 8px rgba(0,0,0,.32)}
.epcard.trailer .flip{cursor:default}

/* Episodes a venir : pochette floutee + voile + « Bientot » */
.epcard.soon .flip{cursor:default}
.epcard.soon .face.front img{filter:blur(8px) saturate(.85);transform:scale(1.1)}
.epcard.soon .soonveil{position:absolute;inset:0;border-radius:11px;background:rgba(20,16,32,.26)}
.eplabel .soon-label{color:#ffffff;letter-spacing:.01em}

.dots{display:flex;justify-content:center;gap:7px;margin:24px 0 6px;flex-wrap:wrap}
.dots button{width:9px;height:9px;border-radius:50%;border:0;background:rgba(120,110,140,.55);cursor:pointer;padding:0;transition:width .2s,background .2s}
.dots button[aria-current="true"]{background:var(--blue);width:24px;border-radius:5px}
body:not(.calm) .dots button{box-shadow:0 0 0 2px rgba(255,255,255,.4)}

/* ---- Sections info ---- */
.sections{max-width:600px;margin:30px auto 0;padding:0 16px;display:flex;flex-direction:column;gap:16px}
.panel{background:var(--panel);border:1px solid var(--panel-line);border-radius:22px;box-shadow:var(--shadow);padding:22px 22px 24px}
.sec-title{font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--pink);margin:0 0 14px}
.plats{display:flex;flex-wrap:wrap;gap:9px}
.plat{display:inline-flex;align-items:center;gap:7px;font-family:var(--display);font-weight:700;font-size:13px;color:var(--ink);text-decoration:none;background:var(--panel-2);border:1px solid var(--panel-line);border-radius:999px;padding:9px 14px}
.plat:hover{border-color:var(--blue);color:var(--blue)}
/* Newsletter */
.news-intro{margin:0 0 14px;font-size:14px;color:var(--muted)}
.news-embed{min-height:20px}
.news-embed input[type=email],.news-embed input[type=text],.news-mock input{border:1px solid var(--panel-line);background:var(--panel-2);color:var(--ink);border-radius:999px;padding:10px 14px;font-family:var(--body);font-size:14px;max-width:100%}
.news-embed input[type=submit],.news-embed button,.news-mock button{font-family:var(--display);font-weight:700;background:var(--blue);color:#fff;border:0;border-radius:999px;padding:10px 16px;cursor:pointer}
.news-mock{display:flex;gap:9px;flex-wrap:wrap}
.news-mock input{flex:1;min-width:160px}
.news-note{font-size:12px;color:var(--muted);margin:10px 0 0}
/* Habille le formulaire Infomaniak pour qu'il epouse le site */
.news [class^="inf-main_"]{background:transparent!important;padding:0!important;margin:0!important}
.news [class^="inf-main_"]>h4,.news [class^="inf-main_"]>span{display:none!important}
.news [class^="inf-main_"] .inf-content{margin-top:0!important}
.news [class^="inf-main_"] .inf-input{margin-bottom:0!important}
.news [class^="inf-main_"] .inf-input input{width:100%!important;height:auto!important;border:1px solid var(--panel-line)!important;background:var(--panel-2)!important;color:var(--ink)!important;border-radius:999px!important;padding:11px 15px!important;font-family:var(--body)!important;font-size:14px!important}
.news [class^="inf-main_"] .inf-rgpd{color:var(--muted)!important;font-size:11.5px!important;line-height:1.5!important;margin:12px 0 0 0!important}
.news [class^="inf-main_"] .inf-submit{text-align:left!important}
.news [class^="inf-main_"] .inf-submit input{background-color:var(--blue)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:11px 20px!important;margin-top:14px!important;font-family:var(--display)!important;font-weight:700!important;font-size:13.5px!important;cursor:pointer}

.about p{margin:0 0 12px;font-size:14.5px;color:var(--ink)}
.about .logline{font-family:var(--display);font-weight:700;font-size:17px;line-height:1.3;color:var(--blue-ink);text-wrap:balance;margin-bottom:14px}
.about p:last-child{margin-bottom:0}
.about a{color:var(--blue-ink);text-decoration:none;border-bottom:1px solid currentColor}
.credits{font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.8}
.foot{text-align:center;font-size:12px;color:var(--muted);padding:20px 0 6px}

/* ---- Lecteur collant en bas ---- */
.playerbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:none;background:var(--panel);border-top:1px solid var(--panel-line);box-shadow:0 -8px 30px rgba(40,30,60,.14)}
.playerbar.on{display:block}
.playerbar .inner{max-width:900px;margin:0 auto;display:flex;align-items:center;gap:14px;padding:12px 16px}
.pp{flex:0 0 auto;width:46px;height:46px;border-radius:50%;background:var(--blue);border:0;cursor:pointer;position:relative}
.pp[data-state="play"]::after{content:"";position:absolute;left:18px;top:13px;border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent #fff}
.pp[data-state="pause"]::before{content:"";position:absolute;left:16px;top:13px;width:4px;height:19px;background:#fff}
.pp[data-state="pause"]::after{content:"";position:absolute;left:25px;top:13px;width:4px;height:19px;background:#fff}
.pinfo{flex:0 0 auto;max-width:190px;min-width:0}
.pinfo b{display:block;font-family:var(--display);font-weight:700;font-size:13.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pinfo span{display:block;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pbar{flex:1;min-width:60px}
.pmeta{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;margin-bottom:5px}
.track{height:7px;border-radius:4px;background:var(--panel-2);position:relative;cursor:pointer;border:1px solid var(--panel-line)}
.track .fill{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--blue);border-radius:4px}
.track .knob{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--blue);transform:translate(-50%,-50%);left:0}
.cc{flex:0 0 auto;font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.04em;color:var(--muted);background:var(--panel-2);border:1px solid var(--panel-line);border-radius:8px;padding:8px 10px;cursor:pointer}
.cc[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
@media (max-width:560px){.pinfo{display:none}}

.transcript{position:fixed;left:0;right:0;bottom:70px;z-index:39;display:none;background:var(--panel);border-top:1px solid var(--panel-line)}
.transcript.on{display:block}
.transcript .inner{max-width:640px;margin:0 auto;max-height:34vh;overflow-y:auto;padding:14px 18px}
.transcript p{margin:0 0 9px;font-size:14px;color:var(--muted);cursor:pointer}
.transcript p.active{color:var(--ink);font-weight:600}
.transcript .empty{color:var(--muted);cursor:default}

:focus-visible{outline:3px solid var(--pink);outline-offset:3px;border-radius:6px}
@media (prefers-reduced-motion:reduce){.flip-inner,.toggle .sw,.toggle .sw i,.dots button,.play{transition:none}}
.live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
