/* Asegura cobertura total del vídeo */
.banner-video {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.banner-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.banner-video video { filter: contrast(1.06) saturate(1.05); }

/* Vignette suave para dar “profundidad CRT” */
.banner-video::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse at center, rgba(0,0,0,0) 60%, rgba(0,0,0,.35) 100%);
  mix-blend-mode: multiply; /* opcional */
}


/* ====== PRESET 1: Scanlines CRT ====== */
.effect-scanlines::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  /* 1) líneas horizontales finas; 2) leve tintado/curva */
  background:
    repeating-linear-gradient(
      to bottom,
      rgba(255,255,255,.07) 0 1px,
      rgba(0,0,0,.07) 1px 2px
    ),
    linear-gradient(to bottom, rgba(0,0,0,.05), rgba(0,0,0,.15));
  mix-blend-mode: overlay; /* prueba también soft-light */
  opacity: .6;
  animation: scan-jitter 6s infinite linear;
}

.effect-scanlines::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    repeating-linear-gradient(
      to bottom,
      rgba(255,255,255,.4) 0 2px,   /* línea más visible */
      rgba(0,0,0,.4) 2px 4px        /* espacio más grande */
    ),
    linear-gradient(to bottom, rgba(0,0,0,.05), rgba(0,0,0,.2));
  mix-blend-mode: overlay;
  opacity: .8;
  animation: scan-jitter 4s infinite linear;
}

/* ====== PRESET 2: Matriz de puntitos (shadow mask) ====== */
.effect-dots::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 1px 1px, rgba(255,255,255,.09) 0 1px, transparent 1.2px) 0 0 / 3px 3px,
    linear-gradient(to bottom, rgba(0,0,0,.05), rgba(0,0,0,.15));
  mix-blend-mode: overlay;
  opacity: .55;
  animation: mask-drift 10s infinite linear;
}

/* ====== PRESET 3: VHS / Moiré sutil ====== */
.effect-vhs::after {
  content: "";
  position: absolute;
  inset: -2%;
  pointer-events: none;
  /* dos rejillas inclinadas que se mueven muy lento para simular moiré */
  background:
    repeating-linear-gradient( 
      0.75turn, /* 270deg */
      rgba(255,255,255,.05) 0 1px,
      transparent 1px 3px
    ),
    repeating-linear-gradient( 
      0.25turn, /* 90deg */
      rgba(0,0,0,.06) 0 1px,
      transparent 1px 3px
    ),
    linear-gradient(to bottom, rgba(0,0,0,.04), rgba(0,0,0,.18));
  mix-blend-mode: overlay;
  opacity: .5;
  animation: moire-slide 12s infinite linear;
}

/* Animaciones muy sutiles: “respiran” para que no sea un patrón muerto */
@keyframes scan-jitter {
  0%   { transform: translateY(0); }
  50%  { transform: translateY(.5px); }
  100% { transform: translateY(0); }
}
@keyframes mask-drift {
  0%   { transform: translate(0,0); }
  50%  { transform: translate(1px,.5px) scale(1.002); }
  100% { transform: translate(0,0); }
}
@keyframes moire-slide {
  0%   { transform: translate(-1%, -1%) }
  50%  { transform: translate(1%, 1%)   }
  100% { transform: translate(-1%, -1%) }
}

/* Respeto accesibilidad: sin animaciones si el usuario las prefiere desactivadas */
@media (prefers-reduced-motion: reduce) {
  .banner-video::after,
  .banner-video::before {
    animation: none !important;
  }
}

.w-30 {
    width: 30% !important;
}

.pt-60 {

		padding-top: 30px;

}
.pb-60 {

		padding-bottom: 30px;

}


/*LightBox Gallery*/
  .lb-backdrop{
    position:fixed; inset:0; background:rgba(0,0,0,.85);
    display:none; align-items:center; justify-content:center;
    z-index:9999;
  }
  .lb-backdrop.open{ display:flex; }
  .lb-inner{
    position:relative; max-width:92vw; max-height:92vh; width:fit-content;
  }
  .lb-img{
    max-width:92vw; max-height:82vh; width:auto; height:auto; display:block; margin:0 auto;
    object-fit:contain; border-radius:.5rem;
  }
  .lb-caption{
    color:#fff; text-align:center; margin-top:.75rem; font-size:14px; opacity:.9;
  }
  .lb-btn{
    position:absolute; top:50%; transform:translateY(-50%);
    background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25);
    color:#fff; width:44px; height:44px; border-radius:999px; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    backdrop-filter: blur(4px);
  }
  .lb-prev{ left:-56px; }
  .lb-next{ right:-56px; }
  .lb-close{
    position:absolute; top:-56px; right:0;
    background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25);
    color:#fff; width:44px; height:44px; border-radius:999px; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    backdrop-filter: blur(4px);
  }
  @media (max-width: 768px){
    .lb-prev{ left:8px; } .lb-next{ right:8px; }
    .lb-close{ top:8px; right:8px; }
  }
/* /LightBox Gallery*/
