
.hero {
    background-color: var(--white);
    padding: 6rem 5%;
    text-align: center;
    border-bottom: 5px solid var(--primary-blue);
}

.hero h1 {
    color: var(--primary-blue);
    font-size: 3rem;
    margin-bottom: 1rem;
    font-weight: bold;
}

.hero p {
    font-size: 1.2rem;
    max-width: 800px; 
    margin: 0 auto 2rem auto;
    color: #555;
    line-height: 1.6;
}


.btn-primary {
    background-color: var(--primary-blue);
    color: var(--white) !important;
    padding: 0.8rem 2rem;
    border-radius: 5px;
    font-weight: bold;
    display: inline-block;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.btn-primary:hover {
    background-color: #24507d; 
    transform: scale(1.05); 
}

.MainTitle {
    overflow: visible;
}



.programs {
    padding: 5rem 5%;
    text-align: center;
    background-color: var(--bg-light); 
}

.programs h2 {
    color: var(--primary-blue);
    font-size: 2.2rem;
    margin-bottom: 3rem;
    font-weight: bold;
}

.cards-container {
    display: flex;
    justify-content: center;
    gap: 2rem;
    flex-wrap: wrap; 
}

.card {
    background-color: var(--white);
    border-radius: 10px;
    padding: 2rem;
    width: 300px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: none; /* Quitamos el borde por defecto de Bootstrap */
    border-top: 5px solid transparent;
}

.card:hover {
    transform: translateY(-10px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
}

.card-1 { border-top-color: var(--accent-orange); }
.card-2 { border-top-color: var(--accent-red); }
.card-3 { border-top-color: var(--accent-green); }
.card-4 { border-top-color: var(--accent-orange) !important; }
.card-5 { border-top-color: var(--accent-purple); }
.card-6 { border-top-color: var(--primary-blue); }

.card h3 {
    margin-bottom: 1rem;
    color: var(--text-dark);
    font-weight: bold;
}

.card p {
    color: #666;
    font-size: 0.95rem;
}

#mapa {
    padding: 5rem 5%;
    text-align: center;
    background-color: var(--bg-light); /* Fondo gris clarito para contrastar con el Hero blanco */
}

#map {
    width: 100%;
    height: 400px;
    min-height: 400px;
    position: relative;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    margin-bottom: 2rem;
}
#mapa h2 {
    color: var(--primary-blue);
    font-size: 2.2rem;
    margin-bottom: 3rem;
    font-weight: bold;
}

/* --- 3. Carrusel --- */
.custom-carousel-img {
    height: 800px;
    object-fit: cover;
    object-position: center;
}

/* Responsive para el carrusel en pantallas más pequeñas */
@media (max-width: 768px) {
    .custom-carousel-img {
        height: 300px;
    }
}