/* Carousel encapsulado */
#contactPageCarousel.carousel-container {
    max-width: 80%;
    margin: auto;
    position: relative;
}

/* Imagenes del carousel */
#contactPageCarousel .carousel-img {
    width: 100%;
    height: 800px;
    /* desktop */
    object-fit: contain;
}

/* Botones desktop/tablet flotantes a los lados */
#contactPageCarousel .desktop-tablet-only {
    width: 50px;
    height: 50px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.5);
    border: none;
    display: none;
    /* oculto por defecto, se activa en desktop/tablet */
    justify-content: center;
    align-items: center;
    z-index: 2;
    position: absolute;
}

#contactPageCarousel .desktop-tablet-only:hover {
    background-color: rgba(0, 0, 0, 0.8);
}

#contactPageCarousel .desktop-tablet-only .carousel-control-prev-icon,
#contactPageCarousel .desktop-tablet-only .carousel-control-next-icon {
    background-size: 100% 100%;
}

/* Botones mobile debajo */
#contactPageCarousel .mobile-only {
    display: none;
    /* oculto por defecto, se activa en mobile */
    justify-content: center;
    gap: 20px;
    margin-top: 10px;
}

#contactPageCarousel .mobile-only .btn {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    font-size: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* Media queries */

/* Desktop: min-width 1025px */
@media (min-width: 1025px) {
    #contactPageCarousel .carousel-img {
        height: 900px;
    }

    #contactPageCarousel .desktop-tablet-only {
        display: flex;
        /* muestra los botones a los lados */
    }

    #contactPageCarousel .mobile-only {
        display: none;
        /* oculta botones mobile */
    }
}

/* Tablet: 768px - 1024px */
@media (max-width: 1024px) and (min-width: 768px) {
    #contactPageCarousel .carousel-img {
        height: 700px;
    }

    #contactPageCarousel .desktop-tablet-only {
        display: flex;
        /* también botones a los lados en tablet */
    }

    #contactPageCarousel .mobile-only {
        display: none;
        /* oculta botones mobile */
    }
}

/* Mobile: max-width 767px */
@media (max-width: 767px) {
    #contactPageCarousel .carousel-img {
        height: 500px;
    }

    #contactPageCarousel .desktop-tablet-only {
        display: none;
        /* oculta botones a los lados */
    }

    #contactPageCarousel .mobile-only {
        display: flex;
        /* muestra botones debajo */
    }

    #contactPageCarousel.carousel-container {
        padding-bottom: 15px;
    }
}