/* ===================================================================
   Página: Home (Index)
   Enfoque: Mobile-First
=================================================================== */
#jumbotron {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    width: 100%;
    background-attachment: scroll;
}

#jumbotron h1, #jumbotron .lead {
    position: relative;
    z-index: 2;
}

#jumbotron h1 {
    font-size: 2.8rem;
    color: var(--aw-white) !important;
    font-weight: 700 !important;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}

#jumbotron .lead {
    font-size: 1.25rem;
    font-weight: 400;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.3);
}

#jumbotron form {
    background-color: var(--bs-tertiary-bg);
    position: relative;
    z-index: 2;
}

.carousel-container {
    z-index: -1;
}

.carousel-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 2s ease-in-out; 
}

.carousel-image.active {
    opacity: 1;
}

.image-overlay {
    background-color: rgba(130, 150, 187, 0.4);
    z-index: 1;
}

/* --- Sección CTA Gradient --- */
.cta-gradient {
    /*background-color: var(--aw-gray-300) !important;*/
}

.cta-gradient h2 {
    font-size: 2.2rem;
    color: var(--aw-primary) !important;
    font-weight: 700 !important;
    text-shadow: 2px 2px 2px var(--aw-light);
}

.cta-gradient .lead {
    font-size: 1.15rem;
}

/* --- Sección Mapa --- */
#sectionMapa {
    background-attachment: scroll;
    background-image: url("../../img/section_mapa.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 400px;
    position: relative;
    width: 100%;
}

#sectionMapa h2 {
    font-size: 2.2rem;
    color: var(--aw-white) !important;
    font-weight: 700 !important;
    text-shadow: 2px 2px 4px rgba(var(--aw-primary-rgb), 1);
    z-index: 2;
}

#sectionMapa .image-overlay {
    background-color: rgba(var(--aw-primary-rgb), 0.3);
    z-index: 1;
}

@media (min-width: 992px) {
    #jumbotron,
    #sectionMapa {
        background-attachment: fixed;
    }
    
    #jumbotron h1 {
        font-size: 4rem;
    }

    #jumbotron .lead {
        font-size: 1.8em;
    }

    .cta-gradient h2 {
        font-size: 3rem;
    }

    .cta-gradient .lead {
        font-size: 1.3rem;
    }

    #sectionMapa {
        height: 600px;
    }

    #sectionMapa h2 {
        font-size: 4rem;
    }
}

.feature-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}