/* Give the active form the visible space above the software keyboard. */
body.keyboard-open.landing-locked .onboarding.container-fluid {
  position: fixed; top: var(--keyboard-viewport-top, 0px); left: 0; width: 100%;
  height: var(--setup-viewport-height, 100dvh); min-height: 0;
}
body.keyboard-open .onboarding-header, body.keyboard-open .owner-nav { display: none; }
body.keyboard-open input:not([type=checkbox]):not([type=radio]):not([type=file]), body.keyboard-open textarea { font-size: 18px; }
body.persona-keyboard .persona-heading, body.persona-keyboard .persona-carousel { display: none; }
body.persona-keyboard .persona-screen { flex: 1; display: flex; max-height: none; margin: 0 auto; padding-top: 12px; }
body.persona-keyboard .persona-editor { flex: 1; max-height: none; overflow-y: auto; }
body.persona-keyboard .persona-editor textarea { flex: 1; height: auto; min-height: 80px; }
body.persona-keyboard .persona-editor-meta { display: none; }
body.setup-keyboard .setup-heading { display: none; }
body.setup-keyboard .setup-screen { padding-top: 12px; }
body.setup-keyboard .setup-form { flex: 1; display: flex; flex-direction: column; justify-content: flex-start; gap: 12px; overflow-y: auto; }
body.setup-keyboard .setup-fields { flex: none; overflow: visible; }
body.setup-keyboard .checkout-contact, body.setup-keyboard .setup-photo-status { display: none; }
body.setup-keyboard .setup-field.keyboard-field textarea { height: clamp(80px, calc(var(--setup-viewport-height) - 140px), 280px); }
body.setup-keyboard .setup-note { display: none; }
body.setup-keyboard .setup-vcard { width: 100%; max-width: none; }
body.setup-keyboard .setup-card { height: auto; aspect-ratio: auto; box-shadow: none; }
body.setup-keyboard .setup-card #theLeft, body.setup-keyboard .setup-card-brand, body.setup-keyboard .setup-card-link { display: none; }
body.setup-keyboard .card-handle-editor { width: 100%; }
body.setup-keyboard .setup-card #theBody { display: block; }
body.keyboard-open.help-active .help-heading, body.keyboard-open.help-active .help-screen > .back-link { display: none; }
body.keyboard-open .help-card:not(:has(.keyboard-field)), body.keyboard-open .help-card:has(.keyboard-field) > :not(.keyboard-field):not(:has(.keyboard-field)), body.keyboard-open .help-answer:not(:has(.keyboard-field)) { display: none; }
body.keyboard-open .help-answer:has(.keyboard-field) > :not(.keyboard-field) { display: none; }
body.keyboard-open .swal2-container { top: var(--keyboard-viewport-top, 0px); bottom: auto; height: var(--setup-viewport-height, 100dvh); padding: 12px; }
body.keyboard-open .swal2-popup { max-height: 100%; overflow-y: auto; }
