/* Banner flotante inferior: SOLO el banner (sin barra ni fondo), centrado al borde inferior, con sombra suave. */

.enn-flotante {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 450;              /* sobre contenido y rascacielos (100); bajo menú sticky (500), panel móvil (590), buscador (700) y lightboxes */
    display: flex;
    justify-content: center;
    padding: 0 12px;           /* sin margen inferior: el banner queda pegado al borde de la pantalla */
    pointer-events: none;      /* solo el banner recibe clics, no el espacio vacío a sus lados */
    transform: translateY(130%);
    visibility: hidden;
    transition: transform .45s cubic-bezier(.2, .7, .2, 1), visibility 0s linear .45s;
}
.enn-flotante[hidden] { display: none; }
.enn-flotante.is-visible { transform: translateY(0); visibility: visible; transition: transform .45s cubic-bezier(.2, .7, .2, 1); }

.enn-flotante__barra {
    position: relative;
    pointer-events: auto;
    display: block;
    max-width: 100%;
    line-height: 0;
    /* Ancho PROPIO, igual al del anuncio (variables que imprime el plugin desde el registro de slots).
       Sin él, el contenedor se ajustaba al contenido (≈320 px) en cualquier pantalla. Mismos cortes que el slot. */
    width: var(--enn-ad-w);
}
@media (min-width: 1330px) { .enn-flotante__barra { width: var(--enn-ad-xw, var(--enn-ad-w)); } }
@media (min-width: 768px) and (max-width: 1019px) { .enn-flotante__barra { width: var(--enn-ad-tw, var(--enn-ad-w)); } }
@media (max-width: 767px) { .enn-flotante__barra { width: var(--enn-ad-mw, var(--enn-ad-w)); } }
.enn-flotante .enn-ad { border-radius: 0; box-shadow: 0 -6px 24px rgba(0, 0, 0, .28); }   /* esquinas rectas (superiores e inferiores) */

/* Cierre: botón cuadrado de 28 px en la esquina superior derecha del banner (esquinas rectas), con área de toque ampliada. */
.enn-flotante__cerrar {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: #fff;
    background: rgba(0, 0, 0, .78);
    border: 0;
    border-radius: 0;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
.enn-flotante__cerrar::after { content: ""; position: absolute; inset: -6px; }   /* área de toque ampliada (46 px) sin agrandar el botón */
.enn-flotante__cerrar:hover { background: #000; }

/* Móvil: banner de 320×100 pegado al borde inferior, sin margen alguno. */
@media (max-width: 767px) {
    .enn-flotante { padding: 0; }
}

/* Si el anuncio no tiene creatividad para este rango de pantalla, no se muestra el banner entero (tampoco su botón). */
@media (max-width: 767px) { .enn-flotante:has(.enn-ad[data-sin-r1]) { display: none !important; } }
@media (min-width: 768px) and (max-width: 1019px) { .enn-flotante:has(.enn-ad[data-sin-r2]) { display: none !important; } }
@media (min-width: 1020px) and (max-width: 1329px) { .enn-flotante:has(.enn-ad[data-sin-r3]) { display: none !important; } }
@media (min-width: 1330px) { .enn-flotante:has(.enn-ad[data-sin-r4]) { display: none !important; } }

@media (prefers-reduced-motion: reduce) {
    .enn-flotante, .enn-flotante.is-visible { transition: none; }
}
@media print { .enn-flotante { display: none !important; } }
