/* Responsividade */

@media (max-width: 1024px) {
    .footer-top {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }
}

@media (max-width: 768px) {
    section {
        padding: 60px 0;
    }

    /* Menu Hambúrguer */
    .btn-menu-mobile {
        display: block;
        z-index: 1001;
    }

    .nav-menu {
        position: fixed;
        top: 0;
        right: -100%;
        width: 80%;
        max-width: 300px;
        height: 100vh;
        background-color: var(--branco);
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 25px;
        box-shadow: -10px 0 30px rgba(59, 6, 79, 0.15);
        transition: var(--transicao-suave);
        z-index: 1000;
        padding: 40px;
    }

    .nav-menu.active {
        right: 0;
    }

    /* Animação Hamburger */
    .btn-menu-mobile.active span:nth-child(1) {
        transform: translateY(9px) rotate(45deg);
    }
    .btn-menu-mobile.active span:nth-child(2) {
        opacity: 0;
    }
    .btn-menu-mobile.active span:nth-child(3) {
        transform: translateY(-9px) rotate(-45deg);
    }

    .header-actions {
        display: none; /* Esconde botões extras no header mobile */
    }

    /* Cards e Layouts */
    .card-promocao {
        grid-template-columns: 1fr;
        padding: 25px;
    }
    .card-promocao .promo-img {
        order: -1;
        max-height: 200px;
    }

    .footer-top {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 35px;
    }
    
    .footer-col .logo-footer, .social-icons {
        display: flex;
        justify-content: center;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 15px;
    }

    .btn {
        width: 100%;
        padding: 14px 24px;
        font-size: 1rem;
    }
}

@media (max-width: 768px) {
    /* Forçar grid de 1 coluna e centralizar elementos na seção Sobre no mobile */
    #sobre .container {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
        text-align: center;
    }
    
    .sobre-imagem {
        max-width: 320px;
        margin: 0 auto;
        width: 100%;
    }
    
    .sobre-content {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    .sobre-content > div[style*="display: flex"] {
        justify-content: center;
        gap: 20px !important;
        width: 100%;
    }

    .sobre-badge {
        bottom: -10px !important;
        right: 10px !important;
        padding: 10px 18px !important;
        font-size: 1rem !important;
    }
}

@media (max-width: 480px) {
    .logo-header img {
        height: 42px; /* Logo ainda mais compacta no mobile pequeno */
    }

    .whatsapp-flutuante {
        bottom: 20px;
        right: 20px;
        width: 50px;
        height: 50px;
    }

    .card {
        padding: 20px;
    }

    .card-loja .botoes-loja {
        grid-template-columns: 1fr;
    }
}
