.login-container {
  height: 100vh;
  background-image: url(../img/background.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
.login-container .app-brand {
  flex-grow: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
  height: 100px;
}
.login-container .app-brand img {
  max-width: 100%;
  max-height: 100%;
}
.login-container .login-form-button {
  width: 100%;
}
.login-container .copy-link {
  display: block;
  width: 100%;
}
.brand-logo {
  width: 100%;
  word-wrap: break-word;
  word-break: break-all;
}


/* ========== Responsive Login ========== */

/* Base */
.login-container {
  min-height: 100vh;
  background-position: center;
  background-size: cover;
}

.login-card {
  /* il tuo bordo/ombra rimane, limitiamo la larghezza massima */
  max-width: 520px;
  width: 100%;
}

.login-card .ant-card-body {
  padding: 24px !important;
}

.app-brand img {
  height: 48px;
  object-fit: contain;
}

/* ====== ≥ 1200px (desktop grandi) ====== */
@media (min-width: 1200px) {
  .login-wrapper {
    padding-left: 48px;      /* distacco dal bordo sinistro */
  }
}

/* ====== 992–1199px (desktop piccoli) ====== */
@media (max-width: 1199.98px) {
  .login-wrapper {
    padding: 24px;
  }
  .login-card {
    max-width: 520px;
  }
}

/* ====== 768–991px (tablet) ====== */
@media (max-width: 991.98px) {
  /* centra il box quando lo schermo è stretto */
  .login-page-align {
    align-items: center !important;   /* da left a center */
  }
  .login-card {
    max-width: 520px;
  }
  .login-card .ant-card-body { padding: 20px; }
  .app-brand img { height: 44px; }
}

/* ====== 576–767px (phablet) ====== */
@media (max-width: 767.98px) {
  .login-wrapper { padding: 16px; }
  .login-card { max-width: 480px; }
  .login-card .ant-card-body { padding: 18px; }
  .app-brand img { height: 40px; }
  /* riduci un filo i campi */
  .login-card .ant-input,
  .login-card .ant-input-password {
    font-size: 14px;
    line-height: 1.4;
  }
}

/* ====== ≤ 575px (telefono) ====== */
@media (max-width: 575.98px) {
  .login-wrapper { padding: 12px; }
  .login-card { max-width: 100%; }
  .login-card .ant-card-body { padding: 16px; }
  .app-brand img { height: 36px; }

  /* reCAPTCHA: scala su schermi stretti */
  .login-card .g-recaptcha,
  .login-card iframe[src*="recaptcha"] {
    transform: scale(0.86);
    transform-origin: 0 0;
  }

  /* se il background ha elementi importanti a destra, spostalo un po' */
  .login-container {
    background-position: 65% center;
  }
}
