/* Reproductor del vídeo del evento: mismo sistema que la VSL (HLS, sin adelantar, barra rápida) */
/* ---------- reproductor ---------- */
.tvp{position:relative;aspect-ratio:16/9;border-radius:var(--r-lg);overflow:hidden;background:#000;box-shadow:0 0 0 1px rgba(255,150,90,.28),0 0 80px -20px rgba(255,97,26,.55),0 40px 90px -40px #000;-webkit-user-select:none;user-select:none}
.tvp video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
.tvp__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s var(--ease);pointer-events:none}
.tvp.is-ready .tvp__poster{opacity:0}
.tvp__spin{position:absolute;left:50%;top:50%;width:42px;height:42px;margin:-21px 0 0 -21px;border-radius:50%;border:3px solid rgba(255,255,255,.22);border-top-color:var(--ember);animation:vspin .8s linear infinite;pointer-events:none}
.tvp.is-ready .tvp__spin{display:none}
@keyframes vspin{to{transform:rotate(360deg)}}
.tvp__layer{position:absolute;inset:0 0 54px;z-index:2;background:none;border:0;cursor:pointer}
.tvp__unmute{position:absolute;left:50%;top:50%;z-index:3;transform:translate(-50%,-50%);display:flex;align-items:center;gap:14px;padding:16px 22px 16px 18px;border:0;border-radius:18px;background:rgba(12,9,7,.78);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--bone);text-align:left;cursor:pointer;box-shadow:0 0 0 1px rgba(255,150,90,.4),0 20px 50px -14px rgba(0,0,0,.8);animation:vbob 2.4s var(--ease) infinite}
.tvp__unmute svg{flex:none;width:46px;height:46px;padding:11px;border-radius:50%;background:var(--ember);color:var(--on-ember);box-shadow:0 0 30px rgba(255,97,26,.7)}
.tvp__unmute span{display:flex;flex-direction:column;gap:3px;font:400 14px/1.25 var(--f-sans);color:var(--bone-2)}
.tvp__unmute b{font:700 17px/1.2 var(--f-sans);color:var(--bone)}
.tvp.has-sound .tvp__unmute{display:none}
@keyframes vbob{50%{transform:translate(-50%,calc(-50% - 4px))}}
.tvp__big{position:absolute;left:50%;top:50%;z-index:1;width:84px;height:84px;margin:-42px 0 0 -42px;display:grid;place-items:center;border-radius:50%;background:var(--ember);color:var(--on-ember);box-shadow:0 0 40px rgba(255,97,26,.8);opacity:0;transform:scale(.8);transition:opacity .25s,transform .25s var(--ease);pointer-events:none}
.tvp__big svg{width:34px;height:34px;margin-left:4px}
.tvp.has-sound.is-paused .tvp__big,.tvp.is-ended .tvp__big{opacity:1;transform:none}
.tvp__bar{position:absolute;left:0;right:0;bottom:0;z-index:4;display:flex;align-items:flex-end;gap:12px;height:54px;padding:0 14px 14px;pointer-events:none}
.tvp__bar>*{pointer-events:auto}
.tvp__ctrl{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:44px;height:34px;padding:0 10px;border:0;border-radius:10px;background:rgba(255,255,255,.12);color:#fff;font:700 13.5px/1 var(--f-sans);cursor:pointer;transition:background .2s}
.tvp__bar [data-tvp-speed]{margin-left:auto}
.tvp__ctrl:hover{background:rgba(255,255,255,.22)}
.tvp__ctrl svg{width:18px;height:18px}
.tvp__progress{position:absolute;left:0;right:0;bottom:0;height:5px;background:rgba(255,255,255,.24);overflow:hidden}
.tvp__fill{height:100%;background:linear-gradient(90deg,#FF9858,#FF611A);transform-origin:0 50%;transform:scaleX(0);box-shadow:0 0 12px rgba(255,97,26,.8)}

.tvp__full[hidden]{display:none}
.tvp.is-full,.tvp:fullscreen{width:100%;height:100%;aspect-ratio:auto;border-radius:0;box-shadow:none}
.tvp:fullscreen video,.tvp.is-full video{object-fit:contain}
.tvp:-webkit-full-screen{width:100%;height:100%;aspect-ratio:auto;border-radius:0;box-shadow:none}
.tvp:-webkit-full-screen video{object-fit:contain}


@media (max-width:640px){
  .tvp{border-radius:0;box-shadow:0 0 0 1px rgba(255,150,90,.22),0 0 60px -24px rgba(255,97,26,.6)}
  .tvp__unmute{padding:12px 16px 12px 12px;gap:10px;border-radius:14px}
  .tvp__unmute svg{width:38px;height:38px;padding:9px}
  .tvp__unmute b{font-size:15px}
  .tvp__unmute span{font-size:12.5px}
  .tvp__bar{height:44px;padding:0 8px 10px;gap:8px}
  .tvp__layer{bottom:44px}
  .tvp__ctrl{height:30px;min-width:40px;padding:0 8px;font-size:12.5px}
}
@media (prefers-reduced-motion:reduce){.tvp__unmute{animation:none}}
.tvp.ehero__vsl{margin-inline:auto}
