/* Base */
.iprvi-wrap{ position:relative; width:100%; cursor:pointer; overflow:hidden; background:#000; }
.iprvi-wrap::before{ content:""; display:block; padding-top: var(--iprvi-aspect,56.25%); }
.iprvi-video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; pointer-events:none; }
.iprvi-video[controls]{ pointer-events:auto; }
/* Overlay de color */
.iprvi-overlay-color{ position:absolute; inset:0; pointer-events:none; }
/* Marquesina */
.iprvi-marquee{ position:absolute; left:0; right:0; background:var(--iprvi-marquee-bg,rgba(0,0,0,.35)); color:var(--iprvi-marquee-color,#fff);
  font-family:var(--iprvi-marquee-font,inherit); font-size:var(--iprvi-marquee-size,18px); font-weight:var(--iprvi-marquee-weight,600);
  letter-spacing:var(--iprvi-marquee-letter,.5px); padding:var(--iprvi-marquee-padding,8px 12px); white-space:nowrap; overflow:hidden; z-index:3; }
.iprvi-marquee-top{ top:0; } .iprvi-marquee-bottom{ bottom:0; }
.iprvi-marquee .iprvi-marquee-track{ display:inline-block; will-change:transform; }
/* Horizontal corregido (-100% para continuidad) */
.iprvi-marquee-dir-ltr .iprvi-marquee-track{ animation: iprvi-marquee-left var(--iprvi-marquee-speed,15s) linear infinite; }
@keyframes iprvi-marquee-left{ 0%{transform:translateX(0%);} 100%{transform:translateX(-100%);} }
.iprvi-marquee-dir-rtl .iprvi-marquee-track{ animation: iprvi-marquee-right var(--iprvi-marquee-speed,15s) linear infinite; }
@keyframes iprvi-marquee-right{ 0%{transform:translateX(-100%);} 100%{transform:translateX(0%);} }
/* Vertical */
.iprvi-marquee-dir-ttb .iprvi-marquee-track{ display:block; animation: iprvi-marquee-down var(--iprvi-marquee-speed,15s) linear infinite; }
@keyframes iprvi-marquee-down{ 0%{transform:translateY(0%);} 100%{transform:translateY(-100%);} }
.iprvi-marquee-dir-btt .iprvi-marquee-track{ display:block; animation: iprvi-marquee-up var(--iprvi-marquee-speed,15s) linear infinite; }
@keyframes iprvi-marquee-up{ 0%{transform:translateY(-100%);} 100%{transform:translateY(0%);} }
.iprvi-marquee-text{ display:inline-block; padding:0 2rem; }
/* CTA */
.iprvi-cta{
  position:absolute; z-index:4; text-decoration:none; padding:.6rem 1rem; font-weight:700;
  /* Fix CTA hover: conservar el centrado/posición base */
  --cta-base: translate(0,0);
  transform: var(--cta-base);
  transition: transform .15s ease;
}
/* Posiciones con centrado por translate */
.iprvi-cta.iprvi-pos-top-center,
.iprvi-cta.iprvi-pos-bottom-center{ left:50%; --cta-base: translate(-50%,0); }
.iprvi-cta.iprvi-pos-center{ left:50%; top:50%; --cta-base: translate(-50%,-50%); }
/* Hover suma transform sin romper el centrado */
.iprvi-cta:hover{ transform: var(--cta-base) translateY(-1px) scale(1.02); }

.iprvi-pulse{ animation: iprvi-pulse 1.5s ease-in-out infinite; }
@keyframes iprvi-pulse{ 0%,100%{ box-shadow:0 0 0 0 rgba(0,0,0,0);} 50%{ box-shadow:0 0 0 10px rgba(0,0,0,.05);} }
/* Posiciones utilitarias */
.iprvi-pos-top-left{ top:10px; left:10px; } .iprvi-pos-top-right{ top:10px; right:10px; } .iprvi-pos-top-center{ top:10px; left:50%; transform:translateX(-50%); }
.iprvi-pos-bottom-left{ bottom:10px; left:10px; } .iprvi-pos-bottom-right{ bottom:10px; right:10px; } .iprvi-pos-bottom-center{ bottom:10px; left:50%; transform:translateX(-50%); }
.iprvi-pos-center{ top:50%; left:50%; transform:translate(-50%,-50%); }
/* Logo */
.iprvi-logo{ position:absolute; z-index:3; pointer-events:none; }
/* Texto rotativo */
.iprvi-rot{ position:absolute; z-index:3; padding:.4rem .7rem; border-radius:8px; opacity:.95; }
.iprvi-rot .iprvi-rot-item{ display:none; } .iprvi-rot .iprvi-rot-item[data-active="1"]{ display:inline; animation: iprvi-fade .3s ease; }
@keyframes iprvi-fade{ from{opacity:0} to{opacity:1} }
/* Countdown */
.iprvi-countdown{ position:absolute; z-index:3; padding:.35rem .6rem; border-radius:8px; opacity:.95; font-variant-numeric:tabular-nums; }
/* Hover */
.iprvi-hover-brightness .iprvi-video{ transition: filter .2s ease; } .iprvi-hover-brightness:hover .iprvi-video{ filter: brightness(1.15); }
.iprvi-hover-reveal .iprvi-rot, .iprvi-hover-reveal .iprvi-cta{ opacity:0; transition:opacity .2s ease; } .iprvi-hover-reveal:hover .iprvi-rot, .iprvi-hover-reveal:hover .iprvi-cta{ opacity:1; }
/* Motion reducido (seguimos animando, solo ajustamos duración) */
@media (prefers-reduced-motion: reduce){ .iprvi-marquee .iprvi-marquee-track{ animation-duration: var(--iprvi-marquee-speed,15s) !important; } }
