/* Web app: the Terms and Conditions step (Oct 2026). Full screen, in the app's look; a phone first, then a centred sheet. */
.ga-terms { min-height: 100vh; background: var(--ga-blaze); display: flex; flex-direction: column; }
.ga-terms-top { color: #fff; display: flex; align-items: center; justify-content: center; gap: 10px; padding: max(env(safe-area-inset-top), 18px) 16px 16px; }
.ga-terms-sheet { flex: 1; background: #fff; border-radius: 28px 28px 0 0; padding: 24px 16px 32px; display: flex; flex-direction: column; gap: 14px; }
.ga-terms-sheet h1 { margin: 0; font-size: 28px; }
.ga-terms-sheet p { margin: 0; }
.ga-terms-doc { border: 1.5px solid var(--ga-line); border-radius: 16px; overflow: hidden; background: var(--ga-bg-2); }
.ga-terms-doc iframe { display: block; width: 100%; height: 52vh; min-height: 320px; border: 0; }
.ga-terms-agree { display: flex; align-items: center; gap: 12px; min-height: 52px; font-weight: 600; cursor: pointer; }
.ga-terms-agree input { width: 26px; height: 26px; accent-color: var(--ga-blaze); flex: none; }
.ga-terms-sheet .ga-link { align-self: flex-start; color: var(--ga-blaze); display: inline-flex; align-items: center; }
.ga-terms-sheet .ga-error { margin: 0; }
.ga-terms-signout { margin: 0; }
.ga-terms-signout .ga-btn { width: 100%; }
@media (min-width: 760px) {
  .ga-terms { align-items: center; }
  .ga-terms-top { padding: 36px 16px 22px; }
  .ga-terms-sheet { flex: none; width: min(720px, 92vw); border-radius: 28px; margin-bottom: 48px; padding: 30px 32px 34px; }
  .ga-terms-doc iframe { height: 58vh; }
}
@media (min-width: 1180px) {
  .ga-terms-sheet { width: 860px; }
  .ga-terms-doc iframe { height: 62vh; }
}
