﻿/* Fuentes usadas
Lato:400,700|Oswald:700|Pacifico:400
font-family: 'Pacifico', cursive;
font-family: 'Oswald', sans-serif;
font-family: 'Lato', sans-serif;
*/

body {
    font-family: 'Lato', sans-serif !important;
    font-weight: 400 !important;
    color: #111 !important;
    font-size: 100% !important;
    line-height: 1.4 !important;
}

h1, h2, h3, h4, h5 {
    font-family: 'Oswald', sans-serif;
    font-weight: 700 !important;
    line-height: 1 !important;
}



h4 {
}

.lead {
}

a {
}
a:hover {
    color: #111;
}

.lead {
}

#fMladifest .row {
    margin-bottom: 3rem;
}

.mladifest-actividades li {
    margin-bottom: 0.6rem;
}

.mladifest-actividades li .fa-check-circle {
    color: #fff;
}

@media only screen and (max-width: 992px) {
    h1 {
        font-size:160%;
    }

   body {
        font-size: 115% !important;
    }
}

/* <BANNER SLIDER> */
#slider1 {
    width: 100% !important;
    max-width: 100% !important;
}
#slider1 .ls-slide {
    overflow: hidden !important;
}
#slider1 .ls-bg {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    min-width: 100% !important;
    min-height: 100% !important;
    width: auto !important;
    height: auto !important;
}
/* </BANNER SLIDER> */

/* <ENCABEZADO> */
#fEncabezado {
    background-repeat: repeat;
    background-color: #4B57C2;
    text-align: center;
}

/* </ENCABEZADO> */


/* <CARRUSEL> */
.Banner {
    background-color: #D8ECF7;
}
    .carousel .item {
        width: 100%; /*slider width*/
    }

        .carousel .item img {
            width: 100%; /*img width*/
        }

.carousel-indicators li {
    height: 6px;
    background-color: #111;
    opacity: .5;
}
/* </CARRUSEL> */

/* <INTRO> */
#fIntro {
    padding-top: 5rem;
    padding-bottom: 2rem;
    background: url(../images/foggy-birds.png) repeat;
    background-color: #F72A77;
    color: #fff;
}

@media only screen and (max-width: 992px) {

    #fIntro {
        padding-top: 2rem;
        padding-bottom: 5rem;
    }

}

/* </INTRO> */

/* <DESCRIPCION> */
#fDescripcion {
    padding-top: 3rem;
    padding-bottom: 4rem;
    background-color: #fff;
}

@media only screen and (max-width: 992px) {

    #fDescripcion {
        padding-top: 0rem;
    }

}
/* </DESCRIPCION> */

/* <NOSOTROS> */
#fNosotros {
    padding-top: 3rem;
    padding-bottom: 2rem;
    background-image: linear-gradient(to right, #FAE6E5, #ffc6d0);
}

    #fNosotros h1 {
        margin-bottom: 2rem;
    }

@media only screen and (max-width: 992px) {

    #fNosotros {
        padding-top: 2rem;
        padding-bottom: 4rem;
    }

}
/* </NOSOTROS> */

/* <ITINERARIO> */
#fItinerario {
    padding-top: 4rem;
    padding-bottom: 4rem;
    background-color: #fff;
}

    #fItinerario .detalle {
        padding-bottom: 2rem !important;
    }

        #fItinerario .detalle .columna2 {
            padding-top: 2rem;
        }

@media only screen and (max-width: 992px) {

    #fItinerario {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }
        #fItinerario .detalle .columna2 {
            padding-top: 2rem;
        }

}
/* </ITINERARIO> */

    /* <INCLUYE> */
#fIncluye {
    padding-top: 5rem;
    padding-bottom: 3rem;
    background-image: linear-gradient(to right, #FAE6E5, #ffc6d0);
}

        #fIncluye .ListaIncluye ul, #fIncluye .ListaNoIncluye ul {
            list-style-type: none;
            padding: 0px;
            margin: 0px;
        }

        #fIncluye .ListaIncluye li {
            background-image: url(../images/vineta-incluye.png);
            background-repeat: no-repeat;
            background-position: 10px 6px;
            padding-left: 45px;
            margin-top: 12px;
            margin-bottom: 12px;
			line-height:2 !important;
        }

        #fIncluye .ListaNoIncluye li {
            background-image: url(../images/vineta-no-incluye.png);
            background-repeat: no-repeat;
            background-position: 10px 6px;
            padding-left: 45px;
            margin-top: 12px;
            margin-bottom: 12px;
			line-height:2 !important;
        }



@media only screen and (max-width: 992px) {

    #fIncluye {
        padding-top: 2rem;
        padding-bottom: 1rem;
    }

}
    /* </INCLUYE> */

    /* <CALL> */
#fCall {
    padding-top: 5rem;
    padding-bottom: 4rem;
    background: url(../images/foggy-birds-02.png) repeat;
    background-color: #FA2776;
    color: #fff;
}

@media only screen and (max-width: 992px) {

    #fCall {
        padding-top: 3rem;
    }

}
    /* <CALL> */

    /* <CONTACTO> */
