/* Mobile-first: quem chega com dor precisa do título e do botão na primeira tela,
   alvos de toque grandes e nada de rolagem lateral visível. */

/* linha de atendimento inteira clicável (todas as larguras) */
.care__item { position: relative; }
.care__item a::after { content: ""; position: absolute; inset: 0; }
.care__item:hover h3 { color: var(--accent); }

/* barra fixa só aparece depois que os botões do topo saem da tela */
.js .dock { transform: translateY(110%); transition: transform .35s var(--ease); }
.js .dock.is-on { transform: none; }

a, button, summary { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }

/* carrossel com encaixe, sem barra visível */
.snap-row { scrollbar-width: none; }
.snap-row::-webkit-scrollbar { display: none; }

@media (max-width: 720px) {
  :root { --section-y: 3.25rem; --fs-h2: 1.85rem; --fs-h1: 2.15rem; }

  /* cabeçalho rola junto: a barra de baixo já leva os botões */
  .header { position: relative; }
  .header__in { min-height: 60px; }
  .logo__svg { height: 26px; }

  /* hero: texto e ação primeiro, mostrador depois */
  .hero__in { grid-template-columns: minmax(0, 1fr); padding-block: 1.75rem 3rem; gap: 2.5rem; }
  .hero__copy, .section .wrap > * { min-width: 0; }
  .hero__kicker { font-size: .72rem; margin-bottom: .9rem; }
  .hero__sub { margin-top: .9rem; font-size: 1rem; }
  .pick { margin-top: 1.4rem; }
  .hero .hero__ctas { order: 1; margin-top: 0; }
  .proof { order: 2; align-self: stretch; margin-top: .9rem; }
  .pick__label { order: 3; margin-top: 1.6rem; }
  .chips { order: 4; }
  .pick__preview { display: none; }
  .pick__label { font-size: .95rem; }
  .chips {
    flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x proximity;
    margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter);
    scroll-padding-inline: var(--gutter); scrollbar-width: none;
    mask-image: linear-gradient(90deg, #000 85%, transparent);
  }
  .chips::-webkit-scrollbar { display: none; }
  .chip { flex: none; scroll-snap-align: start; }
  .chip:last-child { margin-right: 2rem; }
  .hero__ctas { gap: .6rem; }
  .hero__ctas .btn { flex: 1 1 100%; min-height: 56px; }
  .pick__preview { font-size: .85rem; }
  .dial { order: 0; width: min(76vw, 320px); margin-top: 0; }
  .tag { font-size: .72rem; padding: .45rem .65rem; border-radius: 12px; }
  .tag b { font-size: .82rem; }
  .tag--a { left: -4%; bottom: 8%; }
  .tag--b { right: -4%; top: 8%; }

  /* fatos em 2x2 */
  .facts__list { grid-template-columns: 1fr 1fr; gap: 0; }
  .facts__list li { flex-direction: column; gap: .4rem; padding: 1rem .75rem 1rem 0; font-size: .86rem; border: 0; }
  .facts__list li:nth-child(odd) { padding-right: 1rem; border-right: 1px solid rgba(255, 255, 255, .1); }
  .facts__list li:nth-child(even) { padding-left: 1rem; }
  .facts__list li:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, .1); }
  .facts__list i { font-size: 1.3rem; }

  .section__head { margin-bottom: 1.75rem; }
  .lede { font-size: 1rem; }

  /* atendimentos: linhas compactas com seta, a linha toda é o alvo */
  .care__item { grid-template-columns: auto 1fr auto; gap: .9rem; padding: 1.1rem 0; align-items: center; }
  .care__item > i { font-size: 1.45rem; margin: 0; }
  .care__item p { font-size: .9rem; margin-top: .2rem; }
  .care__item a { grid-column: auto; min-height: 44px; min-width: 44px; justify-content: center; font-size: 1.2rem; }
  .care__more { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

  .aid { gap: .75rem; }
  .aid__card { padding: 1.25rem; }
  .aid__card--alert { order: -1; }

  /* passos como linha do tempo */
  .steps { gap: 0; }
  .steps li { display: grid; grid-template-columns: 40px 1fr; column-gap: 1rem; padding: 0 0 1.5rem; background: none; position: relative; }
  .steps li::before { grid-row: span 2; margin: 0; }
  .steps li:not(:last-child)::after { content: ""; position: absolute; left: 19px; top: 44px; bottom: 4px; width: 2px; background: var(--grey-200); }
  .steps h3 { align-self: center; }
  .steps p { margin-top: .25rem; grid-column: 2; }
  .note { margin-top: .5rem; font-size: .92rem; }

  /* avaliações em carrossel com o próximo card aparecendo */
  .reviews {
    grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 86%;
    overflow-x: auto; scroll-snap-type: x mandatory; gap: .75rem;
    margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); scroll-padding-inline: var(--gutter);
  }
  .review { scroll-snap-align: start; padding: 1.4rem; }
  .review blockquote { font-size: .97rem; }
  .btn--line-light { margin-top: 1.75rem; width: 100%; }

  .team__grid { gap: .75rem; }
  .doc b { font-size: 1rem; }
  .doc span { font-size: .85rem; }

  .visit__addr { font-size: 1.05rem; }
  .visit__ctas .btn { flex: 1 1 100%; min-height: 52px; }
  .visit__map { aspect-ratio: 1 / 1; }

  .faq__list summary { font-size: 1.02rem; padding: 1.1rem 0; min-height: 44px; }
  .final .hero__ctas .btn { flex: 1 1 100%; }
}
