/*
Theme Name: Wave Storia
Theme URI: https://www.wavestoria.com
Author: Audio Pictura
Description: Thème maison des plateformes de découverte de podcasts (Podcast photo, Podcast Riviera, Wave Storia…). Léger, sans extension, il lit les champs ACF écrits par l'application Wave Storia. Les couleurs se règlent dans Apparence › Personnaliser.
Version: 1.9.2
Requires at least: 6.4
Requires PHP: 8.0
License: Propriétaire
Text Domain: wave-storia
*/

/* Les couleurs (--bg, --bg2, --bg3, --line, --text, --muted, --faint, --accent, --button, --bg-rgb)
   sont injectées par le Customizer. Les valeurs ci-dessous sont celles de Podcast photo, en repli. */
:root{
  color-scheme:dark;
  --bg:#0B0B0C;--bg2:#141416;--bg3:#1C1C1F;--line:#28282C;
  --text:#F1EFEA;--muted:#A3A09A;--faint:#67645F;--accent:#FF5A36;--button:#F4F1EA;--bg-rgb:11,11,12;
  --gut:clamp(16px,4vw,56px);
  --cw:clamp(250px,23vw,330px);
  --sq:clamp(230px,19vw,300px);
  --display:"Archivo","Arial Narrow",system-ui,sans-serif;
  --serif:"Fraunces",Georgia,serif;
  --body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --hh:70px;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg)}
body{color:var(--text);font-family:var(--body);font-size:15px;line-height:1.5;overflow-x:hidden}
img{max-width:100%;display:block}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--button);outline-offset:3px;border-radius:4px}
.wrap{padding-inline:max(var(--gut),calc((100% - 1640px) / 2))}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}

/* ---------- en-tête ---------- */
header.top{position:sticky;top:0;z-index:40;transition:background .3s}
header.top.solid{background:rgba(var(--bg-rgb),.94);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line)}
.hbar{display:flex;align-items:center;gap:28px;padding-block:14px}
.brand b{font:800 21px/1 var(--display);font-stretch:112%;letter-spacing:-.01em;white-space:nowrap}
.brand b i,.foot b i{font-style:normal;color:var(--accent)}
.brand img{max-height:40px;width:auto}
nav.main{display:flex;gap:4px;align-items:center}
nav.main a{padding:8px 12px;border-radius:6px;font-weight:600;font-size:14.5px;color:var(--muted);white-space:nowrap}
nav.main a:hover{color:var(--text);background:rgba(255,255,255,.06)}
nav.main .current-menu-item>a,nav.main a.on{color:var(--text)}
nav.main li{list-style:none;display:contents}
.search{flex:1;max-width:520px;margin-left:auto;position:relative}
.search input{width:100%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:12px 18px 12px 44px;color:var(--text);font:500 15px var(--body)}
.search input::placeholder{color:var(--muted)}
.search input:focus{outline:none;border-color:var(--button);background:rgba(255,255,255,.12)}
.search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--muted)}

/* ---------- héros ---------- */
.hero{position:relative;overflow:hidden;margin-top:calc(-1 * var(--hh));padding-top:calc(var(--hh) + 40px);padding-bottom:34px;isolation:isolate;height:clamp(600px,80vh,780px);display:flex;flex-direction:column;justify-content:flex-end}
.hero-bgs{position:absolute;inset:0;z-index:-3;left:var(--hero-left)}
.hero{--hero-left:max(0px,calc((100% - 1640px) / 2 - 32px))}
@media (min-width:1720px){.hero-bgs{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 160px);mask-image:linear-gradient(90deg,transparent 0,#000 160px)}}
.hero-bg{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;overflow:hidden}
.hero-bg.in{opacity:1}
.hero-bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);animation:kb 14s ease-out forwards}
.hero-bg img.soft{filter:blur(40px) saturate(1.35) brightness(.55);transform:scale(1.3);animation:none}
.hero.page .h-title{margin-top:10px}
.hero.page .crumb{margin-bottom:6px}
.hero.page .h-desc{-webkit-line-clamp:4}
/* sur une tête de page le texte est au milieu, la poche sombre se décale avec lui */
.hero.page{height:clamp(520px,66vh,660px);--poche-x:34%}
.hero.page .hero-inner{margin-bottom:44px;grid-template-columns:auto minmax(0,62ch);justify-content:start;gap:clamp(32px,4vw,72px)}
.hero.page .h-side{order:-1;align-items:flex-start}
.hero.page .h-cover{width:clamp(260px,27vw,400px)}
.hero.page .h-meta{margin-bottom:18px}
.hero.page .h-slide{animation:none}
@keyframes kb{to{transform:scale(1.1)}}
/* Le voile du héros. Son intensité (--voile) est réglée par le script d'après la luminosité de la
   moitié gauche de la photo : une image claire demande un voile dense pour que le texte tienne, une
   image sombre n'en demande presque pas, sinon on ne voit plus rien. Chaque arrêt est une fraction
   de --voile, et ils sont nombreux et rapprochés : à trois paliers, la rampe laisse une cassure
   visible sur un aplat clair. La poche (le radial) se pose sous le bloc de texte et s'éteint avant
   le visuel, pour garder la photo lisible au lieu d'un aplat. */
