.banner-cta-swiper {
    width: 100%;
    overflow: hidden;
}

.banner-cta-slide {
    position: relative;
    display: flex;
    width: 100%;
}

.banner-cta__imagen-fondo {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
}

.banner-cta__overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.banner-cta__logos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.banner-cta__logos img {
    width: auto;
    max-height: 60px;
    object-fit: contain;
    box-sizing: content-box;
}

.banner-cta__logos--movil {
    display: none;
}

.banner-cta__logos--desktop {
    display: flex;
}

.banner-cta__wrapper {
    position: relative;
    z-index: 2;
    display: flex;
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
}

.banner-cta__contenido {
    display: flex;
    flex-direction: column;
}

.banner-cta__titulo,
.banner-cta__descripcion {
    margin: 0;
}

.banner-cta__titulo { line-height: 1.2; }
.banner-cta__descripcion { line-height: 1.5; }

.banner-cta__boton {
    display: inline-block;
    width: fit-content;
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
}

.banner-cta-swiper .swiper-pagination-bullet { opacity: 0.5; }
.banner-cta-swiper .swiper-pagination-bullet-active { opacity: 1; }

.banner-cta-swiper .swiper-wrapper {
    align-items: stretch;
}

.banner-cta-swiper .swiper-slide {
    height: auto;
}

.banner-cta__titulo .titulo-movil,
.banner-cta__descripcion .descripcion-movil {
    display: none;
}

.banner-cta__titulo .titulo-desktop,
.banner-cta__descripcion .descripcion-desktop {
    display: inline;
}

@media (max-width: 767px) {
    .banner-cta-slide {
        flex-direction: column;
        min-height: auto !important;
    }

    .banner-cta__imagen-fondo {
        position: relative;
        width: 100%;
        height: 250px;
    }

    .banner-cta__overlay {
        display: none;
    }

    .banner-cta-swiper .swiper-wrapper {
        align-items: stretch;
    }

    .banner-cta-swiper .swiper-slide {
        height: auto;
        display: flex;
    }

    .banner-cta-swiper .swiper-slide > .banner-cta-slide {
        width: 100%;
    }

    .banner-cta__logos--desktop {
        display: none;
    }

    .banner-cta__logos--movil {
        display: flex;
        position: absolute;
        z-index: 3;
    }

    .banner-cta__logos--movil.pos-top-left,
    .banner-cta__logos--movil.pos-top-center,
    .banner-cta__logos--movil.pos-top-right,
    .banner-cta__logos--movil.pos-middle-left,
    .banner-cta__logos--movil.pos-middle-center,
    .banner-cta__logos--movil.pos-middle-right,
    .banner-cta__logos--movil.pos-bottom-left,
    .banner-cta__logos--movil.pos-bottom-center,
    .banner-cta__logos--movil.pos-bottom-right {
        top: auto;
        bottom: auto;
        left: auto;
        right: auto;
        transform: none;
    }

    .banner-cta__logos--movil.pos-top-left { top: 30px; left: 30px; }
    .banner-cta__logos--movil.pos-top-center { top: 30px; left: 50%; transform: translateX(-50%); }
    .banner-cta__logos--movil.pos-top-right { top: 30px; right: 30px; }
    .banner-cta__logos--movil.pos-middle-left { top: 50%; left: 30px; transform: translateY(-50%); }
    .banner-cta__logos--movil.pos-middle-center { top: 50%; left: 50%; transform: translate(-50%, -50%); }
    .banner-cta__logos--movil.pos-middle-right { top: 50%; right: 30px; transform: translateY(-50%); }
    .banner-cta__logos--movil.pos-bottom-left { bottom: 30px; left: 30px; }
    .banner-cta__logos--movil.pos-bottom-center { bottom: 30px; left: 50%; transform: translateX(-50%); }
    .banner-cta__logos--movil.pos-bottom-right { bottom: 30px; right: 30px; }

    .banner-cta__wrapper {
        flex: 1;
        justify-content: center !important;
        align-items: center !important;
    }

    .banner-cta__contenido {
        text-align: center !important;
        align-items: center !important;
    }

    .banner-cta__titulo:has(.titulo-movil) .titulo-desktop,
    .banner-cta__descripcion:has(.descripcion-movil) .descripcion-desktop {
        display: none;
    }

    .banner-cta__titulo .titulo-movil,
    .banner-cta__descripcion .descripcion-movil {
        display: inline;
    }
}
