/* Local: celular em primeiro — não muda cores/fonte oficiais. */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overflow-x: clip;
}
body {
  overflow-x: clip;
  min-width: 0;
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
  padding-bottom: env(safe-area-inset-bottom);
}
img,
svg,
video {
  max-width: 100%;
}
button,
a.btn,
.btn {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.hero {
  min-height: 92dvh;
}
.unidades-page,
.unidade-page,
.matricula-page,
.facial-page,
.area-aluno-page,
.unidades-shell {
  min-height: calc(100dvh - 72px);
}
.unidades-shell {
  height: calc(100dvh - 72px);
}

.site-header {
  padding-top: env(safe-area-inset-top);
}

@media (max-width: 900px) {
  .site-header-inner {
    height: 72px;
  }
  .site-nav {
    top: calc(72px + env(safe-area-inset-top, 0px));
    padding-bottom: calc(32px + env(safe-area-inset-bottom, 0px));
  }
  .unidades-shell {
    grid-template-columns: 1fr !important;
    height: auto;
  }
}

@media (max-width: 480px) {
  .hero-inner {
    padding-bottom: 24px;
  }
  .hero-cta {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 10px;
  }
  .hero-cta .btn,
  .hero-cta a {
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
  }
  .unidades-search-input input,
  .matricula-search input,
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="search"],
  select,
  textarea {
    font-size: 16px !important;
  }
}