#fContacto {
    padding-top: 4rem;
    padding-bottom: 4rem;
    background-color: #fff;
}


    #fContacto .recuadroTelefonos {
        background-color: #FA2776;
        color: #fff;
        padding: 4rem 2rem;
    }


            #fContacto .recuadroTelefonos a {
                color: #fff;
            }

            #fContacto .recuadroTelefonos h4 {
                padding-bottom: 1rem;
            }

@media only screen and (max-width: 992px) {

    #fContacto {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

}
    /* <CONTACTO> */

    /* <PIE> */
#fPie {
    padding-top: 3rem;
    padding-bottom: 2rem;
    background-image: linear-gradient(to right, #FAE6E5, #ffc6d0);
}

    #fPie a {
        color: #111;
    }

@media only screen and (max-width: 992px) {

    #fPie {
        padding-top: 3rem;
        padding-bottom: 6rem;
    }
}
    /* </PIE> */


    /* <VARIOS> */
    .destacado {
        font-family: 'Pacifico', cursive !important;
        font-size: 150%;
        margin-top: 1rem;
        margin-bottom: 1rem;
    }

.textoRojo {
    color: #F92675 !important;
}
.textoMorado {
    color: #5B0A81 !important;
}

.thFoto {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

    .btn {
        border: none !important;
        padding: 1rem 2rem 1rem 2rem !important;
        border-radius: 0 !important;
        font-size: 110% !important;
        margin-top: 1rem;
        margin-bottom: 1rem;
        text-decoration: none;
        font-family: 'Oswald', sans-serif;
        font-weight: 700 !important;
    }

.btn-primary {
    color: #fff;
    background: url(../images/foggy-birds.png) repeat;
    background-color: #FA2776;
}

    .btn-primary:hover {
        background-color: #C2065D;
    }


    .btn-secondary {
        color: #fff !important;
        border: 3px solid #fff !important;
        background-color: transparent !important;
    }

        .btn-secondary:hover {
            color: #B398FF !important;
            border: 3px solid #B398FF !important;
            background-color: transparent;
        }

    .badge {
        padding: .35em .4em .35em .5em !important;
        font-size: 70% !important;
        font-weight: 700 !important;
        border-radius: 0rem !important;
        word-break:break-all !important;
    }

.badge-primary {
    color: #fff;
    background-color: #FA2776;
}


    .mark, mark {
        padding: .1em;
        background-color: #FA2776 !important;
    }

    .shadow-sm {
        box-shadow: 0 .125rem .25rem rgba(0,0,0,.09) !important;
    }

    /* </VARIOS> */


    /* <FORMULARIO>*/
    .form-control {
        border: 2px solid #2275B7;
        border-radius: 0;
        background-color: transparent;
    }
    /* </FORMULARIO>*/

/* <WHATSAPP> */
.float {
    position: fixed;
    width: 60px;
    height: 60px;
    bottom: 20px;
    right: 40px;
    background-color: #1CC33D;
    color: #FFF !important;
    border-radius: 50%;
    text-align: center;
    font-size: 30px;
    z-index: 100;
}

    .float:hover {
        color: #FFF;
        background-color: #12DE3B;
    }

.my-float {
    margin-top: 16px;
}


@media only screen and (max-width: 991px) {

    .float {
        right: 20px;
    }
}
/* </WHATSAPP> */





/* <TESTIMONIOS> */
.carousel-indicators li {
    padding-bottom: 0rem !important;
}

#fTestimonios {
    padding-top: 5rem;
    padding-bottom: 5rem;
    text-align: center;
    background-color: #fff;
}

    #fTestimonios .testimonial {
        padding-left: 8rem;
        padding-right: 8rem;
        padding-bottom: 3rem;
    }

    #fTestimonios h2 {
        font-weight: 400 !important;
        color: #000;
        font-size: 110% !important;
        line-height: 1.4 !important;
        font-style: italic;
        font-family: 'Lato', sans-serif !important;
    }

    #fTestimonios h5 {
        padding-bottom: 0rem;
    }


#CarouselTestimoniales .col-center {
    margin: 0 auto;
    float: none !important;
}

#CarouselTestimoniales .carousel {
    margin: 50px auto;
    padding: 0 70px;
}

    #CarouselTestimoniales .carousel .item {
        color: #999;
        font-size: 14px;
        text-align: center;
        overflow: hidden;
        min-height: 290px;
    }

        #CarouselTestimoniales .carousel .item .img-box {
            width: 135px;
            height: 135px;
            margin: 0 auto;
            padding: 5px;
            border: 1px solid #ddd;
            border-radius: 50%;
        }

    #CarouselTestimoniales .carousel .img-box img {
        width: 100%;
        height: 100%;
        display: block;
        border-radius: 50%;
    }

    #CarouselTestimoniales .carousel .testimonial {
        padding: 30rem 10rem !important;
        color: #f00 !important;
    }

    #CarouselTestimoniales .carousel .overview {
        font-style: italic;
    }

        #CarouselTestimoniales .carousel .overview b {
            text-transform: uppercase;
            color: #FA2776;
        }

    #CarouselTestimoniales .carousel .carousel-control {
        width: 40px;
        height: 40px;
        margin-top: -20px;
        top: 50%;
        background: none;
    }

