/* =========================================
   TVMOS — FOOTER
========================================= */

.tvmos-footer{
    position:relative;
    background:#050505;
    color:#fff;
    padding:90px 0 25px;
    overflow:hidden;
}

.tvmos-footer::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:180px;
    height:4px;
    background:var(--primary, #79D02A);
}

.tvmos-footer::after{
    content:"";
    position:absolute;
    right:-140px;
    top:-160px;
    width:380px;
    height:380px;
    border:1px solid rgba(121,208,42,.12);
    border-radius:50%;
    pointer-events:none;
}

.tvmos-footer-main{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1.45fr .8fr .8fr 1.35fr;
    gap:55px;
    padding-bottom:65px;
}

.tvmos-footer-logo{
    display:inline-flex;
    align-items:center;
    margin-bottom:25px;
}

.tvmos-footer-logo img{
    width:auto;
    height:72px;
    max-width:190px;
    object-fit:contain;
    display:block;
}

.tvmos-footer-description{
    max-width:330px;
    color:rgba(255,255,255,.62);
    line-height:1.8;
    font-size:.94rem;
    margin:0 0 28px;
}

.tvmos-footer-social{
    display:flex;
    gap:10px;
}

.tvmos-footer-social a{
    width:42px;
    height:42px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    text-decoration:none;
    transition:all .3s ease;
}

