/**
 * Short desktop viewports (1366×768, 1600×900): login + home index.
 * Stessa curva proporzionale su altezza viewport (vh).
 */
@media (min-width: 992px) and (max-height: 940px) {
  body.login-page .app-main {
    max-height: calc(100dvh - var(--nav-offset, var(--nav-h)) - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.login-page .login-page-wrap {
    padding-top: clamp(0.25rem, 1.2vh, 0.85rem) !important;
    padding-bottom: clamp(0.45rem, 1.6vh, 1rem) !important;
  }

  body.login-page .login-page-wrap .text-center.mb-4 {
    margin-bottom: clamp(0.45rem, 1.1vh, 0.75rem) !important;
  }

  body.login-page #logo_bar {
    padding: 0 20px !important;
    background-color: transparent !important;
  }

  body.login-page #logo_svg svg {
    height: clamp(46px, 11vh, 72px) !important;
  }

  body.login-page .login-page-wrap .lead {
    font-size: clamp(0.78rem, 1.65vh, 0.92rem) !important;
    margin-bottom: 0.15rem !important;
  }

  body.login-page .login-card .card-body {
    padding: clamp(0.75rem, 2vh, 1.25rem) !important;
  }

  body.login-page .login-card .mb-4 {
    margin-bottom: clamp(0.5rem, 1.1vh, 0.7rem) !important;
  }

  body.login-page .login-card .mb-3 {
    margin-bottom: clamp(0.4rem, 0.9vh, 0.6rem) !important;
  }

  body.login-page .login-card h2.h4 {
    font-size: clamp(1rem, 2.1vh, 1.12rem) !important;
  }

  body.login-page .login-card .btn.btn-lg {
    min-height: clamp(36px, 4.8vh, 42px);
    font-size: clamp(0.86rem, 1.75vh, 0.96rem);
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
  }

  body.login-page .login-page-wrap > .row > div > p.text-center.mt-3 {
    margin-top: clamp(0.35rem, 0.9vh, 0.65rem) !important;
  }

  /* Home / index */
  body.desktop-lock-scroll .app-shell:has(#index-page-root) {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.desktop-lock-scroll #index-page-root {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding-top: 0.1rem !important;
    padding-bottom: calc(0.45rem + env(safe-area-inset-bottom)) !important;
  }

  body.desktop-lock-scroll #main-inserimento {
    zoom: clamp(0.8, calc(100vh / 980), 0.92);
    margin-bottom: 0.2rem !important;
  }

  body.desktop-lock-scroll #main-inserimento .jumbotron {
    padding: clamp(0.35rem, 1vh, 0.55rem) !important;
    margin-bottom: 0.25rem !important;
  }

  body.desktop-lock-scroll #main-inserimento .display-5 {
    font-size: clamp(1.05rem, 2.5vh, 1.32rem) !important;
    margin-bottom: 0.3rem !important;
  }

  body.desktop-lock-scroll #main-inserimento hr.my-3 {
    margin: 0.35rem 0 !important;
  }

  body.desktop-lock-scroll #main-inserimento-form {
    padding: clamp(0.55rem, 1.45vh, 0.9rem) !important;
  }

  body.desktop-lock-scroll #main-inserimento-form h4.mb-4 {
    margin-bottom: 0.45rem !important;
    padding-bottom: 0.3rem !important;
    font-size: clamp(0.98rem, 2.1vh, 1.08rem) !important;
  }

  body.desktop-lock-scroll #fname {
    min-height: clamp(2.6rem, 7.5vh, 3.4rem) !important;
    max-height: clamp(3rem, 9vh, 4rem);
  }

  body.desktop-lock-scroll #main-inserimento-form .col-12.pt-2 {
    padding-top: 0.3rem !important;
  }
}

@media (min-width: 992px) and (max-height: 800px) {
  body.login-page #logo_svg svg {
    height: clamp(40px, 9.5vh, 56px) !important;
  }

  body.desktop-lock-scroll #main-inserimento {
    zoom: clamp(0.76, calc(100vh / 1050), 0.84);
  }
}
