/* assets/css/responsive.css - Sistema de Adaptação Premium */

/* 1. TABLETS E ECRÃS MÉDIOS (Até 1024px) */
@media (max-width: 1024px) {
    .hero-inner { gap: 40px; padding: 60px 40px; }
    .hero h1 { font-size: 1.5rem; }
    .impact-title, .testimonials-header h2, .support-content h3 { font-size: 1.5rem; }
    .impact-section { padding: 80px 40px; }
}

/* 2. SMARTPHONES GRANDES E TABLETS PEQUENOS (Até 900px) */
@media (max-width: 900px) {
    .header-inner { padding: 0 20px; }
    .site-name { display: none; } 

    .hero-inner { 
        display: flex; /* Mudar de grid para flex para facilitar o empilhamento */
        flex-direction: column; 
        text-align: center; 
        padding: 40px 20px; 
        gap: 30px;
    }
    .hero-content { width: 100%; align-items: center; }
    .hero-content p { display: none; } /* Ocultar o parágrafo como sugerido */
    .hero h1 { font-size: 1.3rem; margin-bottom: 15px; }
    .impact-title, .testimonials-header h2, .support-content h3 { font-size: 1.3rem; }
    .hero-image { width: 100%; max-width: 320px; margin: 0 auto; order: -1; } /* Imagem vai para cima ou fica pequena */

    /* Ajustes Gerais de Espaçamento das Secções no Mobile */
    .hero { padding-top: 60px; padding-bottom: 48px; }
    .clients-section { padding: 25px 0; }
    .stats-section { padding: 25px 0; text-align: left !important; }
    .testimonials-section { padding: 30px 0; }
    .faq-section { padding: 30px 0; }
    .support-section { padding: 30px 0; }

    .stats-container { padding: 0 20px; }
    .impact-grid { grid-template-columns: repeat(4, 1fr) !important; width: 100%; gap: 10px; }
    .impact-header { text-align: left; }
    .impact-description { margin: 0; }
    
    #main-footer { padding: 20px 0 15px !important; }
    .footer-inner { 
        flex-direction: column !important; 
        gap: 10px !important; 
        padding: 0 20px !important;
        align-items: stretch !important;
    }
    .footer-copy { 
        text-align: left !important;
        font-size: 0.7rem !important; 
        max-width: 100% !important;
        opacity: 0.8;
    }
    .footer-social { 
        display: flex !important;
        gap: 12px !important;
        justify-content: flex-end !important;
        margin-top: 5px;
    }
    .footer-social svg { width: 18px; height: 18px; }

    .faq-container { flex-direction: column; text-align: left !important; gap: 30px; }
    .faq-header { text-align: left !important; width: 100%; }
    .faq-image { width: 100%; max-width: 320px; margin: 0; order: -1; }

    .support-container { 
        flex-direction: column; 
        text-align: left !important; 
        padding: 25px 20px !important; 
    }
    .support-contacts { 
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important; 
        width: 100%;
        margin-top: 15px;
    }
    .contact-card { 
        width: 100% !important; 
        padding: 5px 0 !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        gap: 12px !important;
        background: transparent !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }
    .contact-card > div {
        display: flex !important;
        flex-direction: column !important;
        gap: 2px !important;
    }
    .contact-card h4 { 
        display: block !important; 
        font-size: 0.7rem !important; 
        color: var(--texto-muted);
        margin: 0 !important;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    .contact-card h4::after { content: none !important; }
    .contact-card span { font-size: 0.85rem !important; color: var(--texto); font-weight: 600; }
    .contact-icon { margin-top: 4px !important; }
    .contact-icon svg { width: 18px; height: 18px; opacity: 0.9; color: var(--azul); }

    .support-content { text-align: left !important; width: 100%; }
    .support-content h2, .support-content h3, .support-content p { text-align: left !important; }
}

/* 3. SMARTPHONES PADRÃO (Até 768px) */
@media (max-width: 768px) {
    /* Header: Logo à esquerda, ações todas à DIREITA */
    .header-inner { justify-content: space-between; }
    .header-actions { 
        margin-left: auto; 
        justify-content: flex-end; 
        gap: 8px; /* Ícones mais próximos */
    }
    
    .header-nav-link span, 
    .header-nav-link { font-size: 0; padding: 6px; } 
    .header-nav-link svg { display: block; margin: 0; width: 19px; height: 19px; }
    
    .btn-login { padding: 0; border-radius: 50%; width: 36px; height: 36px; justify-content: center; }
    .btn-login .btn-text { display: none; } 
    .btn-login .icon-login { display: block; margin: 0; width: 19px; height: 19px; } 

    .header-profile { padding: 0 !important; gap: 0 !important; }
    .header-nome { display: none !important; }


    /* Hero: Botão principal CENTRADO e largo */
    .hero h1 { font-size: 1.25rem; line-height: 1.2; text-align: center; }
    .impact-title, .testimonials-header h2, .support-content h3 { font-size: 1.25rem; }
    .search-card { padding: 0; width: 100%; margin: 0 auto; }
    .input-group { flex-direction: column; gap: 12px; align-items: center; }
    
    .input-group input { 
        width: 100%;
        text-align: center;
        border-radius: 12px;
        padding: 18px;
    }
    
    .btn-consultar { 
        position: static; 
        width: 100%; 
        border-radius: 12px; 
        padding: 18px; 
        justify-content: center;
        background: var(--azul) !important;
        color: #fff !important;
    }

    /* Outros botões (Extra Actions) alinhados conforme pedido */
    .hero-extra-actions { 
        flex-direction: column; 
        width: 100%; 
        gap: 10px;
    }
    .btn-extra { 
        width: 100%; 
        justify-content: center; 
    }

    /* Secções de Impacto - Compacto: 4 na mesma linha */
    .impact-grid { 
        grid-template-columns: repeat(4, 1fr) !important; 
        gap: 8px !important; 
    }
    .impact-card { 
        text-align: center; 
        align-items: center; 
        padding: 15px 5px !important; 
        gap: 4px !important;
        min-height: 80px;
        justify-content: center;
    }
    .stats-row { 
        flex-direction: column !important; 
        gap: 4px; 
    }
    .stats-number { font-size: 1.1rem !important; }
    .stats-icon svg { width: 1.2rem !important; height: 1.2rem !important; }
    .stats-label { display: none !important; }

    .stats-section { padding: 25px 0; text-align: left !important; }
    .impact-header { text-align: left !important; }
    .impact-description { margin: 0 !important; text-align: left !important; }
}

/* 4. SMARTPHONES PEQUENOS (Até 480px) */
@media (max-width: 480px) {
    .hero-inner { padding: 20px 15px; }
    .hero h1 { font-size: 1.15rem; }
    .impact-title, .testimonials-header h2, .support-content h3 { font-size: 1.15rem; }
    .hero-content p { display: block; font-size: 0.8rem; margin-bottom: 15px; }
    .impact-description, .testimonials-header p, .support-content p { font-size: 0.85rem; }
    
    .stats-number { font-size: 1.1rem !important; } /* Mantido compacto */
    .stats-icon svg { width: 1.2rem !important; height: 1.2rem !important; }

    .faq-item summary { font-size: 0.8rem; padding: 6px 10px; }
    .faq-content { font-size: 0.8rem; }
    .faq-header h2 { font-size: 0.8rem !important; }
    
    .footer-content { grid-template-columns: 1fr; text-align: center; }
    .footer-logo { align-items: center; }
    .footer-social { justify-content: center; }
}

/* 5. ECRÃS ULTRA-PEQUENOS (Até 360px) */
@media (max-width: 360px) {
    .hero-inner { padding: 20px 10px; }
    .hero h1 { font-size: 1rem; }
    .impact-title, .testimonials-header h2, .support-content h3 { font-size: 1rem; }
    .clients-title { font-size: 0.8rem !important; margin-bottom: 12px !important; }
    
    .stats-number { font-size: 1.6rem; }
    .stats-label { font-size: 0.75rem; }
    
    .header-inner { padding: 0 8px; }
    .header-actions { gap: 3px; }
    .logo-img { height: 32px; }
}
