/* Obnova hesla — /login/ a /login-new/ (?action=forgot_password / reset_password)
   Schválený návrh: navrh-reset-hesla.html (2. 9. 2026). Tokeny dle design-canon.md. */

.ds_pw_card {
  width: 26.5rem;
  max-width: 100%;
  margin: 2.5rem auto;
  background: #fff;
  border: 1px solid #eef2ff;
  border-radius: 1.5rem;
  box-shadow: 0 15px 34px rgba(0, 100, 255, .10), 0 62px 62px rgba(0, 100, 255, .09), 0 139px 84px rgba(0, 100, 255, .05);
  padding: 2rem 2.1rem 2.2rem;
  box-sizing: border-box;
}
.ds_pw_card *, .ds_pw_card *::before, .ds_pw_card *::after { box-sizing: border-box; }

.ds_pw_h {
  font-family: 'Chillax', sans-serif;
  font-weight: 600;
  font-size: 1.35rem;
  line-height: 1.3;
  color: #101424;
  margin: 0 0 .5rem;
}
.ds_pw_sub {
  font-family: 'Chillax', sans-serif;
  font-size: .9rem;
  color: #6e7a90;
  line-height: 1.55;
  margin: 0 0 1.4rem;
}
.ds_pw_sub strong { color: #101424; }

.ds_pw_label {
  display: block;
  font-family: 'Chillax', sans-serif;
  font-weight: 500;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #6e7a90;
  margin: 0 0 .45rem;
}
.ds_pw_field { position: relative; margin: 0 0 1.05rem; }
.ds_pw_card .ds_pw_input,
.ds_pw_card input.mepr-form-input {
  width: 100%;
  font: 500 .9375rem 'Chillax', sans-serif;
  color: #101424;
  border: 1px solid #eef2ff;
  border-radius: .8rem;
  background: #f7f8fa;
  padding: .8rem 2.9rem .8rem 1rem;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}
.ds_pw_card .ds_pw_input:focus,
.ds_pw_card input.mepr-form-input:focus {
  border-color: #0064ff;
  background: #fff;
  box-shadow: 0 0 0 3px #e5efff;
}
.ds_pw_eye {
  position: absolute;
  right: .55rem;
  top: 50%;
  transform: translateY(-50%);
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6e7a90;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.ds_pw_eye svg { width: 1.25rem; height: 1.25rem; }
.ds_pw_eye.is-on { color: #0064ff; }

/* Siloměr — plní JS v šabloně podle skrytého mp-pass-strength */
.ds_pw_meter { display: flex; align-items: center; gap: .65rem; margin: -.35rem 0 1.2rem; min-height: 1rem; }
.ds_pw_meter_bars { display: flex; gap: .3rem; flex: 0 0 auto; }
.ds_pw_meter_bars i { display: block; width: 2.1rem; height: .3rem; border-radius: 999px; background: #f1f3f8; }
.ds_pw_meter.s1 i:nth-child(-n+1),
.ds_pw_meter.s2 i:nth-child(-n+2),
.ds_pw_meter.s3 i:nth-child(-n+3),
.ds_pw_meter.s4 i:nth-child(-n+4) { background: #d23232; }
.ds_pw_meter.ok.s1 i:nth-child(-n+1),
.ds_pw_meter.ok.s2 i:nth-child(-n+2),
.ds_pw_meter.ok.s3 i:nth-child(-n+3),
.ds_pw_meter.ok.s4 i:nth-child(-n+4) { background: #178a4f; }
.ds_pw_meter_txt { font: 600 .76rem 'Chillax', sans-serif; color: #d23232; }
.ds_pw_meter.ok .ds_pw_meter_txt { color: #178a4f; }
.ds_pw_meter_req { font: 400 .76rem 'Chillax', sans-serif; color: #6e7a90; }

/* Výchozí MemberPress siloměr schovat (skrytý input mp-pass-strength se odesílá dál) */
.ds_pw_card .mp-password-strength-area { display: none; }
/* MemberPress oko (dashicons na frontendu nejsou) schovat */
.ds_pw_card .mp-hide-pw .button { display: none; }

.ds_pw_card .ds_pw_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-family: 'Chillax', sans-serif;
  font-weight: 600;
  font-size: .95rem;
  color: #fff;
  background: radial-gradient(75.19% 214.55% at 76.34% 72.92%, #0064FF 0%, #0000C8 100%);
  border: 0;
  border-radius: 999px;
  padding: .95rem 1.5rem;
  cursor: pointer;
  text-decoration: none;
}
.ds_pw_card .ds_pw_btn:hover { filter: brightness(1.06); color: #fff; }
.ds_pw_back {
  display: block;
  text-align: center;
  font: 600 .82rem 'Chillax', sans-serif;
  color: #0064ff;
  text-decoration: none;
  margin-top: 1.1rem;
}
.ds_pw_back:hover { text-decoration: underline; color: #0064ff; }

/* Ikonky stavových karet */
.ds_pw_ico {
  width: 3rem;
  height: 3rem;
  border-radius: .85rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 1.1rem;
}
.ds_pw_ico svg { width: 1.5rem; height: 1.5rem; }
.ds_pw_ico--mail { background: #e5efff; color: #0064ff; }
.ds_pw_ico--ok { background: rgba(23, 138, 79, .12); color: #178a4f; }

/* Chybový box — vlastní i MemberPress .mepr_error (renderuje se před formulářem) */
.ds_pw_err,
.mp_wrapper .mepr_error {
  background: rgba(210, 50, 50, .10);
  color: #d23232;
  border: 0;
  border-radius: .8rem;
  padding: .75rem .95rem;
  margin: 0 0 1.2rem;
  font: 500 .85rem/1.45 'Chillax', sans-serif;
}
.mp_wrapper .mepr_error { max-width: 26.5rem; margin: 2.5rem auto -1.5rem; }
.ds_pw_card .mp_wrapper .mepr_error { max-width: 100%; margin: 0 0 1.2rem; }
.mp_wrapper .mepr_error ul { list-style: none; margin: 0; padding: 0; }
.mp_wrapper .mepr_error li { margin: 0 0 .25rem; padding: 0; }
.mp_wrapper .mepr_error li:last-child { margin-bottom: 0; }
.ds_pw_err[hidden] { display: none; }

@media (max-width: 520px) {
  .ds_pw_card { margin: 1.5rem auto; padding: 1.6rem 1.3rem 1.8rem; }
}