@property --voile{syntax:"<number>";inherits:true;initial-value:0.72}
.hero{--voile:.72;transition:--voile .7s ease}
.hero::after{content:"";position:absolute;inset:0;z-index:-2;background:
  radial-gradient(125% 105% at var(--poche-x,0%) 100%,
    rgba(var(--bg-rgb),calc(var(--voile) * .62)) 0%,rgba(var(--bg-rgb),calc(var(--voile) * .54)) 20%,
    rgba(var(--bg-rgb),calc(var(--voile) * .43)) 34%,rgba(var(--bg-rgb),calc(var(--voile) * .3)) 47%,
    rgba(var(--bg-rgb),calc(var(--voile) * .18)) 60%,rgba(var(--bg-rgb),calc(var(--voile) * .1)) 72%,
    rgba(var(--bg-rgb),calc(var(--voile) * .03)) 84%,rgba(var(--bg-rgb),0) 94%),
  linear-gradient(90deg,
    rgba(var(--bg-rgb),var(--voile)) 0%,rgba(var(--bg-rgb),calc(var(--voile) * .93)) 13%,
    rgba(var(--bg-rgb),calc(var(--voile) * .81)) 25%,rgba(var(--bg-rgb),calc(var(--voile) * .67)) 36%,
    rgba(var(--bg-rgb),calc(var(--voile) * .51)) 47%,rgba(var(--bg-rgb),calc(var(--voile) * .37)) 58%,
    rgba(var(--bg-rgb),calc(var(--voile) * .24)) 69%,rgba(var(--bg-rgb),calc(var(--voile) * .16)) 79%,
    rgba(var(--bg-rgb),calc(var(--voile) * .11)) 88%,rgba(var(--bg-rgb),calc(var(--voile) * .2)) 100%),
  linear-gradient(0deg,var(--bg) 0%,rgba(var(--bg-rgb),.52) 14%,rgba(var(--bg-rgb),.3) 26%,rgba(var(--bg-rgb),.14) 37%,rgba(var(--bg-rgb),.05) 47%,rgba(var(--bg-rgb),0) 57%),
  linear-gradient(180deg,rgba(var(--bg-rgb),.5) 0%,rgba(var(--bg-rgb),.28) 9%,rgba(var(--bg-rgb),.12) 17%,rgba(var(--bg-rgb),0) 27%)}
.h-slide{display:none}
.h-slide.on{display:block;animation:slideIn .45s ease}
@keyframes slideIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.hero-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,5vw,80px);align-items:end;width:100%}
.eyebrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#D6D2CA}
.eyebrow .new{background:var(--accent);color:#fff;padding:5px 8px;border-radius:3px;letter-spacing:.06em}
.h-title{font:800 clamp(30px,4vw,56px)/1.02 var(--display);font-stretch:88%;letter-spacing:-.015em;text-wrap:balance;margin:14px 0 12px;max-width:20ch;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.h-guest{font:italic 400 clamp(17px,1.4vw,20px)/1.3 var(--serif);color:#E6E2DA;margin:0 0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.h-meta{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;color:#C9C5BD;font-size:14px}
.chip{display:inline-block;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:3px 10px;font-size:12.5px;color:var(--text)}
a.chip:hover{background:rgba(255,255,255,.1)}
.h-desc{max-width:62ch;color:#DAD6CE;margin:14px 0 24px;font-size:16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.h-ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.btn{display:inline-flex;align-items:center;gap:9px;border:0;border-radius:6px;padding:12px 20px;font-weight:700;font-size:15px;cursor:pointer}
.btn.play{background:var(--button);color:var(--bg)}
.btn.ghost{background:rgba(255,255,255,.16);color:var(--text);backdrop-filter:blur(6px)}
.btn:hover{filter:brightness(.92)}
.h-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.h-cover{width:clamp(195px,19.5vw,285px);aspect-ratio:1;border-radius:8px;box-shadow:0 24px 60px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.12)}
.h-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:30px}
.h-nav{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap}
.h-arrow{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(var(--bg-rgb),.35);display:grid;place-items:center;cursor:pointer;font-size:20px}
.h-arrow:hover{background:rgba(255,255,255,.16)}
.dots{display:flex;gap:6px}
.dots button{width:22px;height:4px;border-radius:2px;border:0;background:rgba(255,255,255,.28);cursor:pointer;padding:0;position:relative;overflow:hidden}
.dots button.on{width:40px}
.dots button.on i{position:absolute;inset:0;background:var(--button);transform-origin:left;animation:fill 9s linear forwards}
.dots.static button.on i{animation:none;transform:none}
@keyframes fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.h-count{font:500 12px var(--mono);color:#C9C5BD}
.h-credit{position:absolute;left:0;right:0;bottom:34px;font:500 11.5px/1.45 var(--mono);color:rgba(255,255,255,.72);text-align:right;margin:0;pointer-events:none}
.h-credit span{display:inline-block;max-width:25%;text-align:right}

/* ---------- rangées ---------- */
main{padding-block:8px 70px}
.row{margin-top:48px}
.row-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.row-head h2{font:750 clamp(20px,1.9vw,26px)/1.2 var(--display);font-stretch:95%;margin:0}
.row-head .more{font-size:13.5px;color:var(--muted);font-weight:600}
.row-head .more:hover{color:var(--text)}
.kick{font:500 11.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.track-wrap{position:relative;margin-inline:calc(-1 * max(var(--gut),calc((100vw - 1640px) / 2)))}
.track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-inline:max(var(--gut),calc((100vw - 1640px) / 2));scroll-padding-inline:max(var(--gut),calc((100vw - 1640px) / 2));padding-block:6px 10px;scrollbar-width:none}
.track::-webkit-scrollbar{display:none}
.track>*{scroll-snap-align:start;flex:none}
.tr-btn{position:absolute;top:0;bottom:10px;width:var(--gut);min-width:40px;border:0;background:linear-gradient(90deg,rgba(var(--bg-rgb),.92),rgba(var(--bg-rgb),0));cursor:pointer;opacity:0;transition:opacity .2s;z-index:3;font-size:26px;color:var(--text)}
.tr-btn.next{right:0;background:linear-gradient(270deg,rgba(var(--bg-rgb),.92),rgba(var(--bg-rgb),0))}
.tr-btn.prev{left:0}
@media (hover:hover){.track-wrap:hover .tr-btn{opacity:1}}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--cw),1fr));gap:18px 14px}
.grid.square{grid-template-columns:repeat(auto-fill,minmax(var(--sq),1fr))}
.grid .ep{width:auto}
.pager{display:flex;justify-content:center;margin-top:30px}
.pager .nav-links{display:flex;gap:6px;flex-wrap:wrap}
.pager a,.pager span{padding:8px 14px;border:1px solid var(--line);border-radius:8px;font-size:14px;color:var(--muted)}
.pager a:hover{color:var(--text);background:var(--bg3)}
.pager .current{background:var(--button);color:var(--bg);border-color:var(--button)}

