/* Mobile enxuto (< 768px): menos rolagem, menos enfeite, um foco por tela. Carregado por último em todas as páginas. */
@media (max-width: 767.98px) {
  :root { --section-y: 44px; }
  .section-head { margin-bottom: 20px; }
  .section-head p, .sx-lead { font-size: 1rem; }
  .sx-cap, .cx-note { margin-top: 10px; }

  /* Seções escuras: sem altura mínima de tela cheia (a largura total continua) */
  .dark-section { min-height: 0; padding-block: 48px; }

  /* Rodapé compacto: marca em cima, soluções e contato lado a lado */
  .footer-grid { grid-template-columns: 0.85fr 1.15fr; gap: 24px 16px; padding-bottom: 28px; }
  .footer-brand { grid-column: 1 / -1; gap: 10px; }
  .footer-brand img { height: 26px; }
  .footer-svc { grid-template-columns: 1fr; gap: 10px; }
  .footer-svc li:nth-child(4) { grid-column: auto; order: 0; }
  .footer-col h3 { margin-bottom: 12px; }
  .footer-col a { font-size: 0.875rem; overflow-wrap: anywhere; }
  .footer-legal { padding-block: 16px; font-size: 0.75rem; gap: 6px; }
  .wordmark { margin-top: 0; }
  .site-footer { padding-bottom: 64px; }

  /* Home: números e conteúdos mais curtos */
  .cont-grid { gap: 10px; }
  .cont-card { display: grid; grid-template-columns: 92px 1fr; gap: 2px 14px; align-items: center; padding: 12px; min-height: 0; }
  .cont-cover { grid-row: 1 / span 3; margin: 0; height: 92px; border-radius: 18px; }
  .cont-card .card-top .ico-box, .cont-card p { display: none; }
  .cont-card h3 { font-size: 1.0625rem; }
  .cont-card .link-arrow { margin: 0; padding: 0; border: 0; font-size: 0.875rem; width: auto; justify-content: flex-start; gap: 8px; }
  .cont-card .link-arrow .icon { width: 28px; height: 28px; padding: 6px; }

  /* Botão de WhatsApp flutuante: só o ícone */
  .wa-float .btn { font-size: 0; gap: 0; width: 52px; min-height: 52px; padding: 0; border-radius: 50%; }
  .wa-float .btn .icon { font-size: 24px; }

  /* Home: o destaque do Chat já diz isso no texto */
  .chat-copy .checks { display: none; }

  /* Chat */
  .cx-pills { display: none; }
  /* Inbox: só o título da seção e a lista de passos */
  .cx-inbox-head { gap: 6px; }
  .cx-inbox-head p { display: none; }
  .cx-step-btn { padding-block: 12px; }
  /* Disparos: dois argumentos bastam */
  .cx-bcast .checks li:nth-child(n+3) { display: none; }
  /* Fluxos: só os títulos dos três blocos */
  .cx-flow-txt { display: flex; flex-wrap: wrap; gap: 8px; }
  .cx-flow-txt > div { flex: 0 0 auto; }
  .cx-flow-txt h3 { margin: 0; padding: 8px 14px; border-radius: 999px; background: var(--bg-soft); font-size: 0.875rem; }
  .cx-flow-txt p { display: none; }
  /* IA: título, lista curta e a conversa */
  .cx-ai .cx-lead, .cx-ai .ai-key { display: none; }
  .cx-ai-list span { font-size: 0; }
  .cx-ai-list b { font-size: 1rem; display: block; }
  .cx-ai-list { gap: 12px; }

  /* Shop */
  .sx-marquee, .sx-float, .sx-stage .sx-note, .sx-feats, .sx-trust li:nth-child(3) { display: none; }
  .sx-hero { padding-bottom: 28px; }
  .sx-hero-grid { gap: 28px; }
  .sx-hero-text { gap: 16px; }
  .sx-proof { margin-top: 28px; padding-top: 18px; gap: 6px; }
  .sx-proof .num { font-size: 1.75rem; }
  .sx-proof li > span { font-size: 0.6875rem; }
  .sx-stage .sf { height: 330px; }
  .sf-banner { min-height: 78px; }

  .sx-pane { padding: 18px; gap: 16px; }
  .sx-pane-copy p { font-size: 1rem; }
  .sx-pane-ui { min-height: 0; }
  .sx-ui-photo { aspect-ratio: 16 / 10; }

  .sx-brand-grid { gap: 24px; }
  .sx-brand-copy { gap: 14px; }
  .sx-brand-copy .sx-lead { display: none; }
  .sx-ctl { gap: 14px; }
  .sf--live { height: 400px; }
  .sf--live .sf-cats, .sf--live .sf-perks { display: none; }

  .sx-ck-grid { gap: 22px; }
  .sx-ck-res { min-height: 104px; }

  /* Ferramentas: carrossel em vez de pilha de cinco cartões */
  .sx-bento { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: calc(-1 * var(--gutter)); padding: 4px var(--gutter) 16px; scrollbar-width: none; }
  .sx-bento::-webkit-scrollbar { display: none; }
  .sx-bc { flex: 0 0 82%; scroll-snap-align: center; padding: 20px; }
  .sx-bc:hover { transform: none; }
  .sx-bento { align-items: stretch; }

  .sx-toll-box { padding: 26px 20px; gap: 20px; }
  .sx-bars, .sx-cap--light { display: none; }
  .sx-calc { padding: 18px; gap: 18px; }
  .sx-calc-out { font-size: 1rem; }

  .sx-st-media { aspect-ratio: 16 / 10; border-radius: 28px; }
  .sx-st-list button { min-height: 56px; }

  .sx-help-copy { padding: 26px 22px 8px; }
  .sx-help-vis { min-height: 250px; }
  .sx-help-photo { inset: 0 0 0 0; border-radius: 0 0 28px 28px; }
  .sx-help-photo img { object-position: 50% 25%; }
  .hc-1, .hc-2 { display: none; }
  .hc-3 { left: 12px; bottom: 12px; width: min(168px, 62%); padding: 8px; animation: none; }
  .hc-dots, .hc-3 img { display: none; }
}

