/* ==========================================================================
   MOBILE RESPONSIVENESS PATCH (Max-Width: 768px)
   ========================================================================== */

@media (max-width: 768px) {
    
    /* 1. CARDS VERTICAIS (Tabelas de Preços, Produtos, Benefícios) */
    .pricing-grid, 
    .features-grid, 
    .benefits-grid-5 {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        overflow-y: visible !important;
        overflow-x: hidden !important;
        gap: 20px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
    }
    
    .novo-product-card, 
    .feature-card, 
    .benefit-card {
        width: 100% !important;
        min-width: unset !important;
        max-width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
    }

    /* 2. MENU HAMBÚRGUER FUNCIONAL COM BLOQUEIO DE INLINE STYLES */
    .nav-menu, 
    .custom-nav-menu {
        display: none !important;
        flex-direction: column !important;
        gap: 15px !important;
        width: 100% !important;
        background-color: #ffffff;
        padding: 20px 0 !important;
        text-align: center;
        box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    }

    .nav-menu.active, 
    .custom-nav-menu.active {
        display: flex !important;
    }

    .hamburger, 
    .custom-hamburger {
        display: block !important;
        padding: 15px !important;
    }
    
    .nav-menu a, 
    .custom-nav-menu a {
        min-height: 48px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 12px 20px !important;
    }

    /* 3. Ajuste do Banner Principal (Fontes e Botões) */
    h1 { font-size: clamp(2rem, 8vw, 2.5rem) !important; line-height: 1.25 !important; }
    h2 { font-size: clamp(1.5rem, 6vw, 1.8rem) !important; line-height: 1.3 !important; }
    
    .hero-title, 
    .page-header h1 {
        padding: 0 5px !important;
        white-space: normal !important;
    }

    .hero-title span {
        white-space: normal !important;
    }
    
    .marca-alternativa, span[style*="Alternativa Certificadora"] {
        white-space: nowrap !important;
        font-size: clamp(1.2rem, 5vw, 1.5rem) !important;
    }

    .hero-content p {
        font-size: 1rem !important;
        padding: 0 5px !important;
        margin-bottom: 1.5rem !important;
    }
    
    .hero {
        padding-top: 40px !important;
        padding-bottom: 30px !important;
    }

    .btn.btn-primary, 
    .btn-agendar, 
    .btn-comprar-dinamico {
        padding: 1rem 1rem !important;
        font-size: 0.95rem !important;
        width: 100% !important;
    }

    /* 4. IMAGENS, FORMS E ESPAÇAMENTOS (Sobre Nós e Suporte/Parcerias) */
    html, body {
        overflow-x: hidden !important; 
        max-width: 100vw !important;
    }
    .swiper, .swiper-container {
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }

    .container {
        padding-left: 15px !important;
        padding-right: 15px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Layouts e Tabelas */
    form, .formulario-section, .demais-contatos, div[style*="display: grid"] {
        width: 100% !important;
        box-sizing: border-box !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .demais-contatos > div, form > div, div[style*="justify-content: space-between"] {
        flex-direction: column !important;
        gap: 20px !important;
    }
    input, textarea, select {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Forçar colunas em seções de conteúdo duplo como o "Quem Somos" */
    div[style*="display: flex; flex-wrap: wrap;"] {
        flex-direction: column !important;
        gap: 30px !important;
    }
    
    div[style*="flex: 1"] {
        width: 100% !important;
        min-width: 100% !important;
    }
    
    /* Respeitando centralização de imagens (Sobre Nós) */
    img {
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* 5. Redução de Espaçamentos Excessivos (Paddings rígidos) */
    section {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    section[style*="padding: 100px"] {
        padding-top: 50px !important;
        padding-bottom: 50px !important;
    }
    section[style*="padding: 80px"] {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }
    
    .hero-image-wrapper img {
        width: 90% !important;
        margin: 0 auto !important;
    }

    /* 6. RODAPÉ RESPONSIVO (Mobile) */
    footer a, footer p {
        display: block;
    }
}

/* ==========================================================================
   AJUSTE FINO DO RODAPÉ – Alternativa Certificadora (Global)
   ========================================================================== */
/* Ajuste para o rodapé não cortar no mobile */
@media (max-width: 768px) {
    footer {
        padding: 30px 20px !important;
        text-align: center;
        box-sizing: border-box !important;
        width: 100% !important;
    }

    footer .footer-grid-container {
        display: flex !important;
        flex-direction: column !important;
        gap: 30px !important;
    }

    footer .footer-grid-container > div {
        width: 100% !important;
        text-align: center;
    }
}
