/* Rise by Hawa — lecteur vidéo unifié (YouTube, Facebook, Vimeo, Bunny, fichiers hébergés) */
.lv{position:relative;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#0E2A18;isolation:isolate;box-shadow:0 14px 40px rgba(14,42,24,.18);margin:0 0 1.25rem}
.lv.vertical{max-width:440px;max-height:82vh;margin-left:auto;margin-right:auto}
.lv-affiche{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;cursor:pointer;border:0;padding:0;width:100%;
  background:radial-gradient(120% 90% at 30% 20%,#1E5631 0%,#0E2A18 70%) center/cover no-repeat;color:#FFFDF9;font:inherit}
.lv-affiche.avec-image{background-size:cover}
.lv-affiche::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,42,24,.05) 30%,rgba(14,42,24,.72) 100%);transition:opacity .3s}
.lv-affiche:hover::before{opacity:.8}
.lv-filigrane{position:absolute;width:30%;max-width:190px;opacity:.16;clip-path:circle(45.5% at 50% 50%);filter:saturate(.8)}
.lv-play{position:relative;z-index:1;width:78px;height:78px;border-radius:50%;background:#B8924A;color:#FFFDF9;display:grid;place-items:center;font-size:1.6rem;
  box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform .25s ease,background .25s}
.lv-play i{margin-left:5px}
.lv-play::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px solid rgba(230,211,168,.7);animation:lvPulse 2.2s ease-out infinite}
.lv-affiche:hover .lv-play,.lv-affiche:focus-visible .lv-play{transform:scale(1.07);background:#9C7A38}
.lv-affiche:focus-visible{outline:3px solid #E6D3A8;outline-offset:-3px}
.lv-infos{position:absolute;left:0;right:0;bottom:0;z-index:1;display:flex;align-items:center;gap:.6rem;padding:.9rem 1.1rem;text-align:left}
.lv-source{flex:none;display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;background:rgba(255,253,249,.16);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:.3rem .65rem;border-radius:99px}
.lv-titre{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 6px rgba(0,0,0,.4)}
.lv-media{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000;opacity:0;transition:opacity .5s ease}
.lv.pret .lv-media{opacity:1}
video.lv-media{object-fit:contain}

/* Chargeur */
.lv-charge{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:#F4EFE4;
  background:radial-gradient(110% 90% at 50% 40%,#1E5631 0%,#0E2A18 72%);transition:opacity .5s ease,visibility .5s}
.lv.pret .lv-charge{opacity:0;visibility:hidden}
.lv-anneau{position:relative;width:96px;height:96px;display:grid;place-items:center}
.lv-anneau::before,.lv-anneau::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid transparent}
.lv-anneau::before{border-top-color:#E6D3A8;border-right-color:rgba(230,211,168,.35);animation:lvTourne 1.1s linear infinite}
.lv-anneau::after{inset:9px;border-bottom-color:#B8924A;border-left-color:rgba(184,146,74,.3);animation:lvTourne 1.6s linear infinite reverse}
.lv-anneau img{width:58px;height:58px;border-radius:50%;object-fit:cover;clip-path:circle(45.5% at 50% 50%);transform-origin:center;animation:lvRespire 2s ease-in-out infinite}
.lv-charge p{margin:0;font-size:.9rem;letter-spacing:.06em;opacity:.9}
.lv-barre{width:min(180px,50%);height:2px;border-radius:2px;background:rgba(244,239,228,.15);overflow:hidden}
.lv-barre span{display:block;height:100%;width:40%;background:linear-gradient(90deg,transparent,#E6D3A8,transparent);animation:lvGlisse 1.3s ease-in-out infinite}
/* mise en mémoire tampon pendant la lecture d'un fichier */
.lv-tampon{position:absolute;z-index:2;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;border:3px solid rgba(230,211,168,.25);
  border-top-color:#E6D3A8;animation:lvTourne .9s linear infinite;opacity:0;visibility:hidden;transition:opacity .2s;pointer-events:none}
.lv.attente .lv-tampon{opacity:1;visibility:visible}
.lv-erreur{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;padding:1.5rem;text-align:center;
  background:#0E2A18;color:#F4EFE4}
.lv-erreur i{font-size:2rem;color:#E6D3A8}
.lv-erreur a{color:#E6D3A8}
@keyframes lvTourne{to{transform:rotate(360deg)}}
@keyframes lvRespire{0%,100%{transform:scale(.94);opacity:.85}50%{transform:scale(1);opacity:1}}
@keyframes lvGlisse{0%{transform:translateX(-100%)}100%{transform:translateX(250%)}}
@keyframes lvPulse{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.35);opacity:0}}
@media (prefers-reduced-motion:reduce){.lv-play::after,.lv-anneau img,.lv-barre span{animation:none}.lv-anneau::before,.lv-anneau::after{animation-duration:3s}}

/* Aperçu et envoi dans les éditeurs */
.video-source{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}
.video-source button{flex:1;min-width:10rem;border:1px solid #E2D8C8;background:#FFFDF9;border-radius:10px;padding:.8rem;font:inherit;cursor:pointer;color:#22271F;display:flex;gap:.55rem;align-items:center;justify-content:center}
.video-source button.actif{border-color:#B8924A;background:#FBF6EC;box-shadow:inset 0 0 0 1px #B8924A}
.video-detecte{font-size:.85rem;margin:.35rem 0 0;display:flex;gap:.4rem;align-items:center}
.video-detecte.ok{color:#2F6B3F}.video-detecte.non{color:#A4452C}
.quota{margin:0 0 1rem}
.quota-barre{height:10px;border-radius:99px;background:#EFE7DB;overflow:hidden}
.quota-barre span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#2F6B3F,#1E5631);transition:width .6s}
.quota-barre.haut span{background:linear-gradient(90deg,#B8924A,#9C7A38)}
.quota-barre.plein span{background:linear-gradient(90deg,#C0583B,#A4452C)}
.quota-txt{display:flex;justify-content:space-between;font-size:.85rem;color:#5E6659;margin-top:.35rem;gap:1rem;flex-wrap:wrap}
.envoi-video{display:block;width:100%;box-sizing:border-box;border:2px dashed #D9C9AE;border-radius:14px;padding:1.6rem 1rem;text-align:center;background:#FFFDF9;transition:border-color .2s,background .2s;cursor:pointer}
.envoi-video:hover,.envoi-video.survol{border-color:#B8924A;background:#FBF6EC}
.envoi-video i{font-size:1.8rem;color:#B8924A;display:block;margin-bottom:.4rem}
.envoi-progres{margin-top:1rem;text-align:left}
.envoi-progres .quota-barre span{background:linear-gradient(90deg,#B8924A,#E6D3A8,#B8924A);background-size:200% 100%;animation:lvBrille 1.5s linear infinite}
@keyframes lvBrille{to{background-position:-200% 0}}
.formules{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1rem 0}
.formule{border:1px solid #E2D8C8;border-radius:14px;padding:1.4rem;background:#FFFDF9;display:flex;flex-direction:column;gap:.5rem}
.formule.actuelle{border-color:#2F6B3F;box-shadow:inset 0 0 0 1px #2F6B3F}
.formule b{font-family:"Cormorant Garamond",Georgia,serif;font-size:2.2rem;font-weight:500;color:#0E2A18;line-height:1}
.formule .prix{font-size:1.05rem}

/* Choix explicite du mode de publication d'une vidéo */
.video-source{align-items:stretch}
.video-source button{flex:1 1 15rem;justify-content:flex-start;text-align:left;padding:.9rem 1rem;gap:.7rem;align-items:flex-start;line-height:1.35}
.video-source button i{font-size:1.15rem;color:#B8924A;margin-top:.15rem}
.video-source button span{display:block}
.video-source button b{display:block;font-weight:500;margin-bottom:.15rem}
.video-source button small{display:block;font-size:.82rem;color:#5E6659}
.video-source button.actif b{color:#0E2A18}
.aide-liens{border:1px solid #E2D8C8;border-radius:10px;background:#FFFDF9;padding:.2rem .9rem;margin-bottom:.5rem}
.aide-liens summary{cursor:pointer;padding:.6rem 0;font-size:.92rem;color:#1E5631}
.aide-liens ul{margin:.2rem 0 .6rem;padding-left:1.1rem;font-size:.88rem;line-height:1.6}
.aide-liens li{margin-bottom:.35rem}
.aide-liens b i{color:#B8924A;width:1.1em}
.diag{display:flex;gap:.7rem;align-items:flex-start;padding:.6rem 0;border-top:1px solid #EFE7DB;font-size:.9rem}
.diag:first-of-type{border-top:0}
.diag i{font-size:1.1rem;margin-top:.15rem}
.diag i.vrai{color:#2F6B3F}.diag i.faux{color:#C0583B}