/* ===== Revisão do mobile (Shop, Chat) ===== */
@media (max-width: 767.98px) {
  /* Shop: personalizador só com a cor; prévia menor */
  .sx-ctl fieldset:nth-of-type(n+2) { display: none; }
  .sx-ctl { max-width: none; }
  .sx-swatches { gap: 14px; }
  .sf--live { height: 330px; }
  .sf--live .sf-banner { min-height: 70px; }
  .sf--live .sf-flash { display: none; }
  .sx-note--dark { margin-top: 8px; }

  /* Shop: "Do papel à vitrine" vira uma lista de 3 passos, sem foto trocando */
  .sx-st-media, .sx-st-bar { display: none; }
  .sx-st-list li button { pointer-events: none; min-height: 52px; color: var(--ink); }
  .sx-st-list li .sx-n { background: var(--primary); border-color: var(--primary); color: #fff; }
  .sx-st-list li .sx-st-d { grid-template-rows: 1fr; }
  .sx-st-list li .sx-st-d p { padding-bottom: 14px; font-size: 1rem; }

  /* Chat: inbox em cartões deslizáveis, sem o app borrado */
  .cx-inbox-right { display: none; }
  .cx-inbox-grid { gap: 0; }
  .cx-steps { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: calc(-1 * var(--gutter)); padding: 4px var(--gutter) 16px; scrollbar-width: none; }
  .cx-steps::-webkit-scrollbar { display: none; }
  .cx-step, .cx-step:last-child { flex: 0 0 78%; scroll-snap-align: center; padding: 18px; border: 1px solid rgba(255, 255, 255, 0.14); border-radius: 24px; background: rgba(255, 255, 255, 0.04); }
  .cx-step-btn { flex-direction: column; gap: 6px; padding: 0 0 8px; pointer-events: none; color: #fff; }
  .cx-step-h, .cx-step.is-active .cx-step-h { font-size: 1.125rem; }
  .cx-step-d { grid-template-rows: 1fr; }
  .cx-step-d p { margin: 0; font-size: 0.9375rem; }
  .cx-step-bar { display: none; }
}

/* Chat: vídeo do hero no celular — vídeo inteiro em cima, botões embaixo (nada sobre o vídeo) */
@media (max-width: 639.98px) {
  .page-chat .cx-hero { display: block; padding: 0; background: #0B0F19; }
  .page-chat .cx-ambient { display: none; }
  .page-chat .cx-player { width: 100%; height: auto; min-height: 0; aspect-ratio: auto; background: #F1F5F9; display: flex; flex-direction: column; }
  .page-chat .cx-video { position: relative; inset: auto; width: 100%; height: auto; aspect-ratio: 9 / 16; max-height: calc(100svh - 168px); object-fit: contain; -webkit-mask-image: none; mask-image: none; background: #F1F5F9; }
  .page-chat .cx-hero .cx-hero-inner { position: static; width: auto; margin: 0; padding: 18px var(--gutter) 26px; background: #0B0F19; }
  .page-chat .cx-hero .cx-actions { display: grid; gap: 10px; }
  .page-chat .cx-hero .btn--ghost { background: transparent; border-color: rgba(255, 255, 255, 0.4); color: #fff; }
  .page-chat .cx-pctl { top: auto; bottom: 156px; right: 14px; }
}

/* ===== Chat no celular: ajustes da revisão 3 ===== */
@media (max-width: 767.98px) {
  /* Seção 2: três cartões separados */
  .page-chat .cx-pains { gap: 12px; padding: 0; background: none; border-radius: 0; }
  .page-chat .cx-pains li { display: grid; grid-template-columns: 44px 1fr; column-gap: 14px; row-gap: 2px; padding: 18px; border-radius: 24px; background: #fff; border: 1px solid #DCE6F7; border-bottom: 1px solid #DCE6F7; box-shadow: 0 12px 28px -18px rgba(15, 23, 42, 0.16); }
  .page-chat .cx-pains p { display: block; }

  /* Seção 3: cartões suaves, no mesmo formato da seção 4 (chip, título, texto) */
  .page-chat .cx-step, .page-chat .cx-step:last-child { flex-basis: 82%; padding: 22px; border-radius: 28px; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); display: grid; align-content: start; gap: 6px; }
  .page-chat .cx-step-btn { flex-direction: column; align-items: flex-start; gap: 12px; padding: 0; }
  .page-chat .cx-step-n { display: inline-flex; padding: 5px 12px; border-radius: 999px; background: rgba(140, 181, 255, 0.14); color: #8CB5FF; letter-spacing: 0.06em; }
  .page-chat .cx-step-h, .page-chat .cx-step.is-active .cx-step-h { font-size: 1.25rem; line-height: 1.15; }
  .page-chat .cx-step-d p { color: var(--on-dark-muted); }

  /* Seção 8: o gráfico do painel tinha perdido a altura */
  .cx-mini.cx-bars { min-height: 110px; }
}
@media (max-width: 639.98px) {
  /* Vídeo do hero: começa abaixo do menu e usa a largura toda, sem corte */
  .page-chat .cx-player { padding-top: calc(var(--header-h) + 12px); }
  .page-chat .cx-video { max-height: none; }
  .page-chat .cx-pctl { bottom: 158px; }
}

/* CTA no fim de cada seção */
.container > .sec-cta { grid-column: 1 / -1; }
.sec-cta { display: flex; justify-content: center; margin-top: clamp(28px, 4vw, 48px); }
@media (max-width: 767.98px) { .sec-cta { margin-top: 24px; } .sec-cta .btn { width: 100%; } }

/* ===== Respiro e alvos de toque (revisão Playwright) ===== */
@media (max-width: 767.98px) {
  /* Home: vídeo, números e frase com espaço entre si */
  .stats { padding-top: 52px; padding-bottom: 44px; }
  .manifesto { padding-top: 44px; padding-bottom: 64px; }

  /* Alvos de toque de 44px */
  .brand-logo { display: inline-flex; align-items: center; min-height: 44px; }
  .link-arrow { min-height: 44px; }
  .footer-col a { min-height: 40px; }
  .footer-col ul { gap: 2px; }
  .footer-svc { gap: 2px; }
  .hc-pub, .chat-send-btn { min-height: 44px; }
}
