/* PR-VIBECURB-07 · Gate 6.3 — áreas mínimas de interação. */

:root {
  --vb-target-comfortable: 44px;
  --vb-target-minimum: 24px;
}

/* Controles e links autônomos recebem uma área confortável para mouse e touch. */
.vb-header .vb-brand,
.vb-header .vb-nav > a,
.vb-header__actions > a,
.vb-button--compact,
.vb-hero__continue,
.vb-hero__teacher-path a,
#como-funciona .vb-record__finding a,
#mecanismo .vb-cartography__finding a {
  min-height: var(--vb-target-comfortable);
}

.vb-header .vb-nav > a,
.vb-header__actions > a,
.vb-hero__continue,
.vb-hero__teacher-path a,
#como-funciona .vb-record__finding a,
#mecanismo .vb-cartography__finding a {
  display: inline-flex;
  align-items: center;
}

/* O rail desktop cresce apenas 2–4 px por item; sua largura e geometria permanecem. */
@media (min-width: 1051px) {
  .vb-rail__toggle,
  .vb-rail a {
    min-height: var(--vb-target-comfortable);
  }
}

/* O menu compacto conserva 44 px também em landscape de baixa altura. */
@media (max-width: 1080px) {
  .vb-nav.vb-nav--mobile-portal > a {
    min-height: var(--vb-target-comfortable);
  }
}

/* Links agrupados do footer usam o mínimo normativo sem inflar o documento. */
.vb-footer a {
  min-height: var(--vb-target-minimum);
  display: inline-flex;
  align-items: center;
}

/* O skip link só ocupa a área confortável quando se torna visível. */
.vb-skip-link:focus {
  min-height: var(--vb-target-comfortable);
  display: inline-flex;
  align-items: center;
}
