@charset "utf-8";
/* CSS Document */

/*==================================================*
* FOOTER
*==================================================*/

.footer{
    background:#021b6d;
    color:#fff;
    padding-top:80px;
}

/*==================================================*
* GRID
*==================================================*/

.footer-grid{
    display:grid;
    grid-template-columns:1.2fr 1fr .8fr;
    gap:3.5rem;
    align-items:center;
}

/*==================================================*
* LOGO
*==================================================*/

.footer-brand{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}

.footer-brand img{
    width:230px;
    height:auto;
    margin-bottom:1.5rem;
}

.footer-brand p{
    max-width:350px;
    color:rgba(255,255,255,.75);
    line-height:1.8;
}

/*==================================================*
* CONTACTO
*==================================================*/

.footer-contact{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}

.footer-contact h3{
    color:#fff;
    margin-bottom:1rem;
    font-size:1.4rem;
}

.footer-contact p{
    color:rgba(255,255,255,.75);
    margin-bottom:1.5rem;
}

/*==================================================*
* ASESOR / WHATSAPP
*==================================================*/

.advisor{
    display:flex;
    align-items:center;
    gap:.85rem;
    color:#fff;
    margin-bottom:1rem;
    font-weight:600;
}

.advisor-icon{
    position:relative;

    display:flex;
    align-items:center;
    justify-content:center;

    width:42px;
    height:42px;

    flex:0 0 42px;

    border-radius:50%;

    color:#fff;

    background:linear-gradient(135deg,#25D366,#1ebe5d);

    box-shadow:
        0 8px 18px rgba(37,211,102,.28);

    animation:advisorPulse 2.8s ease-in-out infinite;

    will-change:transform;
}

/* Halo */

.advisor-icon::before{
    content:"";

    position:absolute;

    inset:-5px;

    border-radius:50%;

    border:2px solid rgba(37,211,102,.35);

    animation:advisorRing 2.8s ease-out infinite;
}

/* Icono */

.advisor-icon i{
    font-size:1.15rem;

    animation:advisorFloat 2.8s ease-in-out infinite;
}

/* Hover */

.advisor:hover .advisor-icon{
    transform:scale(1.08);
}

.advisor-list{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:2rem;
    width:100%;
}

.advisor-list .advisor{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.65rem;
    margin-bottom:0;
    white-space:nowrap;
}


/*==================================*
* MOBILE
*==================================*/

@media(max-width:576px){

    .advisor-list{
        flex-direction:row;
        justify-content:center;
        align-items:center;
        gap:1.2rem;
    }

    .advisor-list .advisor{
        gap:.5rem;
        font-size:.9rem;
    }

    .advisor-list .advisor-icon{
        width:40px;
        height:40px;
        flex:0 0 40px;
    }

    .advisor-list .advisor-icon i{
        font-size:1rem;
    }

}


/*==================================*
* TELEFONOS MUY PEQUEÑOS
*==================================*/

@media(max-width:380px){

    .advisor-list{
        gap:.7rem;
    }

    .advisor-list .advisor{
        gap:.4rem;
        font-size:.85rem;
    }

    .advisor-list .advisor-icon{
        width:36px;
        height:36px;
        flex:0 0 36px;
    }

}

/*==================================================*
* ANIMACIONES WHATSAPP
*==================================================*/

@keyframes advisorPulse{

    0%,100%{
        transform:scale(1);
    }

    50%{
        transform:scale(1.06);
    }

}

@keyframes advisorFloat{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-2px);
    }

}

@keyframes advisorRing{

    0%{
        transform:scale(.9);
        opacity:.8;
    }

    70%{
        transform:scale(1.35);
        opacity:0;
    }

    100%{
        opacity:0;
    }

}

/*==================================================*
* REDUCIR MOVIMIENTO
*==================================================*/

@media (prefers-reduced-motion:reduce){

    .advisor-icon,
    .advisor-icon::before,
    .advisor-icon i{
        animation:none;
    }

}

/*==================================================*
* QR / REDES
*==================================================*/

.footer-social{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:1.5rem;
}

.footer-qr{
    width:130px;
    height:130px;

    padding:.5rem;

    background:#fff;
    border-radius:15px;

    box-shadow:0 10px 30px rgba(0,0,0,.18);
}

/*==================================================*
* REDES SOCIALES
*==================================================*/

.social-list{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.8rem;
}

.social-list a{
    display:flex;
    align-items:center;
    justify-content:center;

    width:42px;
    height:42px;

    border-radius:50%;

    background:rgba(255,255,255,.12);

    color:#fff;

    transition:.35s ease;
}

.social-list a:hover{
    background:#c89b3c;
    transform:translateY(-5px);
}

.social-list i{
    font-size:1rem;
}

/*==================================================*
* FOOTER BOTTOM
*==================================================*/

.footer-bottom{
    position:relative;
    z-index:1;

    margin-top:60px;
    padding:25px 0;

    border-top:1px solid rgba(255,255,255,.10);

    background:linear-gradient(
        180deg,
        #02144f,
        #01124a
    );
}

/*==================================================*
* TEXTO
*==================================================*/