/* ---------- carte d'épisode ---------- */
.ep{width:var(--cw);display:block;cursor:pointer}
/* vidéo en fond de la carte de tête d'une rangée : une seule par rangée, chargée quand elle entre à l'écran */
.ep .vbg{position:absolute;inset:0;overflow:hidden;container-type:size;opacity:0;transition:opacity 1s ease;pointer-events:none}
.ep .vbg.on{opacity:1}
.ep .vbg iframe{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;height:100%;width:max(100cqw,177.78cqh);height:max(100cqh,56.25cqw);border:0;filter:brightness(.78)}
.thumb{position:relative;aspect-ratio:16/10;border-radius:8px;overflow:hidden;background:var(--bg3);transition:transform .3s ease,box-shadow .3s}
.ep:hover .thumb{transform:scale(1.03);box-shadow:0 0 0 2px rgba(255,255,255,.6),0 18px 44px rgba(0,0,0,.55)}
.thumb>img.full{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.ep:hover .thumb>img.full{transform:scale(1.06)}
.thumb img.crop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(3px) saturate(1.35) brightness(.88)}
.t-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,6,7,.82),rgba(6,6,7,.08) 55%,rgba(6,6,7,.25))}
.t-title{position:absolute;left:12px;right:12px;top:11px;font:780 clamp(16px,1.3vw,19px)/1.12 var(--display);font-stretch:90%;text-wrap:balance;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 12px rgba(0,0,0,.6)}
.t-chip{position:absolute;left:10px;bottom:10px;width:24%;aspect-ratio:1;border-radius:4px;box-shadow:0 4px 14px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.15)}
.t-date{position:absolute;right:12px;bottom:10px;font:500 11.5px var(--mono);color:rgba(255,255,255,.78)}
.cap{padding:10px 2px 0}
.cap .src{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cap .src b{font-weight:600;color:#D6D2CA}
.cap .ttl{font-weight:600;font-size:14.5px;line-height:1.3;margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cap .meta{font:12px var(--mono);color:var(--faint);margin-top:4px}
.ep.r32{width:clamp(300px,25vw,400px)}
.ep.r32 .thumb{aspect-ratio:3/2}
.ep.r32 .t-chip{width:18%}
.ep.sq{width:var(--sq)}
.ep.sq .thumb{aspect-ratio:1}
.ep.sq .t-chip{width:20%}
.ep.full .thumb>img.full{transform:none}
.ep.full:hover .thumb>img.full{transform:scale(1.04)}

/* ---------- épisode à la une ---------- */
.iow{--iow-h:clamp(380px,40vw,560px);display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);background:var(--bg2);border:1px solid var(--line);border-radius:14px;overflow:hidden;min-height:var(--iow-h)}
.iow figure{margin:0;position:relative;overflow:hidden;height:100%;min-height:300px}
.iow figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.iow figure.flou img{filter:blur(30px) saturate(1.3) brightness(.6);transform:scale(1.3)}
.iow figure:hover img{transform:scale(1.04)}
.iow figure.flou:hover img{transform:scale(1.34)}
.iow figcaption{position:absolute;left:16px;bottom:14px;right:16px;font:500 11.5px var(--mono);color:rgba(255,255,255,.85);text-shadow:0 1px 8px rgba(0,0,0,.7)}
.iow .txt{padding:clamp(22px,3vw,40px);display:flex;flex-direction:column;gap:14px;justify-content:center}
.iow-title{margin:0;font:800 clamp(24px,2.4vw,36px)/1.05 var(--display);font-stretch:88%;text-wrap:balance}
.iow .who{display:flex;gap:12px;align-items:center}
.iow .who img{width:54px;height:54px;border-radius:6px}
.iow .who b{display:block;font-size:15px}
.iow .who span{font-size:13px;color:var(--muted)}
.iow p{margin:0;color:#CFCBC3}
/* ni vidéo ni visuel secondaire : le visuel de l'épisode, net, en carré, et le texte prend le reste */
.iow.carre{grid-template-columns:var(--iow-h) minmax(0,1fr)}
.iow.carre>a{display:block;height:var(--iow-h);align-self:center}
.iow.carre figure{height:100%;min-height:0}
.iow.carre figure img{filter:none}
/* la colonne de texte est large : on garde une mesure de lecture confortable plutôt qu'une ligne qui traverse l'écran */
.iow.carre .iow-title{max-width:24ch}
.iow.carre p{max-width:68ch}

/* ---------- tuiles ---------- */
.theme{width:clamp(220px,19vw,280px);aspect-ratio:4/3;border-radius:8px;overflow:hidden;position:relative;display:block;background:var(--bg3)}
.theme img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.55);transition:filter .5s,transform .7s}
.theme.flou img{filter:blur(14px) grayscale(1) brightness(.5);transform:scale(1.3)}
.theme:hover img{filter:grayscale(0) brightness(.62);transform:scale(1.05)}
.theme.flou:hover img{filter:blur(14px) brightness(.6);transform:scale(1.34)}
.theme span{position:absolute;left:14px;bottom:12px;right:14px;font:800 24px/1.05 var(--display);font-stretch:110%;text-wrap:balance}
.theme em{position:absolute;right:12px;top:10px;font:500 11px var(--mono);font-style:normal;color:rgba(255,255,255,.8)}
.pod{width:var(--sq);display:block;position:relative;border-radius:10px;overflow:hidden;background:var(--bg3)}
.pod img{display:block;width:100%;aspect-ratio:1;object-fit:cover;transition:transform .35s}
.pod:hover img{transform:scale(1.04)}
.pod-cap{position:absolute;inset:auto 0 0 0;padding:34px 14px 12px;background:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,0));color:#fff}
.pod-cap b{display:block;font:750 15px/1.2 var(--display);font-stretch:95%}
.pod-cap span{font:500 11px var(--mono);opacity:.8}

