/* MQ Portal Background (Lite) v1.2.2 — defaults solicitados */
:root{
  --mq-bg:#05080d;
  --mq-brand:#2199ea;
  --mq-accent:#78e1ff;
  --mq-ease:cubic-bezier(.22,.8,.32,1);
}

/* Contenedor fijo al fondo */
#mqpbl-bg{ position:fixed; inset:0; z-index:0; pointer-events:none; background:var(--mq-bg); }
#mqpbl-starfield{ position:absolute; inset:0; width:100%; height:100%; display:block; filter:contrast(115%) brightness(105%); opacity:.80; }
.mqpbl-blobs, .mqpbl-grain, .mqpbl-vignette{ position:absolute; inset:0; }

/* Blobs (más rápidos) */
.mqpbl-blobs .blob{
  position:absolute; width:56vw; height:56vw; border-radius:50%;
  filter:blur(40px); opacity:.55; mix-blend-mode:screen;
  background: radial-gradient(45% 45% at 50% 50%, var(--mq-brand) 0%, transparent 70%);
  animation: mqpbl-floatA 16s var(--mq-ease) infinite alternate;
  transform: translate3d(0,0,0);
}
.mqpbl-blobs .blob.a{ left:-10vw; top:-8vh; }
.mqpbl-blobs .blob.b{
  right:-16vw; bottom:-14vh;
  background: radial-gradient(45% 45% at 50% 50%, var(--mq-accent) 0%, transparent 70%);
  animation: mqpbl-floatB 18s var(--mq-ease) infinite alternate;
}

@keyframes mqpbl-floatA{ 0%{ transform: translate3d(0,0,0) scale(1) } 100%{ transform: translate3d(4vw,-2vh,0) scale(1.08) } }
@keyframes mqpbl-floatB{ 0%{ transform: translate3d(0,0,0) scale(1) } 100%{ transform: translate3d(-4vw,2vh,0) scale(1.06) } }

/* Grano */
.mqpbl-grain{
  background-image: radial-gradient(rgba(255,255,255,.07) 1px, transparent 1px);
  background-size: 3px 3px;
  mix-blend-mode: overlay;
  opacity:.26;
  animation: mqpbl-grainShift 5s steps(6,end) infinite;
}
@keyframes mqpbl-grainShift{
  0%,100%{ transform:translate3d(0,0,0); }
  20%{ transform:translate3d(-1px,1px,0); }
  40%{ transform:translate3d(1px,-1px,0); }
  60%{ transform:translate3d(-1px,-1px,0); }
  80%{ transform:translate3d(1px,1px,0); }
}

/* Viñeta */
.mqpbl-vignette{ background: radial-gradient(120% 120% at 50% 30%, transparent 60%, rgba(0,0,0,.35)); }

/* Contenido por encima */
body.mqpbl #page, body.mqpbl .site, body.mqpbl .elementor{ position:relative; z-index:1; }

/* Reafirma animaciones cuando están ON */
html[data-mq-anim="on"] .mqpbl-blobs .blob.a{ animation: mqpbl-floatA 16s var(--mq-ease) infinite alternate !important; }
html[data-mq-anim="on"] .mqpbl-blobs .blob.b{ animation: mqpbl-floatB 18s var(--mq-ease) infinite alternate !important; }
html[data-mq-anim="on"] .mqpbl-grain{ animation: mqpbl-grainShift 5s steps(6,end) infinite !important; }

/* Respeta accesibilidad si el admin fuerza off por URL */
html[data-mq-anim="off"] .mqpbl-blobs .blob,
html[data-mq-anim="off"] .mqpbl-grain{ animation: none !important; }
