/*
  Redesign das telas de RECUPERAÇÃO DE SENHA (Figma "Plataforma B2C").
  Reaproveita os tokens definidos em login_flori.css (--azul-flori, --azul-medio,
  --azul-escuro, --verde-flori) e classes como .btn-login-flori. Este arquivo
  deve ser carregado junto com login_flori.css.
*/

.recover-flori-page {
  min-height: 100vh;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 32px;
  padding: 40px 20px;
  background: var(--azul-escuro);
}

.recover-flori-logo {
  height: 52px;
  filter: brightness(0) invert(1);
  opacity: .92;
}

.recover-flori-card {
  position: relative;
  width: 100%;
  max-width: 558px;
  background: #fff;
  border-radius: 24px;
  padding: 56px 40px;
  text-align: center;
  box-shadow: 0 4px 20px rgba(255, 255, 255, .4);
  font-family: "DM Sans", sans-serif;
}

.recover-flori-card__title {
  font-weight: 700;
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: -1.28px;
  color: #232323;
  margin-bottom: 12px;
}

.recover-flori-card__subtitle {
  font-size: 18px;
  line-height: 1.5;
  color: #5f5f5f;
  margin-bottom: 28px;
}

.recover-flori-form-body {
  text-align: left;
}

.recover-flori-input {
  position: relative;
  margin-bottom: 20px;
}

.recover-flori-input .form-control {
  height: auto;
  width: 100%;
  padding: 16px 44px 16px 16px;
  font-size: 16px;
  color: #232323;
  border: 1px solid #d9d9d9;
  border-radius: 10px;
}

.recover-flori-input .form-control:focus {
  box-shadow: none;
  border-color: var(--azul-flori);
}

.recover-flori-input i {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #9a9a9a;
}

.recover-flori-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
  font-size: 18px;
  font-weight: 700;
  color: var(--azul-flori);
  text-decoration: none;
}

.recover-flori-back:hover,
.recover-flori-back:focus {
  color: var(--azul-flori);
  text-decoration: none;
}

.recover-flori-alert {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  background: #fde6e8;
  border-radius: 16px;
  padding: 16px 20px;
  margin-bottom: 24px;
  text-align: left;
}

.recover-flori-alert i {
  color: #fb7082;
  font-size: 20px;
  margin-top: 2px;
}

.recover-flori-alert strong {
  display: block;
  color: #232323;
  font-size: 16px;
  margin-bottom: 4px;
}

.recover-flori-alert p {
  color: #5f5f5f;
  font-size: 14px;
  margin: 0;
}

.recover-flori-notice {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  background: #fdf6e0;
  border-radius: 16px;
  padding: 16px 20px;
  margin-bottom: 24px;
  text-align: left;
  color: #6c5b1f;
  font-size: 14px;
}

.recover-flori-notice i {
  color: #fec53d;
  margin-top: 2px;
}

.recover-flori-icon-badge {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(32, 200, 200, .12);
  color: var(--azul-flori);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  margin: 0 auto 16px;
}

.recover-flori-resend {
  width: 100%;
  background: #b7c3c8;
  border: none;
  border-radius: 10px;
  padding: 16px;
  color: #fff;
  font-weight: 600;
  font-size: 18px;
  cursor: not-allowed;
  margin-bottom: 12px;
}

.recover-flori-resend:not(:disabled) {
  background: var(--azul-medio);
  cursor: pointer;
}

.recover-flori-resend:not(:disabled):hover {
  background: #285d70;
}

.recover-flori-timer {
  font-size: 14px;
  color: #6c6c6c;
  margin-bottom: 20px;
}

@media (max-width: 575.98px) {
  .recover-flori-card {
    padding: 32px 24px;
    border-radius: 16px;
  }

  .recover-flori-card__title {
    font-size: 26px;
  }
}
