/* ========================================================================== 
   VENTIA — LOGOWANIE, REJESTRACJA I ODZYSKIWANIE HASŁA
   Widoki zachowują komplet hooków classic, a ten arkusz usuwa ich stary układ.
   ========================================================================== */

body:is(#authentication, #registration, #password) #content.page-content {
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  font-family: 'Poppins', sans-serif;
}

body:is(#authentication, #registration, #password) .page-header {
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  font-family: 'Poppins', sans-serif;
}

body:is(#authentication, #registration, #password) .form-footer {
  padding-top: 6px;
  font-family: 'Poppins', sans-serif;
  text-align: right;
}

body#authentication .login-form {
  font-family: 'Poppins', sans-serif;
}

body#authentication .forgot-password {
  margin: -4px 0 18px;
  font-family: 'Poppins', sans-serif;
  text-align: right;
}

body#authentication .forgot-password a,
body#authentication .no-account a,
body#password #back-to-login,
body#password .page-footer a {
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  font-size: 12px;
  color: var(--ventia-color-brand-primary-dark);
  text-decoration: none;
}

body#authentication .forgot-password a:hover,
body#authentication .no-account a:hover,
body#password #back-to-login:hover,
body#password .page-footer a:hover {
  color: var(--ventia-color-brand-primary);
}

/* Separator rejestracji jest częścią treści, nie bootstrapowym <hr>. */
body#authentication .login-form + hr {
  display: none;
}

body#authentication .no-account {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 20px;
  font-family: 'Poppins', sans-serif;
  text-align: center;
}

body#authentication .no-account::before,
body#authentication .no-account::after {
  content: '';
  flex: 1 1 auto;
  height: 1px;
  background: var(--ventia-color-border-default);
}

body#authentication .no-account a {
  flex: 0 0 auto;
}

body#registration #customer-form .form-footer,
body#identity #customer-form .form-footer {
  border-top: 1px solid var(--ventia-color-border-default);
  margin-top: 20px;
  padding-top: 20px;
}

body:is(#registration, #identity, #password) .field-password-policy .password-strength,
body:is(#registration, #identity, #password) .field-password-policy .password-requirements {
  font-family: 'Poppins', sans-serif;
}

body:is(#registration, #identity, #password) .password-strength .progress,
body:is(#registration, #identity, #password) .field-password-policy .progress {
  height: 6px;
  margin: 8px 0 6px;
  overflow: hidden;
  background: var(--ventia-color-border-default);
  border-radius: 10px;
  box-shadow: none;
}

body:is(#registration, #identity, #password) .password-strength .progress-bar,
body:is(#registration, #identity, #password) .field-password-policy .progress-bar {
  background: var(--ventia-color-brand-primary);
  box-shadow: none;
}

body:is(#registration, #identity, #password) :is(.password-strength-text, .password-requirements, .password-requirements li) {
  font-family: 'Poppins', sans-serif;
  font-weight: 400;
  font-size: 11px;
  line-height: 18px;
  color: var(--ventia-color-text-secondary);
}

/* Classic wymuszał 430×38 px. Formularz ma korzystać z całej karty. */
body#password .forgotten-password,
body#password .renew-password {
  width: 100%;
  max-width: none;
  font-family: 'Poppins', sans-serif;
}

body#password .forgotten-password .send-renew-password-link {
  margin: 0 0 20px;
  font-family: 'Poppins', sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 20px;
  color: var(--ventia-color-text-secondary);
}

body#password .forgotten-password .center-email-fields {
  display: grid;
  grid-template-columns: minmax(128px, 1fr) minmax(220px, 2fr) auto;
  align-items: end;
  gap: 12px;
  width: 100%;
  max-width: none;
  margin: 0;
  font-family: 'Poppins', sans-serif;
}

body#password .forgotten-password .center-email-fields > :is(label, .email, button) {
  width: 100%;
  max-width: none;
  height: auto;
  margin: 0;
}

body#password .forgotten-password .center-email-fields label {
  padding: 0 0 13px;
}

body#password .forgotten-password .center-email-fields .form-control {
  width: 100%;
  height: 48px;
}

body#password .renew-password > .email {
  padding: 12px 16px;
  margin-bottom: 20px;
  font-family: 'Poppins', sans-serif;
  font-weight: 500;
  font-size: 12px;
  color: var(--ventia-color-brand-primary-dark);
  background: var(--ventia-color-brand-primary-light);
  border: 1px solid var(--ventia-color-bg-tint);
  border-radius: 10px;
}

body#password .renew-password .container-fluid {
  width: 100%;
  padding: 0;
  margin: 0;
}

body#password .renew-password .form-group.row {
  display: grid;
  grid-template-columns: minmax(148px, 1fr) minmax(240px, 2fr);
  align-items: center;
  gap: 16px;
  margin-right: 0;
  margin-left: 0;
}

body#password .renew-password .form-group.row > :is(.offset-md-2, .offset-md-5, [class*='col-md-']) {
  width: 100%;
  max-width: none;
  margin-left: 0;
}

body#password .renew-password .form-group.row:last-child {
  display: flex;
  justify-content: flex-end;
  padding-top: 6px;
}

body#password .page-footer ul {
  padding: 0;
  list-style: none;
}

@media (max-width: 767.98px) {
  body:is(#authentication, #registration, #password) #content.page-content {
    max-width: none;
  }

  body:is(#authentication, #registration, #password) .form-footer {
    text-align: left;
  }

  body#authentication .no-account {
    gap: 10px;
  }

  body#authentication .no-account a {
    max-width: 190px;
  }

  body#password .forgotten-password .center-email-fields,
  body#password .renew-password .form-group.row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
  }

  body#password .forgotten-password .center-email-fields label {
    padding: 0;
  }

  body#password .forgotten-password .center-email-fields button,
  body#password .renew-password .form-group.row:last-child button {
    width: 100%;
  }
}