#CarouselTestimoniales .carousel-control i {
    font-size: 68px;
    line-height: 42px;
    position: absolute;
    display: inline-block;
    color: #FA2776;
    /*text-shadow: 0 3px 3px #e6e6e6, 0 0 0 #000;*/
    text-shadow: none;
}

#CarouselTestimoniales .carousel .carousel-indicators {
    bottom: -40px;
}

#CarouselTestimoniales .carousel-indicators li, CarouselTestimoniales .carousel-indicators li.active {
    width: 10px !important;
    height: 10px !important;
    margin: 1px 3px;
    border-radius: 50%;
}

#CarouselTestimoniales .carousel-indicators li {
    background: #FA2776;
    border-color: transparent;
    box-shadow: inset 0 2px 1px rgba(0,0,0,0.1);
    border-top: none !important;
    border-bottom: none !important;
}

    #CarouselTestimoniales .carousel-indicators li.active {
        background: #FA2776;
        box-shadow: none;
    }




@media only screen and (max-width: 991px) {

    #fTestimonios {
        padding-top: 4rem;
        padding-bottom: 3rem;
    }

        #fTestimonios .testimonial {
            padding-left: 3rem;
            padding-right: 3rem;
            padding-bottom: 3rem;
        }

        #fTestimonios h2 {
            font-weight: 400 !important;
            font-size: 105% !important;
        }

    #CarouselTestimoniales .carousel-control i {
        font-size: 40px;
        line-height: 42px;
        position: absolute;
        display: inline-block;
        color: #FA2776;
        /* text-shadow: 0 3px 3px #e6e6e6, 0 0 0 #000; */
        text-shadow: none;
    }

    .carousel-control-next, .carousel-control-prev {
        width: 10%;
    }

    #fTestimonios .estrella {
        font-size: 100%;
        padding-right: 3px;
    }
}

/* </TESTIMONIOS> */


.alert-danger {
    color: #111;
    background-image: linear-gradient(to right, #FAE6E5, #ffc6d0);
    border-color: #E7DFFE;
    padding-top: 1.5rem;
}

li::marker {
    color: #FA2776;
}


/* <VIDEO RESPONSIVE> */
/* USO:
<div class="flex-video widescreen" style="margin: 0 auto;text-align:center;">
    <iframe src="//www.youtube.com/embed/codigo_de_youtube?rel=0" frameborder="0" allowfullscreen></iframe>
</div>
*/

.flex-video {
    position: relative;
    padding-top: 25px;
    padding-bottom: 67.5%;
    height: 0;
    margin-bottom: 16px;
    overflow: hidden;
}

    .flex-video.widescreen {
        padding-bottom: 57.25%;
    }

    .flex-video.vimeo {
        padding-top: 0;
    }

    .flex-video iframe,
    .flex-video object,
    .flex-video embed {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

@media only screen and (max-device-width: 800px), only screen and (device-width: 1024px) and (device-height: 600px), only screen and (width: 1280px) and (orientation: landscape), only screen and (device-width: 800px), only screen and (max-width: 767px) {
    .flex-video {
        padding-top: 0;
    }
}









/* <OLA> */
#fFranjaOla {
    background: url(/images/fondo-ola.svg) bottom center repeat-x;
    height: 190px;
}


@media only screen and (max-width: 1200px) {
    #fFranjaOla {
        height: 120px;
    }
}

@media only screen and (max-width: 992px) {
    #fFranjaOla {
        height: 80px;
    }
}

/* </OLA> */

/* <OLA GRIS> */
#fFranjaOlaGris {
    background: url(/images/fondo-ola-gris.svg) bottom center repeat-x;
    background-color: #E4F8FF;
    height: 190px;
}


@media only screen and (max-width: 1200px) {
    #fFranjaOlaGris {
        height: 120px;
    }
}

@media only screen and (max-width: 992px) {
    #fFranjaOlaGris {
        height: 80px;
    }
}

/* </OLA GRIS> */

/* <OLA AZUL> */
#fFranjaOlaAzul {
    background: url(/images/fondo-ola-azul.svg) bottom center repeat-x;
    background-color: #1C2546;
    height: 190px;
}


@media only screen and (max-width: 1200px) {
    #fFranjaOlaAzul {
        height: 120px;
    }
}

@media only screen and (max-width: 992px) {
    #fFranjaOlaAzul {
        height: 80px;
    }
}

/* </OLA AZUL> */

/* <CALL> */
#fFranjaCall {
    padding-top: 2rem;
    padding-bottom: 4rem;
    background: #4B57C2;
    color: #fff;
}


@media only screen and (max-width: 1200px) {


}

@media only screen and (max-width: 992px) {

}

/* </CALL> */