.footer-bottom p{
    margin:0;
    text-align:center;

    color:rgba(255,255,255,.74);

    font-size:.95rem;
    letter-spacing:.3px;

    line-height:1.7;
}

/*==================================================*
* CORAZÓN
*==================================================*/

.footer-bottom span{
    display:inline-block;

    color:#ff5d73;

    transform-origin:center;

    animation:footerHeart 2.2s ease-in-out infinite;
}

/*==================================================*
* LINK
*==================================================*/

.footer-bottom a{
    position:relative;

    display:inline-block;

    text-decoration:none;

    background:linear-gradient(
        90deg,
        #FCD116,
        #FFE56B,
        #003893,
        #2D6CDF,
        #CE1126
    );

    background-size:200% auto;

    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;

    transition:
        transform .30s ease,
        opacity .30s ease;

    animation:footerGradient 6s linear infinite;
}

/* Línea inferior */

.footer-bottom a::after{
    content:"";

    position:absolute;

    left:0;
    bottom:-4px;

    width:100%;
    height:2px;

    border-radius:30px;

    background:linear-gradient(
        90deg,
        #FCD116,
        #003893,
        #CE1126
    );

    transform:scaleX(.35);

    opacity:.55;

    animation:footerLine 3s ease-in-out infinite;
}

/* Hover */

.footer-bottom a:hover{
    transform:translateY(-2px) scale(1.03);
}

/*==================================================*
* ANIMACIONES FOOTER
*==================================================*/

@keyframes footerHeart{

    0%,100%{
        transform:scale(1);
    }

    10%{
        transform:scale(1.18);
    }

    20%{
        transform:scale(.96);
    }

    30%{
        transform:scale(1.15);
    }

    40%{
        transform:scale(1);
    }

}

@keyframes footerGradient{

    from{
        background-position:0 0;
    }

    to{
        background-position:200% 0;
    }

}

@keyframes footerLine{

    0%,100%{
        transform:scaleX(.35);
        opacity:.45;
    }

    50%{
        transform:scaleX(1);
        opacity:1;
    }

}

/*==================================================*
* REDUCIR MOVIMIENTO
*==================================================*/

@media (prefers-reduced-motion:reduce){

    .footer-bottom span,
    .footer-bottom a,
    .footer-bottom a::after{
        animation:none;
    }

}

/*==================================================*
* TABLET
*==================================================*/

@media(max-width:992px){

    .footer{
        padding-top:70px;
    }

    .footer-grid{
        grid-template-columns:1fr;

        gap:3rem;

        text-align:center;
    }

    .footer-brand,
    .footer-contact{
        align-items:center;
    }

    .footer-brand img{
        margin-left:auto;
        margin-right:auto;
    }

    .footer-brand p{
        margin:auto;
        max-width:500px;
    }

    .footer-contact p{
        max-width:500px;
        margin-left:auto;
        margin-right:auto;
    }

    /* WHATSAPP CENTRADO */

    .advisor{
        justify-content:center;
        width:100%;
        margin-left:auto;
        margin-right:auto;
    }

    .footer-social{
        margin-top:0;
    }

}

/*==================================================*
* MOBILE
*==================================================*/

@media(max-width:576px){

    .footer{
        padding-top:55px;
    }

    .footer-grid{
        gap:2.5rem;
    }

    /* LOGO */

    .footer-brand img{
        width:190px;
        margin-bottom:1.2rem;
    }

    .footer-brand p{
        padding:0 15px;
        font-size:.94rem;
        line-height:1.7;
    }

    /* CONTACTO */

    .footer-contact h3{
        font-size:1.25rem;
        margin-bottom:.8rem;
    }

    .footer-contact p{
        padding:0 15px;
        margin-bottom:1.3rem;
        font-size:.94rem;
        line-height:1.7;
    }

    /* WHATSAPP */

    .advisor{
        justify-content:center;

        width:100%;

        gap:.7rem;

        margin-bottom:.5rem;

        text-align:center;
    }

    .advisor-icon{
        width:44px;
        height:44px;
        flex-basis:44px;
    }

    .advisor-icon i{
        font-size:1.1rem;
    }

    /* QR */

    .footer-social{
        gap:1.3rem;
    }

    .footer-qr{
        width:125px;
        height:125px;
    }

    /* REDES */

    .social-list{
        gap:.7rem;
    }

    .social-list a{
        width:40px;
        height:40px;
    }

    /* FOOTER BOTTOM */

    .footer-bottom{
        margin-top:45px;
        padding:20px 15px;
    }

    .footer-bottom p{
        font-size:.85rem;
        line-height:1.8;
    }

}

/*==================================================*
* MOBILE MUY PEQUEÑO
*==================================================*/

@media(max-width:380px){

    .footer{
        padding-top:45px;
    }

    .footer-grid{
        gap:2rem;
    }

    .footer-brand img{
        width:170px;
    }

    .advisor{
        font-size:.92rem;
    }

    .advisor-icon{
        width:40px;
        height:40px;
        flex-basis:40px;
    }

    .footer-qr{
        width:115px;
        height:115px;
    }

}

