:root {
    --color-primary: #8A6FBF;        /* roxo principal (header, botões, títulos) */
    --color-primary-dark: #6B4E9E;   /* roxo mais escuro (hover, banners) */
    --color-primary-light: #B9A3E3;  /* roxo claro (fundos suaves) */
    --color-secondary: #D6C9F0;      /* lilás claro (fundo seção clube) */
    --color-linear-gradient: linear-gradient(90deg, #8871AB 0%, #AD95D1 100%); 

    --color-white: #FFFFFF;
    --color-bg-light: #F5F4F7;       /* fundo cinza claro (cards, faq) */
    --color-bg-gray: #E4E4E4;        /* fundo seção planos/banner */
    --color-text-dark: #2E2A33;      /* texto principal */
    --color-text-muted: #6E6875;     /* texto secundário/parágrafos */
    --color-border: #DADADA;
}

.footer-global{
    width: 100%;
    margin: 0 auto;
    background-color: var(--color-text-muted);
    padding: 80px 120px;
}

.container-footer{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
}

.footer-tagline{
    color: var(--color-white);
    font-family: "DM Sans", sans-serif;
    font-size: 12.107px;
    font-style: normal;
    font-weight: 400;
    line-height: 18.161px;
    margin-top: 16px;
    margin-bottom: 16px;
}


.footer-col h3{
    color: var(--color-white);
    font-family: "DM Sans", sans-serif;
    font-size: 12.107px;
    font-style: normal;
    font-weight: 700;
    line-height: 18.161px; 
    margin-bottom: 12.107px;
}

.footer-col ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    padding: 0;
    margin: 0;
    gap: 9.08px; 
}

.footer-col ul li{
    display: flex;
    width: 215px;
    flex-direction: column;
    align-items: flex-start;
    gap: 9.08px;
}

.footer-col ul li a{
    color: #FFF;
    font-family: "DM Sans", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 18.161px;
    text-decoration: none; 
}

.social-icons{
    margin-bottom: -24px;
    margin-top: 30px;
}

.footer-col li{
    color: #FFF;
    font-family: "Inter", sans-serif;
    font-size: 12.107px;
    font-weight: 400;
    line-height: 18.161px;
    text-decoration: none; 
    display: flex;
    align-items: center;
    gap: 8px;
}

.footer-col a {
    transition: color 0.3s;
}

.footer-col a:hover {
    color: var(--color-primary);
}

.footer-col-contact h3{
    color: var(--branco);
    font-family: "Inter", sans-serif;
    font-size: 12.107px;
    font-style: normal;
    font-weight: 700;
    line-height: 18.161px; 
    margin-bottom: 12.107px;
}

.footer-col-contact ul{
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 9.08px;
    padding: 0;
    margin: 0;
}

.footer-col-contact ul li{
    color: var(--branco);
    font-family: "Inter", sans-serif;
    font-size: 12.107px;
    font-weight: 400;
    line-height: 18.161px;
    text-decoration: none; 
    display: flex;
    align-items: center;
    gap: 8px;
}

.footer-line {
    grid-column: 1 / -1;
    border: none;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    height: 0;
    margin: 24px -400px;
}

.footer-col-bottom ul li {
    list-style: none;
    display: flex;
    flex-direction: row;
    padding: 0;
    margin: 0;
    width: auto;
    gap: 9.08px; 
    color: #FFF;
    font-family: "DM Sans", sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 18.161px;
    text-decoration: none;
    white-space: none;
    margin-top: 50px;
}

.footer-col-bottom:last-child svg {
    flex-shrink: 0;              
    margin-top: 2px;
}

.footer-bottom{
    display: grid;
    grid-template-columns: 2fr 1fr ;
    gap: 24.971px;
}

.footer-bottom p{
    color: var(--color-white);
    font-family: "DM Sans", sans-serif;
    font-size: 10.594px;
    font-style: normal;
    font-weight: 400;
    line-height: 15.134px;
    margin-right: -390px;
    margin-top: -30px;
}

.container-footer-direita {
    display: flex;
    gap: 18.161px; 
}

.container-footer-direita a{
    text-decoration: none;
    color: var(--color-white);
    font-family: "DM Sans", sans-serif;
    font-size: 10.594px;
    font-style: normal;
    font-weight: 400;
    line-height: 15.134px;
}

.footer-col-contact{
    margin-left: -70px;
}

.contato-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12.107px;
}

.btn-topo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--laranja-vivo);
    text-decoration: none;
    flex-shrink: 0;
}

.btn-topo.visivel {
    opacity: 1;
    visibility: visible;
}

.btn-topo:hover {
    background: var(--laranja-vivo2);
}

.container-footer-bottom {
    grid-column: 2;
    display: flex;
    justify-content: flex-end; 
}

.footer-bottom p {
    white-space: nowrap;         
    text-align: right;
}

/* == FOOTER == */

@media (max-width: 768px) {

    .footer-global {
        position: relative;
        padding: 40px 24px;
    }

    .btn-topo {
        position: absolute;
        top: 40px;
        right: 24px;
    }

    .container-footer {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .footer-col ul {
        gap: 12px;
    }

    .footer-col-contact {
        margin-left: 0;
    }

    .footer-bottom {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .footer-line {
        margin-bottom: 8px;
    }

    .container-footer-direita {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}
