* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* ===== NAVBAR ===== */
.header3 {
    .contenedornav {
        width: 100%;
        display: flex;
        justify-content: space-around;
        align-items: center;
        position: fixed;
        z-index: 3;
        background-color: rgba(167, 141, 101, 1);
        box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
        padding: 0px;

        .navbar-toggler {
            box-shadow: none;
            border: none;
        }

        .logo1 {
            width: 50px;
            height: 50px;
            padding: 5px;
        }

        .link {
            text-decoration: none;
            color: #fff;
            position: relative;
            font-size: 18px;
        }

        .link::after {
            content: '';
            width: 100%;
            height: 2px;
            background-color: #fff;
            border-radius: 4px;
            position: absolute;
            left: 0;
            bottom: 0;
            transform: scaleX(0);
            transform-origin: left;
            transition: transform .25s ease;
        }

        .link:hover::after {
            transform: scaleX(1);
        }
    }
}

/* ===== HERO / PORTADA ===== */
.portada {
    position: relative;
    background-image: url(../assets/img/pareja1.webp);
    background-size: cover;
    background-position: center;
    min-height: 100svh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.portada-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.6) 100%);
}

.portada-contenido {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 80px 20px 40px;
    max-width: 800px;
    width: 100%;
}

.portada .avisos {
    font-family: "Kumbh Sans", sans-serif;
    color: rgba(255,255,255,0.8);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin-bottom: 20px;
    background: rgba(0,0,0,0.3);
    padding: 6px 16px;
    border-radius: 20px;
}

.portada .titulo {
    color: #fff;
    font-size: 64px;
    font-weight: 700;
    font-family: "Josefin Sans", sans-serif;
    text-shadow: 2px 2px 8px rgba(0,0,0,0.7);
    line-height: 1.1;
    margin-bottom: 20px;
}

.portada .subtitulo {
    color: rgba(255,255,255,0.95);
    font-size: 20px;
    font-weight: 400;
    font-family: "Kumbh Sans", sans-serif;
    line-height: 1.6;
    margin-bottom: 30px;
    max-width: 650px;
}

.boton-hero {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background-color: #1a7d1a;
    color: white;
    text-decoration: none;
    font-family: "Kumbh Sans", sans-serif;
    font-size: 18px;
    font-weight: 700;
    padding: 16px 32px;
    border-radius: 50px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.4);
    transition: background 0.2s, transform 0.15s;
    letter-spacing: 0.03em;
    margin-bottom: 16px;
}

.boton-hero:hover {
    background-color: #145e14;
    transform: scale(1.03);
    color: white;
}

.boton-hero .fab {
    font-size: 22px;
}

.prueba-social {
    color: rgba(255,255,255,0.88);
    font-size: 13px;
    font-family: "Kumbh Sans", sans-serif;
    letter-spacing: 0.02em;
    text-shadow: 0 1px 3px rgba(0,0,0,0.5);
}

