.carrusel-slide-swiper {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.carrusel-slide-swiper .swiper-slide {
    display: flex;
    flex-direction: row;
    background-size: cover;
    background-position: center;
    position: relative;
}

.carrusel-slide-content {
    position: relative;
    z-index: 10;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Overlay */
.carrusel-slide-overlay {
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:5;
    pointer-events:none;
    background-color: rgba(0,0,0,0.4);
}

/* Título */
.carrusel-slide-title {
    margin: 0 0 10px 0; /* separación con la descripción */
}

/* Descripción */
.carrusel-slide-desc {
    margin: 0 0 15px 0; /* separación con el botón */
}

/* Botón */
.carrusel-slide-btn {
    display: inline-flex;           /* flex para centrar texto */
    justify-content: center;        /* centrar texto horizontal */
    align-items: center;            /* centrar texto vertical */
    text-decoration: none;
    transition: all 0.3s ease;
    white-space: nowrap;            /* evitar que el texto se rompa */
    min-width: 80px;                /* ancho mínimo del botón */
    padding: 10px 20px;             /* padding interno */
    box-sizing: border-box;         /* padding dentro del ancho */
    margin: 0;                      /* margin controlable desde Elementor */
    flex-shrink: 0;                 /* no permitir que se encoja */
    align-self: flex-start;         /* no ocupar todo el ancho */
}

.carrusel-slide-btn:hover {
    opacity: 0.9;
}

/* Flechas y dots */
.swiper-button-next,
.swiper-button-prev {
    color: #fff;
}

.swiper-pagination-bullet {
    background: #fff;
    opacity: 0.6;
}

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