/* RTVS Contenus : composants (vidéos, événements, radio, publicités, formulaires, modale). */
:root{--r-rouge:var(--wp--preset--color--rouge,#E3171E);--r-vif:#FF3130;--r-bord:var(--wp--preset--color--bordeaux,#8E0E12);--r-nuit:var(--wp--preset--color--nuit,#0E0B0B);--r-ligne:var(--wp--preset--color--ligne,#EADFDB);--r-gris:var(--wp--preset--color--gris,#6E6260);--r-rose:var(--wp--preset--color--rose,#FCE9E7);--r-s2:#FBF6F4;--r-texte:#1B1414;--r-disp:var(--wp--preset--font-family--display,'Archivo',Arial,sans-serif);--r-serif:var(--wp--preset--font-family--serif,'Playfair Display',Georgia,serif);--r-grad:linear-gradient(135deg,#C8141B 0%,#7A0B0F 55%,#2A0606 100%)}
[class*="rtvs-"],[class*="rtvs-"] *,.cover,.vcarte,.vcarte *,.ecarte,.ecarte *,.w,.w *,.vedette-h,.vedette-h *,.ep,.ep *{box-sizing:border-box}
.ex{display:inline-block;margin-left:.35rem;font:700 .58rem/1.6 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--r-gris);border:1px dashed currentColor;padding:0 .35rem;border-radius:3px;vertical-align:2px;white-space:nowrap}
.rtvs-vide{color:var(--r-gris)}
.rtvs-cache{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--r-disp);font-weight:800;font-size:.92rem;padding:.8rem 1.3rem;border-radius:999px;border:2px solid var(--r-rouge);background:var(--r-rouge);color:#fff!important;cursor:pointer;white-space:nowrap;line-height:1.1;text-decoration:none}
.btn:hover{background:var(--r-bord);border-color:var(--r-bord)}
.btn.contour{background:#fff;color:var(--r-rouge)!important;border-color:var(--r-ligne)}
.btn.contour:hover{border-color:var(--r-rouge)}
.btn.blanc{background:#fff;color:var(--r-bord)!important;border-color:#fff}
.btn.noir{background:var(--r-nuit);border-color:var(--r-nuit)}
.btn.inactif{opacity:.6;cursor:default;background:#fff;color:var(--r-rouge)!important;border-color:var(--r-ligne)}
.lien{font-family:var(--r-disp);font-weight:800;font-size:.9rem;text-decoration:none;color:inherit}
.lien:hover{color:var(--r-rouge)}
.ph{width:100%;height:100%;object-fit:cover;display:block}
.ph.contain{object-fit:contain;position:relative;z-index:1}
img.flou{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(18px) saturate(1.2);transform:scale(1.2);opacity:.7}
.m{font-size:.82rem;color:var(--r-gris)}
@keyframes rtvs-pulse{50%{opacity:.25}}

/* Couvertures typographiques */
.cover{position:relative;width:100%;height:100%;overflow:hidden;background:var(--r-rouge);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(.6rem,5%,1.2rem);container-type:inline-size}
.cover::before{content:"";position:absolute;inset:0;background:repeating-radial-gradient(circle at 100% 100%, transparent 0 46px, rgba(255,255,255,.15) 46px 54px)}
.cover.c1{background:#0E0B0B}
.cover.c1::before{background:repeating-radial-gradient(circle at 100% 100%, transparent 0 46px, rgba(227,23,30,.5) 46px 54px)}
.cover.c2{background:#8E0E12}
.cover .sig{position:relative;font-family:var(--r-disp);font-weight:900;font-size:.62rem;letter-spacing:.2em;opacity:.85}
.cover .mot{position:relative;font-family:var(--r-disp);font-stretch:70%;font-weight:900;font-size:clamp(1.2rem,11cqi,3rem);line-height:.9;text-transform:uppercase;overflow-wrap:anywhere}

/* Barre du haut */
.tb-direct{display:inline-flex;align-items:center;gap:.5rem;background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;padding:.35rem .85rem;font-weight:700;font-size:.8rem;white-space:nowrap;color:#fff}
.tb-direct i{width:8px;height:8px;border-radius:50%;background:var(--r-vif);animation:rtvs-pulse 1.4s infinite}
@media (max-width:480px){.tb-direct{display:none}}
.rtvs-soc{display:inline-flex;gap:.4rem}
.rond{width:40px;height:40px;border-radius:50%;background:#ffffff12;border:1px solid #ffffff26;display:grid;place-items:center;color:#fff!important;font-family:var(--r-disp);font-weight:800;font-size:.78rem;text-decoration:none}
.rond:hover{background:var(--r-rouge);border-color:var(--r-rouge)}
@media (max-width:620px){.rtvs-topbar .rtvs-soc{display:none}}

/* Vidéos */
.rtvs-videos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem}
.rtvs-videos.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.rtvs-videos.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:1000px){.rtvs-videos,.rtvs-videos.c3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.rtvs-videos,.rtvs-videos.c3,.rtvs-videos.c2{grid-template-columns:1fr}}
.vcarte{background:#1A1414;color:#F4EEEB;border-radius:20px;overflow:hidden;border:1px solid #ffffff12;display:flex;flex-direction:column;min-width:0;transition:transform .3s;text-decoration:none}
.vcarte:hover{transform:translateY(-4px)}
.vcarte[hidden]{display:none}
.vcarte .vis{position:relative;aspect-ratio:16/10;overflow:hidden}
.btn-play{position:absolute;inset:0;margin:auto;width:60px;height:60px;border-radius:50%;background:var(--r-rouge);color:#fff;display:grid;place-items:center;z-index:2;box-shadow:0 10px 30px -8px #000c;font-size:1.05rem;padding-left:3px}
.duree{position:absolute;right:.7rem;bottom:.7rem;background:#000c;color:#fff;font-weight:700;font-size:.74rem;padding:.2rem .5rem;border-radius:6px;z-index:2}
.acces{position:absolute;left:.7rem;top:.7rem;z-index:2;background:#fff;color:#1B1414;font-family:var(--r-disp);font-weight:800;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;padding:.35rem .7rem;border-radius:999px}
.acces.membres{background:#FFC24A}
.vcarte .c{padding:1rem 1.1rem 1.2rem;display:grid;gap:.35rem;align-content:start}
.vcarte .k{font-family:var(--r-disp);font-weight:800;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#FF5A57}
.vcarte h3{font-family:var(--r-disp);font-size:1.05rem;font-weight:800;color:#fff;letter-spacing:-.02em;margin:0;line-height:1.2}
.vcarte .m,.vcarte .ex{color:#A99E9A}
.rtvs-chips{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1.2rem}
.rtvs-chips button{font-family:var(--r-disp);font-weight:800;font-size:.88rem;padding:.6rem 1.1rem;border-radius:999px;border:1px solid var(--r-ligne);background:#fff;color:var(--r-texte);cursor:pointer}
.rtvs-chips button.on{background:var(--r-bord);color:#fff;border-color:var(--r-bord)}

/* Vedette (vidéo, balado) */
.vedette-h{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);background:#fff;border:1px solid var(--r-ligne);border-radius:30px;overflow:hidden;text-decoration:none;color:var(--r-texte);margin-bottom:1.4rem}
.vedette-h .v{position:relative;min-height:320px;background:var(--r-nuit);overflow:hidden}
.vedette-h .v .ph,.vedette-h .v .cover{position:absolute;inset:0}
.vedette-h .t{padding:clamp(1.5rem,4vw,2.6rem);display:flex;flex-direction:column;gap:.9rem;justify-content:center}
.vedette-h h2{font-family:var(--r-disp);font-size:clamp(1.7rem,3.4vw,2.8rem);font-weight:900;letter-spacing:-.05em;line-height:1;margin:0;color:var(--r-texte)}
.vedette-h p{color:var(--r-gris);margin:0}
.vedette-h .acts{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap}
.pill-r{align-self:flex-start;background:var(--r-bord);color:#fff;font-family:var(--r-disp);font-weight:800;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;padding:.5rem 1rem;border-radius:999px}
.cats-l{font-family:var(--r-disp);font-weight:800;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--r-rouge)}
.gros-play{width:72px;height:72px;border-radius:50%;border:0;background:var(--r-bord);color:#fff!important;font-size:1.4rem;cursor:pointer;display:grid;place-items:center;padding-left:4px;text-decoration:none}
.gros-play:hover{background:var(--r-rouge)}
.duree-pill{display:inline-flex;padding:.55rem 1rem;border-radius:999px;border:1px solid var(--r-ligne);font-family:var(--r-disp);font-weight:800;color:var(--r-rouge)}
@media (max-width:820px){.vedette-h{grid-template-columns:1fr}.vedette-h .v{min-height:220px}}
.liste-ep{display:grid;gap:.8rem}
.ep{display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:.9rem;align-items:center;border:1px solid var(--r-ligne);border-radius:18px;padding:.6rem;background:#fff;text-decoration:none;color:var(--r-texte)}
.w .ep{grid-template-columns:84px minmax(0,1fr)}
.ep .vig{aspect-ratio:1;border-radius:12px;overflow:hidden;display:block;position:relative}
.ep b{font-family:var(--r-disp);font-size:.98rem;line-height:1.2;display:block;letter-spacing:-.02em}
.ep b a{color:inherit;text-decoration:none}
.mini-play,.fl-play{width:44px;height:44px;border-radius:50%;border:0;background:var(--r-rouge);color:#fff!important;cursor:pointer;display:grid;place-items:center;text-decoration:none;flex-shrink:0}
.fl-play{width:32px;height:32px;font-size:.8rem}
.faux-lecteur{display:flex;align-items:center;gap:.7rem;background:var(--r-s2);border:1px solid var(--r-ligne);border-radius:999px;padding:.35rem .9rem .35rem .4rem;font-size:.78rem;color:var(--r-gris)}
.faux-lecteur .barre{flex:1;height:4px;border-radius:2px;background:var(--r-ligne)}
.plateformes{display:flex;gap:.5rem;flex-wrap:wrap}
.plat{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .95rem;border-radius:999px;border:1px solid var(--r-ligne);background:#fff;font-weight:700;font-size:.85rem;color:var(--r-texte)!important;text-decoration:none}
.plat i{width:9px;height:9px;border-radius:50%;flex-shrink:0}
a.plat:hover{border-color:var(--r-rouge)}
.plat small{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--r-gris)}
.rtvs-sous-sec{font-family:var(--r-disp);font-weight:900;margin:2rem 0 1rem}

/* Événements */
.rtvs-evts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
@media (max-width:1000px){.rtvs-evts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.rtvs-evts{grid-template-columns:1fr}}
.ecarte{background:#fff;border:1px solid var(--r-ligne);border-radius:24px;overflow:hidden;display:flex;flex-direction:column;min-width:0;color:var(--r-texte)}
.ecarte .affiche,.w-evt .affiche{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--r-nuit)}
.w-evt .affiche{aspect-ratio:4/5;border-radius:18px}
.date-bloc{position:absolute;left:1rem;top:1rem;background:#fff;color:#1B1414;border-radius:14px;padding:.5rem .7rem;text-align:center;min-width:66px;z-index:2;box-shadow:0 10px 24px -12px #000a;display:block}
.date-bloc b{display:block;font-family:var(--r-disp);font-weight:900;font-size:1.5rem;line-height:1;color:#E3171E}
.date-bloc span{font-family:var(--r-disp);font-weight:800;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase}
.ecarte .c{padding:1.3rem;display:flex;flex-direction:column;gap:.7rem;flex:1}
.ecarte h3{font-family:var(--r-serif);font-size:1.4rem;font-weight:800;letter-spacing:-.01em;margin:0;line-height:1.15}
.ecarte h3 a{color:inherit;text-decoration:none}
.ecarte p{color:var(--r-gris);font-size:.93rem;margin:0}
.kicker{font-family:var(--r-disp);font-weight:800;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--r-rouge)}
.lieu{display:flex;align-items:center;gap:.4rem;font-size:.88rem;font-weight:600}
.lieu svg{color:var(--r-rouge);flex-shrink:0}
.couv-tag{display:inline-flex;gap:.45rem;align-items:center;font-size:.78rem;font-weight:700;color:var(--r-rouge);background:var(--r-rose);padding:.35rem .7rem;border-radius:999px;align-self:flex-start}
.jauge{display:grid;gap:.35rem}
.jauge .b{height:7px;background:var(--r-ligne);border-radius:4px;overflow:hidden}
.jauge .b i{display:block;height:100%;background:var(--r-rouge);border-radius:4px}
.jauge span{font-size:.8rem;color:var(--r-gris);font-weight:600}
.ecarte .acts,.rtvs-fiche .acts{margin-top:auto;padding-top:.4rem;display:flex;gap:.6rem;flex-wrap:wrap}
.rtvs-fiche{display:grid;gap:.8rem;margin-top:1.5rem;padding:1.5rem;background:#fff;border:1px solid var(--r-ligne);border-radius:22px}
.rtvs-fiche h3{margin:.8rem 0 0}
.niveaux-liste{display:grid;gap:.6rem}
.niveau-l{display:flex;justify-content:space-between;gap:1rem;border:1px solid var(--r-ligne);border-radius:16px;padding:.9rem 1rem}
.niveau-l ul{margin:.3rem 0 0;padding-left:1rem;font-size:.86rem;color:var(--r-gris)}
.niveau-l .prix,.niveau .prix{font-family:var(--r-disp);font-weight:900;font-size:1.15rem;color:var(--r-rouge);white-space:nowrap;display:block;text-align:right}
.niveau-l .rest,.niveau .rest{display:block;font-size:.72rem;color:var(--r-gris);text-align:right;font-weight:700}
.note{font-size:.88rem;color:var(--r-gris)}

/* Colonne de droite */
.w{background:#fff;border:1px solid var(--r-ligne);border-radius:26px;padding:1.5rem;display:grid;gap:.85rem;min-width:0;color:var(--r-texte)}
.w h3{font-family:var(--r-disp);font-size:1.45rem;font-weight:900;letter-spacing:-.04em;margin:0}
.w p{color:var(--r-gris);font-size:.95rem;margin:0}
.w-radio{background:var(--r-nuit);color:#fff;border-color:var(--r-nuit);position:relative;overflow:hidden}
.w-radio::after{content:"";position:absolute;right:-70px;top:-70px;width:220px;height:220px;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 22px,rgba(227,23,30,.25) 22px 27px);pointer-events:none}
.w-radio>*{position:relative;z-index:1}
.w-radio h3,.w-radio .lien{color:#fff}
.w-radio p,.w-radio .m{color:#B8AEA9}
.w-radio .r{display:flex;align-items:center;gap:1rem}
.w-radio .r b{font-family:var(--r-disp);font-size:1.12rem;display:block;line-height:1.15}
.pill-d{display:inline-flex;align-items:center;gap:.5rem;justify-self:start;align-self:flex-start;background:#ffffff14;color:#fff;font-family:var(--r-disp);font-weight:800;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;padding:.4rem .8rem;border-radius:999px}
.pill-d i{width:8px;height:8px;border-radius:50%;background:var(--r-vif);animation:rtvs-pulse 1.4s infinite}
.play-rond{width:58px;height:58px;border-radius:50%;border:0;background:var(--r-rouge);color:#fff;display:grid;place-items:center;cursor:pointer;flex-shrink:0;box-shadow:0 0 0 8px #E3171E33;font-size:1.1rem}
.play-rond:hover{background:#fff;color:var(--r-rouge)}
.p-ico::before{content:"▶"}
.en-lecture .p-ico::before{content:"❚❚"}
.w-evt h3{color:var(--r-rouge)}
.w-evt b{font-family:var(--r-disp);font-size:1.08rem;letter-spacing:-.02em;line-height:1.2}
.partenaires{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.partenaires>*{aspect-ratio:3/2;border:1px dashed var(--r-ligne);border-radius:12px;display:grid;place-items:center;font-size:.68rem;color:var(--r-gris);text-align:center;padding:.3rem;font-weight:600}
.partenaires img{max-height:100%;object-fit:contain}

/* Publicités */
.rtvs-pub{display:grid;gap:.8rem}
.pub-titre{display:flex;align-items:center;gap:1rem;color:var(--r-gris);font-size:.9rem;white-space:nowrap}
.pub-titre::before,.pub-titre::after{content:"";flex:1;height:1px;background:var(--r-ligne)}
.pub-img{display:block;position:relative;border-radius:22px;overflow:hidden}
.pub-img img{width:100%;height:auto;display:block}
.pub-chip{position:absolute;right:1rem;bottom:1rem;background:#0E0B0Bd9;color:#fff;font-weight:700;font-size:.78rem;padding:.45rem .85rem;border-radius:999px}
.pub-crea{position:relative;display:grid;place-items:center;align-content:center;gap:.6rem;text-align:center;border-radius:22px;background:#0E0B0B;color:#fff!important;padding:2rem 1.4rem;overflow:hidden;min-height:250px;text-decoration:none}
.pub-crea::before{content:"";position:absolute;inset:0;background:repeating-radial-gradient(circle at 100% 100%, transparent 0 40px, rgba(227,23,30,.38) 40px 46px)}
.pub-crea>*{position:relative}
.pub-crea .k{font-family:var(--r-disp);font-weight:800;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:#FF8A86}
.pub-crea b{font-family:var(--r-disp);font-stretch:66%;font-weight:900;font-size:clamp(1.8rem,4vw,2.5rem);text-transform:uppercase;line-height:.95}
.pub-crea .f{color:#C9C0BB;font-size:.85rem}
.pub-crea.large{min-height:190px}

/* Galerie d'aperçu + visionneuse */
.rtvs-galerie{display:grid;grid-auto-flow:dense;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(140px,15vw,220px);gap:.6rem}
.rtvs-galerie a{position:relative;border-radius:14px;overflow:hidden;display:block;background:var(--r-s2)}
.rtvs-galerie img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.rtvs-galerie a:hover img{transform:scale(1.05)}
.rtvs-galerie .leg{position:absolute;left:0;right:0;bottom:0;padding:.7rem .8rem;background:linear-gradient(0deg,rgba(14,11,11,.85),transparent);color:#fff;font-size:.78rem;font-weight:600;opacity:0;transition:opacity .3s}
.rtvs-galerie a:hover .leg{opacity:1}
.rtvs-galerie .h2{grid-row:span 2}
.rtvs-galerie .w2{grid-column:span 2}
@media (max-width:760px){.rtvs-galerie{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:160px}}
.rtvs-lb{position:fixed;inset:0;z-index:200;background:rgba(10,9,9,.95);display:grid;grid-template-rows:1fr auto;padding:3.6rem 16px 1rem}
.rtvs-lb[hidden]{display:none!important}
.rtvs-lb figure{margin:0;display:grid;place-items:center;min-height:0}
.rtvs-lb img{max-height:78vh;max-width:100%;border-radius:12px;object-fit:contain}
.rtvs-lb .bas-lb{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:#E9E2DE;padding-top:1rem}
.rtvs-lb button{width:46px;height:46px;border-radius:50%;border:1px solid #ffffff44;background:#ffffff12;color:#fff;font-size:1.1rem;cursor:pointer}
.rtvs-lb .fermer{position:absolute;top:.8rem;right:16px}

/* Radio */
.rtvs-ecouter{display:grid;gap:1rem;justify-items:start}
.rtvs-en-ondes{margin:0;font-weight:600}
.eq{display:flex;align-items:flex-end;gap:4px;height:46px}
.eq span{width:5px;border-radius:3px;background:#FFC24A;height:var(--h);opacity:.9;transform-origin:bottom}
.radio-joue .eq span{animation:rtvs-onde .9s ease-in-out infinite alternate}
@keyframes rtvs-onde{from{transform:scaleY(.25)}to{transform:scaleY(1)}}
.grille-jour{background:#fff;border:1px solid var(--r-ligne);border-radius:24px;padding:.4rem 1.3rem;color:var(--r-texte)}
.cren{display:grid;grid-template-columns:6.5rem minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.85rem 0;border-bottom:1px solid var(--r-ligne)}
.cren:last-child{border-bottom:0}
.cren .h{font-family:var(--r-disp);font-weight:800;font-size:.86rem;color:var(--r-rouge)}
.cren .n{font-family:var(--r-disp);font-weight:800;font-size:1.05rem;letter-spacing:-.02em}
.cren .an{font-size:.8rem;color:var(--r-gris)}
.cren .g{font-size:.64rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--r-gris)}
.cren.encours{background:var(--r-rouge);color:#fff;margin-inline:-.8rem;padding-inline:.8rem;border-radius:12px;border-color:transparent}
.cren.encours .h,.cren.encours .an,.cren.encours .g{color:#fff}
@media (max-width:520px){.cren{grid-template-columns:5.3rem minmax(0,1fr)}.cren .g{display:none}}

/* Formulaires */
.rtvs-form{display:grid;gap:.9rem}
.rtvs-form label{font-weight:600;font-size:.86rem;display:grid;gap:.35rem}
.rtvs-form :where(input,select,textarea){font:inherit;padding:.8rem .95rem;border:1px solid var(--r-ligne);border-radius:14px;background:#fff;color:var(--r-texte);width:100%;box-sizing:border-box}
.rtvs-form textarea{min-height:110px;resize:vertical}
.rtvs-form button[type=submit]{justify-self:start}
.rtvs-form-info{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;max-width:520px;margin:0 auto}
.rtvs-form-info input[type=email]{flex:1;min-width:220px;border:0}
.retour{padding:.9rem 1rem;border-radius:14px;font-weight:600;font-size:.92rem;text-align:left;flex-basis:100%}
.retour.ok{background:#E8F5EE;color:#14532D}
.retour.err{background:#FDECEC;color:#8A1414}

/* Modale de commandite */
.rtvs-modal{position:fixed;inset:0;z-index:150;background:rgba(14,11,11,.74);display:grid;place-items:center;padding:1rem 12px;overflow:auto}
.rtvs-modal[hidden]{display:none!important}
.rtvs-modal .boite{background:#fff;color:var(--r-texte);border-radius:28px;width:min(1060px,100%);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);overflow:auto;position:relative;max-height:calc(100vh - 2rem)}
@media (max-width:820px){.rtvs-modal .boite{grid-template-columns:1fr}}
.rtvs-modal .gauche{background:var(--r-grad);color:#fff;padding:1.8rem;display:flex;flex-direction:column;gap:.9rem}
.rtvs-modal .aff{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/5;max-height:330px;background:var(--r-nuit)}
.rtvs-modal .gauche h2{font-family:var(--r-serif);font-weight:800;font-size:1.8rem;color:#fff;margin:0}
.rtvs-modal .gauche p{color:#FFE1DE;font-size:.93rem;margin:0}
.rtvs-modal .gauche .lieu svg{color:#FFC24A}
.kicker-or{font-family:var(--r-disp);font-weight:800;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#FFC24A}
.rtvs-modal .droite{padding:1.8rem;display:grid;gap:1rem;align-content:start}
.rtvs-modal .droite h3{font-family:var(--r-disp);font-size:1.5rem;font-weight:900;letter-spacing:-.04em;margin:0}
.niveaux{display:grid;gap:.6rem}
.niveau{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;gap:.9rem;align-items:start;border:2px solid var(--r-ligne);border-radius:18px;padding:.9rem 1rem;cursor:pointer;font-weight:400!important}
.niveau.on{border-color:var(--r-rouge);background:var(--r-rose)}
.niveau input{margin-top:.3rem;accent-color:#E3171E;width:auto!important}
.niveau b{font-family:var(--r-disp);font-weight:900;font-size:1.02rem}
.niveau ul{margin:.3rem 0 0;padding-left:1rem;font-size:.84rem;color:var(--r-gris)}
.niveau.complet{opacity:.5;cursor:not-allowed}
.fermer-m{position:absolute;top:1rem;right:1rem;width:44px;height:44px;border-radius:50%;border:0;background:#ffffffe6;color:#1B1414;font-size:1.1rem;cursor:pointer;z-index:3}

/* Radio flottante, message */
.rtvs-radio-flottante{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(env(safe-area-inset-bottom) + 18px);z-index:120;display:flex;align-items:center;gap:.7rem;padding:.5rem 1.3rem .5rem .5rem;border-radius:999px;border:0;background:linear-gradient(120deg,#E3171E,#7A0B0F);color:#fff;font-family:var(--r-disp);font-weight:900;font-size:1.05rem;cursor:pointer;box-shadow:0 14px 34px -10px #8E0E12cc;text-align:left}
.rtvs-radio-flottante .i{width:42px;height:42px;border-radius:50%;background:#ffffff26;display:grid;place-items:center;font-size:.95rem;flex-shrink:0}
.rtvs-radio-flottante small{display:block;font-family:system-ui,sans-serif;font-weight:600;font-size:.68rem;opacity:.9;max-width:12rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rtvs-toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 92px);transform:translateX(-50%);background:#0E0B0B;color:#fff;padding:.85rem 1.2rem;border-radius:14px;z-index:130;font-size:.92rem;max-width:calc(100% - 32px);box-shadow:0 20px 40px -20px #000}
.rtvs-toast[hidden]{display:none!important}
@media (prefers-reduced-motion:reduce){.tb-direct i,.pill-d i,.radio-joue .eq span{animation:none}}
