/* MODULE Stories « L'essentiel en story » (stories.js) : plein écran (bulles, bouton d'article) et lecture automatique (.ps-sva, ordinateur). */
.ps-sv,.ps-sva{--sv-terra:#bd563d;--sv-clair:#f0b48e;--sv-nuit:#2b1a15;--sv-d:var(--display,'Playfair Display',Georgia,serif);--sv-t:var(--text,'Inter',system-ui,sans-serif)}
.ps-sv{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;gap:22px;background:rgba(30,15,11,.94);animation:ps-sv-in .28s cubic-bezier(.16,1,.3,1)}
.ps-sv[hidden]{display:none}
.ps-sv.sort{animation:ps-sv-out .22s ease-in forwards}
@keyframes ps-sv-in{from{opacity:0}}
@keyframes ps-sv-out{to{opacity:0}}
.ps-sv .ps-sv-c{width:100vw;height:100vh;height:100dvh;animation:ps-sv-c .42s cubic-bezier(.16,1,.3,1)}
@keyframes ps-sv-c{from{transform:scale(.94) translateY(18px);opacity:0}}

/* la carte (commune aux deux modes) */
.ps-sv-c{position:relative;overflow:hidden;background:var(--sv-nuit);color:#fff;container-type:size;isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.ps-sv-ph{position:absolute;inset:0;z-index:-2;overflow:hidden;background:var(--sv-nuit)}
.ps-sv-ph picture{display:contents}
.ps-sv-ph img{width:100%;height:100%;object-fit:cover;display:block;opacity:.62}
.ps-sv-ph.kb img{animation:ps-kb 16s linear forwards}
.ps-sv-ph.o0 img{transform-origin:30% 40%}.ps-sv-ph.o1 img{transform-origin:75% 30%}.ps-sv-ph.o2 img{transform-origin:60% 75%}.ps-sv-ph.o3 img{transform-origin:20% 70%}
@keyframes ps-kb{from{transform:scale(1.04)}to{transform:scale(1.2)}}
.ps-sv-c::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(43,26,21,.72) 0%,rgba(43,26,21,.12) 26%,rgba(43,26,21,.35) 48%,rgba(43,26,21,.94) 82%)}
.ps-sv-bars{position:absolute;left:12px;right:12px;top:calc(12px + env(safe-area-inset-top,0px));z-index:3;display:flex;gap:4px}
.ps-sv-bars span{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.32);overflow:hidden}
.ps-sv-bars b{display:block;height:100%;background:#fff;transform-origin:0 50%;transform:scaleX(0)}
.ps-sv-top{position:absolute;left:16px;right:8px;top:calc(24px + env(safe-area-inset-top,0px));z-index:4;display:flex;align-items:center;gap:10px;font:600 .78rem/1 var(--sv-t)}
.ps-sv-rub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ps-sv-q{opacity:.72;font-weight:500;white-space:nowrap}
.ps-sv-top button{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:none;color:#fff;cursor:pointer;display:grid;place-items:center}
.ps-sv-pa{margin-left:auto}
.ps-sv-top svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ps-sv-pa .ps-i-pl{display:none;fill:currentColor;stroke:none}
.pause .ps-sv-pa .ps-i-pl{display:block}.pause .ps-sv-pa .ps-i-pa{display:none}
.ps-sv-top button:focus-visible,.ps-sv-ar:focus-visible{outline:2px solid #fff;outline-offset:-4px}
.ps-sv-cta:focus-visible{outline:2px solid #fff;outline-offset:3px}

/* textes : mots qui montent un à un, chiffres au marqueur */
.ps-sv-body{position:absolute;left:0;right:0;bottom:98px;z-index:2;padding:0 24px;pointer-events:none}
.ps-sv-body p{margin:0}
.ps-sv-body .w{display:inline-block}
.ps-sv-body.in .w{animation:ps-w .62s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i) * 42ms + 140ms)}
@keyframes ps-w{from{opacity:0;transform:translateY(.5em);filter:blur(6px)}}
.ps-sv-body mark{color:inherit;padding:0 .06em;margin:0 -.06em;background:linear-gradient(var(--sv-terra),var(--sv-terra)) no-repeat 0 92%/0 .42em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.ps-sv-body.in mark{animation:ps-m .7s cubic-bezier(.65,0,.35,1) forwards;animation-delay:calc(var(--i) * 42ms + 520ms)}
@keyframes ps-m{to{background-size:100% .42em}}
.ps-sv-k{display:inline-block;margin-bottom:14px;padding:8px 13px;border-radius:999px;background:var(--sv-terra);font:700 .7rem/1 var(--sv-t);letter-spacing:.02em}
.ps-sv-body.in .ps-sv-k{animation:ps-pop .5s cubic-bezier(.16,1,.3,1) both}
@keyframes ps-pop{from{opacity:0;transform:scale(.7)}}
.ps-sv-t{font:500 clamp(1.65rem,8cqw,2.3rem)/1.1 var(--sv-d);letter-spacing:-.015em;text-wrap:balance}
.ps-sv-c2{margin-top:14px!important;font:500 .9rem/1.4 var(--sv-t);opacity:.88}
.ps-sv-c2 i{font-style:normal;margin:0 7px;opacity:.6}
.ps-sv-body.in .ps-sv-c2,.ps-sv-body.in .ps-sv-qq{animation:ps-w .6s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i,0) * 42ms + 160ms)}
.ps-sv-num{display:flex;align-items:baseline;gap:4px;margin-bottom:10px!important;font-family:var(--sv-d)}
.ps-sv-num span{font:italic 500 clamp(3.2rem,17cqw,4.6rem)/.9 var(--sv-d);color:var(--sv-clair)}
.ps-sv-num small{font:600 .8rem/1 var(--sv-t);opacity:.7;letter-spacing:.04em}
.ps-sv-body.in .ps-sv-num span{animation:ps-num .7s cubic-bezier(.16,1,.3,1) both}
@keyframes ps-num{from{opacity:0;transform:translateX(-.3em) scale(.85)}}
.ps-sv-qq{margin-bottom:10px!important;font:700 .95rem/1.35 var(--sv-t);color:var(--sv-clair)}
.ps-sv-p{font:500 1.4rem/1.34 var(--sv-d);letter-spacing:-.005em}
.ps-sv-pt.l2 .ps-sv-p{font-size:1.24rem}
.ps-sv-pt.l3 .ps-sv-p{font-size:1.1rem;line-height:1.4}
.ps-sv-aide{display:none}
.ps-sv.aide .ps-sv-aide{display:block;position:absolute;left:50%;top:46%;z-index:3;margin:0;padding:10px 16px;border-radius:999px;background:rgba(0,0,0,.5);font:500 .78rem/1.3 var(--sv-t);white-space:nowrap;transform:translateX(-50%);pointer-events:none;animation:ps-aide 3.6s ease forwards}
@keyframes ps-aide{0%,8%{opacity:0}15%,80%{opacity:1}100%{opacity:0}}

.ps-sv-prev,.ps-sv-next{position:absolute;top:76px;bottom:88px;z-index:1;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ps-sv-prev{left:0;width:38%}.ps-sv-next{right:0;width:62%}
.ps-sv-cta{position:absolute;left:16px;right:16px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:3;display:flex;align-items:center;gap:10px;min-height:54px;padding:0 22px;border-radius:999px;background:#fff;color:var(--sv-nuit)!important;font:700 .9rem/1 var(--sv-t);text-decoration:none!important;transition:transform .25s cubic-bezier(.16,1,.3,1)}
.ps-sv-cta:hover{transform:translateY(-2px)}
.ps-sv-cta svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.ps-sv-cta small{margin-left:auto;font-weight:500;color:#6b5a54}
.pause .ps-sv-ph img,.fige .ps-sv-ph img{animation-play-state:paused}

/* flèches à côté de la carte (ordinateur) */
.ps-sv-ar{display:none;flex:none;width:52px;height:52px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;place-items:center;transition:background .2s}
.ps-sv-ar:hover{background:rgba(255,255,255,.22)}
.ps-sv-ar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ps-sv-ar-n svg{transform:scaleX(-1)}
@media (min-width:900px){
 .ps-sv .ps-sv-c{width:440px;border-radius:24px;height:min(92vh,820px);height:min(92dvh,820px)}
 .ps-sv-ar{display:grid}
}

/* lecture automatique intégrée à la page (ordinateur seulement ; sur téléphone, les bulles ouvrent le plein écran) */
.ps-sva{display:none}
@media (min-width:900px){
 .ps-sva{display:block;width:100%;aspect-ratio:16/10.4;border-radius:24px;box-shadow:0 30px 60px -32px rgba(0,0,0,.7)}
 .ps-sva::after{background:linear-gradient(90deg,rgba(43,26,21,.88) 0%,rgba(43,26,21,.55) 52%,rgba(43,26,21,.1) 100%),linear-gradient(180deg,rgba(43,26,21,.6) 0%,transparent 24%)}
 .ps-sva .ps-sv-body{right:22%;bottom:84px;padding:0 28px}
 .ps-sva .ps-sv-t{font-size:clamp(1.6rem,4.6cqw,2.3rem)}
 .ps-sva .ps-sv-num span{font-size:clamp(2.6rem,8cqw,3.8rem)}
 .ps-sva .ps-sv-p{font-size:clamp(1.15rem,2.9cqw,1.45rem)}
 .ps-sva .ps-sv-pt.l2 .ps-sv-p{font-size:clamp(1.05rem,2.6cqw,1.28rem)}
 .ps-sva .ps-sv-pt.l3 .ps-sv-p{font-size:clamp(.98rem,2.3cqw,1.12rem)}
 .ps-sva .ps-sv-top button{background:rgba(255,255,255,.12);width:40px;height:40px}
 .ps-sva .ps-sv-top button:hover{background:rgba(255,255,255,.24)}
 .ps-sva .ps-sv-top svg{width:18px;height:18px}
 .ps-sva .ps-sv-cta{left:28px;right:auto;bottom:24px;min-height:48px;padding:0 20px;font-size:.85rem}
 .ps-sva .ps-sv-cta small{margin-left:14px}
 .ps-sva .ps-sv-prev,.ps-sva .ps-sv-next{bottom:84px}
}
@media (prefers-reduced-motion:reduce){
 .ps-sv,.ps-sv.sort,.ps-sv .ps-sv-c,.ps-sv-ph.kb img,.ps-sv-body.in *,.ps-sv.aide .ps-sv-aide{animation:none!important}
 .ps-sv-body mark{background-size:100% .42em}
 .ps-sv-cta{transition:none}
}

/* liste HTML des stories (ps_stories_html) : lue par les robots et les IA, et telle quelle sans JavaScript ; avec JavaScript, équivalent texte pour les lecteurs d'écran */
.ps-sv-liste{margin:20px 0 0;color:inherit}
.ps-sv-liste h2{margin:0 0 10px;font:600 .8rem/1.3 var(--sv-t,system-ui)}
.ps-sv-liste ol{margin:0;padding:0 0 0 1.2em;display:grid;gap:14px}
.ps-sv-liste h3{margin:0;font:500 1.05rem/1.3 var(--display,Georgia,serif)}
.ps-sv-liste a{color:inherit}
.ps-sv-liste p,.ps-sv-liste ul{margin:4px 0 0;font:400 .85rem/1.5 var(--text,system-ui)}
.ps-stories-js .ps-sv-liste{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
