/* ============================
   HERO SLIDER BASE
============================ */
.hero-slider {
    height: 60vh;
    min-height: 350px;
    position: relative;
    overflow: hidden;
}

.hero-slide-bg {
    height: 60vh;
    min-height: 350px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    filter: brightness(0.55);
}

.carousel-caption {
    top: 50%;
    transform: translateY(-50%);
    bottom: auto;
    z-index: 5;
}

/* TEXTOS */
.carousel-caption h1 {
    text-shadow: 0 3px 10px rgba(0,0,0,0.5);
    font-size: 2.2rem;
}

.carousel-caption p {
    text-shadow: 0 2px 6px rgba(0,0,0,0.5);
    font-size: 1.1rem;
}

/* ============================
   FEATURES (ÍCONOS EN ROJO)
============================ */
.feature-box i {
    color: #d10000 !important; /* rojo */
}

/* ============================
   STEPS (CÍRCULOS EN ROJO)
============================ */
.step-box {
    background: #fff;
}

.step-number {
    width: 60px;
    height: 60px;
    background: #d10000 !important; /* rojo */
    border-radius: 50%;
    color: white;
    font-size: 1.7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

/* ============================
   CTA FINAL
============================ */
.cta-final {
    background-color: #e9eef5 !important; /* lila suave */
    color: #4b0082 !important; /* texto morado oscuro */
    box-shadow: 0 0 20px 0px rgba(216, 180, 255, 0.9);
}

/* ============================
   SECCIONES LILA
   Para elementos con:
   class="py-5 bg-light text-center"
============================ */
.py-5.bg-light.text-center {
    background-color: #d8b4ff !important; /* lila suave */
    color: #4b0082 !important; /* texto morado oscuro */
    box-shadow: 0 0 20px 0px rgba(216, 180, 255, 0.9);
}

/* Botón grande específico con fondo fiusha */
.btn.btn-success.btn-lg.px-5.py-3 {
    background-color: #ff006f !important; /* fiusha */
    border-color: #ff006f !important;
    color: #ffffff !important;
}

/* Hover */
.btn.btn-success.btn-lg.px-5.py-3:hover {
    background-color: #d1005c !important; /* fiusha más oscuro */
    border-color: #d1005c !important;
    color: #fff !important;
}

/* ============================
   FOOTER MORADO
============================ */
#footer_fiestas {
    background-color: #4b0082 !important; /* morado fuerte */
    color: white !important;
}

#footer_fiestas a {
    color: white !important;
}

#footer_fiestas .footer-link-list li a:hover {
    text-decoration: underline;
}

#footer_fiestas .footer-icons .border-light {
    border-color: white !important;
}

#footer_fiestas .footer-icons i {
    color: white !important;
}

/* Responsivo */
@media (max-width: 992px) {
    .hero-slider,
    .hero-slide-bg {
        height: 50vh;
        min-height: 300px;
    }
    .carousel-caption h1 {
        font-size: 2rem;
    }
}

/* Móviles */
@media (max-width: 576px) {
    .hero-slider,
    .hero-slide-bg {
        height: 40vh;
        min-height: 250px;
    }
    .carousel-caption h1 {
        font-size: 1.5rem;
    }
    .carousel-caption p {
        font-size: 0.95rem;
    }
}