/* Falue account recovery — fitted welcome-shell layout. */
html,
body {
  width: 100%;
  height: 100%;
  min-height: 100%;
  overflow: hidden !important;
}

body {
  margin: 0;
  background: #f8f7fd !important;
}

.falue-recovery {
  --fr-ink: #272a43;
  --fr-muted: #858aa0;
  --fr-line: rgba(105, 101, 163, .16);
  --fr-purple: #7447ec;
  --fr-blue: #4c63f2;
  position: fixed;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  min-height: 0;
  display: flex;
  flex-direction: column;
  isolation: isolate;
  overflow: hidden;
  color: var(--fr-ink);
  background:
    radial-gradient(circle at 14% 22%, rgba(120, 74, 237, .14), transparent 34%),
    radial-gradient(circle at 88% 78%, rgba(73, 104, 246, .14), transparent 36%),
    linear-gradient(145deg, #fbfaff 0%, #f7f6fd 54%, #fbfcff 100%);
  font-family: var(--falue-font-ui, "Plus Jakarta Sans", "Poppins", Arial, sans-serif);
}

.falue-recovery::before,
.falue-recovery::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: min(48vw, 620px);
  height: min(48vw, 620px);
  border-radius: 50%;
  pointer-events: none;
  filter: blur(82px);
  opacity: .17;
}

.falue-recovery::before {
  top: -22%;
  left: -12%;
  background: #9b75ff;
}

.falue-recovery::after {
  right: -13%;
  bottom: -27%;
  background: #6d8cff;
}

.falue-recovery *,
.falue-recovery *::before,
.falue-recovery *::after {
  box-sizing: border-box;
}

.falue-recovery__topbar {
  position: relative;
  z-index: 5;
  width: min(1180px, calc(100% - 48px));
  height: 76px;
  min-height: 76px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.falue-recovery__brand {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--fr-ink) !important;
  text-decoration: none !important;
  font-size: 25px;
  font-weight: 800;
  line-height: 1;
}

.falue-recovery__brand img {
  width: 42px;
  height: 42px;
  display: block;
  object-fit: contain;
}

.falue-recovery__language {
  position: relative;
}

.falue-recovery__language > button {
  min-width: 46px;
  min-height: 42px;
  padding: 0 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid rgba(255, 255, 255, .74);
  border-radius: 15px;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 10px 32px rgba(66, 58, 121, .08);
  color: #30334a;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  backdrop-filter: blur(18px);
}

.falue-recovery__language > button svg {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
}

.falue-recovery__language .dropdown-menu {
  max-height: min(62vh, 430px);
  overflow-y: auto;
  border: 1px solid var(--fr-line);
  border-radius: 16px;
  box-shadow: 0 18px 50px rgba(42, 44, 73, .16);
}

.falue-recovery__main {
  position: relative;
  z-index: 1;
  width: min(1180px, calc(100% - 48px));
  min-height: 0;
  flex: 1 1 auto;
  margin: 0 auto;
  padding: 12px 0 54px;
  display: grid;
  place-items: center;
}

.falue-recovery__card {
  width: min(460px, 100%);
  max-height: calc(100dvh - 150px);
  padding: 32px;
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid rgba(255, 255, 255, .86);
  border-radius: 30px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 28px 78px rgba(63, 58, 114, .13);
  backdrop-filter: blur(22px);
}

.falue-recovery__icon {
  width: 58px;
  height: 58px;
  margin: 0 auto 16px;
  display: grid;
  place-items: center;
  border-radius: 20px;
  color: #fff;
  background: linear-gradient(135deg, var(--fr-blue), var(--fr-purple));
  box-shadow: 0 15px 30px rgba(92, 74, 226, .24);
}

.falue-recovery__icon svg {
  width: 27px;
  height: 27px;
}

.falue-recovery__card .title {
  margin: 0 0 24px !important;
  color: var(--fr-ink) !important;
  font-size: clamp(29px, 4vw, 38px) !important;
  font-weight: 800 !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em;
  text-align: center;
  overflow-wrap: anywhere;
}

.falue-recovery__card form,
.falue-recovery__card .login_signup_combo,
.falue-recovery__card .login__ {
  width: 100%;
}

.falue-recovery__card .errors:empty {
  display: none;
}

.falue-recovery__card .errors {
  margin: 0 0 14px;
}

.falue-recovery__card .new-err {
  margin: 0;
  padding: 11px 13px;
  border: 1px solid rgba(224, 79, 100, .16);
  border-radius: 13px;
  background: rgba(255, 239, 242, .88);
  color: #bb3750;
  font-size: 12px;
  line-height: 1.35;
}