.tvmos-footer-social a:hover{
    color:#050505;
    background:var(--primary, #79D02A);
    border-color:var(--primary, #79D02A);
    transform:translateY(-3px);
}

.tvmos-footer-column h3,
.tvmos-footer-follow h3{
    margin:0 0 22px;
    font-size:1rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.tvmos-footer-column h3{
    color:var(--primary, #79D02A);
}

.tvmos-footer-column ul{
    list-style:none;
    margin:0;
    padding:0;
}

.tvmos-footer-column li{
    margin-bottom:13px;
}

.tvmos-footer-column a{
    color:rgba(255,255,255,.62);
    text-decoration:none;
    font-size:.92rem;
    transition:all .25s ease;
}

.tvmos-footer-column a:hover{
    color:#fff;
    padding-left:5px;
}

.tvmos-footer-eyebrow{
    display:inline-block;
    color:var(--primary, #79D02A);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.16em;
    margin-bottom:14px;
}

.tvmos-footer-follow h3{
    max-width:340px;
    font-size:1.35rem;
    line-height:1.35;
    text-transform:none;
    letter-spacing:-.02em;
}

.tvmos-footer-follow p{
    color:rgba(255,255,255,.58);
    line-height:1.7;
    font-size:.9rem;
    margin-bottom:20px;
}

 .tvmos-footer-follow-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:22px;
}

.tvmos-footer-follow-actions a{
    display:inline-flex;
    align-items:center;
    gap:9px;
    min-height:42px;
    padding:0 15px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:10px;
    background:#111;
    color:#fff;
    text-decoration:none;
    font-size:.82rem;
    font-weight:700;
    transition:all .25s ease;
}

.tvmos-footer-follow-actions a:hover{
    color:#050505;
    background:var(--primary, #79D02A);
    border-color:var(--primary, #79D02A);
    transform:translateY(-2px);
}

.tvmos-footer-contact-strip{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1fr 1fr 1.2fr;
    align-items:center;
    gap:25px;
    padding:25px 0;
    border-top:1px solid rgba(255,255,255,.09);
    border-bottom:1px solid rgba(255,255,255,.09);
}

.tvmos-footer-contact-item{
    display:flex;
    align-items:center;
    gap:13px;
}

.tvmos-footer-contact-icon{
    width:42px;
    height:42px;
    flex:0 0 42px;
    border-radius:10px;
    background:rgba(121,208,42,.08);
    color:var(--primary, #79D02A);
    display:flex;
    align-items:center;
    justify-content:center;
}

.tvmos-footer-contact-item small{
    display:block;
    color:rgba(255,255,255,.35);
    font-size:.65rem;
    font-weight:800;
    letter-spacing:.13em;
    margin-bottom:3px;
}

.tvmos-footer-contact-item a,
.tvmos-footer-contact-item span:not(.tvmos-footer-contact-icon){
    color:rgba(255,255,255,.8);
    text-decoration:none;
    font-size:.86rem;
}

.tvmos-footer-contact-item a:hover{
    color:var(--primary, #79D02A);
}

.tvmos-footer-whatsapp{
    justify-self:end;
    display:inline-flex;
    align-items:center;
    gap:12px;
    padding:13px 18px;
    border:1px solid rgba(121,208,42,.28);
    border-radius:10px;
    color:#fff;
    text-decoration:none;
    font-size:.85rem;
    transition:all .3s ease;
}

.tvmos-footer-whatsapp > i:first-child{
    color:var(--primary, #79D02A);
    font-size:1.1rem;
}

.tvmos-footer-whatsapp > i:last-child{
    font-size:.8rem;
    color:rgba(255,255,255,.45);
}

.tvmos-footer-whatsapp:hover{
    color:#050505;
    background:var(--primary, #79D02A);
    border-color:var(--primary, #79D02A);
    transform:translateY(-2px);
}

.tvmos-footer-whatsapp:hover > i:first-child,
.tvmos-footer-whatsapp:hover > i:last-child{
    color:#050505;
}

.tvmos-footer-bottom{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding-top:25px;
}

.tvmos-footer-bottom p{
    margin:0;
    color:rgba(255,255,255,.38);
    font-size:.75rem;
}

.tvmos-footer-legal{
    display:flex;
    align-items:center;
    gap:10px;
}

.tvmos-footer-legal a,
.tvmos-footer-legal span{
    color:rgba(255,255,255,.38);
    text-decoration:none;
    font-size:.74rem;
}

.tvmos-footer-legal a:hover{
    color:var(--primary, #79D02A);
}

.tvmos-back-top{
    width:40px;
    height:40px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:50%;
    background:transparent;
    color:#fff;
    cursor:pointer;
    transition:all .3s ease;
}

.tvmos-back-top:hover{
    color:#050505;
    background:var(--primary, #79D02A);
    border-color:var(--primary, #79D02A);
    transform:translateY(-3px);
}

@media (max-width: 991px){
    .tvmos-footer{
        padding-top:70px;
    }

    .tvmos-footer-main{
        grid-template-columns:1fr 1fr;
        gap:45px 35px;
    }

    .tvmos-footer-brand{
        grid-column:1 / -1;
    }

    .tvmos-footer-description{
        max-width:520px;
    }

    .tvmos-footer-contact-strip{
        grid-template-columns:1fr 1fr;
    }

    .tvmos-footer-whatsapp{
        justify-self:start;
    }
}

@media (max-width: 767px){
    .tvmos-footer{
        padding:60px 0 20px;
    }

    .tvmos-footer-main{
        grid-template-columns:1fr 1fr;
        gap:35px 25px;
        padding-bottom:45px;
    }

    .tvmos-footer-brand,
    .tvmos-footer-follow{
        grid-column:1 / -1;
    }

    .tvmos-footer-logo img{
        height:62px;
    }

    .tvmos-footer-contact-strip{
        grid-template-columns:1fr;
        gap:20px;
    }

    .tvmos-footer-whatsapp{
        width:100%;
        justify-content:center;
    }

    .tvmos-footer-bottom{
        flex-wrap:wrap;
        justify-content:center;
        text-align:center;
    }

    .tvmos-back-top{
        order:-1;
    }
}

@media (max-width: 480px){
    .tvmos-footer-main{
        grid-template-columns:1fr;
    }

    .tvmos-footer-column{
        grid-column:auto;
    }

    .tvmos-footer-follow h3{
        font-size:1.2rem;
    }

    .tvmos-footer-legal{
        width:100%;
        justify-content:center;
        flex-wrap:wrap;
    }
}
