/* ==========================================================================
   TOPO - CONFIGURAÇÕES GLOBAIS
   ========================================================================== */
.topo {
    width: 100%;
    background-color: #ffffff; 
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed; 
    top: 0;
    left: 0;
    z-index: 1000; 
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    font-family: 'Raleway', sans-serif;
}

#menu-check, .menu-btn {
    display: none;
}

.topo__logo img {
    width: auto;
    display: block;
}

.topo__menu ul {
    display: flex;
    list-style: none;
    align-items: center;
    margin: 0;
    padding: 0;
}

.topo__menu ul li a {
    text-decoration: none;
    transition: color 0.3s;
    white-space: nowrap;
}

/* Base do Botão de Contato */
.btn-contato-menu {
    background-color: #000 !important;
    color: #fff !important; /* Força o texto branco */
    border-radius: 6px;
    transition: transform 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ==========================================================================
   TOPO - DESKTOP (Min-width: 1025px)
   ========================================================================== */
@media screen and (min-width: 1025px) {
    .topo {
        height: 60px !important; 
    }

    .topo .wide {
        width: 800px !important;
        max-width: 800px !important;
        margin: 0 auto !important;
        display: flex !important;
        justify-content: space-between !important; 
        align-items: center;
        padding: 0 !important;
    }

    .topo__logo img {
        height: 32px !important; 
    }

    .topo__menu ul {
        gap: 18px; 
    }

    .topo__menu ul li a {
        color: #333; 
        font-weight: 500;
        font-size: 13px;
    }

    .btn-contato-menu {
        padding: 7px 15px !important;
        font-weight: 700 !important;
        font-size: 13px !important;
    }

    body {
        padding-top: 60px !important;
    }
}

/* ==========================================================================
   TOPO - MOBILE E TABLET (Max-width: 1024px)
   ========================================================================== */
@media screen and (max-width: 1024px) {
    .topo {
        height: 70px !important;
    }

    .topo .wide {
        width: 100% !important;
        display: flex !important;
        flex-direction: row !important; 
        justify-content: space-between !important;
        align-items: center !important;
        padding: 0 20px !important;
        box-sizing: border-box !important;
    }

    .topo__logo img {
        height: 35px !important;
    }

    .menu-btn {
        display: block !important;
        width: 30px;
        height: 20px;
        position: relative;
        cursor: pointer;
        z-index: 1100;
    }

    .menu-btn span, .menu-btn span::before, .menu-btn span::after {
        content: "";
        position: absolute;
        width: 100%;
        height: 2px;
        background-color: #000;
        transition: 0.3s;
    }
    .menu-btn span { top: 9px; }
    .menu-btn span::before { top: -9px; }
    .menu-btn span::after { top: 9px; }

    /* MENU LATERAL MOBILE */
    .topo__menu ul {
        position: fixed;
        top: 70px;
        right: -100%; 
        width: 260px;
        height: 100vh;
        background: #fff;
        flex-direction: column !important;
        align-items: center !important; /* Centraliza itens no menu lateral */
        padding: 40px 20px !important;
        gap: 25px !important;
        transition: 0.4s;
        box-shadow: -5px 0 10px rgba(0,0,0,0.1);
    }

    /* Links comuns no menu lateral */
    .topo__menu ul li a {
        color: #000 !important;
        font-size: 18px !important;
        font-weight: 600 !important;
    }

    /* BOTÃO CONTATO NO MOBILE */
    .topo__menu ul li .btn-contato-menu {
        background-color: #000 !important;
        color: #fff !important; /* FORÇA BRANCO */
        width: 200px !important; /* Largura fixa para destaque */
        padding: 15px !important;
        border-radius: 8px !important;
        text-align: center !important;
        font-size: 16px !important;
    }

    #menu-check:checked ~ ul {
        right: 0;
    }

    #menu-check:checked + .menu-btn span { background: transparent; }
    #menu-check:checked + .menu-btn span::before { transform: rotate(45deg); top: 0; }
    #menu-check:checked + .menu-btn span::after { transform: rotate(-45deg); top: 0; }

    body {
        padding-top: 70px !important;
    }
}