
.publicitaria-ad,.publicitaria-group{--pfx-duration:450ms;--pfx-scale:1.08;--pfx-delay:0ms;transition:transform var(--pfx-duration) ease,filter var(--pfx-duration) ease,box-shadow var(--pfx-duration) ease;transform-origin:center;}
.publicitaria-ad[data-publicitaria-fx-hover="zoom"]:hover,.publicitaria-group[data-publicitaria-fx-hover="zoom"]:hover>.publicitaria-ad{transform:scale(var(--pfx-scale))}
[data-publicitaria-fx-hover="zoom-out"]:hover{transform:scale(.95)}
[data-publicitaria-fx-hover="lift"]:hover{transform:translateY(-9px);box-shadow:0 15px 32px #0003}
[data-publicitaria-fx-hover="tilt"]:hover{transform:rotate(2deg) scale(1.02)}
[data-publicitaria-fx-hover="pulse"]:hover{animation:pfx-pulse 1s ease-in-out infinite alternate}
[data-publicitaria-fx-hover="glow"]:hover{box-shadow:0 0 24px #6876dd99}
[data-publicitaria-fx-hover="grayscale"]{filter:grayscale(1)}[data-publicitaria-fx-hover="grayscale"]:hover{filter:grayscale(0)}
[data-publicitaria-fx-hover="blur"]{filter:blur(2px)}[data-publicitaria-fx-hover="blur"]:hover{filter:blur(0)}
[data-publicitaria-fx-hover="flip"]:hover{transform:perspective(700px) rotateY(8deg)}
[data-publicitaria-fx-entrance]:not([data-publicitaria-fx-entrance="none"]).pfx-visible{animation:pfx-enter var(--pfx-duration) both;animation-delay:var(--pfx-delay)}
[data-publicitaria-fx-entrance="slide-up"].pfx-visible{--pfx-start:translateY(24px)}
[data-publicitaria-fx-entrance="slide-left"].pfx-visible{--pfx-start:translateX(-24px)}
[data-publicitaria-fx-entrance="slide-right"].pfx-visible{--pfx-start:translateX(24px)}
[data-publicitaria-fx-entrance="scale"].pfx-visible{--pfx-start:scale(.86)}
@keyframes pfx-enter{from{opacity:0;transform:var(--pfx-start,none)}to{opacity:1;transform:none}}
@keyframes pfx-pulse{from{transform:scale(1)}to{transform:scale(1.045)}}
.publicitaria-fx-overlay{position:fixed;inset:0;z-index:2147483000;background:#000b;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}
.publicitaria-fx-dialog{position:relative;max-width:min(92vw,1000px);max-height:90vh;overflow:auto;background:#fff;border-radius:14px;padding:26px;box-shadow:0 24px 70px #0006}
.publicitaria-fx-dialog .publicitaria-ad{max-width:100%;height:auto}.publicitaria-fx-dialog img{max-width:100%;height:auto}
.publicitaria-fx-close{position:absolute;top:4px;right:6px;background:#fff;color:#222;border:1px solid #ddd;border-radius:50%;width:35px;height:35px;cursor:pointer;font-size:25px;z-index:2}
@media(prefers-reduced-motion:reduce){.publicitaria-ad,.publicitaria-group,[data-publicitaria-fx-hover],[data-publicitaria-fx-entrance].pfx-visible{animation:none!important;transition:none!important;transform:none!important;filter:none!important}}
/* El efecto del contenedor debe afectar a todo el grupo, no solo a su primer anuncio. */
.publicitaria-group[data-publicitaria-fx-hover="zoom"]:hover{transform:scale(var(--pfx-scale))}
.publicitaria-group[data-publicitaria-fx-hover="zoom"]:hover>.publicitaria-ad{transform:none}
.publicitaria-fx-dialog .publicitaria-group{max-width:100%}

.publicitaria-fx-dialog{box-sizing:border-box;width:min(92vw,1000px);max-width:96vw;max-height:94vh;}
.publicitaria-fx-dialog .publicitaria-ad[data-publicitaria-fx-hover],.publicitaria-fx-dialog .publicitaria-group[data-publicitaria-fx-hover]{transform:none;animation:none}

/* 1.10.19: el resplandor individual pertenece a cada tarjeta, no a la cuadrícula. */
.publicitaria-elementor-effects[data-publicitaria-fx-scope="ad"] .publicitaria-group,
.publicitaria-group[data-publicitaria-fx-child-only="1"] {box-shadow:none;}
.publicitaria-elementor-effects[data-publicitaria-fx-scope="ad"] .publicitaria-ad[data-publicitaria-fx-hover="glow"]:hover,
.publicitaria-group[data-publicitaria-fx-child-only="1"] .publicitaria-ad[data-publicitaria-fx-hover="glow"]:hover {box-shadow:0 0 24px #6876dd99;}

/* 1.10.20: efectos individuales estrictamente por tarjeta.
   El hover sobre el grid también activa :hover en todos sus antecesores;
   por eso se neutraliza cualquier animación del contenedor. */
.publicitaria-elementor-effects[data-publicitaria-fx-scope="ad"] .publicitaria-group,
.publicitaria-elementor-effects[data-publicitaria-fx-scope="ad"] .publicitaria-grid,
.publicitaria-group[data-publicitaria-fx-child-only="1"] {
  transform:none !important; filter:none !important; animation:none !important;
  transition-property:none !important;
}
.publicitaria-elementor-effects[data-publicitaria-fx-scope="ad"] .publicitaria-group:hover,
.publicitaria-elementor-effects[data-publicitaria-fx-scope="ad"] .publicitaria-grid:hover,
.publicitaria-group[data-publicitaria-fx-child-only="1"]:hover {
  transform:none !important; filter:none !important; animation:none !important;
  box-shadow: none !important;
}
/* El target real es un anuncio; hermanos sin hover permanecen inmóviles. */
.publicitaria-elementor-effects[data-publicitaria-fx-scope="ad"] .publicitaria-grid-item > .publicitaria-ad:not(:hover) {
  transform:none;
}
.publicitaria-elementor-effects[data-publicitaria-fx-scope="ad"] .publicitaria-ad[data-publicitaria-fx-hover="tilt"]:hover {
  transform:rotate(2deg) scale(1.02);
  position:relative;z-index:1;
}

/* 1.10.21: el contenedor Elementor no debe transformarse; solo sus anuncios. */
.publicitaria-elementor-effects[data-publicitaria-fx-scope="ad"],
.publicitaria-elementor-effects[data-publicitaria-fx-scope="ad"]:hover {
  transform:none !important;
  animation:none !important;
  filter:none !important;
}

/* 1.10.22: Intensidad independiente por tarjeta o contenedor (0..100%).
   100% mantiene el aspecto previo; 0% neutraliza el efecto visual. */
.publicitaria-ad,.publicitaria-group{--pfx-intensity:1}
[data-publicitaria-fx-hover="zoom-out"]:hover{transform:scale(calc(1 - .05 * var(--pfx-intensity)))}
[data-publicitaria-fx-hover="lift"]:hover{transform:translateY(calc(-9px * var(--pfx-intensity)));box-shadow:0 calc(15px * var(--pfx-intensity)) calc(32px * var(--pfx-intensity)) rgb(0 0 0 / calc(.2 * var(--pfx-intensity)))}
[data-publicitaria-fx-hover="tilt"]:hover{transform:rotate(calc(2deg * var(--pfx-intensity))) scale(calc(1 + .02 * var(--pfx-intensity)))}
[data-publicitaria-fx-hover="glow"]:hover{box-shadow:0 0 calc(24px * var(--pfx-intensity)) rgb(104 118 221 / calc(.6 * var(--pfx-intensity)))}
[data-publicitaria-fx-hover="grayscale"]{filter:grayscale(var(--pfx-intensity))}
[data-publicitaria-fx-hover="blur"]{filter:blur(calc(2px * var(--pfx-intensity)))}
[data-publicitaria-fx-hover="flip"]:hover{transform:perspective(700px) rotateY(calc(8deg * var(--pfx-intensity)))}
[data-publicitaria-fx-hover="pulse"]:hover{animation-name:pfx-pulse-intensity}
@keyframes pfx-pulse-intensity{from{transform:scale(1)}to{transform:scale(calc(1 + .045 * var(--pfx-intensity)))}}
.publicitaria-elementor-effects[data-publicitaria-fx-scope="ad"] .publicitaria-ad[data-publicitaria-fx-hover="tilt"]:hover{transform:rotate(calc(2deg * var(--pfx-intensity))) scale(calc(1 + .02 * var(--pfx-intensity)))}
.publicitaria-elementor-effects[data-publicitaria-fx-scope="ad"] .publicitaria-ad[data-publicitaria-fx-hover="glow"]:hover,
.publicitaria-group[data-publicitaria-fx-child-only="1"] .publicitaria-ad[data-publicitaria-fx-hover="glow"]:hover{box-shadow:0 0 calc(24px * var(--pfx-intensity)) rgb(104 118 221 / calc(.6 * var(--pfx-intensity)))}

/* 1.10.23: dimensiones CSS precomputadas: sin multiplicar unidades CSS en calc().
   La interacción solo afecta a la tarjeta que recibe :hover. */
.publicitaria-ad[data-publicitaria-fx-hover="zoom"]:hover,
.publicitaria-group:not([data-publicitaria-fx-child-only="1"])[data-publicitaria-fx-hover="zoom"]:hover{transform:scale(var(--pfx-scale,1.08))}
.publicitaria-ad[data-publicitaria-fx-hover="zoom-out"]:hover,
.publicitaria-group[data-publicitaria-fx-hover="zoom-out"]:hover{transform:scale(var(--pfx-zoom-out,.95))}
.publicitaria-ad[data-publicitaria-fx-hover="tilt"]:hover,
.publicitaria-group[data-publicitaria-fx-hover="tilt"]:hover{transform:rotate(var(--pfx-tilt,2deg)) scale(var(--pfx-tilt-scale,1.02))}
.publicitaria-ad[data-publicitaria-fx-hover="lift"]:hover,
.publicitaria-group[data-publicitaria-fx-hover="lift"]:hover{transform:translateY(var(--pfx-lift,-9px));box-shadow:0 var(--pfx-lift-shadow-y,15px) var(--pfx-lift-shadow-blur,32px) var(--pfx-lift-shadow-color,#0003)}
.publicitaria-ad[data-publicitaria-fx-hover="glow"]:hover,
.publicitaria-group[data-publicitaria-fx-hover="glow"]:hover{box-shadow:0 0 var(--pfx-glow-radius,24px) var(--pfx-glow-color,#6876dd99)}
.publicitaria-ad[data-publicitaria-fx-hover="flip"]:hover,
.publicitaria-group[data-publicitaria-fx-hover="flip"]:hover{transform:perspective(700px) rotateY(var(--pfx-flip,8deg))}
.publicitaria-ad[data-publicitaria-fx-hover="blur"],.publicitaria-group[data-publicitaria-fx-hover="blur"]{filter:blur(var(--pfx-blur,2px))}
.publicitaria-ad[data-publicitaria-fx-hover="grayscale"],.publicitaria-group[data-publicitaria-fx-hover="grayscale"]{filter:grayscale(var(--pfx-intensity,1))}
.publicitaria-ad[data-publicitaria-fx-hover="pulse"]:hover,.publicitaria-group[data-publicitaria-fx-hover="pulse"]:hover{animation:pfx-pulse-fixed 1s ease-in-out infinite alternate}
@keyframes pfx-pulse-fixed{from{transform:scale(1)}to{transform:scale(var(--pfx-pulse,1.045))}}
/* En modo individual nunca se anima el grupo ni el wrapper. */
.publicitaria-elementor-effects[data-publicitaria-fx-scope="ad"] .publicitaria-ad[data-publicitaria-fx-hover="tilt"]:hover,
.publicitaria-group[data-publicitaria-fx-child-only="1"] .publicitaria-ad[data-publicitaria-fx-hover="tilt"]:hover{transform:rotate(var(--pfx-tilt,2deg)) scale(var(--pfx-tilt-scale,1.02))}
.publicitaria-elementor-effects[data-publicitaria-fx-scope="ad"] .publicitaria-ad[data-publicitaria-fx-hover="glow"]:hover,
.publicitaria-group[data-publicitaria-fx-child-only="1"] .publicitaria-ad[data-publicitaria-fx-hover="glow"]:hover{box-shadow:0 0 var(--pfx-glow-radius,24px) var(--pfx-glow-color,#6876dd99)}

/* 1.10.24: la entrada animada y reglas antiguas no pueden bloquear el hover.
 * El selector aplica exclusivamente a tarjetas, nunca al contenedor de la grilla. */
@media (prefers-reduced-motion: no-preference) {
  .publicitaria-elementor-effects[data-publicitaria-fx-scope="ad"] .publicitaria-ad[data-publicitaria-fx-hover="zoom"]:hover,
  .publicitaria-group[data-publicitaria-fx-child-only="1"] .publicitaria-ad[data-publicitaria-fx-hover="zoom"]:hover { transform:scale(var(--pfx-scale,1.08)) !important; }
  .publicitaria-elementor-effects[data-publicitaria-fx-scope="ad"] .publicitaria-ad[data-publicitaria-fx-hover="zoom-out"]:hover,
  .publicitaria-group[data-publicitaria-fx-child-only="1"] .publicitaria-ad[data-publicitaria-fx-hover="zoom-out"]:hover { transform:scale(var(--pfx-zoom-out,.95)) !important; }
  .publicitaria-elementor-effects[data-publicitaria-fx-scope="ad"] .publicitaria-ad[data-publicitaria-fx-hover="tilt"]:hover,
  .publicitaria-group[data-publicitaria-fx-child-only="1"] .publicitaria-ad[data-publicitaria-fx-hover="tilt"]:hover { transform:rotate(var(--pfx-tilt,2deg)) scale(var(--pfx-tilt-scale,1.02)) !important; }
  .publicitaria-elementor-effects[data-publicitaria-fx-scope="ad"] .publicitaria-ad[data-publicitaria-fx-hover="lift"]:hover,
  .publicitaria-group[data-publicitaria-fx-child-only="1"] .publicitaria-ad[data-publicitaria-fx-hover="lift"]:hover { transform:translateY(var(--pfx-lift,-9px)) !important;box-shadow:0 var(--pfx-lift-shadow-y,15px) var(--pfx-lift-shadow-blur,32px) var(--pfx-lift-shadow-color,#0003); }
  .publicitaria-elementor-effects[data-publicitaria-fx-scope="ad"] .publicitaria-ad[data-publicitaria-fx-hover="flip"]:hover,
  .publicitaria-group[data-publicitaria-fx-child-only="1"] .publicitaria-ad[data-publicitaria-fx-hover="flip"]:hover { transform:perspective(700px) rotateY(var(--pfx-flip,8deg)) !important; }
  .publicitaria-ad[data-publicitaria-fx-hover="zoom"]:hover,
  .publicitaria-ad[data-publicitaria-fx-hover="zoom-out"]:hover,
  .publicitaria-ad[data-publicitaria-fx-hover="tilt"]:hover,
  .publicitaria-ad[data-publicitaria-fx-hover="lift"]:hover,
  .publicitaria-ad[data-publicitaria-fx-hover="flip"]:hover { animation:none !important; }
  .publicitaria-elementor-effects[data-publicitaria-fx-scope="ad"] .publicitaria-ad[data-publicitaria-fx-hover="grayscale"]:hover,
  .publicitaria-elementor-effects[data-publicitaria-fx-scope="ad"] .publicitaria-ad[data-publicitaria-fx-hover="blur"]:hover { filter:none !important; }
}

/* 1.10.25: botón cerrar centrado y aislado de estilos globales (tema / Elementor). */
.publicitaria-fx-overlay .publicitaria-fx-dialog > button.publicitaria-fx-close,
.publicitaria-fx-overlay .publicitaria-fx-dialog > button.publicitaria-fx-close:hover,
.publicitaria-fx-overlay .publicitaria-fx-dialog > button.publicitaria-fx-close:focus {
  position:absolute !important;
  top:8px !important;
  right:8px !important;
  left:auto !important;
  bottom:auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  min-height:36px !important;
  margin:0 !important;
  padding:0 !important;
  box-sizing:border-box !important;
  border:1px solid #d1d5db !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#111827 !important;
  font-family:Arial,sans-serif !important;
  font-size:27px !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  text-indent:0 !important;
  text-align:center !important;
  text-decoration:none !important;
  transform:none !important;
  animation:none !important;
  opacity:1 !important;
  box-shadow:0 2px 8px rgba(0,0,0,.16) !important;
  z-index:20 !important;
  cursor:pointer;
  appearance:none;
}
.publicitaria-fx-overlay .publicitaria-fx-dialog > button.publicitaria-fx-close:hover {background:#f3f4f6 !important;}
.publicitaria-fx-overlay .publicitaria-fx-dialog > button.publicitaria-fx-close:focus-visible {outline:2px solid #6876dd !important;outline-offset:2px !important;}
