/*==============================================================================
FOOTER
ANSIER 3.0 PREMIUM
==============================================================================*/

.footer{

    background:var(--gradient-primary);

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

    padding-top:100px;

    position:relative;

    overflow:hidden;

}

/* Sutil textura de grid, mismo lenguaje visual del Hero/CTA */

.footer::before{

    content:"";

    position:absolute;

    inset:0;

    background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);

    background-size:56px 56px;

    mask-image:radial-gradient(ellipse at top, black 0%, transparent 70%);

    pointer-events:none;

}

.footer__container{

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1.2fr;

    gap:50px;

    position:relative;

    z-index:1;

}

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

.footer__logo{

    display:inline-block;

    margin-bottom:26px;

}

.footer__logo img{

    height:28px;

    width:auto;

    display:block;

}

.footer__description{

    line-height:1.9;

    margin-bottom:30px;

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

    font-size:.98rem;

}

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

.footer__social{

    display:flex;

    gap:14px;

}

.footer__social a{

    width:46px;

    height:46px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

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

    border:1px solid rgba(255,255,255,.12);

    color:#fff;

    font-size:1rem;

    transition:var(--transition);

}

.footer__social a:hover{

    background:var(--gradient-secondary);

    border-color:transparent;

    color:var(--color-primary);

    transform:translateY(-6px);

}

/*==================================================
TÍTULOS
==================================================*/

.footer__title{

    color:#fff;

    font-size:1.25rem;

    margin-bottom:26px;

}

/*==================================================
LISTAS
==================================================*/

.footer__list{

    display:flex;

    flex-direction:column;

    gap:14px;

}

.footer__list a{

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

    transition:var(--transition);

    width:fit-content;

}

.footer__list a:hover{

    color:var(--color-secondary);

    padding-left:8px;

}

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

.footer__contact{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.footer__contact-item{

    display:flex;

    align-items:flex-start;

    gap:14px;

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

    font-size:.95rem;

}

.footer__contact-item a{

    color:inherit;

    transition:var(--transition);
}

.footer__contact-item a:hover{

    color:var(--color-secondary);

}

.footer__contact-item i{

    color:var(--color-secondary);

    font-size:1.15rem;

    margin-top:2px;

    flex-shrink:0;

}

/*==================================================
COPYRIGHT
==================================================*/

.footer__bottom{

    margin-top:70px;

    padding:28px 0;

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

    display:flex;

    justify-content:space-between;

    align-items:center;

    position:relative;

    z-index:1;

}

.footer__bottom p{

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

    font-size:.9rem;

}

/*==================================================
WHATSAPP FLOTANTE
==================================================*/

.whatsapp{

    position:fixed;

    right:30px;

    bottom:100px;

    width:64px;

    height:64px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#25D366;

    color:#fff;

    font-size:1.8rem;

    text-decoration:none;

    box-shadow:0 15px 35px rgba(37,211,102,.35);

    transition:var(--transition);

    z-index:999;

}

.whatsapp:hover{

    transform:translateY(-8px) scale(1.08);

}

/*==================================================
VOLVER ARRIBA
==================================================*/

.back-to-top{

    position:fixed;

    right:30px;

    bottom:25px;

    width:54px;

    height:54px;

    border:none;

    border-radius:50%;

    background:var(--gradient-secondary);

    color:var(--color-primary);

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:1.2rem;

    cursor:pointer;

    box-shadow:var(--shadow-md);

    opacity:0;

    visibility:hidden;

    transform:translateY(20px);

    transition:var(--transition);

    z-index:999;

}

.back-to-top.show{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

.back-to-top:hover{

    transform:translateY(-6px);

}

/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:992px){

.footer__container{

    grid-template-columns:repeat(2,1fr);

}

.footer__bottom{

    flex-direction:column;

    gap:14px;

    text-align:center;

}

}

@media(max-width:768px){

.footer{

    text-align:center;

}

.footer__container{

    grid-template-columns:1fr;

    gap:44px;

}

.footer__social{

    justify-content:center;

}

.footer__contact-item{

    justify-content:center;

}

.footer__list a{

    margin-inline:auto;

}

}

@media(max-width:480px){

.footer__logo img{

    height:24px;

}

.footer__title{

    font-size:1.1rem;

}

.whatsapp{

    width:56px;

    height:56px;

    font-size:1.5rem;

    right:20px;

    bottom:90px;

}

.back-to-top{

    right:20px;

    bottom:20px;

    width:48px;

    height:48px;

}

}