.cardo-regular-italic {
  font-family: "Cardo", serif !important;
  font-weight: 700;
  font-style: italic;
  font-size: 140% !important;
  line-height: 1.2 !important;
  margin-top: .5rem;
}



 /* === NUEVOS ESTILOS === */

 /* === BASE TIPOGRÁFICA (igual que medjugorje.org.mx) === */
        body {
            font-family: 'Mulish', sans-serif !important;
            font-weight: 600 !important;
            line-height: 1.6 !important;
            font-size: 105%;
        }
        h1, h2, h3, h4, h5 {
            font-family: 'Montserrat', sans-serif !important;
            font-weight: 700 !important;
            line-height: 1.2 !important;
        }
        .indicadorSeccion {
            font-family: 'Mulish', sans-serif;
            font-weight: 900 !important;
            letter-spacing: 2px;
            font-size: 70%;
            text-transform: uppercase;
            color: #FB2774;
            display: block;
            margin-bottom: .4rem;
        }

        /* === WAVE DIVIDER (igual que el sitio) === */
        .wave-divider {
            position: absolute;
            top: 0; left: 0;
            width: 100%;
            overflow: hidden;
            line-height: 0;
            z-index: 1;
        }
        .wave-divider svg {
            display: block;
            width: calc(100% + 1.3px);
            height: 100px;
            transform: rotateY(180deg);
        }
        @media (max-width: 992px) {
            .wave-divider svg { height: 50px; }
        }
        .wave-contenido {
            position: relative;
            z-index: 2;
        }

        .text {
            font-size: 140%;
            font-weight: bold;
            color: #FB2774;
            text-transform: uppercase;
            line-height: 1.3;
        }
        .text a {
            color: #FB2774;
        }

        /* ---- Hero / Intro ---- */
        #fIntro {
            position: relative;
            padding: 5rem 0 4rem;
            background-image:
                linear-gradient(to bottom, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.6) 100%),
                url('../images/Banners/banner-0.jpg');
            background-size: cover;
            background-position: center top;
            color: #fff;
        }
        #fIntro h1,
        #fIntro p,
        #fIntro .lead {
            color: #fff;
        }

        /* Hero: lista de highlights */
        #fIntro .highlights {
            list-style: none;
            padding: 0;
            margin: 1.5rem auto;
            max-width: 480px;
            text-align: left;
            font-size: 110%;
            line-height: 2;
        }

        /* Botones hero */
        #fIntro .btn-hero-primary {
            background-color: #fff;
            color: #FB2774;
            font-family: 'Montserrat', sans-serif;
            font-weight: 700;
            letter-spacing: 1px;
            text-transform: uppercase;
            border: none;
            padding: .75rem 2rem;
            font-size: 105%;
            border-radius: 50px !important;
        }
        #fIntro .btn-hero-primary:hover {
            background-color: #ffe0ec;
        }

        /* Efecto shimmer en botones CTA */
        @keyframes btn-shimmer {
            0%   { left: -120%; }
            60%  { left: 120%; }
            100% { left: 120%; }
        }
        #fIntro .btn-hero-primary,
        .btn-precio,
        .btn-wa {
            position: relative;
            overflow: hidden;
        }
        #fIntro .btn-hero-primary::before,
        .btn-precio::before,
        .btn-wa::before {
            content: '';
            position: absolute;
            top: 0;
            left: -120%;
            width: 60%;
            height: 100%;
            background: linear-gradient(
                120deg,
                transparent 0%,
                rgba(255,255,255,0.35) 50%,
                transparent 100%
            );
            animation: btn-shimmer 3.5s ease-in-out infinite;
            pointer-events: none;
        }
        #fIntro .btn-hero-outline {
            background-color: transparent;
            color: #fff;
            font-family: 'Montserrat', sans-serif;
            font-weight: 700;
            letter-spacing: 1px;
            text-transform: uppercase;
            border: 2px solid #fff;
            padding: .75rem 2rem;
            font-size: 105%;
        }
        #fIntro .btn-hero-outline:hover {
            background-color: rgba(255,255,255,0.15);
            color: #fff;
        }

        /* Badge info unificado */
        #fIntro .badge-info-viaje {
            display: inline-flex;
            align-items: center;
            flex-wrap: wrap;
            gap: .5rem 1rem;
            justify-content: center;
            margin-top: 1.5rem;
            background-color: #4B57C2;
            border-radius: .2rem;
            padding: .6rem 1.8rem;
            font-size: 1.05rem;
            color: #fff; 
        }
        #fIntro .badge-info-sep {
            opacity: .4;
        }
        #fIntro .badge-info-viaje i {
            display: inline-block;
            animation: icono-bounce 2s ease-in-out infinite;
        }

        /* Float WhatsApp */
        .float {
            position: fixed;
            width: 60px;
            height: 60px;
            bottom: 40px;
            right: 40px;
            background-color: #25d366;
            color: #fff;
            border-radius: 50px;
            text-align: center;
            font-size: 30px;
            box-shadow: 2px 2px 3px #999;
            z-index: 1000;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .float:hover { color: #fff; }

        /* ---- Por qué viajar con nosotros ---- */
        #fPorQue {
            padding: 4rem 0 1rem 0;
            background-color: #f5c0e5;
            background-image: linear-gradient(to bottom,#f5c0e5, #e8c3f0, #d9c7f8, #c0d0fc, #b0d6f6, #acdaeb);
        }
        #fPorQue h2 {
            color: #1a1a2e;
            margin-bottom: .75rem;
        }
        #fPorQue .label-porque {
            font-family: 'Montserrat', sans-serif;
            font-size: .9rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 2px;
            color: #4B57C2;
            margin-bottom: .25rem;
        }
        #fPorQue .desc-porque {
            color: #555;
            font-size: 1.05rem;
        }
        .card-porque {
            background: #fff;
            border-radius: 0 1.5rem 0 1.5rem;
            overflow: hidden;
            height: 100%;
            box-shadow: 0 4px 20px rgba(0,0,0,0.07);
            transition: transform .25s ease, box-shadow .25s ease;
        }
        .card-porque:hover {
            transform: translateY(-6px);
            box-shadow: 0 12px 36px rgba(251,39,116,0.15);
        }
        .card-porque-img {
            width: 100%;
            overflow: hidden;
            background-color: #ddd;
        }
        .card-porque-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            transition: transform .4s ease;
        }
        .card-porque:hover .card-porque-img img {
            transform: scale(1.05);
        }
        .card-porque-body {
            padding: 1.5rem 1.75rem;
            border-top: 4px solid #FB2774;
        }
        @keyframes icono-pulso {
            0%, 100% { transform: scale(1);   opacity: 1; }
            50%       { transform: scale(1.22); opacity: .75; }
        }
        @keyframes icono-bounce {
            0%, 100% { transform: translateY(0); }
            40%       { transform: translateY(-5px); }
            60%       { transform: translateY(-2px); }
        }
        .card-porque-icono {
            font-size: 1.8rem;
            color: #FB2774;
            margin-bottom: .75rem;
        }
        .card-porque-icono i {
            display: inline-block;
            animation: icono-pulso 2.4s ease-in-out infinite;
        }
        .card-porque h4 {
            font-family: 'Montserrat', sans-serif;
            font-size: 1.1rem;
            color: #1a1a2e;
            margin-bottom: .5rem;
            line-height: 1.3 !important;
        }
        .card-porque p {
            font-size: .95rem;
            color: #555;
            margin: 0;
            line-height: 1.5 !important;
        }

        /* ---- Video / Testimonios ---- */
        #fVideo {
            position: relative;
            padding: 4rem 0 3rem;
            background-image:
                linear-gradient(rgba(255,255,255,0.85), rgba(5,5,20,0.4)),
                url('../images/fondo-1.jpg');
            background-size: cover;
            background-position: center;
        }
        #fVideo h2 {
            margin-bottom: .75rem;
        }
        #fVideo .label-video {
            font-family: 'Montserrat', sans-serif;
            font-size: .9rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 2px;
            color: #4B57C2;
            margin-bottom: .25rem;
        }
        #fVideo .desc-video {
            color: rgba(255,255,255,0.7);
            font-size: 1.05rem;
        }
        #fVideo .video-wrapper {
            position: relative;
            padding-bottom: 56.25%; /* 16:9 */
            height: 0;
            overflow: hidden;
            border-radius: 12px;
            box-shadow: 0 8px 32px rgba(0,0,0,0.5);
        }
        #fVideo .video-wrapper iframe {
            position: absolute;
            top: 0; left: 0;
            width: 100%; height: 100%;
            border-radius: 12px;
        }
        #fVideo .video-secundario {
            opacity: .85;
        }
        #fVideo .video-secundario:hover {
            opacity: 1;
        }
        #fVideo .etiqueta-video {
            color: rgba(255,255,255,0.5);
            font-size: .88rem;
        }

        /* ---- Formulario ---- */
        #formulario {
            padding: 5rem 0;
            background: linear-gradient(160deg, #FB2774 0%, #c0195a 50%, #1a1a2e 100%);
            color: #fff;
        }
        #formulario h2 {
            color: #fff;
            font-size: 2.2rem;
        }
        #formulario .label-formulario {
            font-family: 'Montserrat', sans-serif;
            font-size: .9rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 2px;
            color: rgba(255,255,255,0.75);
            margin-bottom: .25rem;
        }
        #formulario .desc-formulario {
            color: rgba(255,255,255,0.85);
            font-size: 1.1rem;
            margin: 0;
        }
        /* Placeholder visible mientras no está el form de HubSpot */
        .formulario-placeholder {
            background: rgba(255,255,255,0.12);
            border: 2px dashed rgba(255,255,255,0.4);
            border-radius: 16px;
            padding: 3rem;
            text-align: center;
            color: rgba(255,255,255,0.6);
        }
        .formulario-placeholder i {
            font-size: 3rem;
            margin-bottom: 1rem;
            display: block;
        }
        /* Botón WhatsApp alternativo */
        #formulario .formulario-wa {
            color: rgba(255,255,255,0.8);
            font-size: .95rem;
        }
        .btn-wa {
            display: inline-flex;
            align-items: center;
            gap: .5rem;
            margin-top: .5rem;
            background-color: #25d366;
            color: #fff;
            padding: .55rem 1.4rem !important;
            text-transform: uppercase;
            letter-spacing: 1px;
            border-radius: 50px !important;
            text-decoration: none;
            transition: background .2s ease, transform .2s ease;
        }
        .btn-wa i { font-size: 1.3rem; }
        .btn-wa:hover {
            background-color: #1da851;
            color: #fff;
            transform: translateY(-2px);
        }

        /* ---- FAQ ---- */
        #fFaq {
            padding: 5rem 0;
            background-color: #f5c0e5;
            background-image: linear-gradient(to bottom,#f5c0e5, #e8c3f0, #d9c7f8, #c0d0fc, #b0d6f6, #acdaeb, #E4F8F2);
        }
        #fFaq h2 {
            color: #1a1a2e;
            margin-bottom: 0;
        }
        #fFaq .label-faq {
            font-family: 'Montserrat', sans-serif;
            font-size: .9rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 2px;
            color: #4B57C2;
            margin-bottom: .25rem;
        }
        .faq-accordion .accordion-item {
            border: none;
            border-radius: 10px !important;
            margin-bottom: .75rem;
            overflow: hidden;
            box-shadow: 0 2px 10px rgba(0,0,0,0.06);
        }
        .faq-accordion .accordion-button {
            font-family: 'Montserrat', sans-serif;
            font-size: 1.05rem;
            font-weight: 700;
            color: #1a1a2e;
            background-color: #fff;
            padding: 1.1rem 1.5rem;
            box-shadow: none;
        }
        .faq-accordion .accordion-button:not(.collapsed) {
            background-color: #fff;
            box-shadow: none;
        }
        .faq-accordion .accordion-button::after {
            filter: none;
        }
        .faq-accordion .accordion-button:not(.collapsed)::after {
            filter: invert(22%) sepia(98%) saturate(2000%) hue-rotate(315deg);
        }
        .faq-accordion .accordion-body {
            font-size: .97rem;
            color: #444;
            background-color: #fff;
            padding: .75rem 1.5rem 1.25rem;
            line-height: 1.7;
        }
        .faq-link {
            color: #FB2774;
            font-weight: 700;
            text-decoration: none;
        }
        .faq-link:hover {
            text-decoration: underline;
            color: #c0195a;
        }
        /* Accordion: max-height en vez de display:none — funciona sin Bootstrap JS */
        .faq-accordion .accordion-collapse.collapse {
            display: block !important;
            max-height: 0;
            overflow: hidden;
            transition: max-height .35s ease;
        }
        .faq-accordion .accordion-collapse.collapse.show {
            max-height: 600px;
        }
        .faq-accordion .accordion-collapse.collapsing {
            display: block !important;
        }

        /* ---- Precio ---- */
        #fPrecio {
            position: relative;
            padding: 7rem 0 5rem;
            background-image:
                linear-gradient(rgba(5,5,20,0.85), rgba(5,5,20,0.2)),
                url('../images/fondo-2.jpg');
            background-size: cover;
            background-position: center;
        }
        .precio-card {
            background: #fff;
            border-radius: 20px;
            overflow: hidden;
            box-shadow: 0 20px 60px rgba(0,0,0,0.4);
        }
        .precio-header {
            background: linear-gradient(135deg, #FB2774, #c0195a);
            padding: 2rem 2.5rem 1.5rem;
            text-align: center;
            color: #fff;
        }
        .precio-label {
            font-family: 'Montserrat', sans-serif;
            font-size: .85rem;
            text-transform: uppercase;
            letter-spacing: 2px;
            opacity: .85;
            margin-bottom: .4rem;
        }
        .precio-subtitulo {
            font-size: 1.1rem;
            font-weight: 400;
            margin: 0;
            opacity: .95;
        }
        .precio-monto {
            padding: 2rem 2.5rem 1rem;
            border-bottom: 1px solid #f0f0f0;
            line-height: 1;
        }
        .precio-desde {
            font-size: .95rem;
            color: #888;
            vertical-align: top;
            margin-top: .5rem;
            display: inline-block;
            margin-right: .25rem;
        }
        .precio-numero {
            font-family: 'Montserrat', sans-serif;
            font-size: 3.8rem;
            font-weight: 700;
            color: #1a1a2e;
        }
        .precio-moneda {
            font-family: 'Montserrat', sans-serif;
            font-size: 1.4rem;
            color: #555;
            vertical-align: top;
            margin-top: .9rem;
            display: inline-block;
            margin-left: .2rem;
        }
        .precio-pp {
            color: #888;
            font-size: .9rem;
            margin: .25rem 0 0;
        }
        .precio-incluye {
            list-style: none;
            padding: 1.5rem 2.5rem;
            margin: 0;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: .6rem 1.5rem;
            border-bottom: 1px solid #f0f0f0;
        }
        @media (max-width: 575px) {
            .precio-incluye { grid-template-columns: 1fr; }
            .precio-numero  { font-size: 2.8rem; }
        }
        .precio-incluye li {
            font-size: .97rem;
            color: #333;
        }
        .precio-incluye li img {
            filter: none;
        }
        .precio-urgencia {
            margin: 1.25rem 2.5rem 0;
            background-color: #fff8e1;
            border-left: 4px solid #f39c12;
            border-radius: 0 8px 8px 0;
            padding: .75rem 1rem;
            font-size: .95rem;
            color: #7a5c00;
        }
        .btn-precio {
            background: linear-gradient(135deg, #FB2774, #c0195a);
            color: #fff;
            font-family: 'Montserrat', sans-serif;
            font-size: 1.1rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1px;
            padding: .85rem 2.5rem;
            border-radius: 50px !important;
            border: none;
            box-shadow: 0 6px 20px rgba(251,39,116,0.35);
            transition: transform .2s ease, box-shadow .2s ease;
            margin-bottom: 2rem;
        }
        .btn-precio:hover {
            color: #fff;
            transform: translateY(-2px);
            box-shadow: 0 10px 28px rgba(251,39,116,0.5);
        }

        /* ---- Testimonios ---- */
        #fTestimonios {
            padding: 5rem 0;
            background-color: #fff;
        }
        #fTestimonios h2 {
            color: #1a1a2e;
            margin-bottom: .75rem;
        }
        #fTestimonios .label-testimonios {
            font-family: 'Montserrat', sans-serif;
            font-size: .9rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 2px;
            color: #4B57C2;
            margin-bottom: .25rem;
        }
        #fTestimonios .desc-testimonios {
            color: #555;
            font-size: 1.05rem;
            margin: 0;
        }
        #fTestimonios .subtitulo-testimonios {
            font-family: 'Montserrat', sans-serif;
            font-size: 1rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1px;
            color: #1a1a2e;
            border-bottom: 2px solid #FB2774;
            display: inline-block;
            padding-bottom: .3rem;
            margin: 0;
        }
        /* Ratio vertical 9:16 para Shorts */
        .ratio-vertical {
            --bs-aspect-ratio: 177.78%;
        }

        /* ---- Lo que viviremos ---- */
        #fViviremos {
            position: relative;
            background: #acdaeb;
        }
        .viviremos-header {
            padding: 6rem 1rem 2rem;
        }
        .viviremos-header h2 {
            margin: 0;
        }
        .viviremos-header .label-viviremos {
            font-family: 'Montserrat', sans-serif;
            font-size: .9rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 2px;
            color: #4B57C2;
            margin-bottom: .25rem;
        }
        @keyframes viviremos-scroll {
            from { transform: translateX(0); }
            to   { transform: translateX(-50%); }
        }
        .viviremos-marquee-wrapper {
            overflow: hidden;
        }
        .viviremos-track {
            display: flex;
            width: max-content;
            animation: viviremos-scroll 45s linear infinite;
        }
        .viviremos-track:hover {
            animation-play-state: paused;
        }
        .tile-vivir {
            flex: 0 0 300px;
            height: 300px;
            position: relative;
            overflow: hidden;
            background-color: #2a2a3e;
            background-size: cover;
            background-position: center;
            cursor: default;
        }
        .tile-vivir::after {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.1) 60%);
            transition: background .3s ease;
        }
        .tile-vivir:hover::after {
            background: linear-gradient(to top, rgba(75,87,194,0.9) 0%, rgba(75,87,194,0) 60%);
        }
        .tile-vivir .tile-overlay {
            position: absolute;
            bottom: 0; left: 0; right: 0;
            z-index: 2;
            padding: 1.2rem;
            color: #fff;
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            gap: .4rem;
        }
        .tile-vivir .tile-overlay i {
            font-size: 1.8rem;
            opacity: .9;
        }
        .tile-vivir .tile-overlay span {
            font-family: 'Montserrat', sans-serif;
            font-size: 1.05rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .5px;
            line-height: 1.2;
            text-shadow: 0 1px 4px rgba(0,0,0,0.6);
        }
        .tile-vivir .tile-overlay i,
        .tile-vivir .tile-overlay span {
            transition: transform .3s ease;
        }
        .tile-vivir:hover .tile-overlay i,
        .tile-vivir:hover .tile-overlay span {
            transform: translateY(-4px);
        }

        /* ---- Qué es el Mladifest ---- */
        #fMladifest {
            padding: 2rem 0;                            
            background-image: linear-gradient(to top,#181b3b, #4B57C2);
            color: #fff;
        }
        #fMladifest h2 {
            color: #fff;
            margin-bottom: 1rem;
        }
        #fMladifest .intro-mladifest {
            font-size: 1.15rem;
            color: #fff;
            margin-bottom: .5rem;
        }
        #fMladifest .subtitulo-mladifest {
            font-family: 'Montserrat', sans-serif;
            font-size: 1.1rem;
            font-weight: 700;
            color: #fff;
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: 0;
        }
        #fMladifest .lista-mladifest {
            list-style: none;
            padding: 0;
            margin: 0;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: .6rem 2rem;
        }
        @media (max-width: 575px) {
            #fMladifest .lista-mladifest {
                grid-template-columns: 1fr;
            }
        }
        #fMladifest .lista-mladifest li {
            font-size: 1.05rem;
            padding: .5rem .75rem;
            border-left: 3px solid #fff;
            background-color: #fdf5f8;
            border-radius: 0 6px 6px 0;
        }
        #fMladifest .lista-mladifest li i {
            color: #fff;
            width: 1.2em;
        }
        #fMladifest .fecha-mladifest {
            background-color: #1a1a2e;
            color: #fff;
            padding: .75rem 2rem;
            border-radius: 50px;
            font-size: 1.05rem;
        }

        /* ---- Pie de página  ---- */
        #fFranjaPie {
            padding-top: 4rem;
            padding-bottom: calc(2rem + 64px);
            background-image: linear-gradient(to right top, #1a1920, #1d1d2e, #1e223e, #1a284e, #0a2e5f);
            color: #fff;
        }
        #fFranjaPie .renglon1 { padding-bottom: 2rem; }
        #fFranjaPie .indicadorSeccion { padding-bottom: 2rem; }
        #fFranjaPie li { padding-bottom: 1rem; }
        #fFranjaPie li a, #fFranjaPie p a { color: rgba(255,255,255,1); text-decoration: underline; }
        #fFranjaPie li a:hover, #fFranjaPie p a:hover { color: rgba(255,255,255,1); text-decoration: underline; }
        #fFranjaPie .btnRedesInstagram {
            padding: .8rem 1.2rem;
            background-color: rgb(123,7,155,1);
            border-radius: 0 0 0 1.5rem;
            font-size: 200%; color: #fff;
        }
        #fFranjaPie .btnRedesInstagram:hover { background-color: rgb(123,7,155,.7); }
        #fFranjaPie .btnRedesYoutube {
            padding: .8rem 1.2rem;
            background-color: rgb(205,32,31,1);
            font-size: 200%; color: #fff;
        }
        #fFranjaPie .btnRedesYoutube:hover { background-color: rgb(205,32,31,.7); }
        #fFranjaPie .btnRedesTiktok {
            padding: .8rem 1.2rem;
            background-color: rgb(101,195,201,1);
            font-size: 200%; color: #fff;
        }
        #fFranjaPie .btnRedesTiktok:hover { background-color: rgb(101,195,201,.7); }
        #fFranjaPie .btnRedesFacebook {
            padding: .8rem 1.2rem;
            background-color: rgb(49,111,245,1);
            border-radius: 0 1.5rem 0 0;
            font-size: 200%; color: #fff;
        }
        #fFranjaPie .btnRedesFacebook:hover { background-color: rgb(49,111,245,.7); }
        #fFranjaPie .btnRedesInstagram a,
        #fFranjaPie .btnRedesYoutube a,
        #fFranjaPie .btnRedesTiktok a,
        #fFranjaPie .btnRedesFacebook a { color: #fff; }
        @media (max-width: 992px) {
            #fFranjaPie { padding-bottom: calc(1rem + 64px); }
            #fFranjaPie .columna1 { padding-bottom: 2rem; }
            #fFranjaPie .renglon1 { padding-bottom: 1rem; }
            #fFranjaPie .renglon2 { padding-top: 2rem; }
        }

        /* ---- Barra fija inferior ---- */
        .barra-fija {
            position: fixed;
            bottom: 0; left: 0; right: 0;
            display: flex;
            z-index: 999;
            box-shadow: 0 -4px 20px rgba(0,0,0,0.3);
        }
        .barra-fija-btn {
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: .5rem;
            padding: 1rem;
            font-family: 'Montserrat', sans-serif;
            font-size: 1.05rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: .5px;
            color: #fff;
            text-decoration: none;
            transition: opacity .2s ease;
        }
        .barra-fija-btn:hover { color: #fff; opacity: .9; }
        .barra-fija-btn i { font-size: 1.2rem; }
        .barra-fija-izq { background-color: #25d366; }
        .barra-fija-der { background-color: #FB2774; }

        /* ---- Franja de confianza ---- */
        #fConfianza {
            position: relative;
            padding: 2rem 0 1rem;
        }
        #fConfianza .item-confianza {
            border-right: 1px solid rgba(255,255,255,0.12);
        }
        #fConfianza .item-confianza:last-child {
            border-right: none;
        }
        @media (max-width: 991px) {
            #fConfianza .item-confianza {
                border-right: none;
                border-bottom: 1px solid rgba(255,255,255,0.12);
                padding-bottom: 1.5rem;
            }
            #fConfianza .item-confianza:last-child {
                border-bottom: none;
            }
        }
        #fConfianza .stat {
            font-family: 'Montserrat', sans-serif;
            font-size: 3rem;
            font-weight: 700;
            margin: 0;
            line-height: 1.1;
        }
        #fConfianza .label {
            font-size: .92rem;
            margin: .3rem 0 0;
            line-height: 1.3;
        }

        .parpadea {
            animation: parpadeo 2s linear infinite;
        }
        @keyframes parpadeo {
            0%   { opacity: 1; }
            50%  { opacity: 0; }
            100% { opacity: 1; }
        }