/* UNARMA — Recupero email di accesso (/recupera-username/)
   Stili propri: sostituiscono la dipendenza da Bootstrap via CDN. */

.urp {
  --urp-blue: #22457f;
  --urp-blue-dark: #17325e;
  --urp-red: #c8102e;
  --urp-ink: #1f2733;
  --urp-muted: #6b7686;
  --urp-line: #e3e7ee;
  --urp-bg: #f6f8fb;

  max-width: 620px;
  margin: 0 auto;
  color: var(--urp-ink);
}

.urp-step { display: none; }
.urp-step.urp-visible { display: block; }

.urp-card {
  display: flex;
  gap: 16px;
  padding: 26px 28px;
  background: #fff;
  border: 1px solid var(--urp-line);
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(31, 39, 51, .08);
}

.urp-card--info { background: linear-gradient(135deg, #f7f9fd 0%, #eef3fb 100%); border-color: #d7e2f3; }
.urp-card--ok { background: #f4fbf6; border-color: #bfe3cb; }

.urp-card__icon {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  font-weight: 700;
  color: #fff;
  background: var(--urp-blue);
}

.urp-card--ok .urp-card__icon { background: #2e9e5b; }

.urp-card__body { flex: 1 1 auto; min-width: 0; }

.urp-card__title {
  margin: 0 0 10px;
  font-size: 20px;
  font-weight: 700;
  color: var(--urp-blue);
  line-height: 1.3;
}

.urp-card__body p {
  margin: 0 0 12px;
  font-size: 15px;
  line-height: 1.6;
}

.urp-card__hint { font-size: 13.5px !important; color: var(--urp-muted); }

.urp-card__note {
  margin-top: 14px !important;
  padding-top: 12px;
  border-top: 1px solid rgba(31, 39, 51, .08);
  font-size: 12.5px !important;
  color: var(--urp-muted);
}

/* ── Campi ────────────────────────────────────────────────────── */
.urp-label {
  display: block;
  margin: 14px 0 5px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--urp-muted);
}

.urp .urp-input {
  width: 100%;
  padding: 12px 14px;
  font-size: 15px;
  color: var(--urp-ink);
  background: #fff;
  border: 1px solid var(--urp-line);
  border-radius: 10px;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.urp .urp-input:focus {
  outline: none;
  border-color: var(--urp-blue);
  box-shadow: 0 0 0 3px rgba(34, 69, 127, .12);
}

.urp .urp-input--mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.urp .urp-input--otp {
  max-width: 220px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 24px;
  letter-spacing: .35em;
  text-align: center;
}

/* ── Pulsanti ─────────────────────────────────────────────────── */
.urp-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 6px;
}

.urp .urp-btn {
  display: inline-block;
  margin-top: 18px;
  padding: 12px 26px;
  font-size: 14.5px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}

.urp-actions .urp-btn { margin-top: 0; }

/* Il tema può imporre il cursore a I sui controlli: qui serve il puntatore a mano. */
.urp .urp-btn,
.urp button,
.urp select { cursor: pointer !important; }

.urp .urp-btn:disabled { cursor: default !important; }

.urp .urp-btn--primary { background: var(--urp-blue); color: #fff; }
.urp .urp-btn--primary:hover { background: var(--urp-blue-dark); color: #fff; }
.urp .urp-btn--primary:disabled { opacity: .6; cursor: default; }

.urp .urp-btn--ghost { background: #fff; color: var(--urp-blue); border-color: var(--urp-line); }
.urp .urp-btn--ghost:hover { border-color: var(--urp-blue); color: var(--urp-blue-dark); }

.urp .urp-btn--link {
  margin-left: 8px;
  padding: 12px 10px;
  background: none;
  color: var(--urp-muted);
  font-weight: 600;
}

.urp .urp-btn--link:hover { color: var(--urp-ink); }

/* ── Messaggi ─────────────────────────────────────────────────── */
.urp-msg {
  margin-top: 16px;
  padding: 0 4px;
  font-size: 14px;
  line-height: 1.55;
}

.urp-msg:empty { margin-top: 0; }
.urp-msg--err { color: #8f2230; font-weight: 600; }
.urp-msg--ok { color: #1c6b39; font-weight: 600; }

.urp-email, .urp-dest {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .95em;
  word-break: break-all;
}

@media (max-width: 620px) {
  .urp-card { flex-direction: column; padding: 22px 20px; gap: 12px; }
  .urp-actions { flex-direction: column; }
  .urp .urp-btn { width: 100%; }
  .urp .urp-btn--link { margin-left: 0; }
}
