.carrousel-moderno {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin-top: 0 !important;
    /* Cambiado de 64px a 0 para que pegue al navbar */
    height: calc(100vh - 64px);
    background-color: #000;
    display: block;
}

.slides-wrapper {
    position: relative;
    height: 100%;
    width: 100%;
}

.slide-item {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity 1.5s ease-in-out;
}

.slide-item.active {
    opacity: 1;
    z-index: 1;
}

.slide-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.caption-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    text-align: center;
    z-index: 10;
    width: 90%;
    text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.8);
    font-family: sans-serif !important;
}

.carrusel-titulo-principal {
    font-size: 4em !important;
    font-weight: 800 !important;
    border-bottom: 3px solid white;
    display: inline-block;
    margin-bottom: 10px;
    letter-spacing: 2px;
    /* Esto permite que se vea tal cual lo escribimos en el HTML */
    text-transform: none !important;
    font-family: sans-serif !important;
}

.caption-text h3 {
    font-size: 3.5em !important;
    font-weight: 300;
    margin-top: 5px;
    font-family: sans-serif !important;
    letter-spacing: 1px;
}

.dots-container-moderno {
    text-align: center;
    position: absolute;
    bottom: 30px;
    width: 100%;
    z-index: 20;
}

.dot-indicator {
    height: 12px;
    width: 12px;
    margin: 0 6px;
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    display: inline-block;
    cursor: pointer;
}

.dot-indicator.active {
    background-color: white;
}

@media (max-width: 768px) {
    .carrousel-moderno {
        margin-top: 64px !important;
        height: 60vh;
    }

    .carrusel-titulo-principal {
        font-size: 2.5em !important;
    }

    .caption-text h3 {
        font-size: 2em !important;
    }
}

body {
    font-family: sans-serif !important;
    text-align: justify;
    margin: 0;
    padding: 0;
    padding-top: 64px;
    /* Esto deja el espacio justo para que el nav no tape el carrusel */
}