/* ==========================================================================
   O2 VET LOGIN R70 - LOGIN CARD POSITION FIX
   --------------------------------------------------------------------------
   R69 approved background remains byte-for-byte unchanged.
   Only the live Sign in card position is adjusted so it no longer overlaps
   the larger O2 Vet logo contained in the approved background.
   ========================================================================== */

/* Normal desktop / laptop viewport:
   move the complete live card down while preserving its existing X position,
   dimensions, field layout and button behavior. */
body.o2-login-app-body .o2-login-card{
  transform:translateY(6.5vh)!important;
}

/* Some baselines position the form wrapper rather than the card itself.
   Avoid double-moving if the card exists; this is a fallback only. */
body.o2-login-app-body:not(:has(.o2-login-card)) #unified-login-form{
  transform:translateY(6.5vh)!important;
}

/* Shorter laptop screens: a slightly smaller shift prevents bottom clipping. */
@media (max-height:800px){
  body.o2-login-app-body .o2-login-card{
    transform:translateY(4.5vh)!important;
  }

  body.o2-login-app-body:not(:has(.o2-login-card)) #unified-login-form{
    transform:translateY(4.5vh)!important;
  }
}

/* Very short windows should scroll safely instead of hiding controls. */
@media (max-height:690px){
  body.o2-login-app-body{
    overflow-y:auto!important;
  }

  body.o2-login-app-body .o2-login-app-page{
    min-height:760px!important;
    height:760px!important;
    overflow:visible!important;
  }

  body.o2-login-app-body .o2-login-card{
    transform:translateY(28px)!important;
  }

  body.o2-login-app-body:not(:has(.o2-login-card)) #unified-login-form{
    transform:translateY(28px)!important;
  }
}

/* Language selector stays exactly where R69 put it. */
body.o2-login-app-body .o2-login-language{
  transform:none!important;
}