.falue-recovery__card .new-err.new-success {
  border-color: rgba(46, 170, 120, .18);
  background: rgba(232, 250, 242, .9);
  color: #21845f;
}

.falue-recovery__card .wow_form_fields {
  position: relative;
  width: 100% !important;
  margin: 0 0 16px !important;
}

.falue-recovery__card .wow_form_fields > label {
  display: block;
  margin: 0 0 7px;
  color: #6f748c;
  font-size: 12px;
  font-weight: 700;
}

.falue-recovery__card .wow_form_fields > input {
  width: 100% !important;
  height: 54px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border: 1px solid rgba(105, 101, 163, .19) !important;
  border-radius: 16px !important;
  outline: 0 !important;
  background: rgba(247, 247, 252, .92) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8) !important;
  color: var(--fr-ink) !important;
  font-size: 15px !important;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.falue-recovery__card .wow_form_fields > input:focus {
  border-color: rgba(98, 77, 230, .62) !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(98, 77, 230, .1) !important;
}

.falue-recovery__card .login_signup_combo {
  margin: 0 !important;
}

.falue-recovery__card .btn-main,
.falue-recovery__card .login__ > button {
  width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 12px 18px !important;
  border: 0 !important;
  border-radius: 16px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  background: linear-gradient(110deg, var(--fr-blue), var(--fr-purple)) !important;
  box-shadow: 0 14px 28px rgba(83, 72, 222, .2) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  text-transform: none !important;
}

.falue-recovery__card .btn-main:disabled,
.falue-recovery__card .login__ > button:disabled {
  opacity: .68;
}

.falue-recovery__choice {
  display: grid;
  gap: 10px;
}

.falue-recovery__back {
  margin-top: 17px;
  text-align: center;
}

.falue-recovery__back a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #5d5f93 !important;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 800;
}

.falue-recovery__back svg {
  width: 16px;
  height: 16px;
}

[dir="rtl"] .falue-recovery__back svg {
  transform: scaleX(-1);
}

.falue-recovery__captcha {
  width: 304px;
  max-width: none;
  min-height: 78px;
  margin: 12px auto 16px !important;
  transform-origin: top left;
}

[dir="rtl"] .falue-recovery__captcha {
  transform-origin: top right;
}

@media (max-width: 599.98px) {
  .falue-recovery__topbar {
    width: calc(100% - 28px);
    height: 62px;
    min-height: 62px;
  }

  .falue-recovery__brand {
    gap: 7px;
    font-size: 21px;
  }

  .falue-recovery__brand img {
    width: 34px;
    height: 34px;
  }

  .falue-recovery__language > button {
    min-width: 44px;
    min-height: 40px;
    padding: 0 11px;
  }

  .falue-recovery__language > button span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .falue-recovery__main {
    width: calc(100% - 28px);
    padding: 8px 0 max(44px, env(safe-area-inset-bottom));
  }

  .falue-recovery__card {
    max-height: calc(100dvh - 84px);
    padding: 25px 20px 22px;
    border-radius: 25px;
  }

  .falue-recovery__icon {
    width: 52px;
    height: 52px;
    margin-bottom: 13px;
    border-radius: 18px;
  }

  .falue-recovery__card .title {
    margin-bottom: 20px !important;
    font-size: clamp(27px, 8.6vw, 34px) !important;
  }
}

@media (max-width: 379.98px) {
  .falue-recovery__captcha {
    height: 70px;
    min-height: 70px;
    margin-inline: 0 !important;
    transform: scale(.9);
  }
}

@media (max-width: 339.98px) {
  .falue-recovery__captcha {
    height: 64px;
    min-height: 64px;
    transform: scale(.82);
  }
}

@media (max-height: 620px) {
  .falue-recovery__topbar {
    height: 54px;
    min-height: 54px;
  }

  .falue-recovery__main {
    padding-top: 4px;
    padding-bottom: 34px;
  }

  .falue-recovery__card {
    max-height: calc(100dvh - 66px);
    padding-top: 18px;
    padding-bottom: 18px;
  }

  .falue-recovery__icon {
    width: 44px;
    height: 44px;
    margin-bottom: 10px;
    border-radius: 15px;
  }

  .falue-recovery__icon svg {
    width: 22px;
    height: 22px;
  }

  .falue-recovery__card .title {
    margin-bottom: 15px !important;
    font-size: 27px !important;
  }

  .falue-recovery__card .wow_form_fields {
    margin-bottom: 12px !important;
  }

  .falue-recovery__card .wow_form_fields > input {
    height: 48px !important;
  }

  .falue-recovery__card .btn-main,
  .falue-recovery__card .login__ > button {
    min-height: 48px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .falue-recovery *,
  .falue-recovery *::before,
  .falue-recovery *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
