/* Alliance - Prédications : interface publique */
.ap{font-family:var(--ap-font-text,system-ui);font-size:var(--ap-size,16px);color:var(--ap-text,#2d3b52);line-height:1.5;box-sizing:border-box}
.ap *,.ap *::before,.ap *::after{box-sizing:border-box}
.ap button{font-family:inherit;font-size:inherit;cursor:pointer}
.ap img{max-width:100%}
.ap-app{background:var(--ap-bg,#f5f8fd);border-radius:var(--ap-radius,16px);padding:0 0 28px;overflow:hidden;position:relative}
.ap-inner{padding:0 clamp(12px,3vw,28px)}
/* bandeau */
.ap-hero{background:var(--ap-grad,var(--ap-primary));color:#fff;padding:clamp(22px,5vw,44px) clamp(14px,3vw,28px) clamp(18px,3vw,28px);position:relative}
.ap-hero-t{font-family:var(--ap-font-title);font-weight:var(--ap-title-weight,700);font-size:clamp(1.5em,4.4vw,2.3em);line-height:1.15}
.ap-hero-s{opacity:.9;margin-top:6px;font-size:1.05em}
.ap-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;align-items:center}
.ap-search{flex:1 1 220px;min-width:0;border:0;border-radius:var(--ap-radius-btn,999px);padding:11px 16px;font-size:1em;background:rgba(255,255,255,.95);color:#14213a}
.ap-tool{border:0;border-radius:var(--ap-radius-btn,999px);padding:10px 14px;background:rgba(255,255,255,.18);color:#fff;font-weight:600;white-space:nowrap}
.ap-tool:hover{background:rgba(255,255,255,.32)}
.ap-tool.on{background:#fff;color:var(--ap-primary)}
/* boutons */
.ap-btn{border:0;border-radius:var(--ap-radius-btn,999px);padding:10px 18px;background:var(--ap-btn-bg);color:var(--ap-btn-text);font-weight:700;display:inline-flex;align-items:center;gap:6px;transition:background .15s,transform .15s}
.ap-btn:hover{background:var(--ap-btn-hover)}
.ap-btn-2{background:transparent;color:var(--ap-primary);box-shadow:inset 0 0 0 2px var(--ap-primary)}
.ap-btn-2:hover{background:var(--ap-primary);color:var(--ap-btn-text)}
.ap-btn-play{background:var(--ap-grad,var(--ap-play-bg));color:#fff}
/* filtres */
.ap-filters{margin:18px 0 6px}
.ap-filters-toggle{display:none}
.ap-fgroup{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0;align-items:center}
.ap-fgroup-l{font-weight:700;font-size:.85em;color:var(--ap-muted);min-width:78px}
.ap-pill{border:var(--ap-border-w,1px) solid var(--ap-border);background:var(--ap-pill-bg);color:var(--ap-pill-text);border-radius:var(--ap-radius-btn,999px);padding:5px 13px;font-size:.92em;font-weight:600}
.ap-pill:hover{border-color:var(--ap-primary)}
.ap-pill.on{background:var(--ap-pill-on-bg);color:var(--ap-pill-on-text);border-color:var(--ap-pill-on-bg)}
.ap-clear{background:none;border:0;color:var(--ap-primary);text-decoration:underline;font-weight:600}
/* sections */
.ap-sec{margin:26px 0 0}
.ap-sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 10px}
.ap-sec-t{font-family:var(--ap-font-title);font-weight:var(--ap-title-weight,700);font-size:1.4em;color:var(--ap-title)!important;margin:0}
.ap-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 2px 14px;margin:0 -2px;-webkit-overflow-scrolling:touch}
.ap-rail .ap-card{flex:0 0 min(calc(var(--ap-cw,235px) + 35px),84vw);scroll-snap-align:start}
.ap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(var(--ap-cw,235px),100%),1fr));gap:16px}
.ap-list{display:flex;flex-direction:column;gap:10px}
.ap-list .ap-card{flex-direction:row;align-items:stretch}
.ap-list .ap-cover{width:130px;height:auto;min-height:96px;flex:0 0 130px}
.ap-list .ap-card-q{display:none}
/* cartes */
.ap-card{background:var(--ap-card);border:var(--ap-border-w,1px) solid var(--ap-border);border-radius:var(--ap-radius,16px);box-shadow:var(--ap-shadow);overflow:hidden;display:flex;flex-direction:column;position:relative;cursor:pointer}
.ap[data-anim="1"] .ap-card{animation:ap-in .5s both;transition:transform .2s,box-shadow .2s}
.ap[data-anim="1"] .ap-card:hover{transform:translateY(-4px)}
@keyframes ap-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ap-cover{height:150px;background-size:cover;background-position:center;position:relative;display:flex;align-items:flex-end;justify-content:flex-start}
.ap-cover.noimg{background:var(--ap-grad,var(--ap-primary));align-items:center;justify-content:center;font-size:2.4em;color:rgba(255,255,255,.85)}
.ap-badges{position:absolute;left:8px;top:8px;display:flex;gap:4px;flex-wrap:wrap}
.ap-badge{background:rgba(0,0,0,.55);color:#fff;font-size:.72em;border-radius:99px;padding:2px 8px;font-weight:600}
.ap-cplay{position:absolute;right:10px;bottom:-18px;width:44px;height:44px;border-radius:50%;border:0;background:var(--ap-grad,var(--ap-play-bg));color:#fff;font-size:1.1em;box-shadow:0 4px 12px rgba(0,0,0,.3);z-index:2}
.ap-card-b{padding:14px 14px 14px;flex:1}
.ap-card-t{font-family:var(--ap-font-title);font-weight:var(--ap-title-weight,700);color:var(--ap-title);font-size:1.08em;line-height:1.25}
.ap-card-m{color:var(--ap-muted);font-size:.85em;margin-top:4px}
.ap-card-q{font-style:italic;font-size:.9em;margin-top:8px;color:var(--ap-text)}
.ap-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.ap-fav{position:absolute;left:auto;right:14px;bottom:34px;border:0;background:rgba(255,255,255,.9);border-radius:50%;width:32px;height:32px;font-size:16px;color:#c0392b;display:flex;align-items:center;justify-content:center;z-index:3}
.ap-card .ap-cover .ap-fav,.ap-cover>.ap-fav{background:rgba(255,255,255,.92)!important;color:#c0392b!important;border-radius:50%!important;width:32px!important;height:32px!important;min-width:0!important;padding:0!important;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.ap-prog-bar{height:4px;background:rgba(0,0,0,.15);position:absolute;left:0;right:0;bottom:0}
.ap-prog-bar i{display:block;height:100%;background:var(--ap-accent)}
/* à la une */
.ap-feat{display:flex;gap:0;background:var(--ap-card);border:var(--ap-border-w,1px) solid var(--ap-border);border-radius:var(--ap-radius,16px);box-shadow:var(--ap-shadow);overflow:hidden;margin-top:20px}
.ap-feat .ap-cover{flex:0 0 min(46%,420px);height:auto;min-height:230px}
.ap-feat-b{padding:clamp(16px,3vw,28px);display:flex;flex-direction:column;justify-content:center;gap:8px}
.ap-feat-k{color:var(--ap-accent);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.78em}
.ap-feat-t{font-family:var(--ap-font-title);font-weight:var(--ap-title-weight,700);color:var(--ap-title);font-size:clamp(1.3em,3.4vw,1.9em);line-height:1.2}
/* reprise */
.ap-resume{display:flex;align-items:center;gap:12px;background:var(--ap-card);border:var(--ap-border-w,1px) solid var(--ap-border);border-left:5px solid var(--ap-accent);border-radius:var(--ap-radius,16px);padding:10px 14px;margin-top:18px;cursor:pointer;box-shadow:var(--ap-shadow)}
.ap-resume b{color:var(--ap-title)}
/* fenêtre aperçu */
.ap-modal{position:fixed;inset:0;background:rgba(5,10,20,.6);z-index:99990;display:flex;align-items:center;justify-content:center;padding:14px}
.ap-modal-box{background:var(--ap-card);color:var(--ap-text);border-radius:var(--ap-radius,16px);max-width:560px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.ap-modal-box .ap-cover{height:200px}
.ap-modal-b{padding:18px}
.ap-x{position:absolute;right:10px;top:10px;border:0;background:rgba(0,0,0,.5);color:#fff;border-radius:50%;width:36px;height:36px;font-size:18px;z-index:3}
/* mini lecteur */
.ap-mini{position:fixed;left:0;right:0;bottom:0;z-index:99980;background:var(--ap-player-bg);color:#fff;display:flex;align-items:center;gap:12px;padding:8px 14px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -6px 24px rgba(0,0,0,.3);cursor:pointer}
.ap-mini-i{width:46px;height:46px;border-radius:8px;background-size:cover;background-position:center;background-color:var(--ap-primary);flex:0 0 46px}
.ap-mini-t{flex:1;min-width:0}
.ap-mini-t b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ap-mini-t span{font-size:.8em;opacity:.8}
.ap-mini .ap-round{background:var(--ap-play-bg);color:var(--ap-play-text)}
.ap-mini-bar{position:absolute;left:0;top:0;height:3px;background:var(--ap-accent);width:0}
/* lecteur plein écran */
.ap-player{position:fixed;inset:0;z-index:99995;background:var(--ap-player-bg);color:#f3f6fc;display:flex;flex-direction:column;overflow:hidden}
.ap-pl-bg{position:absolute;inset:-30px;background-size:cover;background-position:center;filter:blur(38px) saturate(1.3);opacity:.45;transform:scale(1.1)}
.ap-pl-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),var(--ap-player-bg) 92%)}
.ap-pl{position:relative;z-index:1;display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:12px clamp(14px,4vw,32px) 28px;-webkit-overflow-scrolling:touch}
.ap-pl-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ap-pl-top .ap-round{background:rgba(255,255,255,.14);color:#fff}
.ap-pl-main{max-width:760px;width:100%;margin:6px auto 0}
.ap-pl-cover{width:min(62vw,300px);aspect-ratio:1/1;margin:8px auto 14px;border-radius:calc(var(--ap-radius,16px) + 4px);background-size:cover;background-position:center;background-color:var(--ap-primary);box-shadow:0 18px 50px rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;font-size:4em;position:relative;overflow:hidden}
.ap-pl-cover canvas{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}.ap-pl-cover{transition:transform .08s linear}
.ap-pl-t{font-family:var(--ap-font-title);font-weight:var(--ap-title-weight,700);font-size:clamp(1.3em,4vw,1.8em);text-align:center;line-height:1.2}
.ap-pl-m{text-align:center;opacity:.8;font-size:.92em;margin-top:4px}
.ap-note{text-align:center;font-size:.85em;background:rgba(255,255,255,.12);border-radius:10px;padding:6px 10px;margin:10px 0}
.ap-cap{min-height:4.4em;display:flex;align-items:center;justify-content:center;text-align:center;font-size:1.22em;font-weight:600;line-height:1.4;margin:12px 0;padding:6px 8px;color:var(--ap-sub-text)}
.ap-cap.hide{display:none}
.ap-prog{display:flex;align-items:center;gap:10px;margin:8px 0}
.ap-prog span{font-size:.8em;opacity:.85;min-width:42px;text-align:center}
.ap-pl input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:99px;background:rgba(255,255,255,.28);outline:none;margin:0}
.ap-pl input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--ap-accent);border:0}
.ap-pl input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--ap-accent);border:0}
.ap-ctls{display:flex;align-items:center;justify-content:center;gap:clamp(8px,3vw,20px);margin:8px 0}
.ap-round{width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;font-size:1.05em;display:inline-flex;align-items:center;justify-content:center;font-weight:700}
.ap-round:hover{background:rgba(255,255,255,.26)}
.ap-round.big{width:68px;height:68px;font-size:1.6em;background:var(--ap-grad,var(--ap-play-bg));color:#fff;box-shadow:0 6px 20px rgba(0,0,0,.4)}
.ap-quick{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:12px 0}
.ap-chip{border:0;border-radius:var(--ap-radius-btn,999px);padding:8px 14px;background:rgba(255,255,255,.14);color:#fff;font-weight:600;font-size:.9em}
.ap-chip.on{background:var(--ap-accent);color:var(--ap-play-text)}
.ap-chip:hover{background:rgba(255,255,255,.26)}
.ap-chip.on:hover{background:var(--ap-accent)}
.ap-panel{background:rgba(255,255,255,.09);border-radius:var(--ap-radius,16px);padding:14px;margin:10px 0}
.ap-panel h3{margin:0 0 10px;font-size:1.02em;color:#fff;font-family:var(--ap-font-title)}
.ap-panel h4{margin:14px 0 6px;font-size:.9em;opacity:.85;text-transform:uppercase;letter-spacing:.05em}
.ap-set-row{display:grid;grid-template-columns:minmax(96px,128px) 1fr minmax(64px,84px);gap:10px;align-items:center;margin:9px 0;font-size:.92em}
.ap-set-row input[type=text]{width:100%;border:0;border-radius:8px;padding:6px 8px;background:rgba(255,255,255,.92);color:#14213a;font-size:1em;text-align:center}
.ap-set-row.off{opacity:.45;pointer-events:none}
.ap-presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.ap-help{font-size:.82em;opacity:.8;margin-top:4px}
.ap-sel{width:100%;border:0;border-radius:8px;padding:8px;background:rgba(255,255,255,.92);color:#14213a;font-size:1em}
.ap-drop{border:2px dashed rgba(255,255,255,.4);border-radius:12px;padding:14px;text-align:center;margin:8px 0;cursor:pointer}
.ap-drop.over{background:rgba(255,255,255,.18);border-color:var(--ap-accent)}
.ap-url{display:flex;gap:6px;margin:8px 0}
.ap-url input{flex:1;min-width:0;border:0;border-radius:8px;padding:8px;font-size:1em;background:rgba(255,255,255,.92);color:#14213a}
.ap-amb{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.ap-yt{margin:8px 0;border-radius:10px;overflow:hidden;aspect-ratio:16/9;max-width:340px;background:#000}
.ap-yt iframe{width:100%;height:100%;border:0}
.ap-bg-now{font-size:.9em;background:rgba(0,0,0,.25);border-radius:8px;padding:6px 10px;margin:6px 0;display:flex;justify-content:space-between;gap:8px;align-items:center}
/* texte complet */
.ap-tx{font-size:calc(var(--ap-size) * var(--ap-tx-scale,1.05));line-height:1.7;max-height:48vh;overflow-y:auto;padding-right:6px;color:var(--ap-sub-text)}
.ap-tx.is-hidden{position:absolute;left:0;top:0;width:600px;max-width:100%;height:1px;overflow:hidden;opacity:.01;pointer-events:none;z-index:-1}
.ap-tx p{margin:0 0 .9em;border-radius:8px;padding:2px 6px;cursor:pointer}
.ap-tx p.h{font-family:var(--ap-font-title);font-weight:var(--ap-title-weight,700);font-size:1.12em}
.ap-tx p.on{background:var(--ap-sub-active-bg);color:var(--ap-sub-active-text)}
.ap-tx .ap-sn.on{background:var(--ap-sub-active-bg);color:var(--ap-sub-active-text);border-radius:4px}
.ap-sz{display:flex;gap:6px;align-items:center;margin-bottom:8px}
.ap-toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:#14213a;color:#fff;border-radius:99px;padding:10px 18px;z-index:99999;font-size:.92em;box-shadow:0 6px 20px rgba(0,0,0,.4);max-width:90vw;text-align:center}
.ap-empty{text-align:center;padding:40px 10px;color:var(--ap-muted)}
.ap-sr{position:absolute;left:-9999px}
/* aperçu back office */
.ap-prev{padding:16px;border-radius:12px;background:var(--ap-bg);border:1px solid #ccd}
.ap-prev .ap-hero{border-radius:10px;padding:18px}
.ap-prev .ap-pills{display:flex;gap:6px;margin:12px 0}
.ap-prev .ap-btn{padding:8px 14px}
.ap-subs-prev{background:var(--ap-player-bg);color:var(--ap-sub-text);border-radius:10px;padding:12px;margin-top:12px;font-weight:600}
.ap-s-on{background:var(--ap-sub-active-bg);color:var(--ap-sub-active-text);border-radius:4px;padding:0 3px}
@media (max-width:640px){
 .ap-feat{flex-direction:column}.ap-feat .ap-cover{flex:none;min-height:190px}
 .ap-filters-toggle{display:inline-block}
 .ap-filters .ap-fbody{display:none}.ap-filters.open .ap-fbody{display:block}
 .ap-set-row{grid-template-columns:90px 1fr 64px}
}
@media (prefers-reduced-motion:reduce){.ap[data-anim="1"] .ap-card{animation:none}}

.ap [hidden],.ap-overlay [hidden]{display:none!important}
.ap-pl-t{color:#fff!important}.ap-panel h3{color:#fff!important;font-size:1.05em}
.ap-cover.noimg{font-size:1em!important}.ap-note-i{font-size:2.4em;color:rgba(255,255,255,.85)}.ap-badge{font-size:.72em!important;line-height:1.5}.ap-cplay,.ap-fav,.ap-mini .ap-round{font-size:18px!important;line-height:1}
.ap-vid{margin:12px 0;border-radius:var(--ap-radius,16px);overflow:hidden;background:#000;aspect-ratio:16/9;width:100%}.ap-vid iframe,.ap-vid video{width:100%;height:100%;border:0;display:block}

.ap-cap-t{display:block;text-align:center}
.ap-cap[data-hl=surligne] .w.now,.ap-cap[data-hl=surligne].all .w,.ap-cap[data-hl=both] .w.now,.ap-cap[data-hl=both].all .w{background:var(--ap-sub-active-bg);color:var(--ap-sub-active-text);border-radius:5px;padding:0 3px;margin:0 -3px}
.ap-cap[data-hl=gras] .w.now,.ap-cap[data-hl=gras].all .w,.ap-cap[data-hl=both] .w.now,.ap-cap[data-hl=both].all .w{font-weight:900}
.ap-cap[data-hl=gras] .w.now,.ap-cap[data-hl=gras].all .w{color:var(--ap-accent)}
.ap-tx[data-hl=none] .ap-sn.on,.ap-tx[data-hl=none] p.on{background:none;color:inherit}
.ap-tx[data-hl=gras] .ap-sn.on,.ap-tx[data-hl=gras] p.on{background:none;color:inherit;font-weight:800}
.ap-tx[data-hl=both] .ap-sn.on,.ap-tx[data-hl=both] p.on{font-weight:800}
.ap-cur,.ap-tot{white-space:nowrap;min-width:3.4em;text-align:center;font-size:.85em}

/* Liste déroulante des langues (drapeau · français · langue d'origine) */
.ap-dd{position:relative;margin:4px 0 8px}
.ap-dd-b,.ap-dd-o{display:flex;align-items:center;gap:10px;width:100%;text-align:left;font:inherit;color:inherit;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:9px 12px;cursor:pointer}
.ap-dd-car{margin-left:auto;opacity:.7}
.ap-dd-p{margin-top:6px;background:#1c2033;border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:8px;box-shadow:0 12px 30px rgba(0,0,0,.45)}
.ap-dd-s{width:100%;box-sizing:border-box;margin-bottom:6px;padding:9px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;font:inherit}
.ap-dd-l{max-height:320px;overflow:auto}
.ap-dd-o{background:transparent;border:0;border-radius:8px;padding:8px 10px;color:#fff}
.ap-dd-o:hover,.ap-dd-o:focus{background:rgba(255,255,255,.14);outline:0}
.ap-dd-o.on{background:rgba(255,255,255,.22);font-weight:700}
.ap-fl{flex:0 0 28px;width:28px;height:19px;object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px rgba(255,255,255,.25);display:inline-block;text-align:center;line-height:19px}
.ap-fl-i{box-shadow:none;font-size:1.1em}
.ap-dd-fr{flex:1 1 auto;min-width:0}
.ap-dd-nat{flex:0 1 auto;opacity:.7;font-size:.92em;text-align:right;margin-left:auto}
.ap-dd-b .ap-dd-nat{margin-left:0}
[data-p=lang] .ap-set-row{display:block;margin-bottom:6px}.ap-fl[src]{background:rgba(255,255,255,.12)}
.ap-vz-w{display:flex;flex-wrap:wrap;gap:8px}
.ap-tx .ap-alt{font-weight:800;color:var(--ap-accent,#f4b942);background:rgba(255,255,255,.07);border-radius:4px;padding:0 2px}

/* Onglet Texte fidèle à l'original */
.ap-tx p.li{padding-left:1.2em;position:relative}.ap-tx p.li::before{content:"•";position:absolute;left:.2em}
.ap-tx p.bq{border-left:3px solid rgba(255,255,255,.35);padding-left:12px;font-style:italic}
.ap-tx p.al-center{text-align:center}.ap-tx p.al-right{text-align:right}.ap-tx p.al-justify{text-align:justify}
.ap-tx mark{border-radius:3px;padding:0 2px}

.ap .ap-chip.ap-bhide{display:none!important}
.ap-pl-top a.ap-round{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:1.25em;line-height:1}
.ap-ctls{gap:clamp(5px,2vw,16px)}
.ap-ctls .ap-round:not(.big){width:min(var(--ap-ctl,46px),11.5vw);height:min(var(--ap-ctl,46px),11.5vw);min-width:34px;min-height:34px;flex:0 0 auto;border-radius:var(--ap-ctl-r,50%)}
.ap-ctls .ap-round.big{border-radius:var(--ap-ctl-r,50%)}
.ap-pl-top .ap-round{width:var(--ap-ctl,46px);height:var(--ap-ctl,46px);border-radius:var(--ap-ctl-r,50%)}
.ap-quick .ap-chip{padding:var(--ap-chip-p,8px 14px);font-size:var(--ap-chip-f,.9em)}
.ap-ctls .ap-round[data-a=loop]{font-size:1.5em;line-height:1}
.ap-ctls .ap-round[data-a=loop].on{box-shadow:inset 0 0 0 2px var(--ap-accent),0 0 0 1px var(--ap-accent)}
.ap-chip.ap-dim{opacity:.45}
/* images, fonds, vidéos, mouvements, lumières et textes animés des pochettes (onglet Visuels) */
.ap-cover,.ap-pl-cover{container-type:inline-size}
.ap-vis-g{position:absolute}.ap-vis-dim{inset:0;pointer-events:none;z-index:0}
.ap-cover>.ap-note-i,.ap-pl-cover>.ap-note-i{position:relative;z-index:3}
.ap-pl-cover canvas{z-index:2}
.ap-ovt{z-index:3;pointer-events:none;line-height:1.15;text-align:center;max-width:92%;white-space:pre-line;transform:translate(-50%,-50%);overflow-wrap:anywhere}
.ap-ovi,.ap-ovc{display:inline-block}
.ap-vis-ic{left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;color:rgba(255,255,255,.9);line-height:1;z-index:3}
.ap-vis-bgl{inset:0;overflow:hidden;z-index:0;border-radius:inherit;pointer-events:none}
.ap-vis-pos{inset:0;z-index:0;background-size:cover;background-position:center;pointer-events:none;border-radius:inherit;transform-origin:center}
.ap-vis-bgi{position:absolute;inset:0;background-size:cover;background-position:center}
.ap-vis-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ap-vis-sls{position:absolute;inset:0;overflow:hidden;perspective:900px}.ap-vis-sls .sl{position:absolute;inset:0;background-size:cover;background-position:center;transition:opacity 1.2s ease,transform 1.2s ease,filter 1.2s ease,clip-path 1.2s ease;opacity:0}
.ap-vis-sls .sl.on{opacity:1;z-index:2}.ap-vis-sls .sl.out{z-index:1}
.tr-glisse .sl{opacity:1;transform:translateX(100%)}.tr-glisse .sl.on{transform:none}.tr-glisse .sl.out{transform:translateX(-100%)}
.tr-zoom .sl{transform:scale(1.25)}.tr-zoom .sl.on{transform:none}.tr-zoom .sl.out{transform:scale(.85)}
.tr-flip .sl{transform:rotateY(80deg)}.tr-flip .sl.on{transform:none}.tr-flip .sl.out{transform:rotateY(-80deg)}
.tr-flou .sl{filter:blur(26px)}.tr-flou .sl.on{filter:none}.tr-flou .sl.out{filter:blur(26px)}
.tr-rideau .sl{opacity:1;clip-path:inset(0 0 0 100%)}.tr-rideau .sl.on{clip-path:inset(0)}.tr-rideau .sl.out{clip-path:inset(0 100% 0 0)}
.tr-bas .sl{opacity:1;transform:translateY(100%)}.tr-bas .sl.on{transform:none}.tr-bas .sl.out{transform:translateY(-100%)}
/* mouvements du fond */
.mo-kenburns{animation:ap-kb 16s ease-in-out infinite alternate}.mo-pan{width:130%;animation:ap-pan 18s ease-in-out infinite alternate}.mo-pulse{animation:ap-bp 5s ease-in-out infinite}
.mo-shift{background-size:300% 300%!important;animation:ap-shift 9s ease-in-out infinite}.mo-spin{inset:-30%;animation:ap-spin 40s linear infinite}
@keyframes ap-kb{from{transform:scale(1) translate(0,0)}to{transform:scale(1.22) translate(-3%,-2%)}}
@keyframes ap-pan{from{transform:translateX(0)}to{transform:translateX(-23%)}}
@keyframes ap-bp{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.08);filter:brightness(1.15)}}
@keyframes ap-shift{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@keyframes ap-spin{to{transform:rotate(360deg)}}
/* lumières et particules */
.ap-vis-fx{inset:0;overflow:hidden;pointer-events:none;z-index:0;border-radius:inherit}
.fx-sweep .sw{position:absolute;top:-10%;bottom:-10%;width:38%;left:0;background:linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);transform:translateX(-160%) skewX(-18deg);animation:ap-sw calc(var(--fxs,4s)*1.6) ease-in-out infinite}
@keyframes ap-sw{0%{transform:translateX(-160%) skewX(-18deg)}60%,100%{transform:translateX(380%) skewX(-18deg)}}
.fx-glow{background:radial-gradient(circle at 50% 42%,rgba(255,238,170,.6),rgba(255,238,170,0) 62%);animation:ap-glow calc(var(--fxs,4s)*.9) ease-in-out infinite alternate;mix-blend-mode:screen}
@keyframes ap-glow{from{opacity:.25;transform:scale(.9)}to{opacity:1;transform:scale(1.12)}}
.fx-rayons{background:repeating-conic-gradient(from 0deg at 50% 38%,rgba(255,255,255,.22) 0 7deg,rgba(255,255,255,0) 7deg 22deg);animation:ap-ray calc(var(--fxs,4s)*14) linear infinite;mix-blend-mode:soft-light;inset:-40%}
@keyframes ap-ray{to{transform:rotate(360deg)}}
.fx-aurore .au{position:absolute;width:70%;height:70%;border-radius:50%;filter:blur(34px);opacity:.55;mix-blend-mode:screen}
.fx-aurore .au0{background:#3ee6c4;left:-10%;top:-10%;animation:ap-au1 calc(var(--fxs,4s)*3) ease-in-out infinite alternate}.fx-aurore .au1{background:#7a5cff;right:-15%;top:10%;animation:ap-au2 calc(var(--fxs,4s)*3.6) ease-in-out infinite alternate}.fx-aurore .au2{background:#ff6fb1;left:20%;bottom:-25%;animation:ap-au1 calc(var(--fxs,4s)*4.2) ease-in-out infinite alternate-reverse}
@keyframes ap-au1{to{transform:translate(35%,25%) scale(1.25)}}@keyframes ap-au2{to{transform:translate(-40%,30%) scale(.8)}}
.fx-etoiles .p{position:absolute;border-radius:50%;background:#fff;box-shadow:0 0 6px 2px rgba(255,255,255,.8);animation:ap-tw2 3s ease-in-out infinite}
@keyframes ap-tw2{0%,100%{opacity:.15;transform:scale(.6)}50%{opacity:1;transform:scale(1.25)}}
.fx-neige .p{position:absolute;top:-8%;border-radius:50%;background:rgba(255,255,255,.92);animation:ap-fall 8s linear infinite}
@keyframes ap-fall{0%{top:-8%;transform:translateX(0)}50%{transform:translateX(12px)}100%{top:108%;transform:translateX(-8px)}}
.fx-bulles .p{position:absolute;bottom:-12%;border-radius:50%;border:1.5px solid rgba(255,255,255,.7);background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.55),rgba(255,255,255,.05));animation:ap-rise 9s ease-in infinite}
@keyframes ap-rise{0%{bottom:-12%;opacity:0}15%{opacity:.9}100%{bottom:108%;opacity:0}}
.fx-braises .p{position:absolute;bottom:-6%;border-radius:50%;background:#ffb347;box-shadow:0 0 8px 3px rgba(255,140,40,.85);animation:ap-ember 7s ease-out infinite}
@keyframes ap-ember{0%{bottom:-6%;transform:translateX(0) scale(1);opacity:0}15%{opacity:1}100%{bottom:100%;transform:translateX(18px) scale(.2);opacity:0}}
.fx-eclairs{background:#fff;opacity:0;mix-blend-mode:overlay;animation:ap-flash calc(var(--fxs,4s)*2.2) infinite}
@keyframes ap-flash{0%,86%,100%{opacity:0}87%{opacity:.85}88%{opacity:.1}90%{opacity:.7}93%{opacity:0}}
/* animations des textes */
.ap-ovi[class*=in-]{animation-fill-mode:both;animation-timing-function:cubic-bezier(.2,.8,.2,1)}
.in-fade{animation-name:ap-i-fade}.in-up{animation-name:ap-i-up}.in-down{animation-name:ap-i-down}.in-left{animation-name:ap-i-left}.in-right{animation-name:ap-i-right}.in-zoom{animation-name:ap-i-zoom}.in-bounce{animation-name:ap-i-bounce;animation-timing-function:ease-out!important}.in-flip{animation-name:ap-i-flip}.in-blur{animation-name:ap-i-blur}.in-tw{animation-name:ap-i-tw}.in-spin{animation-name:ap-i-spin}
@keyframes ap-i-fade{from{opacity:0}to{opacity:1}}@keyframes ap-i-up{from{opacity:0;transform:translateY(60%)}to{opacity:1;transform:none}}@keyframes ap-i-down{from{opacity:0;transform:translateY(-60%)}to{opacity:1;transform:none}}
@keyframes ap-i-left{from{opacity:0;transform:translateX(-80%)}to{opacity:1;transform:none}}@keyframes ap-i-right{from{opacity:0;transform:translateX(80%)}to{opacity:1;transform:none}}
@keyframes ap-i-zoom{from{opacity:0;transform:scale(.2)}to{opacity:1;transform:none}}@keyframes ap-i-bounce{0%{opacity:0;transform:translateY(-120%)}55%{opacity:1;transform:translateY(0)}70%{transform:translateY(-18%)}85%{transform:translateY(0)}93%{transform:translateY(-6%)}100%{transform:none}}
@keyframes ap-i-flip{from{opacity:0;transform:perspective(500px) rotateX(90deg)}to{opacity:1;transform:none}}@keyframes ap-i-blur{from{opacity:0;filter:blur(14px)}to{opacity:1;filter:none}}
@keyframes ap-i-tw{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes ap-i-spin{from{opacity:0;transform:rotate(-200deg) scale(.2)}to{opacity:1;transform:none}}
.co-float{animation:ap-c-float ease-in-out infinite}.co-pulse{animation:ap-c-pulse ease-in-out infinite}.co-sway{animation:ap-c-sway ease-in-out infinite}.co-twinkle{animation:ap-c-twinkle ease-in-out infinite}.co-glow{animation:ap-c-glow ease-in-out infinite}.co-neon{animation:ap-c-neon linear infinite}.co-rainbow{animation:ap-c-rainbow linear infinite}.co-shake{animation:ap-c-shake ease-in-out infinite}
.co-shimmer{background:linear-gradient(100deg,var(--tc,#fff) 35%,#fff9c4 50%,var(--tc,#fff) 65%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:ap-c-shim linear infinite}
@keyframes ap-c-float{0%,100%{transform:translateY(-6%)}50%{transform:translateY(6%)}}@keyframes ap-c-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
@keyframes ap-c-sway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes ap-c-twinkle{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes ap-c-glow{0%,100%{text-shadow:0 0 4px currentColor}50%{text-shadow:0 0 10px currentColor,0 0 22px currentColor,0 0 40px currentColor}}
@keyframes ap-c-neon{0%,18%,22%,25%,53%,57%,100%{text-shadow:0 0 calc(5px*var(--nl,1)) #fff,0 0 calc(12px*var(--nl,1)) var(--nc,currentColor),0 0 calc(28px*var(--nl,1)) var(--nc,currentColor),0 0 calc(48px*var(--nl,1)) var(--nc,currentColor);opacity:1}20%,24%,55%{text-shadow:none;opacity:.55}}
@keyframes ap-c-rainbow{to{filter:hue-rotate(360deg)}}@keyframes ap-c-shim{from{background-position:150% 0}to{background-position:-100% 0}}
@keyframes ap-c-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-3%)}40%{transform:translateX(3%)}60%{transform:translateX(-2%)}80%{transform:translateX(2%)}}
/* animations continues supplémentaires */
.co-lueur{animation:ap-c-lueur ease-in-out infinite}.co-projecteur{animation:ap-c-proj ease-in-out infinite}.co-electrique{animation:ap-c-elec linear infinite}.co-arcglow{animation:ap-c-arcg linear infinite}.co-flamme{animation:ap-c-flam ease-in-out infinite}.co-etincelle{animation:ap-c-etin linear infinite}.co-lumiere{animation:ap-c-lum ease-in-out infinite}.co-flash{animation:ap-c-flash ease-in-out infinite}
.co-or{background:linear-gradient(100deg,#b8860b 20%,#fff3b0 38%,#ffd700 50%,#fff3b0 62%,#b8860b 80%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:ap-c-shim linear infinite}
.co-laser{background:linear-gradient(100deg,#ff2d95,#ffb800,#35e0ff,#8b5cff,#ff2d95);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:ap-c-laser linear infinite}
.co-glitch{position:relative;animation:ap-c-glit steps(1,end) infinite}
.co-bounce{animation:ap-c-bnc ease-in-out infinite}.co-swing{transform-origin:50% 0;animation:ap-c-swing ease-in-out infinite}.co-wave{animation:ap-c-wave ease-in-out infinite}.co-heart{animation:ap-c-heart ease-in-out infinite}.co-breathe{animation:ap-c-brea ease-in-out infinite}.co-flipy{animation:ap-c-flipy ease-in-out infinite}.co-jelly{animation:ap-c-jelly ease-in-out infinite}.co-tada{animation:ap-c-tada ease-in-out infinite}.co-blink{animation:ap-c-blink steps(1,end) infinite}.co-wobble{animation:ap-c-wob ease-in-out infinite}.co-zoomloop{animation:ap-c-zl ease-in-out infinite}
@keyframes ap-c-lueur{0%,100%{text-shadow:0 0 calc(4px*var(--nl,1)) var(--nc,currentColor);opacity:.92}50%{text-shadow:0 0 calc(14px*var(--nl,1)) var(--nc,currentColor),0 0 calc(34px*var(--nl,1)) var(--nc,currentColor);opacity:1}}
@keyframes ap-c-proj{0%,100%{text-shadow:0 0 calc(6px*var(--nl,1)) #fff,0 0 calc(18px*var(--nl,1)) var(--nc,#fff6c4);filter:brightness(1)}50%{text-shadow:0 0 calc(12px*var(--nl,1)) #fff,0 0 calc(40px*var(--nl,1)) var(--nc,#fff6c4),0 0 calc(70px*var(--nl,1)) var(--nc,#fff6c4);filter:brightness(1.35)}}
@keyframes ap-c-elec{0%,100%{text-shadow:0 0 calc(6px*var(--nl,1)) var(--nc,#5cd6ff),0 0 calc(16px*var(--nl,1)) var(--nc,#5cd6ff);opacity:1}8%{text-shadow:0 0 calc(2px*var(--nl,1)) var(--nc,#5cd6ff);opacity:.7}12%{text-shadow:0 0 calc(10px*var(--nl,1)) #fff,0 0 calc(30px*var(--nl,1)) var(--nc,#5cd6ff),0 0 calc(54px*var(--nl,1)) var(--nc,#5cd6ff);opacity:1}30%{opacity:.85}34%{opacity:1;text-shadow:0 0 calc(12px*var(--nl,1)) #fff,0 0 calc(36px*var(--nl,1)) var(--nc,#5cd6ff)}70%{opacity:.9}74%{opacity:1}}
@keyframes ap-c-arcg{0%{text-shadow:0 0 calc(10px*var(--nl,1)) #ff3b6b,0 0 calc(26px*var(--nl,1)) #ff3b6b}20%{text-shadow:0 0 calc(10px*var(--nl,1)) #ffb800,0 0 calc(26px*var(--nl,1)) #ffb800}40%{text-shadow:0 0 calc(10px*var(--nl,1)) #3be37a,0 0 calc(26px*var(--nl,1)) #3be37a}60%{text-shadow:0 0 calc(10px*var(--nl,1)) #35c8ff,0 0 calc(26px*var(--nl,1)) #35c8ff}80%{text-shadow:0 0 calc(10px*var(--nl,1)) #a56bff,0 0 calc(26px*var(--nl,1)) #a56bff}100%{text-shadow:0 0 calc(10px*var(--nl,1)) #ff3b6b,0 0 calc(26px*var(--nl,1)) #ff3b6b}}
@keyframes ap-c-flam{0%,100%{text-shadow:0 0 calc(4px*var(--nl,1)) #ffd27a,0 -2px calc(10px*var(--nl,1)) #ff9a1f,0 -6px calc(20px*var(--nl,1)) #ff4d00;transform:translateY(0) scale(1)}25%{text-shadow:0 0 calc(5px*var(--nl,1)) #ffe39a,0 -3px calc(13px*var(--nl,1)) #ff8a00,0 -9px calc(26px*var(--nl,1)) #ff3d00;transform:translateY(-1%) scale(1.02)}50%{text-shadow:0 0 calc(3px*var(--nl,1)) #ffd27a,0 -1px calc(8px*var(--nl,1)) #ff9a1f,0 -4px calc(16px*var(--nl,1)) #ff4d00;transform:translateY(0) scale(.99)}75%{text-shadow:0 0 calc(5px*var(--nl,1)) #ffe39a,0 -4px calc(14px*var(--nl,1)) #ffa31f,0 -10px calc(28px*var(--nl,1)) #ff3d00;transform:translateY(-1.5%) scale(1.03)}}
@keyframes ap-c-etin{0%{text-shadow:-3px -2px calc(8px*var(--nl,1)) #ff5ca8,3px 2px calc(8px*var(--nl,1)) #5cd6ff}25%{text-shadow:3px -3px calc(10px*var(--nl,1)) #ffd84d,-3px 3px calc(10px*var(--nl,1)) #ff5ca8}50%{text-shadow:3px 3px calc(8px*var(--nl,1)) #5cff9d,-3px -3px calc(8px*var(--nl,1)) #ffd84d}75%{text-shadow:-3px 3px calc(10px*var(--nl,1)) #5cd6ff,3px -3px calc(10px*var(--nl,1)) #5cff9d}100%{text-shadow:-3px -2px calc(8px*var(--nl,1)) #ff5ca8,3px 2px calc(8px*var(--nl,1)) #5cd6ff}}
@keyframes ap-c-lum{0%,100%{filter:brightness(calc(.85 + .15*var(--nl,1)))}50%{filter:brightness(calc(1 + .6*var(--nl,1))) saturate(1.2)}}
@keyframes ap-c-flash{0%,86%,100%{filter:none}90%{filter:brightness(calc(1 + 2.2*var(--nl,1))) drop-shadow(0 0 calc(14px*var(--nl,1)) #fff)}94%{filter:brightness(1.2)}}
@keyframes ap-c-laser{from{background-position:0 0}to{background-position:-300% 0}}
@keyframes ap-c-glit{0%,88%,100%{text-shadow:none;transform:none}90%{text-shadow:-3px 0 #ff2d55,3px 0 #00e5ff;transform:translateX(1%)}93%{text-shadow:3px 0 #ff2d55,-3px 0 #00e5ff;transform:translateX(-1.5%) skewX(-6deg)}96%{text-shadow:-2px 0 #ff2d55,2px 0 #00e5ff;transform:none}}
@keyframes ap-c-bnc{0%,100%{transform:translateY(0)}20%{transform:translateY(-22%)}40%{transform:translateY(0)}55%{transform:translateY(-9%)}70%{transform:translateY(0)}}
@keyframes ap-c-swing{0%,100%{transform:rotate(9deg)}50%{transform:rotate(-9deg)}}
@keyframes ap-c-wave{0%,100%{transform:translateY(0) rotate(-1.5deg)}25%{transform:translateY(-8%) rotate(0)}50%{transform:translateY(0) rotate(1.5deg)}75%{transform:translateY(8%) rotate(0)}}
@keyframes ap-c-heart{0%,40%,100%{transform:scale(1)}10%{transform:scale(1.16)}20%{transform:scale(1)}30%{transform:scale(1.1)}}
@keyframes ap-c-brea{0%,100%{transform:scale(.97);opacity:.85}50%{transform:scale(1.05);opacity:1}}
@keyframes ap-c-flipy{0%,70%,100%{transform:perspective(600px) rotateY(0)}85%{transform:perspective(600px) rotateY(180deg)}}
@keyframes ap-c-jelly{0%,100%{transform:scale(1,1)}25%{transform:scale(.9,1.12)}50%{transform:scale(1.1,.9)}75%{transform:scale(.96,1.05)}}
@keyframes ap-c-tada{0%,60%,100%{transform:scale(1) rotate(0)}10%,20%{transform:scale(.92) rotate(-3deg)}30%,50%{transform:scale(1.1) rotate(3deg)}40%{transform:scale(1.1) rotate(-3deg)}}
@keyframes ap-c-blink{0%,49%{opacity:1}50%,100%{opacity:0}}
@keyframes ap-c-wob{0%,100%{transform:translateX(0) rotate(0)}15%{transform:translateX(-6%) rotate(-4deg)}30%{transform:translateX(4%) rotate(3deg)}45%{transform:translateX(-3%) rotate(-2deg)}60%{transform:translateX(2%) rotate(1deg)}75%{transform:translateX(-1%) rotate(-1deg)}}
@keyframes ap-c-zl{0%,100%{transform:scale(.9)}50%{transform:scale(1.18)}}
@media (prefers-reduced-motion:reduce){.ap-vis-g,.ap-vis-g *{animation:none!important}.ap-vis-sls .sl{transition:none}}
/* mode plein écran du lecteur */
.ap-fsbar{display:none}
.ap-player.fs .ap-pl-top,.ap-player.fs .ap-pl-cover,.ap-player.fs .ap-pl-m,.ap-player.fs .ap-note,.ap-player.fs .ap-quick,.ap-player.fs .ap-srcs,.ap-player.fs .ap-vid,.ap-player.fs .ap-panel:not([data-p=text]),.ap-player.fs .ap-sz{display:none!important}
.ap-player.fs .ap-pl{padding:0;overflow:hidden;display:flex;flex-direction:column;height:100%}
.ap-player.fs .ap-fsbar{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:10px 14px;flex:0 0 auto;transition:opacity .5s}
.ap-player.fs.fs-idle .ap-fsbar{opacity:0}.ap-player.fs.fs-idle{cursor:none}
.ap-fsbar .ap-fs-size{width:74px;text-align:center;font:inherit;font-weight:700;padding:8px 6px;border-radius:10px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.14);color:#fff}
.ap-fsbar .ap-fs-font{font:inherit;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.35);background:rgba(20,30,50,.85);color:#fff;max-width:200px}
.ap-fsbar .ap-fs-px{opacity:.8}
.ap-fsbar .ap-round{width:40px;height:40px}
.ap-player.fs .ap-pl-main{max-width:none;width:100%;margin:0;padding:0 clamp(16px,5vw,72px);flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
.ap-player.fs .ap-pl-t{text-align:center;font-size:.95em;opacity:.75;margin:0 0 4px;flex:0 0 auto}
.ap-player.fs .ap-cap{display:flex;flex:1 1 auto;min-height:0;overflow-y:auto;align-items:center;justify-content:center;text-align:center;margin:0;padding:12px 4px;font-size:var(--ap-fs-size,40px);font-family:var(--ap-fs-font,inherit);line-height:1.35}
.ap-player.fs .ap-cap.hide{display:flex}
.ap-player.fs.fs-full .ap-cap{display:none}
.ap-player.fs [data-p=text]{display:none}
.ap-player.fs.fs-full [data-p=text]{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
.ap-player.fs .ap-tx,.ap-player.fs .ap-tx.is-hidden{position:static;opacity:1;pointer-events:auto;z-index:auto;width:auto;height:auto;max-height:none;flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;font-size:var(--ap-fs-size,40px);font-family:var(--ap-fs-font,inherit);text-align:center;line-height:1.4}
.ap-player.fs .ap-tx>p:first-child{margin-top:auto}.ap-player.fs .ap-tx>p:last-child{margin-bottom:auto}
.ap-player.fs .ap-tx p{text-align:center;padding:4px 8px}
.ap-player.fs .ap-prog{flex:0 0 auto;margin:6px 0 4px}
.ap-player.fs .ap-ctls{flex:0 0 auto;margin:4px 0;padding-bottom:max(14px,env(safe-area-inset-bottom))}
@media (max-width:560px){.ap-fsbar .ap-fs-font{max-width:150px}}
.ap-player.fs .ap-prog{order:20}.ap-player.fs .ap-ctls{order:21}.ap-player.fs .ap-pl-t{order:-1}
.ap-player.fs.fs-full [data-p=text]{background:none;border:0;padding:0;box-shadow:none;margin:0}
.ap-player.fs .ap-cap{flex-direction:column;align-items:stretch;justify-content:flex-start;scroll-behavior:smooth}
.ap-player.fs .ap-cap>.ap-cap-t{margin:auto 0;display:block}
.ap-fsbar .ap-fs-hl,.ap-fsbar .ap-fs-hlu{font:inherit;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.35);background:rgba(20,30,50,.85);color:#fff}
/* mode « Lire » : le texte comme dans un livre */
.ap-book-open{overflow:hidden}
.ap-book{--bk-desk:#e8e1d2;--bk-paper:#fbf8f1;--bk-ink:#262320;--bk-bar:rgba(255,255,255,.82);--bk-line:rgba(0,0,0,.12);--bk-hl:rgba(244,185,66,.42);--bk-acc:#c77d0a;position:fixed;inset:0;z-index:99998;display:flex;flex-direction:column;background:var(--bk-desk);color:var(--bk-ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;outline:0}
.ap-book[hidden]{display:none}
.ap-book[data-th=sepia]{--bk-desk:#cdb894;--bk-paper:#f1e4c8;--bk-ink:#4a3622;--bk-bar:rgba(246,236,213,.85);--bk-hl:rgba(196,120,30,.35);--bk-acc:#9a5b12}
.ap-book[data-th=gris]{--bk-desk:#d6d9de;--bk-paper:#f3f4f6;--bk-ink:#1f2937;--bk-bar:rgba(255,255,255,.82);--bk-hl:rgba(80,120,220,.28);--bk-acc:#2c5fd1}
.ap-book[data-th=vert]{--bk-desk:#cfe0cf;--bk-paper:#eef6ec;--bk-ink:#1e3a26;--bk-bar:rgba(238,246,236,.85);--bk-hl:rgba(60,150,80,.28);--bk-acc:#2c8a47}
.ap-book[data-th=nuit]{--bk-desk:#0f1522;--bk-paper:#1b2336;--bk-ink:#d7deec;--bk-bar:rgba(20,28,45,.88);--bk-line:rgba(255,255,255,.14);--bk-hl:rgba(244,185,66,.28);--bk-acc:#f4b942}
.ap-book[data-th=noir]{--bk-desk:#000;--bk-paper:#0b0b0b;--bk-ink:#cfcfcf;--bk-bar:rgba(18,18,18,.92);--bk-line:rgba(255,255,255,.14);--bk-hl:rgba(244,185,66,.26);--bk-acc:#f4b942}
.bk-top{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bk-bar);backdrop-filter:blur(8px);border-bottom:1px solid var(--bk-line)}
.bk-tt{flex:1;min-width:0;text-align:center;line-height:1.2}.bk-tt b{display:block;font-size:1em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bk-tt span{display:block;font-size:.76em;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bk-ib{width:42px;height:42px;border-radius:50%;border:1px solid var(--bk-line);background:transparent;color:var(--bk-ink);font-size:1.1em;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}
.bk-ib:hover,.bk-nav:hover:not(:disabled){background:rgba(127,127,127,.18)}.bk-ib:focus-visible,.bk-chip:focus-visible,.bk-listen:focus-visible,.bk-nav:focus-visible{outline:2px solid var(--bk-acc);outline-offset:2px}
.bk-stage{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;position:relative;padding:6px 6px}
.bk-nav{flex:0 0 52px;height:120px;border:0;background:transparent;color:var(--bk-ink);font-size:2.6em;line-height:1;cursor:pointer;border-radius:12px;opacity:.65}.bk-nav:disabled{opacity:.15;cursor:default}
@media (max-width:719px){.bk-nav{display:none}}
.bk-sheet{position:relative;flex:none;background:var(--bk-paper);border-radius:6px;box-shadow:0 14px 44px rgba(0,0,0,.28),0 0 0 1px rgba(0,0,0,.06);touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab}
.bk-spine{position:absolute;left:50%;top:0;bottom:0;width:46px;transform:translateX(-50%);background:linear-gradient(90deg,rgba(0,0,0,0),rgba(0,0,0,.16) 50%,rgba(0,0,0,0));pointer-events:none;z-index:7}
.bk-flow{font-family:var(--bk-ff,Georgia,serif);font-size:var(--bk-fs,21px);line-height:var(--bk-lh,1.7);color:var(--bk-ink);overflow-wrap:break-word;orphans:2;widows:2;transform-origin:0 0}
.bk-flow p{margin:0 0 .75em;padding:0;break-inside:auto}
.bk-flow p.h{font-weight:700;font-size:1.25em;line-height:1.3;break-after:avoid;margin:.2em 0 .6em;text-align:center}
.bk-drop .bk-flow p:not(.h):not(.li):not(.bq):first-of-type::first-letter{float:left;font-size:3.1em;line-height:.85;padding:.06em .1em 0 0;font-weight:700;color:var(--bk-acc)}
.bk-flow p.li{padding-left:1.2em;position:relative}.bk-flow p.li::before{content:"•";position:absolute;left:.2em}
.bk-flow p.bq{font-style:italic;border-left:3px solid var(--bk-acc);padding-left:.8em}
.bk-flow p.al-center{text-align:center}.bk-flow p.al-right{text-align:right}.bk-flow p.al-justify{text-align:justify}
.bk-flow .ap-sn{cursor:pointer;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:4px;transition:background .25s}
.bk-flow .ap-sn.on,.bk-flow p.on{background:var(--bk-hl)}
.bk-flow mark{border-radius:3px}
.bk-bot{flex:0 0 auto;background:var(--bk-bar);backdrop-filter:blur(8px);border-top:1px solid var(--bk-line);padding:8px 16px calc(10px + env(safe-area-inset-bottom))}
.bk-row{display:flex;align-items:center;gap:12px;max-width:760px;margin:0 auto}.bk-lbl{font-size:.8em;opacity:.8;min-width:104px;white-space:nowrap}.bk-rng{flex:1;accent-color:var(--bk-acc);height:28px}
.bk-ctl{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:4px}
.bk-listen{border:0;border-radius:999px;padding:11px 26px;font-size:1em;font-weight:700;color:#fff;background:var(--bk-acc);cursor:pointer;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 14px rgba(0,0,0,.25)}.bk-listen.on{filter:brightness(1.08)}
.bk-immersive .bk-top,.bk-immersive .bk-bot{display:none}
.bk-panel{position:absolute;right:0;bottom:0;left:0;max-height:80%;overflow:auto;background:var(--bk-bar);backdrop-filter:blur(14px);border-radius:20px 20px 0 0;box-shadow:0 -12px 44px rgba(0,0,0,.35);z-index:30;color:var(--bk-ink)}
.bk-panel[hidden]{display:none}
@media (min-width:720px){.bk-panel{left:auto;width:390px;top:58px;bottom:auto;max-height:calc(100% - 70px);border-radius:16px;right:12px}}
.bk-ph{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 4px}.bk-pb{padding:6px 16px 18px}
.bk-r{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:9px 0;border-bottom:1px solid var(--bk-line)}.bk-r>label{font-weight:600;font-size:.92em}
.bk-r select,.bk-r input[type=number]{font:inherit;padding:7px 10px;border-radius:10px;border:1px solid var(--bk-line);background:rgba(127,127,127,.12);color:var(--bk-ink);max-width:210px}.bk-r input[type=number]{width:70px;text-align:center}
.bk-r input[type=range]{accent-color:var(--bk-acc);width:180px}
.bk-chips,.bk-sz{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.bk-chip{border:1px solid var(--bk-line);background:rgba(127,127,127,.12);color:var(--bk-ink);border-radius:999px;padding:7px 13px;font:inherit;font-size:.9em;cursor:pointer}.bk-chip.on{background:var(--bk-acc);border-color:var(--bk-acc);color:#fff}
.bk-sw{display:flex;gap:10px}.bk-swb{width:34px;height:34px;border-radius:50%;border:2px solid var(--bk-line);cursor:pointer;padding:0}.bk-swb.on{outline:3px solid var(--bk-acc);outline-offset:2px}
.bk-hint{font-size:.8em;opacity:.7;margin:12px 0 0;line-height:1.5}
.bk-tip{position:absolute;left:50%;bottom:110px;transform:translateX(-50%);background:rgba(20,28,45,.92);color:#fff;padding:10px 16px;border-radius:999px;font-size:.88em;z-index:40;max-width:90%;text-align:center;pointer-events:none}.bk-tip[hidden]{display:none}
.bk-leaf{box-shadow:0 0 30px rgba(0,0,0,.25)}.bk-lsh{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.18),rgba(0,0,0,0) 40%);transition:opacity .5s;opacity:1;pointer-events:none}
@media (prefers-reduced-motion:reduce){.bk-flow,.bk-leaf{transition:none!important}}
.bk-ib.bk-sm{font-size:.82em;width:38px;height:38px}
@media (max-width:420px){.bk-ib.bk-sm{width:34px;height:34px}.bk-top{gap:6px;padding:8px}}
.bk-fw{display:flex;align-items:center;gap:10px}.bk-fm{display:inline-block;background:var(--bk-paper);border:2px solid var(--bk-acc);border-radius:3px;box-shadow:0 2px 6px rgba(0,0,0,.25);flex:none}
.bk-pop{position:absolute;top:58px;right:96px;z-index:50;width:min(300px,calc(100% - 20px));background:var(--bk-bar);backdrop-filter:blur(14px);border:1px solid var(--bk-line);border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.35);padding:12px 14px;display:flex;flex-direction:column;gap:10px;color:var(--bk-ink)}
.bk-pv{display:flex;align-items:center;gap:8px}.bk-pv input{flex:1;accent-color:var(--bk-acc)}.bk-pvl{min-width:44px;text-align:right;font-size:.85em;opacity:.8}
@media (max-width:560px){.bk-pop{right:10px;left:10px;width:auto}}
.bk-sel{font:inherit;padding:9px 12px;border-radius:10px;border:1px solid var(--bk-line);background:rgba(127,127,127,.14);color:var(--bk-ink);width:100%}

/* pagination et nombre par ligne */
.ap-rail.ap-rn .ap-card{flex:0 0 calc((100% - (var(--ap-n) - 1)*14px)/var(--ap-n))}
.ap-rnav{display:flex;gap:6px}.ap-rb{width:34px;height:34px;border-radius:50%;border:1px solid var(--ap-border,rgba(0,0,0,.15));background:var(--ap-card,#fff);color:var(--ap-primary);font-size:20px;line-height:1;padding:0;display:flex;align-items:center;justify-content:center}.ap-rb:hover{background:var(--ap-primary);color:#fff}
.ap-pg{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;margin:18px 0 4px}
.ap-pgb{min-width:38px;height:38px;padding:0 14px;border-radius:var(--ap-radius-btn,999px);border:1px solid var(--ap-border,rgba(0,0,0,.15));background:var(--ap-card,#fff);color:var(--ap-primary);font-weight:600}
.ap-pgb.ap-pgn{padding:0}.ap-pgb:hover:not(:disabled){background:var(--ap-primary);color:#fff}.ap-pgb.on{background:var(--ap-primary);color:#fff;border-color:var(--ap-primary)}.ap-pgb:disabled{opacity:.4;cursor:default}
.ap-pgd{padding:0 4px;opacity:.6}.ap-pgi{flex:1 0 100%;text-align:center;font-size:.85em;opacity:.7;margin-top:4px}

.ap-grid .ap-cover,.ap-rail .ap-cover{height:var(--ap-ch,150px)}

/* cœur dans la partie blanche, en bas à droite de la carte */
.ap-card{position:relative}
.ap-card>.ap-fav{position:absolute;right:12px;bottom:12px;left:auto;top:auto;background:var(--ap-card,#fff)!important;color:#c0392b!important;border:1px solid var(--ap-border,rgba(0,0,0,.12))!important;border-radius:50%!important;width:34px!important;height:34px!important;min-width:0!important;padding:0!important;box-shadow:none;z-index:3}
.ap-card>.ap-fav:hover{background:rgba(192,57,43,.08)!important}
.ap-card.ap-hasfav .ap-card-b{padding-bottom:52px}
.ap-list .ap-card.ap-hasfav .ap-card-b{padding-bottom:14px;padding-right:56px}

/* aperçu : image entière visible (ratio réel de l'image, rien n'est coupé) */
.ap-modal-box .ap-cover.ap-pv-cover{height:auto;min-height:0;aspect-ratio:16 / 9;max-height:60vh;width:100%}
.ap-modal-box .ap-cover.ap-pv-cover.noimg{aspect-ratio:3 / 1}

/* types de contenu, vue « Tous », file « À lire ensuite », sélection du visiteur */
.ap-types{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 6px}
.ap-type{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--ap-radius,16px);border:var(--ap-border-w,1px) solid var(--ap-border,rgba(0,0,0,.12));background:var(--ap-card,#fff);color:var(--ap-text);font-weight:700;box-shadow:var(--ap-shadow);transition:transform .15s,box-shadow .15s}
.ap-type:hover{transform:translateY(-2px)}
.ap-type.on{background:var(--ap-grad,var(--ap-primary));color:#fff;border-color:transparent}
.ap-type-i{font-size:1.25em;line-height:1}.ap-type-n{font-size:.78em;min-width:24px;text-align:center;padding:2px 8px;border-radius:99px;background:rgba(127,127,127,.18)}.ap-type.on .ap-type-n{background:rgba(255,255,255,.25)}
.ap-coll{background:var(--ap-grad,var(--ap-primary));color:#fff;border-radius:calc(var(--ap-radius,16px) + 4px);padding:clamp(16px,3vw,26px);margin:10px 0 18px;box-shadow:var(--ap-shadow)}
.ap-coll-top{display:flex;align-items:center;gap:16px}.ap-coll-i{width:64px;height:64px;flex:0 0 64px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:30px}
.ap-coll-t{margin:0;font-family:var(--ap-font-title);font-weight:var(--ap-title-weight,700);font-size:clamp(1.4em,4vw,2em);color:#fff;line-height:1.15}.ap-coll-s{opacity:.9;margin-top:4px}
.ap-coll-a,.ap-coll-x,.ap-selbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px}
.ap-cbtn{border:var(--ap-border-w,1px) solid var(--ap-border,rgba(0,0,0,.15));background:var(--ap-card,#fff);color:var(--ap-primary);border-radius:var(--ap-radius-btn,999px);padding:8px 14px;font-weight:700;font-size:.92em}
.ap-cbtn:hover:not(:disabled){background:var(--ap-primary);color:#fff}.ap-cbtn:disabled{opacity:.45;cursor:default}.ap-cbtn.main{background:var(--ap-btn-bg,var(--ap-primary));color:var(--ap-btn-text,#fff);border-color:transparent}
.ap-coll .ap-cbtn{background:rgba(255,255,255,.18);color:#fff;border-color:rgba(255,255,255,.35)}.ap-coll .ap-cbtn:hover:not(:disabled){background:#fff;color:var(--ap-primary)}.ap-coll .ap-cbtn.main,.ap-coll .ap-cbtn.on{background:#fff;color:var(--ap-primary)}
.ap-selbar{background:rgba(0,0,0,.18);border-radius:12px;padding:10px}.ap-selc{font-weight:700;margin-right:6px}.ap-defl{font-size:.92em;display:flex;align-items:center;gap:6px}
.ap-card{position:relative}
.ap-qb{position:absolute;left:12px;bottom:12px;z-index:3;height:34px;padding:0 13px;border-radius:99px;border:1px solid var(--ap-border,rgba(0,0,0,.15));background:var(--ap-card,#fff);color:var(--ap-primary);font-weight:700;font-size:.82em}
.ap-qb:hover,.ap-qb.on{background:var(--ap-primary);color:#fff}
.ap-card.ap-hasq .ap-card-b{padding-bottom:52px}
.ap-selb{position:absolute;right:8px;top:8px;z-index:4;width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.95);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.ap-selb input{width:20px;height:20px;accent-color:var(--ap-primary);cursor:pointer;margin:0}
.ap-card.ap-selm{cursor:pointer;outline:2px dashed transparent;outline-offset:-3px}.ap-card.ap-picked{outline:3px solid var(--ap-accent,#f2b01e)}
.ap-queue-box:empty{display:none}
.ap-queue{background:var(--ap-card,#fff);border:var(--ap-border-w,1px) solid var(--ap-border,rgba(0,0,0,.12));border-left:5px solid var(--ap-accent,#f2b01e);border-radius:var(--ap-radius,16px);padding:12px 14px;margin:12px 0;box-shadow:var(--ap-shadow)}
.ap-queue-h{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ap-queue-n{background:var(--ap-primary);color:#fff;border-radius:99px;padding:1px 9px;font-size:.8em}.ap-queue-ha{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
.ap-queue-l{list-style:decimal;margin:10px 0 0;padding-left:26px;max-height:230px;overflow:auto}
.ap-queue-r{display:flex;align-items:center;gap:6px;padding:5px 0;border-top:1px solid var(--ap-border,rgba(0,0,0,.08))}.ap-queue-t{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ap-queue-d{font-size:.8em;opacity:.65;white-space:nowrap}
.ap-qr{width:30px;height:30px;border-radius:50%;border:1px solid var(--ap-border,rgba(0,0,0,.15));background:var(--ap-card,#fff);color:var(--ap-primary);padding:0}.ap-qr:hover:not(:disabled){background:var(--ap-primary);color:#fff}.ap-qr:disabled{opacity:.3}
@media (max-width:640px){.ap-type{padding:8px 12px}.ap-coll-i{width:48px;height:48px;flex-basis:48px;font-size:22px}.ap-queue-d{display:none}}
.ap-list .ap-card.ap-hasq .ap-card-b{padding-bottom:52px}

.bk-pal{flex-wrap:wrap;gap:8px;align-items:center;max-width:100%}.bk-pal .bk-swb{width:30px;height:30px}

/* bouton ▶ des cartes : rond, symbole blanc parfaitement centré (même avec les styles de boutons du thème) */
.ap .ap-cplay{display:flex!important;align-items:center!important;justify-content:center!important;width:44px!important;height:44px!important;min-width:0!important;padding:0!important;margin:0;border-radius:50%!important;line-height:1!important;font-size:0!important;color:#fff!important;text-align:center}
.ap .ap-cplay::before{content:"";display:block;width:0;height:0;border-style:solid;border-width:8px 0 8px 13px;border-color:transparent transparent transparent #fff;margin-left:3px}

.ap-modal-box .ap-cover.ap-pv-cover{background-size:contain!important;background-repeat:no-repeat;background-position:center top;background-color:#14081f}

/* carrousel animé des messages (onglet Défilement) */
.ap-car{position:relative;margin:14px 0 24px;isolation:isolate}
.ap-car-amb{position:absolute;inset:-12px;z-index:-1;background-size:cover;background-position:center;filter:blur(34px) saturate(1.35);opacity:.5;border-radius:34px;transition:background-image .6s}
.ap-car-vp{position:relative;border-radius:calc(var(--ap-radius,16px) + 4px);overflow:hidden;background:#14081f;box-shadow:var(--ap-shadow,0 8px 24px rgba(0,0,0,.2));transition:transform .18s ease-out}
.ap-car-vp:focus-visible{outline:3px solid var(--ap-accent,#f2b01e);outline-offset:3px}
.ap-car-tr{position:relative;height:var(--ch,360px)}
.ap-car .sl{cursor:pointer;overflow:hidden;color:#fff}
.ap-car .bg{position:absolute;inset:0;background-size:cover;background-position:center;background-color:#2a1450;display:flex;align-items:center;justify-content:center}
.ap-car .bg:empty,.ap-car .noimg .bg{background:var(--ap-grad,linear-gradient(135deg,#1d4f91,#6a3fb5))}
.ap-car-note{font-size:5em;opacity:.35}
.ap-car .shd{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to top,rgba(var(--ct,0,0,0),calc(var(--dim,.45) + .25)),rgba(var(--ct,0,0,0),calc(var(--dim,.45)*.35)) 55%,rgba(var(--ct,0,0,0),calc(var(--dim,.45)*.2)))}
.ap-car .cap{position:absolute;left:0;right:0;bottom:0;padding:22px 26px 54px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;text-shadow:0 2px 10px rgba(0,0,0,.55)}
.ap-car[data-cap=gauche] .cap{top:0;width:min(58%,520px);right:auto;justify-content:center;padding:26px 26px 54px}
.ap-car[data-cap=centre] .cap{top:0;align-items:center;justify-content:center;text-align:center;padding:26px 36px 54px}
.ap-car .ttl{margin:0;font-family:var(--ap-font-title,Georgia,serif);font-weight:var(--ap-title-weight,700);font-size:calc(clamp(1.25em,3.6vw,2.3em)*var(--cs,1));line-height:1.15;color:var(--cc,#fff)}
.ap-car .mt{opacity:.9;font-size:calc(.95em*var(--cs,1));color:var(--cc,inherit)}
.ap-car .tag{display:inline-block;background:var(--ap-accent,#f2b01e);color:#1a1200;border-radius:99px;padding:2px 11px;font-size:.78em;font-weight:800;letter-spacing:.03em;text-shadow:none}
.ap-car .act{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px;text-shadow:none}
.ap-car .act button{border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.18);color:#fff;border-radius:99px;padding:8px 16px;font-weight:700;font-size:.9em;backdrop-filter:blur(4px)}
.ap-car .act button:hover{background:#fff;color:var(--ap-primary,#1d4f91)}.ap-car .act button.p{background:#fff;color:var(--ap-primary,#1d4f91);border-color:#fff}
.ap-car-ar{position:absolute;top:calc(var(--ch,360px)/2 - 22px);z-index:6;width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.88);color:#14213a;font-size:28px;line-height:1;padding:0 0 3px;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 12px rgba(0,0,0,.35);opacity:.0;transition:opacity .2s}
.ap-car:hover .ap-car-ar,.ap-car:focus-within .ap-car-ar{opacity:1}.ap-car-ar.l{left:12px}.ap-car-ar.r{right:12px}.ap-car-ar:disabled{opacity:.3!important}
@media (hover:none){.ap-car-ar{opacity:.85}}
.ap-car-bar{position:absolute;left:0;right:0;bottom:14px;z-index:6;display:flex;justify-content:center;align-items:center;gap:14px;pointer-events:none}
.ap-car-bar>*{pointer-events:auto}
.ap-car-dots{display:flex;gap:7px;align-items:center}.ap-car-dots button{width:10px;height:10px;border-radius:99px;border:0;padding:0;background:rgba(255,255,255,.5);transition:width .25s,background .25s}.ap-car-dots button.on{width:26px;background:#fff}
.ap-car-cnt{background:rgba(0,0,0,.45);color:#fff;border-radius:99px;padding:2px 11px;font-size:.8em;font-weight:700}
.ap-car-pb{width:30px;height:30px;border-radius:50%;border:0;background:rgba(0,0,0,.45);color:#fff;padding:0;font-size:13px;line-height:1}
.ap-car-pr{position:absolute;left:18px;right:18px;bottom:5px;height:4px;border-radius:99px;background:rgba(255,255,255,.22);z-index:6;overflow:hidden}.ap-car-pr i{display:block;height:100%;width:0;background:var(--ap-accent,#f2b01e)}
@keyframes ap-car-prog{from{width:0}to{width:100%}}
.ap-car.paused .ap-car-pr i{animation-play-state:paused!important}
.ap-car-th{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding-bottom:4px}.ap-car-th button{flex:0 0 76px;height:48px;border-radius:10px;border:2px solid transparent;background:#2a1450 center/cover no-repeat;opacity:.65;padding:0}.ap-car-th button.on{opacity:1;border-color:var(--ap-accent,#f2b01e)}
/* mode pile : un message à la fois */
.ap-car[data-track="0"] .sl{position:absolute;inset:0;transition:transform var(--cd,.8s) var(--ce,cubic-bezier(.65,0,.35,1)),opacity var(--cd,.8s) ease,filter var(--cd,.8s) ease,clip-path var(--cd,.8s) ease;backface-visibility:hidden}
.ap-car[data-track="0"] .sl.s-nt{transition:none!important}
.ap-car[data-track="0"] .sl:not(.s-on):not(.s-tr){visibility:hidden;pointer-events:none}
.ap-car[data-track="0"] .sl.s-on{opacity:1;transform:none;filter:none;clip-path:inset(0);z-index:2}
.ap-car[data-track="0"] .sl.s-tr{z-index:1}
.ap-car[data-fx=flip] .ap-car-tr,.ap-car[data-fx=flipx] .ap-car-tr,.ap-car[data-fx=cube] .ap-car-tr{perspective:1400px}
.ap-car[data-fx=glisse] .sl.s-a{transform:translate3d(100%,0,0);}.ap-car[data-fx=glisse] .sl.s-b{transform:translate3d(-100%,0,0);}
.ap-car[data-fx=vertical] .sl.s-a{transform:translate3d(0,100%,0);}.ap-car[data-fx=vertical] .sl.s-b{transform:translate3d(0,-100%,0);}
.ap-car[data-fx=fondu] .sl.s-a{opacity:0;}.ap-car[data-fx=fondu] .sl.s-b{opacity:0;}
.ap-car[data-fx=zoom] .sl.s-a{transform:scale(.6);opacity:0;}.ap-car[data-fx=zoom] .sl.s-b{transform:scale(1.5);opacity:0;}
.ap-car[data-fx=flip] .sl.s-a{transform:rotateY(90deg);opacity:0;}.ap-car[data-fx=flip] .sl.s-b{transform:rotateY(-90deg);opacity:0;}
.ap-car[data-fx=flipx] .sl.s-a{transform:rotateX(90deg);opacity:0;}.ap-car[data-fx=flipx] .sl.s-b{transform:rotateX(-90deg);opacity:0;}
.ap-car[data-fx=cube] .sl.s-a{transform:translate3d(100%,0,0) rotateY(-80deg);}.ap-car[data-fx=cube] .sl.s-b{transform:translate3d(-100%,0,0) rotateY(80deg);}
.ap-car[data-fx=rotation] .sl.s-a{transform:rotate(18deg) scale(.5);opacity:0;}.ap-car[data-fx=rotation] .sl.s-b{transform:rotate(-18deg) scale(.5);opacity:0;}
.ap-car[data-fx=cartes] .sl.s-a{transform:translate3d(40%,0,0) rotate(8deg) scale(.8);opacity:0;}.ap-car[data-fx=cartes] .sl.s-b{transform:translate3d(-40%,0,0) rotate(-8deg) scale(.8);opacity:0;}
.ap-car[data-fx=cascade] .sl.s-a{transform:translate3d(0,-100%,0);opacity:0;}.ap-car[data-fx=cascade] .sl.s-b{transform:translate3d(0,100%,0);opacity:0;}
.ap-car[data-fx=spirale] .sl.s-a{transform:rotate(360deg) scale(0);opacity:0;}.ap-car[data-fx=spirale] .sl.s-b{transform:rotate(-360deg) scale(0);opacity:0;}
.ap-car[data-fx=cube] .sl.s-a{transform-origin:0 50%}.ap-car[data-fx=cube] .sl.s-b{transform-origin:100% 50%}
.ap-car[data-fx=rideau] .sl.s-a{clip-path:inset(0 0 0 100%)}.ap-car[data-fx=rideau] .sl.s-b{clip-path:inset(0 100% 0 0)}
.ap-car[data-fx=flou] .sl.s-a,.ap-car[data-fx=flou] .sl.s-b{opacity:0;filter:blur(24px);transform:scale(1.08)}
.ap-car[data-fx=lueur] .sl.s-a,.ap-car[data-fx=lueur] .sl.s-b{opacity:0;filter:brightness(3) saturate(0)}
/* mode piste / défilement continu : plusieurs messages visibles */
.ap-car[data-track="1"] .ap-car-tr{display:flex;gap:var(--cg,14px);transition:transform var(--cd,.8s) var(--ce,cubic-bezier(.65,0,.35,1))}
.ap-car[data-track="1"] .ap-car-tr.cont{transition:none;will-change:transform}
.ap-car[data-track="1"] .sl{position:relative;flex:0 0 calc((100% - (var(--vw,1) - 1)*var(--cg,14px))/var(--vw,1));height:var(--ch,360px);border-radius:var(--cr,var(--ap-radius,16px));overflow:hidden;background:#14081f}
.ap-car[data-track="1"] .ap-car-vp{background:transparent;box-shadow:none;overflow:hidden}
.ap-car[data-track="1"] .cap{padding-bottom:22px}
/* animations des textes et de l'image */
.ap-car[data-track="0"] .sl.s-on .cap>*{animation:ap-car-up .7s cubic-bezier(.2,.7,.2,1) both}
.ap-car[data-track="0"] .sl.s-on .cap>*:nth-child(2){animation-delay:.12s}.ap-car[data-track="0"] .sl.s-on .cap>*:nth-child(3){animation-delay:.24s}.ap-car[data-track="0"] .sl.s-on .cap>*:nth-child(4){animation-delay:.36s}
@keyframes ap-car-up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.ap-car.kb[data-track="0"] .sl.s-on .bg{animation:ap-car-kb calc(var(--ke,6s) + var(--cd,.8s) + .5s) ease-out both}
.ap-car.kb[data-track="0"] .sl.s-on .bg.kb2{animation-name:ap-car-kb2}
.ap-car.kb[data-track="1"] .bg{animation:ap-car-kb 16s ease-in-out infinite alternate}
@keyframes ap-car-kb{from{transform:scale(1)}to{transform:scale(1.14) translate(-1.5%,-1%)}}
@keyframes ap-car-kb2{from{transform:scale(1.14) translate(1.5%,1%)}to{transform:scale(1)}}
@media (max-width:640px){.ap-car .cap{padding:16px 16px 52px}.ap-car .act button{padding:7px 12px}.ap-car[data-cap=gauche] .cap{width:100%}.ap-car-ar{width:38px;height:38px;font-size:24px}}
@media (prefers-reduced-motion:reduce){.ap-car .sl,.ap-car .bg,.ap-car .cap>*{animation:none!important;transition:none!important}}
.ap-rail-auto{scroll-snap-type:none!important}.ap-rail-cont{scroll-behavior:auto!important}

/* carrousel : éléments repositionnés (glisser-déposer) */
.ap-car .sl .free{position:absolute;inset:0;pointer-events:none;text-shadow:0 2px 10px rgba(0,0,0,.55);z-index:2}
.ap-car .sl .free .fr{position:absolute;pointer-events:auto;max-width:92%}
.ap-car .sl .free .ttl.fr{width:max-content}
.ap-car.ap-posmode .sl [data-el]{cursor:move;outline:2px dashed rgba(255,255,255,.85);outline-offset:3px;touch-action:none;user-select:none}
.ap-car.ap-posmode .sl [data-el] button{pointer-events:none}
.ap-car.ap-posmode .sl .free{pointer-events:none}

/* carrousel : options de présentation */
.ap-car[data-ar=carre] .ap-car-ar{border-radius:10px}
.ap-car[data-ar=discret] .ap-car-ar{background:transparent;color:#fff;box-shadow:none;font-size:42px;text-shadow:0 2px 8px rgba(0,0,0,.6);width:40px}
.ap-car[data-arp=bas] .ap-car-ar{top:auto;bottom:8px;opacity:1}.ap-car[data-arp=bas] .ap-car-ar.l{left:calc(50% - 130px)}.ap-car[data-arp=bas] .ap-car-ar.r{right:calc(50% - 130px)}
.ap-car[data-ds=traits] .ap-car-dots button{width:22px;height:4px;border-radius:2px}.ap-car[data-ds=traits] .ap-car-dots button.on{width:40px}
.ap-car[data-ds=carres] .ap-car-dots button{width:10px;height:10px;border-radius:2px}.ap-car[data-ds=carres] .ap-car-dots button.on{width:10px;background:var(--ap-accent,#f2b01e);transform:rotate(45deg)}
.ap-car[data-bp=haut] .ap-car-bar{bottom:auto;top:14px}.ap-car[data-bp=haut] .ap-car-pr{bottom:auto;top:5px}
.ap-car-th.lim{align-items:center}.ap-car-th .thn{flex:0 0 34px;height:48px;border-radius:10px;border:1px solid rgba(0,0,0,.15);background:var(--ap-card,#fff);color:var(--ap-primary,#1d4f91);font-size:22px;padding:0}.ap-car-th .thn:disabled{opacity:.3}

/* ===== Blocs de messages : survol, apparition, présentation, mise en page (onglet « Blocs de messages ») ===== */
.ap-card .ap-cover{transition:transform .45s ease}
.ap[data-chv=none] .ap-card:hover,.ap[data-chv=none][data-anim="1"] .ap-card:hover{transform:none}
.ap[data-chv=zoom] .ap-card:hover,.ap[data-chv=zoom][data-anim="1"] .ap-card:hover{transform:none}.ap[data-chv=zoom] .ap-card:hover .ap-cover,.ap[data-chv=liftzoom] .ap-card:hover .ap-cover{transform:scale(1.07)}
.ap[data-chv=liftzoom] .ap-card:hover{transform:translateY(-4px)}
.ap[data-chv=glow] .ap-card:hover,.ap[data-chv=glow][data-anim="1"] .ap-card:hover{transform:translateY(-2px);box-shadow:0 0 0 2px var(--ap-accent,#f2b01e),0 12px 34px color-mix(in srgb,var(--ap-accent,#f2b01e) 45%,transparent)}
.ap[data-chv=tilt] .ap-card,.ap[data-chv=tilt][data-anim="1"] .ap-card{transition:transform .15s ease-out,box-shadow .2s}
.ap[data-chv=tilt] .ap-card:hover,.ap[data-chv=tilt][data-anim="1"] .ap-card:hover{transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-4px)}
.ap[data-chv=shine] .ap-card::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.4) 50%,transparent 62%);transform:translateX(-130%);pointer-events:none;z-index:4}
.ap[data-chv=shine] .ap-card:hover::after{transform:translateX(130%);transition:transform .8s ease}
.ap[data-chv=shine] .ap-card:hover{transform:translateY(-3px)}
@keyframes ap-e-monte{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
@keyframes ap-e-gauche{from{opacity:0;transform:translateX(-46px)}to{opacity:1;transform:none}}
@keyframes ap-e-droite{from{opacity:0;transform:translateX(46px)}to{opacity:1;transform:none}}
@keyframes ap-e-zoom{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}
@keyframes ap-e-rebond{0%{opacity:0;transform:translateY(40px) scale(.9)}60%{opacity:1;transform:translateY(-8px) scale(1.02)}100%{transform:none}}
@keyframes ap-e-rot{from{opacity:0;transform:rotate(-6deg) scale(.9)}to{opacity:1;transform:none}}
@keyframes ap-e-flou{from{opacity:0;filter:blur(12px)}to{opacity:1;filter:none}}
@keyframes ap-e-fondu{from{opacity:0}to{opacity:1}}
.ap[data-anim="1"][data-cen=monte] .ap-card{animation:ap-e-monte .55s ease both;animation-delay:var(--ad,0ms)}
.ap[data-anim="1"][data-cen=fondu] .ap-card{animation:ap-e-fondu .6s ease both;animation-delay:var(--ad,0ms)}
.ap[data-anim="1"][data-cen=gauche] .ap-card{animation:ap-e-gauche .55s ease both;animation-delay:var(--ad,0ms)}
.ap[data-anim="1"][data-cen=droite] .ap-card{animation:ap-e-droite .55s ease both;animation-delay:var(--ad,0ms)}
.ap[data-anim="1"][data-cen=zoom] .ap-card{animation:ap-e-zoom .55s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--ad,0ms)}
.ap[data-anim="1"][data-cen=rebond] .ap-card{animation:ap-e-rebond .75s ease both;animation-delay:var(--ad,0ms)}
.ap[data-anim="1"][data-cen=rotation] .ap-card{animation:ap-e-rot .6s ease both;animation-delay:var(--ad,0ms)}
.ap[data-anim="1"][data-cen=flou] .ap-card{animation:ap-e-flou .7s ease both;animation-delay:var(--ad,0ms)}
.ap[data-cen=aucune] .ap-card{animation:none!important}
.ap[data-cal=center] .ap-card-b{text-align:center}.ap[data-cal=right] .ap-card-b{text-align:right}
.ap .ap-card-t{font-size:calc(1.08em*var(--cb-ts,1))}
.ap[data-ctl="1"] .ap-card-t,.ap[data-ctl="2"] .ap-card-t,.ap[data-ctl="3"] .ap-card-t{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--cb-tl,2);overflow:hidden}
.ap[data-cpl=centre] .ap-card .ap-cplay{right:50%;bottom:50%;transform:translate(50%,50%)}
.ap[data-cpl=haut] .ap-card .ap-cplay{right:10px;bottom:auto;top:10px}
.ap[data-cpl=masque] .ap-card .ap-cplay{display:none!important}
.ap[data-cac=haut] .ap-card{border-top:4px solid var(--ap-accent,#f2b01e)}.ap[data-cac=gauche] .ap-card{border-left:5px solid var(--ap-accent,#f2b01e)}.ap[data-cac=bas] .ap-card{border-bottom:4px solid var(--ap-accent,#f2b01e)}
.ap[data-cde=compact] .ap-card-b{padding-top:8px;padding-left:10px;padding-right:10px}.ap[data-cde=aere] .ap-card-b{padding-top:22px;padding-left:20px;padding-right:20px}
.ap[data-cr] .ap-grid .ap-cover,.ap[data-cr] .ap-rail .ap-cover{height:auto;aspect-ratio:var(--cb-r,16 / 9)}
.ap[data-cg] .ap-grid{gap:var(--cb-g,16px)}.ap[data-cg] .ap-rail{gap:var(--cb-g,14px)}
.ap-rail.ap-rn .ap-card{flex:0 0 calc((100% - (var(--ap-n) - 1)*var(--cb-g,14px))/var(--ap-n))}
.ap[data-cft=contain] .ap-card .ap-cover{background-size:contain;background-repeat:no-repeat;background-color:rgba(0,0,0,.07)}
.ap[data-cbig="1"] .ap-grid>.ap-card:first-child{grid-column:span 2}
.ap-tytag{position:absolute;left:8px;bottom:8px;background:var(--ap-accent,#f2b01e);color:#1a1200;border-radius:99px;padding:2px 10px;font-size:.7em;font-weight:800;line-height:1.5;z-index:2}
.ap[data-cb-nobadges] .ap-card .ap-badges{display:none}
