/* ============================================================
   RESPONSIVO — Mobile first
   ============================================================ */

/* ========== BREAKPOINT 768px — Geral ========== */
@media (max-width: 768px) {
    /* section usa --section-padding-y que já é 48px em mobile via :root */

    /* ── HERO ── */
    #hero {
        grid-template-columns: 1fr;
        min-height: auto;
    }
    .hero-visual { display: none; }
    .hero-content-box { padding: 24px 20px; max-width: 100%; }
    .glass-panel { padding: 24px 18px; max-width: 100%; }

    .hero-title { font-size: 28px; line-height: 1.2; letter-spacing: -0.5px; }
    .hero-sub   { font-size: 15px; max-width: 100%; }

    .hero-stats {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px 24px;
        margin-top: 24px;
        padding-top: 20px;
    }
    .hero-stat-num { font-size: 26px; }
    .hero-stat-lbl { font-size: 12px; }

    /* ── WHATSAPP FLOAT ── */
    .whatsapp-float { width: 48px; height: 48px; bottom: 16px; right: 16px; }
    .whatsapp-float svg { width: 24px; height: 24px; }

    /* ── NICHOS ── */
    .nichos-track { animation-duration: 20s; }

    /* ── GRIDS GERAIS ── */
    .servicos-grid,
    .diferenciais-grid,
    .depoimentos-grid { grid-template-columns: 1fr; gap: 16px; }

    /* ── SOBRE ── */
    #sobre {
        grid-template-columns: 1fr;
        gap: var(--space-lg, 32px);
    }
    .sobre-fotos {
        max-width: 320px;
        margin: 0 auto;
    }
    .foto-socia-card:first-child { margin-top: 0; }

    /* ── CONTATO ── */
    #contato { grid-template-columns: 1fr; gap: 20px; }

    /* ── FORMULÁRIOS ── */
    .form-row  { grid-template-columns: 1fr; }
    .form-card { padding: 24px 18px; }

    /* ── LINKEDIN ── */
    .linkedin-cta-card {
        grid-template-columns: 1fr;
        padding: 28px 20px;
        gap: 24px;
    }
    .linkedin-cta-content { text-align: center; }
    .btn-linkedin { width: 100%; justify-content: center; }

    /* ── FOOTER ── */
    .footer-grid   { grid-template-columns: 1fr; gap: 28px; }
    .footer-bottom { flex-direction: column; align-items: flex-start; gap: 8px; }

    /* ── TIPOGRAFIA ── */
    .section-title { font-size: 26px; }
    .section-sub   { font-size: 15px; }

    /* ── COOKIE BANNER ── */
    .cookie-banner {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        padding: 16px;
    }
    .cookie-banner-acoes { width: 100%; justify-content: flex-start; }
}

/* ========== BREAKPOINT 400px — telas muito pequenas ========== */
@media (max-width: 400px) {
    .hero-title { font-size: 24px; }
    .hero-sub   { font-size: 14px; }
    .hero-content-box { padding: 20px 16px; }
    .hero-stats { grid-template-columns: 1fr; gap: 12px; }
    .hero-actions { flex-direction: column; }
    .btn-primary, .btn-outline { width: 100%; justify-content: center; }
}

/* ========== ACESSIBILIDADE ========== */
@media (prefers-reduced-motion: reduce) {
    .rotating-words { animation: none; }
    * { transition-duration: 0.01ms !important; }
}
