/* ==========================================================================
   V3 — reset mínimo e utilitários de chrome
   (a v3 não carrega base.css: ela tem seu próprio sistema)
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  min-height: 100svh;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img, picture, svg, video { display: block; max-width: 100%; height: auto; }
input, button, textarea, select { font: inherit; color: inherit; }
p, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; }
p { text-wrap: pretty; }
a { color: inherit; }

.sr-apenas {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip-path: inset(50%); white-space: nowrap; border: 0;
}

:focus-visible { outline: 2px solid var(--v3-acento); outline-offset: 3px; }
:focus:not(:focus-visible) { outline: none; }

.v3-pular {
  position: fixed; inset-inline-start: 1rem; inset-block-start: 1rem; z-index: 999;
  padding: .75rem 1.25rem; background-color: var(--v3-navy); color: #fff;
  font-size: .75rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase;
  text-decoration: none; border-radius: 9999px;
  transform: translateY(-160%); transition: transform .25s var(--v3-ease);
}
.v3-pular:focus { transform: translateY(0); }

/* --------------------------------------------------------------------------
   Menu mobile
   -------------------------------------------------------------------------- */

.v3-topo__cta { display: none; }
@media (min-width: 64rem) { .v3-topo__cta { display: inline-flex; } }

.v3-menu-botao {
  margin-inline-start: auto;
  display: grid; place-content: center; gap: 6px;
  inline-size: 44px; block-size: 44px; padding: 0;
  background: none; border: 0; cursor: pointer;
}
@media (min-width: 64rem) { .v3-menu-botao { display: none; } }

.v3-menu-botao span[aria-hidden] {
  display: block; inline-size: 24px; block-size: 1.5px;
  background-color: var(--v3-tinta);
  transition: transform .3s var(--v3-ease), opacity .2s;
}
.v3-menu-botao[aria-expanded="true"] span[aria-hidden]:first-of-type { transform: translateY(3.75px) rotate(45deg); }
.v3-menu-botao[aria-expanded="true"] span[aria-hidden]:last-of-type  { transform: translateY(-3.75px) rotate(-45deg); }

.v3-menu {
  position: fixed; inset: 0; z-index: 55;
  background-color: var(--v3-fundo);
  padding-block: 7rem 3rem; overflow-y: auto;
}
.v3-menu[hidden] { display: none; }

.v3-menu ul { list-style: none; padding: 0; margin: 0 0 2.5rem; display: grid; }
.v3-menu li + li { border-block-start: 1px solid var(--v3-borda); }

/* Escopo em `ul a`, e não em `a`: o seletor aberto tinha especificidade maior
   que .v3-btn e fazia o botão "Agendar pelo WhatsApp" herdar 1.85rem em fonte
   serifada, destoando de tudo. Agora ele mantém a tipografia de botão. */
.v3-menu ul a {
  display: block; padding-block: 1.05rem;
  font-family: var(--v3-display); font-size: 1.85rem; font-weight: 300;
  letter-spacing: -0.02em; text-decoration: none; color: var(--v3-tinta);
}