/* ===== TESTIMONIO HERO ===== */
.bloque-testimonio-hero {
    background: linear-gradient(135deg, #1a0800, #2d1400);
    border-top: 3px solid #c9a84c;
    border-bottom: 3px solid #c9a84c;
    padding: 28px 20px;
}

.testimonio-inner {
    max-width: 680px;
    margin: 0 auto;
    text-align: center;
    font-family: "Kumbh Sans", sans-serif;
}

.testimonio-cita {
    color: #f5e6c8;
    font-size: 1.1rem;
    font-style: italic;
    line-height: 1.7;
    margin-bottom: 10px;
}

.testimonio-firma {
    color: #c9a84c;
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 18px;
}

.boton-testimonio {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #1a7d1a;
    color: white;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    padding: 12px 24px;
    border-radius: 40px;
    transition: background 0.2s;
}

.boton-testimonio:hover {
    background: #145e14;
    color: white;
}

/* ===== URGENCIA ===== */
.bloque-urgencia {
    background: #4a0000;
    padding: 14px 20px;
}

.urgencia-inner {
    max-width: 680px;
    margin: 0 auto;
    text-align: center;
}

.urgencia-texto {
    color: #ffcccc;
    font-family: "Kumbh Sans", sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.02em;
}

/* ===== SERVICIOS ===== */
.primeraseccion {
    font-family: "Kumbh Sans", sans-serif;
    background-image: radial-gradient(circle, #927a50, #8a724a, #826b44, #7a633f, #725c39, #695132, #60462c, #563c26, #482d1f, #391f18, #2a120f, #1d0000);
    padding-top: 40px;

    .servicios {
        color: antiquewhite;
        text-align: center;
        padding: 20px;

        .tituloservicio {
            font-size: 28px;
            font-weight: 500;
            margin-bottom: 10px;
            text-decoration: underline;
        }

        .parrafoservicio {
            font-size: 18px;
            font-weight: 300;
            max-width: 600px;
            margin: 0 auto;
        }
    }

    .contenedortarjetas {
        .swiper {
            width: 100%;

            .swiper-slide {
                width: 285px;
                height: 429px;
                background-color: #323232;
                box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
                text-align: center;
            }

            .contenido {
                background-image: url(../assets/img/carta.png);
                background-size: cover;
                color: white;
                padding-left: 35px;
                padding-right: 35px;
                display: flex;
                justify-content: center;
                align-items: center;
                flex-direction: column;
                height: 100%;
                width: 100%;
                font-family: "Kumbh Sans", sans-serif;

                .titulocartas {
                    font-size: 15px;
                    font-weight: 600;
                    margin-bottom: 10px;
                }

                .pcartas {
                    font-size: 13px;
                    font-weight: 300;
                }
            }
        }
    }

    .botonmensaje2 {
        border-radius: 40px;
        box-shadow: 3px 3px 3px 3px rgba(0, 0, 0, 0.1);
        background-color: rgb(32, 119, 29);
        margin: 0 auto;
        margin-top: 40px;
        padding: 12px 0px;
        width: 320px;
        text-align: center;

        .iconi2 {
            font-size: 20px;
            color: white;
            padding-right: 5px;
        }

        .botonvalores2 {
            text-decoration: none;
            font-size: 18px;
            color: white;
            font-weight: 600;
        }
    }

    .cartas {
        width: 100%;
        height: 1250px;
        background-size: cover;
        background-image: url(../assets/img/cartas.webp);
        display: flex;
        justify-content: center;
        margin-top: 40px;

        .frase {
            color: white;
            text-align: center;
            font-family: "Julius Sans One", sans-serif;
            font-size: 55px;
            padding-top: 60px;
            width: 500px;
        }
    }

    .nosotros {
        width: 100%;
        background-image: url(../assets/img/fondo12.webp);
        background-size: cover;
        height: 1030px;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        text-align: center;

        .tituloconocenos {
            color: white;
            font-size: 30px;
            text-decoration: underline;
            font-weight: 400;
            margin-bottom: 30px;
        }

        .parrafoconocenos {
            max-width: 700px;
            color: white;
            font-size: 18px;
            font-weight: 300;
            margin-bottom: 50px;
            background-color: rgba(22, 22, 22, 0.45);
            padding: 16px 20px;
            border-radius: 8px;
        }

        .fotos {
            display: flex;
            flex-direction: row;
            gap: 19px;

            .img1 {
                width: 370px;
                height: 370px;
                border-radius: 100%;
                object-fit: cover;
                border: 3px solid rgb(235, 181, 66);
            }
        }
    }
}

/* ===== VALORES ===== */
.seccionvalores {
    background-image: url(../assets/img/fondo13.jpeg);
    background-size: cover;
    background-attachment: scroll;
    height: 480px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;

    .cartelvalores {
        font-family: "Kumbh Sans", sans-serif;
        color: white;
        max-width: 800px;
        width: 90%;
        text-align: center;
        background-color: rgba(0,0,0,0.5);
        padding: 20px;
        border-radius: 8px;

        .titulovalores {
            font-size: 28px;
            padding-top: 10px;
            font-weight: 600;
            margin-bottom: 10px;
        }

        .parrafovalores {
            font-size: 18px;
            line-height: 1.6;
        }
    }

    .botonmensaje {
        margin-top: 30px;
        border-radius: 40px;
        background-color: rgb(32, 119, 29);
        padding: 12px 40px;

        .iconi {
            font-size: 22px;
            color: white;
            padding-right: 5px;
        }

        .botonvalores {
            text-decoration: none;
            font-size: 20px;
            color: white;
            font-weight: 600;
        }
    }
}

/* ===== GRILLA POR QUÉ ELEGIRNOS ===== */
.secciongrilla {
    width: 100%;
    padding-top: 50px;
    padding-bottom: 60px;

    .divgrilla {
        text-align: center;
        font-family: "Kumbh Sans", sans-serif;

        .titulogrilla {
            font-size: 28px;
            font-weight: 600;
            color: rgba(125, 104, 71, 1);
            padding: 15px;
        }

        .linea2 {
            width: 300px;
            border-top: 3px solid rgba(167, 141, 101, 1);
            margin: 0 auto;
        }

        .tarjeta {
            max-width: 550px;
            margin: 0 auto;
            text-align: center;
            margin-top: 20px;

            .titulotarjeta {
                color: rgba(167, 141, 101, 1);
                font-size: 20px;
                font-weight: 600;
                margin-bottom: 6px;
            }

            .parrafotarjeta {
                font-size: 15px;
                color: rgba(108, 108, 108, 1);
                line-height: 1.6;
            }
        }
    }

    .botonmensaje3 {
        border-radius: 40px;
        background-color: rgb(32, 119, 29);
        margin: 0 auto;
        margin-top: 50px;
        padding: 14px 0px;
        width: 360px;
        text-align: center;

        .iconi3 {
            font-size: 20px;
            color: white;
            padding-right: 5px;
        }

        .botonvalores3 {
            text-decoration: none;
            font-size: 17px;
            color: white;
            font-weight: 700;
        }
    }

    .grilla {
        width: 90%;
        margin: 0 auto;
        margin-top: 30px;
        gap: 20px;
        display: grid;
        grid-template-columns: 1fr 2fr 1fr;
        grid-template-rows: 180px 200px;
        grid-template-areas: "grilla3 grilla5 grilla2"
            "grilla4 grilla5 grilla1";

        .grilla1 { grid-area: grilla1; }
        .grilla2 { grid-area: grilla2; }
        .grilla3 { grid-area: grilla3; text-align: right; }
        .grilla4 { grid-area: grilla4; text-align: right; }

        .grilla5 {
            grid-area: grilla5;
            .imagen { width: 600px; height: auto; }
        }

        .titulotarjeta2 {
            color: rgba(167, 141, 101, 1);
            font-size: 18px;
            font-weight: 600;
            margin-bottom: 6px;
            font-family: "Kumbh Sans", sans-serif;
        }

        .parrafotarjeta2 {
            font-size: 14px;
            color: rgba(108, 108, 108, 1);
            line-height: 1.5;
            font-family: "Kumbh Sans", sans-serif;
        }
    }
}

/* ===== FAQs ===== */
.faqs {
    height: auto;
    padding-bottom: 40px;
    background-image: radial-gradient(circle, #927a50, #8a724a, #826b44, #7a633f, #725c39, #695132, #60462c, #563c26, #482d1f, #391f18, #2a120f, #1d0000);

    .titulofaqs {
        padding: 30px;
        color: white;
        font-size: 28px;
        font-family: "Kumbh Sans", sans-serif;
        font-weight: 500;
        text-align: center;
        text-decoration: underline;
    }

    .contenedoracordeon {
        max-width: 800px;
        margin: 0 auto;
        font-family: "Kumbh Sans", sans-serif;

        .accordion-item { background: none; }

        .accordion-body {
            background: rgb(248, 241, 201);
            font-size: 15px;
            line-height: 1.6;
        }

        .accordion-button {
            background-color: rgba(219, 211, 167, 1);
            border: 1px solid rgb(190, 156, 136);
            color: rgba(123, 80, 55, 1);
            font-weight: 500;
        }

        .accordion-button::after {
            background-image: none;
            content: "\f0d7";
            font-family: fontawesome;
            width: auto;
            height: auto;
        }

        .accordion-button:focus { box-shadow: none; }
        .accordion-button:not(.collapsed) { color: rgba(123, 80, 55, 1); }
    }
}

/* ===== AVISO ===== */
.aviso {
    background-image: url(../assets/img/fondo14.jpeg);
    background-size: cover;
    background-attachment: scroll;
    height: 360px;
    display: flex;
    justify-content: center;
    align-items: center;

    .cartelaviso {
        height: 300px;
        width: 500px;
        background-color: rgba(218, 218, 218, 0.26);
        text-align: center;
        color: white;
        font-family: "Kumbh Sans", sans-serif;
        display: flex;
        justify-content: center;
        flex-direction: column;

        .tituloaviso { font-size: 70px; font-weight: 600; }
        .parravoaviso { font-size: 20px; }
        .numeroaviso { font-size: 100px; font-weight: 700; margin-right: 60px; }
    }
}

/* ===== TESTIMONIOS ===== */
.capturas {
    height: auto;
    padding-bottom: 30px;
    padding-top: 30px;
    background-image: linear-gradient(to right bottom, #7a633f, #735b3a, #6d5435, #664c31, #5f452c, #583d28, #503523, #482d1f, #3d221a, #311914, #260f0c, #1d0000);

    .titulotestimonios {
        color: white;
        font-size: 28px;
        font-family: "Kumbh Sans", sans-serif;
        font-weight: 500;
        text-align: center;
        text-decoration: underline;
        margin-bottom: 6px;
    }

    .scroll-container {
        width: 100%;
        overflow-x: scroll;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        margin-top: 16px;
    }

    .scroll-container::-webkit-scrollbar { display: none; }

    .scroll-content {
        display: inline-block;
        white-space: nowrap;
        margin: 20px;
    }

    .scroll-content img {
        width: auto;
        height: 550px;
        display: inline-block;
        margin-right: 50px;
    }
}

.subtitulo-testimonios {
    color: rgba(255,255,255,0.7);
    font-family: "Kumbh Sans", sans-serif;
    font-size: 15px;
    text-align: center;
}

.cta-testimonios {
    text-align: center;
    margin-top: 24px;
}

.boton-testimonios {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #1a7d1a;
    color: white;
    text-decoration: none;
    font-family: "Kumbh Sans", sans-serif;
    font-size: 16px;
    font-weight: 600;
    padding: 14px 28px;
    border-radius: 40px;
    transition: background 0.2s;
}

.boton-testimonios:hover {
    background: #145e14;
    color: white;
}

/* ===== NÚMEROS ===== */
.seccion {
    height: 360px;
    background-image: url(../assets/img/fondo15.jpeg);
    background-size: cover;
    background-attachment: scroll;
    display: flex;
    align-items: center;
    justify-content: space-around;

    .cartel {
        width: 250px;
        height: 200px;
        background-color: rgba(77, 77, 77, 0.35);
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        color: white;
        font-family: "Kumbh Sans", sans-serif;

        .numero { font-size: 80px; font-weight: 700; }
        .palabras { font-size: 22px; font-weight: 600; width: 200px; text-align: center; }
    }
}

/* ===== CTA FINAL ===== */
.cta-final {
    background: linear-gradient(135deg, #1a0800, #3d1a00);
    padding: 50px 20px;
    text-align: center;
    font-family: "Kumbh Sans", sans-serif;
}

.cta-final-titulo {
    color: #f5e6c8;
    font-size: 26px;
    font-weight: 600;
    margin-bottom: 10px;
}

.cta-final-sub {
    color: rgba(245,230,200,0.75);
    font-size: 16px;
    margin-bottom: 24px;
}

.boton-cta-final {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #1a7d1a;
    color: white;
    text-decoration: none;
    font-size: 18px;
    font-weight: 700;
    padding: 16px 36px;
    border-radius: 50px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.4);
    transition: background 0.2s, transform 0.15s;
    letter-spacing: 0.02em;
}

.boton-cta-final:hover {
    background: #145e14;
    color: white;
    transform: scale(1.03);
}

.boton-cta-final .fab { font-size: 22px; }

/* ===== FOOTER ===== */
.footer1 { background-color: rgba(167, 141, 101, 1); }

.footer {
    height: auto;
    padding: 16px 10px;
    background-color: rgba(167, 141, 101, 1);
    font-family: "Kumbh Sans", sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border-top: 3px solid white;
    border-bottom: 3px solid white;

    .logo { width: 70px; height: 70px; }

    .titulof {
        font-size: 30px;
        font-family: "Josefin Sans", sans-serif;
        width: 250px;
        text-align: center;
        padding-top: 5px;
        color: white;
        text-shadow: 2px 2px 5px rgba(0,0,0,0.5);
    }

    .terminos, .politicas {
        color: #3d221a;
        text-decoration: none;
        &:hover { color: rgb(117, 79, 13); }
    }
}

.copyright {
    text-align: center;
    font-family: "Kumbh Sans", sans-serif;
    color: #ffffff;
    background-color: rgba(167, 141, 101, 1);
    height: 60px;
    padding: 15px;
}

/* WhatsApp flotante */
.wsp {
    text-decoration: none;

    .wasp {
        z-index: 3;
        width: 80px;
        height: 80px;
        background-color: rgb(52, 168, 52);
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 100%;
        box-shadow: 0px 0px 10px rgba(0,0,0,0.5);
        position: fixed;
        bottom: 30px;
        right: 30px;
    }

    .iconito {
        color: white;
        font-size: 55px;
    }
}

/* ===== TÉRMINOS ===== */
.terminosycondicione {
    background-image: radial-gradient(circle, #927a50, #8a724a, #826b44, #7a633f, #725c39, #695132, #60462c, #563c26, #482d1f, #391f18, #2a120f, #1d0000);
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 80px;
    padding-bottom: 80px;

    .cartelt {
        width: 80%;
        box-shadow: 0px 0px 10px rgba(0,0,0,0.5);
        background-color: rgb(248, 226, 199);
        border-radius: 10px;
        font-family: "Kumbh Sans", sans-serif;
        padding: 25px;

        .titulot {
            padding: 20px;
            color: #492f28;
            text-decoration: underline;
            font-size: 30px;
            text-align: center;
        }

        .divt {
            padding-bottom: 10px;
            .subtitulot { font-size: 20px; color: #695132; text-align: center; }
            .explicacion { font-size: 20px; color: #492f28; }
            .parrafott { color: #695132; text-align: center; padding-bottom: 20px; }
            .parrafot { color: #53504a; }
        }
    }
}

/* ===== MOBILE ===== */
@media screen and (max-width: 768px) {
    .header3 .logo1 { margin-left: 160px; }

    .portada {
        background-image: url(../assets/img/pareja1res.webp);
        min-height: 100svh;
    }

    .portada-contenido {
        padding: 70px 16px 30px;
    }

    .portada .titulo {
        font-size: 52px;
        margin-bottom: 14px;
    }

    .portada .subtitulo {
        font-size: 15px;
        margin-bottom: 22px;
    }

    .boton-hero {
        font-size: 15px;
        padding: 14px 22px;
        text-align: center;
    }

    .prueba-social {
        font-size: 11px;
    }

    .primeraseccion {
        .servicios {
            .tituloservicio { font-size: 22px; }
            .parrafoservicio { font-size: 14px; width: 100%; }
        }

        .botonmensaje2 {
            padding: 8px;
            width: 80%;
            .iconi2 { font-size: 14px; }
            .botonvalores2 { font-size: 14px; }
        }

        .cartas {
            background-image: url(../assets/img/cartasres.webp);
            height: 480px;
            background-position: center;
            .frase { font-size: 22px; width: 80%; }
        }

        .nosotros {
            height: 580px;
            background-position: center;
            .tituloconocenos { font-size: 22px; margin-bottom: 12px; }
            .parrafoconocenos { width: 92%; font-size: 13px; margin-bottom: 16px; }
            .fotos {
                .img1 { width: 160px; height: 160px; }
            }
        }
    }

    .seccionvalores {
        background-image: url(../assets/img/fondo13res.jpeg);
        height: auto;
        padding: 40px 16px;

        .cartelvalores {
            width: 100%;
            height: auto;
            padding: 16px;
            .titulovalores { font-size: 20px; }
            .parrafovalores { font-size: 13px; }
        }

        .botonmensaje {
            margin-top: 20px;
            padding: 10px 24px;
            .iconi { font-size: 16px; }
            .botonvalores { font-size: 15px; }
        }
    }

    .secciongrilla {
        padding-bottom: 40px;

        .divgrilla {
            .titulogrilla { font-size: 22px; }
            .linea2 { width: 200px; }
            .tarjeta {
                width: 90%;
                .titulotarjeta { font-size: 16px; }
                .parrafotarjeta { font-size: 13px; }
            }
        }

        .botonmensaje3 {
            padding: 10px;
            width: 85%;
            .iconi3 { font-size: 14px; }
            .botonvalores3 { font-size: 13px; }
        }

        .grilla {
            margin-top: 20px;
            align-items: center;
            grid-template-columns: 100%;
            grid-template-rows: auto auto auto auto auto;
            grid-template-areas: "grilla1" "grilla2" "grilla3" "grilla4" "grilla5";
            gap: 16px;
            padding: 0 16px;

            .grilla1, .grilla2, .grilla3, .grilla4 {
                text-align: center;
                .titulotarjeta2 { font-size: 16px; }
                .parrafotarjeta2 { font-size: 13px; }
            }

            .grilla5 .imagen { width: 100%; }
        }
    }

    .faqs {
        .titulofaqs { font-size: 22px; }
        .contenedoracordeon {
            margin: 0 16px;
            .accordion-body { font-size: 13px; }
            .accordion-button { font-size: 13px; }
        }
    }

    .aviso {
        height: 300px;
        .cartelaviso {
            height: 250px;
            width: 85%;
            .tituloaviso { font-size: 40px; }
            .parrafoaviso { font-size: 14px; }
            .numeroaviso { font-size: 80px; margin-right: 40px; }
        }
    }

    .capturas {
        .titulotestimonios { font-size: 22px; }
    }

    .seccion {
        height: auto;
        padding: 24px 16px;
        flex-direction: column;
        gap: 16px;
        background-size: cover;

        .cartel {
            width: 85%;
            .numero { font-size: 70px; }
            .palabras { font-size: 20px; }
        }
    }

    .cta-final {
        padding: 36px 20px;
        .cta-final-titulo { font-size: 20px; }
        .cta-final-sub { font-size: 14px; }
        .boton-cta-final { font-size: 15px; padding: 14px 24px; }
    }

    .footer {
        .titulof { font-size: 22px; }
        .terminos, .politicas { font-size: 12px; }
    }

    .copyright { font-size: 12px; }

    .wsp {
        .wasp { width: 65px; height: 65px; }
        .iconito { font-size: 45px; }
    }
}

@media screen and (max-width: 380px) {
    .portada .titulo { font-size: 42px; }
    .portada .subtitulo { font-size: 13px; }
    .boton-hero { font-size: 13px; padding: 12px 18px; }
}
