/* UX-08: evita que teclado y navegación inferior cubran formularios móviles. */
@media (max-width: 768px) {
  body.keyboard-open .mobile-bottom-nav,
  body.keyboard-open #active-order-btn { display: none !important; }

  body.keyboard-open { scroll-padding-bottom: 24px; }

  body.keyboard-open .modal,
  body.keyboard-open .auth-modal-overlay {
    top: var(--keyboard-viewport-top, 0px);
    bottom: auto;
    height: var(--keyboard-viewport-height, 100dvh);
    max-height: var(--keyboard-viewport-height, 100dvh);
  }

  body.keyboard-open .modal-sheet,
  body.keyboard-open .auth-modal,
  body.keyboard-open #cart-panel,
  body.keyboard-open #orders-panel,
  body.keyboard-open .pf-upload-modal {
    max-height: calc(var(--keyboard-viewport-height, 100dvh) - 8px) !important;
  }

  body.keyboard-open .modal-scroll,
  body.keyboard-open .auth-modal,
  body.keyboard-open .auth-sheet,
  body.keyboard-open .auth-card,
  body.keyboard-open .pf-upload-modal {
    overflow-y: auto;
    overscroll-behavior: contain;
    scroll-padding-bottom: 24px;
  }

  body.keyboard-open input:focus,
  body.keyboard-open textarea:focus,
  body.keyboard-open select:focus,
  body.keyboard-open [contenteditable="true"]:focus {
    scroll-margin-top: 16px;
    scroll-margin-bottom: 96px;
  }

  body.auth-page.keyboard-open,
  body.keyboard-open #auth-screen {
    min-height: var(--keyboard-viewport-height, 100dvh);
    height: auto;
    overflow-y: auto;
  }
}
