/* VSL: vídeo vertical do app na TV (home e /oferta) */
.vsl{margin:26px auto 4px;display:flex;flex-direction:column;align-items:center;}
.vsl__frame{position:relative;height:min(64vh,600px);aspect-ratio:9/16;max-width:84vw;border-radius:22px;overflow:hidden;
  background:#120a24 center/cover no-repeat;border:1px solid var(--line,#333);
  box-shadow:0 18px 50px rgba(0,0,0,.55),0 0 0 4px rgba(229,9,20,.18);}
.vsl__video{display:block;width:100%;height:100%;object-fit:cover;background:#120a24;}
.vsl__sound{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);border:0;cursor:pointer;
  display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;
  background:rgba(229,9,20,.94);color:#fff;font:700 1rem/1 Poppins,system-ui,sans-serif;white-space:nowrap;
  box-shadow:0 10px 28px rgba(0,0,0,.5);animation:vslPulse 1.8s ease-in-out infinite;}
.vsl__sound svg{flex:none}
.vsl__sound:focus-visible{outline:3px solid #fff;outline-offset:3px;}
.vsl.is-sound .vsl__sound{display:none;}
.vsl__end{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  background:rgba(10,6,22,.82);backdrop-filter:blur(4px);padding:20px;text-align:center;}
.vsl.is-ended .vsl__end{display:flex;}
.vsl__end p{margin:0;color:#fff;font-weight:700;font-size:1.15rem;line-height:1.3;}
.vsl__end .btn{min-width:200px;}
.vsl__replay{background:none;border:0;color:var(--muted,#c9c9c9);font:500 .92rem Poppins,system-ui,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.vsl__cap{margin:12px 0 0;color:var(--muted-2,#a8a8a8);font-size:.86rem;text-align:center;}
@keyframes vslPulse{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.06)}}
@media (prefers-reduced-motion:reduce){.vsl__sound{animation:none;}}
