/* FactoryInformática - customer access pages.
   Scoped to authentication, registration, password recovery and guest tracking only. */

:is(body.page-authentication, body.page-registration, body.page-password, body.page-guest-tracking) {
  --fi-account-blue: #1463ff;
  --fi-account-blue-dark: #0f52d9;
  --fi-account-ink: #111d2d;
  --fi-account-text: #475569;
  --fi-account-muted: #6b7788;
  --fi-account-line: #dfe6ee;
  --fi-account-soft: #f5f7fb;
  --fi-account-white: #fff;
}

:is(body.page-authentication, body.page-registration, body.page-password, body.page-guest-tracking) #wrapper {
  background: var(--fi-account-soft);
}

:is(body.page-authentication, body.page-registration, body.page-password, body.page-guest-tracking) .breadcrumb__wrapper {
  background: transparent;
}

:is(body.page-authentication, body.page-registration, body.page-password, body.page-guest-tracking) #content-wrapper {
  padding-bottom: 54px;
}

body.page-authentication .container--limited-sm,
body.page-password .container--limited-sm,
body.page-guest-tracking .container--limited-sm {
  max-width: 760px;
}

body.page-registration .container--limited-md {
  max-width: 900px;
}

:is(body.page-authentication, body.page-registration, body.page-password, body.page-guest-tracking) .page-header {
  position: relative;
  margin: 0 0 18px;
  padding: 24px 28px;
  overflow: hidden;
  border: 1px solid var(--fi-account-line);
  border-radius: 18px;
  background:
    radial-gradient(circle at 90% 10%, rgba(20, 99, 255, .10), transparent 36%),
    #fff;
  box-shadow: 0 7px 24px rgba(17, 29, 45, .045);
}

:is(body.page-authentication, body.page-registration, body.page-password, body.page-guest-tracking) .page-header::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 82px;
  height: 3px;
  content: "";
  border-radius: 0 0 999px 0;
  background: var(--fi-account-blue);
}

:is(body.page-authentication, body.page-registration, body.page-password, body.page-guest-tracking) .page-title-section {
  margin: 0;
  color: var(--fi-account-ink);
  font: 850 clamp(25px, 2.2vw, 32px)/1.16 Manrope, Inter, Arial, sans-serif;
  letter-spacing: -.025em;
}

:is(body.page-authentication, body.page-registration, body.page-password, body.page-guest-tracking) #content.page-content {
  padding: 28px;
  border: 1px solid var(--fi-account-line);
  border-radius: 18px;
  background: var(--fi-account-white);
  box-shadow: 0 8px 28px rgba(17, 29, 45, .055);
}

:is(body.page-authentication, body.page-registration, body.page-password, body.page-guest-tracking) .form-label {
  margin-bottom: 7px;
  color: #354154;
  font-size: 13px;
  font-weight: 800;
}

:is(body.page-authentication, body.page-registration, body.page-password, body.page-guest-tracking) .form-label.required::after {
  color: var(--fi-account-blue);
}

:is(body.page-authentication, body.page-registration, body.page-password, body.page-guest-tracking) .form-control {
  min-height: 48px;
  border: 1px solid #cfd8e3;
  border-radius: 10px;
  background: #fff;
  color: #253244;
  box-shadow: none;
  transition: border-color .16s ease, box-shadow .16s ease;
}

:is(body.page-authentication, body.page-registration, body.page-password, body.page-guest-tracking) .form-control:focus {
  border-color: var(--fi-account-blue);
  box-shadow: 0 0 0 3px rgba(20, 99, 255, .11);
}

:is(body.page-authentication, body.page-registration, body.page-password, body.page-guest-tracking) .form-text {
  margin-top: 6px;
  color: #7d8998;
  font-size: 11.5px;
  line-height: 1.4;
}

:is(body.page-authentication, body.page-registration, body.page-password, body.page-guest-tracking) .btn-primary {
  min-height: 46px;
  border-color: var(--fi-account-blue);
  border-radius: 10px;
  background: var(--fi-account-blue);
  font-weight: 800;
  box-shadow: 0 7px 18px rgba(20, 99, 255, .16);
}

:is(body.page-authentication, body.page-registration, body.page-password, body.page-guest-tracking) .btn-primary:hover {
  border-color: var(--fi-account-blue-dark);
  background: var(--fi-account-blue-dark);
}

:is(body.page-authentication, body.page-registration, body.page-password, body.page-guest-tracking) .btn-outline-primary {
  min-height: 44px;
  border-color: #b9cff8;
  border-radius: 10px;
  color: var(--fi-account-blue);
  font-weight: 750;
}

:is(body.page-authentication, body.page-registration, body.page-password, body.page-guest-tracking) .btn-outline-primary:hover {
  border-color: var(--fi-account-blue);
  background: #edf4ff;
  color: var(--fi-account-blue-dark);
}

:is(body.page-authentication, body.page-registration, body.page-password, body.page-guest-tracking) .btn-basic {
  color: var(--fi-account-blue);
  font-weight: 700;
  text-decoration: none;
}

:is(body.page-authentication, body.page-registration, body.page-password, body.page-guest-tracking) .btn-basic:hover {
  color: var(--fi-account-blue-dark);
}

:is(body.page-authentication, body.page-registration, body.page-password, body.page-guest-tracking) .alert {
  border-radius: 11px;
}

