/* Sticky banner: barra fija al fondo del viewport (Catálogo, Noticias, Guía de Precios, Comparador). */
.sticky-banner {
    position: fixed;
    left: 50%;
    bottom: 0;
    z-index: 1030;
    display: flex;
    width: fit-content;
    max-width: calc(100% - 16px);
    line-height: 0;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.12);
    border-radius: 6px 6px 0 0;
    overflow: hidden;
    transform: translateX(-50%);
    transition: transform 0.25s ease, opacity 0.25s ease;
}

.sticky-banner-hidden {
    transform: translateX(-50%) translateY(150%);
    opacity: 0;
    pointer-events: none;
}

/* El link hereda el tamaño real de la imagen del banner (no se fuerza una caja
   fija) para que el recuadro no quede más grande que la imagen. El slot de GAM,
   en cambio, arranca vacío y necesita reservar tamaño hasta que el creativo cargue.

   El banner interno no tenía max-height: si el creativo activo tuviera una
   proporción distinta a la esperada, podía renderizar mucho más alto que la barra
   sticky. Se le agrega el mismo alto (min/max) que ya reserva .sticky-banner-gam
   para su fallback, más overflow:hidden y el tope aplicado también al <iframe>
   de GAM (que no encoge solo con max-width:100% en el padre). */
.sticky-banner-link {
    display: block;
    max-width: 560px;
    min-height: 69px;
    overflow: hidden;
}

.sticky-banner-img {
    display: block;
    max-width: 100%;
    max-height: 69px;
    height: auto;
    object-fit: contain;
}

.sticky-banner-gam {
    display: block;
    width: 560px;
    max-width: 100%;
    height: 69px;
}

.sticky-banner-gam iframe {
    max-width: 100%;
}

.sticky-banner-close {
    position: absolute;
    top: 6px;
    right: 6px;
    border: none;
    background: rgba(0, 0, 0, 0.45);
    border-radius: 50%;
    width: 22px;
    height: 22px;
    line-height: 22px;
    text-align: center;
    color: #fff;
    cursor: pointer;
}

.sticky-banner-close:hover {
    background: rgba(0, 0, 0, 0.65);
}

@media (max-width: 767.98px) {
    .sticky-banner-link {
        max-width: 300px;
        min-height: 94px;
    }

    .sticky-banner-img {
        max-height: 94px;
    }

    .sticky-banner-gam {
        width: 300px;
        height: 94px;
    }
}