/* ---------- pied de page ---------- */
.foot{border-top:1px solid var(--line);padding-block:30px 90px;display:flex;gap:20px;align-items:baseline;flex-wrap:wrap;color:var(--muted);font-size:14px}
.foot b{font:800 18px var(--display);font-stretch:112%;color:var(--text)}
.foot-nav{display:flex;gap:14px;margin-left:auto}
.foot-nav li{list-style:none;display:contents}
.foot-nav a:hover{color:var(--text)}

/* ---------- aperçu au survol d'une carte ---------- */
.pv{position:absolute;z-index:45;border-radius:12px;overflow:hidden;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:18px;color:var(--text);
  box-shadow:0 30px 80px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.14);opacity:0;transform:scale(.92);transition:opacity .22s ease,transform .22s ease;pointer-events:none}
.pv.on{opacity:1;transform:none;pointer-events:auto}
.pv .pv-bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.pv .pv-bg.photo{filter:brightness(.62)}
.pv .pv-bg.pod{filter:blur(5px) brightness(.55);transform:scale(1.08)}
.pv .pv-bg.soft{filter:blur(16px) saturate(1.3) brightness(.5);transform:scale(1.6)}
.pv::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(6,6,7,.78) 0%,rgba(6,6,7,.25) 60%,rgba(6,6,7,.05) 100%),linear-gradient(180deg,rgba(6,6,7,.55) 0%,rgba(6,6,7,0) 40%)}
.pv .pv-chip{position:absolute;right:18px;top:18px;width:58px;height:58px;border-radius:5px;box-shadow:0 6px 18px rgba(0,0,0,.5)}
.pv b{font:800 clamp(19px,1.6vw,24px)/1.08 var(--display);font-stretch:88%;text-wrap:balance;max-width:calc(100% - 70px);margin-bottom:auto}
.pv:has(.pv-bg.pod) b{max-width:100%}
.pv .pv-meta{font:500 12px var(--mono);color:#D6D2CA}
.pv p{margin:0;font-size:13.5px;line-height:1.45;color:#E6E2DA;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.pv .pv-video{position:absolute;inset:0;z-index:-2;overflow:hidden;opacity:0;transition:opacity .6s ease}
.pv .pv-video.on{opacity:1}
.pv .pv-video iframe{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:0;filter:brightness(.66);pointer-events:none}
.pv .pv-all{position:absolute;inset:0;z-index:0}
.pv>b,.pv>.pv-meta,.pv>p,.pv>.pv-ctas{position:relative;z-index:1}
.pv>b,.pv>.pv-meta,.pv>p{pointer-events:none}
.pv .pv-ctas{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.pv .pv-ctas .btn{padding:9px 14px;font-size:13.5px;border-radius:6px}
.pv .pv-ctas .btn.ghost{background:rgba(255,255,255,.18);color:var(--text);backdrop-filter:blur(6px)}
@media (hover:none){.pv{display:none!important}}

/* ---------- page épisode (ordinateur) ---------- */
.epage{padding-bottom:40px}
.crumb{font-size:13px;color:#C9C5BD;margin-bottom:18px}
.crumb a:hover{color:var(--text)}
.ep-title{font:800 clamp(30px,4.2vw,58px)/1.02 var(--display);font-stretch:88%;letter-spacing:-.015em;margin:8px 0 10px;max-width:20ch;text-wrap:balance}
.ep-sub{font-size:17px;color:#DAD6CE;margin:0 0 16px;max-width:60ch}
.ep-info .h-ctas{margin-top:14px}
.ecoutes{display:flex;gap:8px;flex-wrap:wrap}
.ecoute{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:8px 14px 8px 11px;font-size:13px;font-weight:600;color:var(--text)}
.ecoute:hover{background:rgba(255,255,255,.1)}
.ep-body{display:grid;grid-template-columns:minmax(0,68ch) minmax(240px,320px);gap:clamp(30px,5vw,80px);padding-top:26px;justify-content:space-between}
/* épisode avec vidéo : elle passe sous le texte, et à partir de 1560 px elle occupe le vide entre le texte et la colonne */
.ep-body.has-video{grid-template-areas:"texte side" "video side";align-content:start;row-gap:0}
.ep-body.has-video .ep-text{grid-area:texte}
.ep-body.has-video .ep-video{grid-area:video;margin-top:38px}
.ep-body.has-video .ep-side{grid-area:side}
@media (min-width:1560px){
  .ep-body.has-video{grid-template-columns:minmax(0,68ch) minmax(380px,1fr) minmax(240px,320px);grid-template-areas:"texte video side";gap:44px}
  .ep-body.has-video .ep-video{margin-top:0;position:sticky;top:calc(var(--hh) + 24px)}
  .ep-hero .h-ctas a[href="#video"]{display:none}
}
.ep-video{align-self:start;min-width:0}
.ep-video h3{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:0 0 10px}
.ytf{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:var(--bg3);border:1px solid var(--line);cursor:pointer}
.ytf img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.8);transition:transform .5s,filter .3s}
.ytf:hover img,.ytf:focus-visible img{transform:scale(1.03);filter:brightness(.95)}
.ytf .yt-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:var(--button);color:var(--bg);display:grid;place-items:center;box-shadow:0 12px 34px rgba(0,0,0,.5);transition:transform .25s}
.ytf .yt-play svg{width:22px;height:22px;margin-left:3px}
.ytf:hover .yt-play{transform:translate(-50%,-50%) scale(1.07)}
.ytf.on{cursor:default}
.ytf.on .yt-play{display:none}
.ytf iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt-note{font:500 11px var(--mono);color:var(--faint);margin:9px 0 0}
.ep-text .lede{font-size:19px;line-height:1.55;margin:0 0 14px}
.ep-text{text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.ep-text p{color:#CFCBC3;margin:0 0 12px}
.ep-text h2{font:750 22px/1.2 var(--display);margin:34px 0 12px;padding-top:24px;border-top:1px solid var(--line)}
.ep-text h3{font:700 16.5px var(--body);margin:20px 0 6px}
.ep-text ul,.ep-text ol{margin:0 0 12px;padding-left:20px;color:#CFCBC3}
.ep-text li{margin:6px 0}
.ep-text a{color:var(--text);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.35)}
.ep-text a:hover{text-decoration-color:var(--text)}
.ep-text button.tc{font:500 12.5px var(--mono);background:rgba(255,255,255,.08);border:0;border-radius:5px;padding:2px 8px;cursor:pointer;color:var(--text);margin-right:6px}
.ep-text button.tc:hover{background:var(--button);color:var(--bg)}
.ep-side{display:flex;flex-direction:column;gap:14px}
.ep-side .box{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:18px}
.ep-side h3{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:0 0 10px}
.pod-link{display:block}
.pod-link img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;margin-bottom:12px}
.pod-link b{display:block;font-size:16px;line-height:1.25}
.pod-link span{font-size:13px;color:var(--muted)}
.ep-side .chips{display:flex;flex-wrap:wrap;gap:6px}
.plats{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.plats a{border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}
.plats a:hover{background:rgba(255,255,255,.1)}
.ep-sheet,.ep-retour,.pb-liens,.pbar .sp-tel{display:none}
.page-podcasts{padding-top:40px}
.page-podcasts .grid.square .pod{width:auto}

/* ---------- lecteur fixe ---------- */
.pbar{position:fixed;left:0;right:0;bottom:0;z-index:55;background:rgba(var(--bg-rgb),.97);backdrop-filter:blur(12px);border-top:2px solid var(--accent);padding:10px max(var(--gut),calc((100% - 1640px) / 2)) calc(10px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:18px;align-items:center;animation:pbIn .3s ease}
@keyframes pbIn{from{transform:translateY(100%)}to{transform:none}}
.pb-ep{display:flex;gap:12px;align-items:center;min-width:0}
.pb-ep img{width:48px;height:48px;border-radius:5px;flex:none;background:var(--bg3)}
.pb-ep div{min-width:0}
.pb-ep b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pb-ep span{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.pb-mid{display:flex;flex-direction:column;align-items:center;gap:6px;width:min(560px,46vw)}
.pb-ctl{display:flex;align-items:center;gap:14px}
.pb-ctl button{background:none;border:0;cursor:pointer;color:var(--muted);font:500 12px var(--mono);padding:4px}
.pb-ctl button:hover{color:var(--text)}
.pb-ctl .pl{width:40px;height:40px;border-radius:50%;background:var(--button);color:var(--bg);display:grid;place-items:center}
.pb-ctl .pl:hover{color:var(--bg);filter:brightness(.92)}
.pb-prog{display:flex;align-items:center;gap:10px;width:100%;font:12px var(--mono);color:var(--muted)}
.pb-bar{flex:1;height:5px;border-radius:3px;background:rgba(255,255,255,.14);position:relative;cursor:pointer}
.pb-bar i{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:3px;background:var(--accent)}
.pb-right{display:flex;justify-content:flex-end;align-items:center;gap:10px}
.pb-right button{background:rgba(255,255,255,.08);border:0;border-radius:6px;padding:6px 9px;cursor:pointer;font:500 12px var(--mono);color:var(--text)}
.pb-right .x{background:none;font-size:20px;color:var(--muted)}
body.hasplayer{padding-bottom:78px}
.btn.playing{background:var(--accent);color:#fff}

/* ---------- téléphone ---------- */
@media (max-width:1000px){
  .iow,.iow.carre{grid-template-columns:1fr}
  .iow figure{aspect-ratio:3/2;height:auto}
  .iow.carre>a{width:min(var(--iow-h),100%);height:auto;margin-inline:auto}
  .iow.carre figure{aspect-ratio:1;height:auto}
}
@media (max-width:860px){
  .hbar{flex-wrap:wrap;gap:10px 16px}
  nav.main{order:3;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1 * var(--gut));padding-inline:var(--gut);width:calc(100% + 2 * var(--gut))}
  .search{order:2;flex-basis:100%;max-width:none}
  .hero{height:auto;min-height:0;padding-top:calc(var(--hh) + 100px)}
  .hero-inner{grid-template-columns:1fr}
  /* la pochette de l'épisode passe au-dessus de « Nouvel épisode », en petit */
  .h-side{order:-1;align-items:flex-start;margin-bottom:6px}
  .h-cover{width:clamp(96px,27vw,130px)}
  .hero.page .h-cover{width:clamp(110px,32vw,150px)}
  .h-title{font-size:clamp(30px,8vw,44px)}
  .hero::after{background:linear-gradient(0deg,var(--bg) 0%,rgba(var(--bg-rgb),.85) 45%,rgba(var(--bg-rgb),.35) 75%,rgba(var(--bg-rgb),.45) 100%)}
  .h-foot{flex-direction:column;align-items:flex-start}
  .h-credit{position:static;text-align:left;margin-top:14px}
  .h-credit span{max-width:100%;text-align:left}
  .ep-body{grid-template-columns:1fr}
  .ep-body.has-video{grid-template-areas:"texte" "video" "side"}
  .ep-video h3{margin-bottom:8px}
  /* le lecteur fixe prend la même forme que celui de la fiche d'un épisode */
  .pbar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"ep fermer" "prog prog" "ctl ctl" "liens liens";gap:8px;padding:9px var(--gut) calc(9px + env(safe-area-inset-bottom,0px))}
  .pb-mid{display:contents}
  .pb-ep{grid-area:ep}
  /* mêmes valeurs que le lecteur de la fiche d'un épisode : les deux doivent avoir la même hauteur */
  .pb-ep{gap:10px}
  .pb-ep img{width:44px;height:44px;border-radius:6px}
  .pb-ep b{font-size:14px;line-height:1.25;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .pb-ep span{font-size:12px}
  .pbar .pb-prog{display:flex;grid-area:prog;font-size:11px}
  .pbar .pb-ctl{display:flex;grid-area:ctl;justify-content:center;gap:20px}
  .pbar .sk,.pbar .sp-tel{display:inline-flex}
  .pbar .sp-bureau{display:none}
  .pbar .pl{width:50px;height:50px}
  .pbar .pl svg{width:18px;height:18px}
  .pbar .sp{background:rgba(255,255,255,.08);border-radius:6px;padding:5px 8px;color:var(--text)}
  .pb-right{grid-area:fermer;align-self:start}
  .pb-liens{display:block;grid-area:liens}
  .pb-liens[hidden]{display:none}
  body.hasplayer{padding-bottom:206px}

  /* page épisode sur téléphone : affichage commun à toutes les plateformes.
     Trois zones fixes : les métadonnées en haut, le texte seul qui défile, le lecteur en bas sur un tiers de l'écran. */
  [data-view="single"] .epage{position:fixed;inset:0;z-index:50;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--bg);padding-bottom:0}
  [data-view="single"] .ep-hero{margin:0;padding:12px 0 12px;min-height:0;height:auto;display:block}
  [data-view="single"] .ep-hero .hero-bg img{opacity:.55}
  [data-view="single"] .ep-hero .hero-bg img:not(.soft){filter:blur(18px) brightness(.6);transform:scale(1.2);animation:none}
  [data-view="single"] .ep-hero::after{background:linear-gradient(0deg,var(--bg) 0%,rgba(var(--bg-rgb),.6) 100%)}
  [data-view="single"] .crumb{margin-bottom:8px;font-size:12px}
  [data-view="single"] .ep-hero .hero-inner{grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:start;margin-bottom:0;padding-right:38px}
  [data-view="single"] .ep-hero .h-side{display:flex}
  [data-view="single"] .ep-hero .h-cover{width:72px;box-shadow:none}
  [data-view="single"] .ep-hero .h-title{font-size:clamp(19px,5.4vw,24px);margin:4px 0 4px;max-width:none;-webkit-line-clamp:3}
  [data-view="single"] .h-guest{font-size:15px;margin:0 0 6px}
  [data-view="single"] .ep-sub,[data-view="single"] .ep-hero .h-meta{display:none}
  [data-view="single"] .eyebrow{font-size:10.5px}
  [data-view="single"] .ep-hero .h-ctas{margin-top:8px;gap:8px}
  [data-view="single"] .ep-hero .btn.play{display:none}
  [data-view="single"] .ecoute{padding:6px 10px 6px 8px;font-size:12px}
  /* les façons d'écouter sont reprises dans le lecteur du bas : inutile de les répéter en haut.
     Un épisode archivé n'a pas de lecteur, elles restent alors visibles. */
  .epage:has(.ep-sheet) .ep-hero .ecoutes,.epage:has(.ep-sheet) .ep-hero .h-ctas>a[href="#video"]{display:none}
  [data-view="single"] .ep-hero .h-credit{display:none}
  [data-view="single"] .ep-scroll{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:20px}
  [data-view="single"] .ep-body{padding-top:14px}
  [data-view="single"] .ep-text .lede{font-size:16.5px}
  /* colonne étroite : le texte justifié creuse de gros blancs entre les mots, on le laisse au fil de l'eau */
  .ep-text{text-align:left}
  [data-view="single"] .ep-sheet{display:flex;flex-direction:column;gap:8px;height:auto;padding:9px var(--gut) calc(9px + env(safe-area-inset-bottom,0px));background:var(--bg2);border-top:2px solid var(--accent)}
  .sh-top{display:flex;gap:10px;align-items:center;min-width:0}
  .sh-top>div{min-width:0;flex:1}
  .sh-top .x{flex:none;align-self:flex-start;background:none;border:0;font-size:22px;line-height:1;color:var(--muted);padding:0 2px;cursor:pointer}
  /* la croix de la fiche, en haut à droite : elle ramène à la page précédente */
  .ep-retour{position:absolute;top:10px;right:calc(var(--gut) - 4px);z-index:3;width:34px;height:34px;border:0;border-radius:50%;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);color:var(--text);font-size:23px;line-height:1;display:grid;place-items:center;cursor:pointer}
  .ep-retour:hover{background:var(--accent);color:#fff}
  .sh-top img{width:44px;height:44px;border-radius:6px;flex:none}
  .sh-top b{display:block;font-size:14px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .sh-top span{display:block;font-size:12px;color:var(--muted)}
  .ep-sheet .pb-prog{font-size:11px}
  .ep-sheet .pb-ctl{justify-content:center;gap:20px}
  .ep-sheet .pl.big{width:50px;height:50px}
  .ep-sheet .pl.big svg{width:18px;height:18px}
  .ep-sheet .sp{background:rgba(255,255,255,.08);border-radius:6px;padding:5px 8px;color:var(--text)}
  /* sous le bouton de lecture : Apple, Spotify, et la vidéo quand il y en a une */
  .sh-liens .ecoutes,.pb-liens .ecoutes{gap:7px;flex-wrap:nowrap}
  .sh-liens .ecoute,.pb-liens .ecoute{flex:1;min-width:0;justify-content:center;gap:6px;padding:8px 6px;font-size:12px}
  .sh-liens .ecoute svg,.pb-liens .ecoute svg{flex:none;width:15px;height:15px}
  .sh-liens .ecoute span,.pb-liens .ecoute span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  [data-view="single"] ~ .pbar,body.on-single .pbar{display:none}
  body.on-single header.top{display:none}
}
/* téléphone à écran court : le lecteur se resserre encore pour laisser le texte respirer */
@media (max-width:860px) and (max-height:720px){
  [data-view="single"] .ep-sheet,.pbar{gap:6px;padding-top:7px}
  .sh-top img,.pb-ep img{width:40px;height:40px}
  .ep-sheet .pl.big,.pbar .pl{width:44px;height:44px}
  .sh-liens .ecoute,.pb-liens .ecoute{padding:7px 5px}
  body.hasplayer{padding-bottom:190px}
}
@media (max-width:520px){:root{--cw:76vw;--sq:62vw}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- annuaire des invités ---------- */
/* Le contenu (sections par lettre, noms, épisodes) est compilé par l'application : ici, la mise en page. */
.page-annuaire{padding-top:34px;padding-bottom:80px}
.an-tete{padding-bottom:16px}
.page-annuaire .ep-title{max-width:28ch;margin:0}
.an-compte{font:500 11.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:12px 0 0}
.an-az{position:sticky;top:var(--hh);z-index:6;display:flex;flex-wrap:wrap;gap:3px;padding:12px 0;margin-bottom:34px;background:rgba(var(--bg-rgb),.94);backdrop-filter:blur(10px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.an-az a,.an-az span{font:700 13px/1 var(--mono);min-width:29px;padding:7px 5px;text-align:center;border-radius:6px}
.an-az a{color:var(--text);background:rgba(255,255,255,.07)}
.an-az a:hover{background:var(--accent);color:var(--bg)}
.an-az a.large{min-width:0;padding-inline:11px;letter-spacing:.04em}
.an-az span{color:rgba(255,255,255,.2)}
.annuaire-lettre{scroll-margin-top:calc(var(--hh) + 74px);margin:0 0 46px}
.annuaire-titre-lettre{font:800 clamp(32px,4.6vw,58px)/1 var(--display);font-stretch:88%;letter-spacing:-.01em;color:var(--accent);margin:0 0 18px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.annuaire-noms{list-style:none;margin:0;padding:0;columns:4;column-gap:clamp(24px,2.8vw,52px)}
.annuaire-nom{break-inside:avoid;-webkit-column-break-inside:avoid;margin:0 0 22px;padding:0}
.annuaire-personne{display:block;font:700 16px/1.25 var(--body);color:var(--text);margin-bottom:5px}
.annuaire-personne.seul{cursor:pointer}
.annuaire-personne.seul:hover{color:var(--accent)}
.annuaire-episodes{list-style:none;margin:0;padding:0}
.annuaire-episodes li{margin:0 0 7px}
.annuaire-episodes li:last-child{margin-bottom:0}
.annuaire-episodes a{display:block;font-size:13.5px;line-height:1.35;color:#CFCBC3;border-bottom:1px solid transparent}
.annuaire-episodes a:hover{color:var(--accent)}
.annuaire-podcast{display:block;font:500 10.5px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-top:1px}
.annuaire-episodes li:hover .annuaire-podcast{color:var(--muted)}
@media(max-width:1280px){.annuaire-noms{columns:3}}
@media(max-width:860px){
  .annuaire-noms{columns:2}
  .an-az{top:0;gap:2px}
  .an-az a,.an-az span{min-width:26px;font-size:12px;padding:6px 4px}
  .annuaire-lettre{scroll-margin-top:66px}
}
@media(max-width:560px){.annuaire-noms{columns:1}}

/* ---------- le bloc des thématiques, replié, en haut de l'accueil ---------- */
.them{margin-top:34px;scroll-margin-top:calc(var(--hh) + 18px)}
.them-btn{background:var(--accent);color:#fff}
.them-btn svg{transition:transform .25s}
.them-btn[aria-expanded="true"]{display:none}
.them-row{margin-top:0}
.them-row .row-head{align-items:center}
.them-x{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:999px;background:rgba(255,255,255,.1);color:var(--text);cursor:pointer;padding:0}
.them-x:hover{background:var(--accent);color:#fff}
@media(prefers-reduced-motion:no-preference){
  .them-row[data-ouverture]{animation:them-ouvre .28s ease-out}
}
@keyframes them-ouvre{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* la vidéo à la place du visuel dans le bloc « L'épisode à la une » */
.iow .ytf{height:100%;min-height:300px;aspect-ratio:auto;border:0;border-radius:0}
.iow .ytf.on{background:#000}
.iow .ytf.on iframe{position:absolute;inset:0;margin:auto;width:100%;height:auto;aspect-ratio:16/9;max-height:100%}
.yt-tag{position:absolute;left:16px;bottom:14px;font:600 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;background:rgba(0,0,0,.5);backdrop-filter:blur(5px);color:#fff;padding:5px 9px;border-radius:5px}
.ytf.on .yt-tag{display:none}
@media(max-width:900px){.iow .ytf{min-height:220px}}

/* ---------- épisodes venus d'une autre plateforme ---------- */
/* La carte mène à la vraie page, sur l'autre plateforme : l'étiquette le dit tout de suite. */
.t-plat{position:absolute;right:10px;bottom:10px;z-index:2;max-width:calc(100% - 20px);font:600 10.5px/1.1 var(--mono);letter-spacing:.06em;text-transform:uppercase;background:rgba(0,0,0,.55);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.2);color:#fff;padding:5px 8px;border-radius:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ep:hover .t-plat{background:var(--accent);border-color:transparent}
.pv-plat{align-self:flex-start;max-width:calc(100% - 70px);font:600 10.5px/1.1 var(--mono);letter-spacing:.06em;text-transform:uppercase;background:var(--accent);color:#fff;padding:5px 9px;border-radius:5px;margin-bottom:2px}

/* ---------- pages ordinaires : à propos, mentions légales… ---------- */
/* Une colonne de lecture centrée : en pleine largeur, une ligne de texte devient illisible. */
/* surtout pas la classe « wrap » ici : son centrage sur 1640 px ajoute d'énormes marges qui, sur un
   grand écran, viendraient s'ajouter à cette largeur et réduiraient le texte à rien. */
.page-doc{max-width:900px;margin-inline:auto;padding-inline:var(--gut);padding-top:34px;padding-bottom:90px}
.pg-tete h1{font:800 clamp(30px,3.6vw,46px)/1.05 var(--display);font-stretch:88%;letter-spacing:-.015em;margin:0;text-wrap:balance}
.pg-chapo{margin:16px 0 0;font-size:18px;line-height:1.55;color:#DAD6CE;max-width:60ch}
.page-doc .crumb{margin-bottom:14px}
/* sans image, un filet suffit à poser le titre */
.page-doc .pg-tete{padding-bottom:26px;border-bottom:1px solid var(--line)}
/* avec image, le titre se pose dessus, comme ailleurs sur le site */
.page-doc.avec-image .pg-tete{position:relative;isolation:isolate;min-height:clamp(260px,32vw,400px);display:flex;flex-direction:column;justify-content:flex-end;padding:30px;border:0;border-radius:14px;overflow:hidden}
.pg-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.page-doc.avec-image .pg-tete::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(var(--bg-rgb),.94) 0%,rgba(var(--bg-rgb),.72) 38%,rgba(var(--bg-rgb),.3) 70%,rgba(var(--bg-rgb),.45) 100%)}
.page-doc.avec-image .pg-chapo{max-width:52ch}

.pg-corps{margin-top:32px;font-size:17px;line-height:1.7;color:#D4D0C8}
.pg-corps>*:first-child{margin-top:0}
.pg-corps p{margin:0 0 18px}
.pg-corps h2{font:750 clamp(21px,2vw,26px)/1.2 var(--display);color:var(--text);margin:42px 0 14px;padding-top:26px;border-top:1px solid var(--line)}
.pg-corps h2:first-child{border-top:0;padding-top:0}
.pg-corps h3{font:700 17.5px var(--body);color:var(--text);margin:28px 0 8px}
.pg-corps ul,.pg-corps ol{margin:0 0 18px;padding-left:22px}
.pg-corps li{margin:8px 0}
.pg-corps li::marker{color:var(--accent)}
.pg-corps strong,.pg-corps b{color:var(--text)}
.pg-corps a{color:var(--text);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px;text-decoration-color:var(--accent)}
.pg-corps a:hover{color:var(--accent)}
.pg-corps blockquote{margin:26px 0;padding:4px 0 4px 20px;border-left:2px solid var(--accent);color:var(--text);font:400 19px/1.5 var(--serif)}
.pg-corps blockquote p:last-child{margin-bottom:0}
.pg-corps figure{margin:30px 0}
.pg-corps img{border-radius:10px;height:auto}
.pg-corps figcaption{margin-top:10px;font:500 11.5px/1.4 var(--mono);color:var(--muted)}
.pg-corps table{width:100%;border-collapse:collapse;margin:26px 0;font-size:15px}
.pg-corps th,.pg-corps td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.pg-corps th{font:600 11.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pg-corps hr{border:0;border-top:1px solid var(--line);margin:36px 0}
.pg-corps .wp-block-image,.pg-corps .wp-caption{margin:30px 0}
.pg-maj{margin:44px 0 0;padding-top:18px;border-top:1px solid var(--line);font:500 11.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
@media (max-width:860px){
  .page-doc{padding-top:22px;padding-bottom:60px}
  .page-doc.avec-image .pg-tete{padding:22px;min-height:230px}
  .pg-corps{font-size:16.5px;margin-top:26px}
}