/* Login */
body.page-authentication .login {
  margin: 0;
}

body.page-authentication .login__form-wrapper {
  padding: 0;
}

body.page-authentication #login-form .mb-3 {
  margin-bottom: 18px !important;
}

body.page-authentication #login-form .password-field .btn {
  min-width: 50px;
  border-radius: 0 10px 10px 0;
  box-shadow: none;
}

body.page-authentication #login-form .buttons-wrapper {
  align-items: center;
  margin-top: 22px;
}

body.page-authentication #submit-login {
  min-width: 180px;
  padding-right: 22px;
  padding-left: 22px;
}

body.page-authentication .login > hr {
  margin: 26px 0 20px;
  border-color: #e7ebf0;
  opacity: 1;
}

body.page-authentication .login__register-prompt {
  padding: 18px;
  border: 1px solid #dbe7fb;
  border-radius: 13px;
  background: #f7faff;
  text-align: center;
}

body.page-authentication .login__register-prompt .h4 {
  margin-bottom: 12px;
  color: var(--fi-account-ink);
  font: 800 17px/1.3 Manrope, Inter, Arial, sans-serif;
}

/* Registration */
body.page-registration .register-form {
  margin: 0;
}

body.page-registration #customer-form > section {
  display: grid;
  gap: 2px;
}

body.page-registration #customer-form .mb-3 {
  margin-bottom: 17px !important;
}

body.page-registration #customer-form .password-field .btn {
  min-width: 50px;
  border-radius: 0 10px 10px 0;
  box-shadow: none;
}

body.page-registration #customer-form .form-check {
  padding: 12px 14px 12px 38px;
  border: 1px solid #e6ebf1;
  border-radius: 10px;
  background: #fafbfd;
}

body.page-registration #customer-form .form-check-input {
  margin-top: 2px;
}

body.page-registration #customer-form .form-check-label {
  color: #536072;
  font-size: 12px;
  line-height: 1.45;
}

body.page-registration #customer-form .form-check-label em {
  color: #718095;
  font-size: 11.5px;
  font-style: normal;
}

body.page-registration #customer-form .form-check-label .texto-n {
  margin: 5px 0 0 !important;
  padding-left: 0 !important;
}

body.page-registration #customer-form .form-check-label .texto-n span {
  font-size: 11.5px !important;
  line-height: 1.45 !important;
}

body.page-registration #customer-form .form-footer {
  margin-top: 22px;
}

body.page-registration #customer-form .form-control-submit {
  min-width: 220px;
}

body.page-registration .register-form > hr {
  margin: 26px 0 18px;
  border-color: #e7ebf0;
  opacity: 1;
}

body.page-registration .register-form__login-prompt {
  margin: 0;
  color: var(--fi-account-muted);
  font-size: 13px;
  text-align: center;
}

body.page-registration .register-form__login-prompt a {
  color: var(--fi-account-blue);
  font-weight: 800;
}

/* Password recovery */
body.page-password .forgotten-password header {
  margin-bottom: 20px;
}

body.page-password .send-renew-password-link {
  margin: 0;
  color: var(--fi-account-text);
  font-size: 14px;
  line-height: 1.6;
}

body.page-password .forgotten-password .buttons-wrapper {
  margin-top: 20px;
}

body.page-password #send-reset-link {
  width: 100%;
}

body.page-password .page-footer {
  margin-top: 14px !important;
  padding: 0 10px;
}

body.page-password .page-footer hr {
  margin: 18px 0 12px;
  border-color: #e2e8f0;
  opacity: 1;
}

/* Guest order tracking */
body.page-guest-tracking #guestOrderTrackingForm {
  margin: 0;
}

body.page-guest-tracking #guestOrderTrackingForm .form-group,
body.page-guest-tracking #guestOrderTrackingForm .mb-3 {
  margin-bottom: 18px !important;
}

body.page-guest-tracking #guestOrderTrackingForm .buttons-wrapper {
  margin-top: 22px;
}

body.page-guest-tracking #guestOrderTrackingForm .btn-primary {
  min-width: 190px;
}

body.page-guest-tracking .page-content .card,
body.page-guest-tracking .page-content .order {
  border-color: var(--fi-account-line);
  border-radius: 12px;
  box-shadow: none;
}

@media (max-width: 767.98px) {
  :is(body.page-authentication, body.page-registration, body.page-password, body.page-guest-tracking) #content-wrapper {
    padding-bottom: 34px;
  }

  :is(body.page-authentication, body.page-registration, body.page-password, body.page-guest-tracking) .page-header {
    margin-bottom: 14px;
    padding: 20px 18px;
    border-radius: 15px;
  }

  :is(body.page-authentication, body.page-registration, body.page-password, body.page-guest-tracking) .page-title-section {
    font-size: 24px;
  }

  :is(body.page-authentication, body.page-registration, body.page-password, body.page-guest-tracking) #content.page-content {
    padding: 20px 18px;
    border-radius: 15px;
  }

  body.page-authentication #login-form .buttons-wrapper,
  body.page-guest-tracking #guestOrderTrackingForm .buttons-wrapper {
    gap: 10px;
  }

  body.page-authentication #submit-login,
  body.page-registration #customer-form .form-control-submit,
  body.page-guest-tracking #guestOrderTrackingForm .btn-primary {
    width: 100%;
    min-width: 0;
  }
}
