/* Shared compact registration form used by catalogues, landings and promos. */
/* Registration overlays always sit above floating catalogue actions. */
.welcome-modal,
.catalog-registration-modal,
.fy-registration {
  z-index:2147483000!important;
}
/* Recovery is a separate step: hide the complete registration overlay. */
body.farmasi-recovery-active .welcome-modal,
body.farmasi-recovery-active .catalog-registration-modal,
body.farmasi-recovery-active .fy-registration {
  visibility:hidden!important;
  pointer-events:none!important;
}
.farmasi-recovery-container{z-index:2147483600!important}
.farmasi-recovery-popup{max-height:calc(100vh - 24px)!important;box-sizing:border-box!important;padding:30px 32px 26px!important;border:1px solid #efd5e2!important;border-radius:24px!important;background:linear-gradient(145deg,#fff 0,#fff8fb 72%,#f8f1ff 100%)!important;box-shadow:0 28px 85px rgba(73,25,55,.28)!important;font-family:Arial,sans-serif!important;overflow-y:auto!important}
.farmasi-recovery-title{padding:0!important;color:#28212a!important;font-size:28px!important;line-height:1.18!important}
.farmasi-recovery-content{margin:17px 0 0!important;color:#59515a!important;font-size:15px!important;line-height:1.5!important;text-align:left!important}
.farmasi-recovery-lead{margin:0 0 18px!important;padding:12px 14px;border-left:4px solid #bf2d69;border-radius:0 10px 10px 0;background:#fff0f6;color:#513743}
.farmasi-recovery-label,.farmasi-recovery-hint{margin:14px 0 8px!important}
.farmasi-recovery-example{padding:14px 16px;border:1px solid #ead5df;border-radius:12px;background:#fff;color:#87224f;font:700 14px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}
.farmasi-recovery-textarea{display:block;width:100%;min-height:116px;box-sizing:border-box;padding:14px 15px;border:1px solid #d8c8d1;border-radius:13px;background:#fff;color:#28212a;font:16px/1.45 Arial,sans-serif;resize:vertical;outline:none;transition:border-color .2s,box-shadow .2s}
.farmasi-recovery-textarea:focus{border-color:#bd2b68;box-shadow:0 0 0 4px rgba(189,43,104,.12)}
.farmasi-recovery-confirm,.farmasi-recovery-cancel{min-height:46px!important;margin:6px!important;padding:10px 19px!important;border-radius:11px!important;font-weight:800!important;box-shadow:none!important}
.farmasi-recovery-confirm{background:linear-gradient(135deg,#d62d59,#8a2bc1)!important}.farmasi-recovery-cancel{border:1px solid #d9b7c6!important;background:#fff!important;color:#8e2854!important}
.fd-general-recovery{
  width:100%;
  max-width:560px;
  scroll-margin-top:16px;
  margin:0 auto;
  padding:22px;
  box-sizing:border-box;
  border:1px solid #eadfe5;
  border-radius:18px;
  background:linear-gradient(155deg,#fff 0,#fff 72%,#fff8fb 100%);
  box-shadow:0 14px 38px rgba(62,35,51,.08);
  font-family:Arial,sans-serif;
}
.fd-general-recovery-note{display:grid;gap:5px;padding:13px 15px;border:1px solid #cfe8db;border-radius:12px;background:#eef8f3;color:#176b49;font-size:14px;line-height:1.45}
.fd-general-recovery-example{margin:13px 0;padding:11px 13px;border:1px solid #ead5df;border-radius:10px;background:#fff8fb;color:#87224f;font:700 12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}
.fd-general-recovery label{display:block;margin:0 0 5px;color:#302a32;font-size:13px;font-weight:800}
.fd-general-recovery textarea{display:block;width:100%;min-height:100px;box-sizing:border-box;padding:13px 14px;border:1px solid #d8c8d1;border-radius:11px;background:#fff;color:#28212a;font:15px/1.45 Arial,sans-serif;resize:vertical;outline:0}
.fd-general-recovery textarea:focus{border-color:#b32a63;box-shadow:0 0 0 4px rgba(179,42,99,.1)}
.fd-general-recovery-submit{width:100%;min-height:50px;margin-top:13px;border:0;border-radius:12px;background:linear-gradient(135deg,#d62d59,#8a2bc1);color:#fff;font-size:15px;font-weight:800;cursor:pointer}
.fd-general-recovery-submit:disabled{opacity:.65;cursor:wait}
.fd-general-recovery-cancel{display:block;margin:8px auto 0;padding:8px 12px;border:0;background:transparent;color:#7c3154;font-weight:700;cursor:pointer}
.fd-general-recovery .fd-reg-error{margin-top:10px;padding:10px 12px;border-radius:10px;background:#fff0f0;color:#a62323;font-size:13px;line-height:1.4}
#regForm.fd-registration-compact {
  width:100%;
  max-width:620px;
  margin-inline:auto;
  padding-bottom:0!important;
}
#regForm.fd-registration-compact .step-main {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:10px 12px;
}
#regForm.fd-registration-compact .step-main > .form_row {
  min-width:0;
  margin:0!important;
}
#regForm.fd-registration-compact .step-main > .form_row:has(#f_country),
#regForm.fd-registration-compact .step-main > .form_row:has(#f_phone),
#regForm.fd-registration-compact .step-main > .form_row:has(#f_email),
#regForm.fd-registration-compact .step-main > .form_row:has(#f_birthday),
#regForm.fd-registration-compact .step-main > .form_row:has(#confirm-check),
#regForm.fd-registration-compact .step-main > .catalog2-consent,
#regForm.fd-registration-compact .step-main > .password-pair-hint,
#regForm.fd-registration-compact .step-main > .step-main-btn-wrap,
#regForm.fd-registration-compact .step-main > .form_btn {
  grid-column:1/-1;
}
#regForm.fd-registration-compact label {
  display:block;
  margin:0 0 4px;
  color:#302a32;
  font-size:13px;
  font-weight:700;
  line-height:1.3;
}
#regForm.fd-registration-compact .form-control {
  display:block;
  width:100%;
  height:46px!important;
  min-height:46px!important;
  box-sizing:border-box;
  padding:8px 11px!important;
  border:1px solid #d8d7df;
  border-radius:10px;
  background:#fff;
  color:#23202a;
  box-shadow:none;
  font-size:16px!important;
  line-height:normal!important;
}
#regForm.fd-registration-compact select.form-control {
  padding:0 40px 0 11px!important;
}
#regForm.fd-registration-compact .form_row > p {
  margin:3px 0 0;
  color:#766e78;
  font-size:10px;
  line-height:1.3;
}
#regForm.fd-registration-compact .password-pair-hint {
  margin:-3px 0 1px;
  color:#766e78;
  font-size:11px;
  line-height:1.35;
}
#regForm.fd-registration-compact .password-pair-hint.is-password-invalid {
  color:#a62323;
  font-weight:600;
}
#regForm.fd-registration-compact .password-pair-hint.is-password-valid {
  color:#176b49;
  font-weight:600;
}
#regForm.fd-registration-compact .confirm-label {
  display:flex!important;
  align-items:flex-start;
  gap:9px;
  margin:0!important;
  padding:10px 11px;
  border:1px solid #eadde4;
  border-radius:10px;
  background:#faf7f9;
  font-weight:500;
  line-height:1.4;
}
#regForm.fd-registration-compact .confirm-check {
  flex:0 0 18px;
  width:18px;
  height:18px;
  margin:1px 0 0!important;
  accent-color:#a9235c;
}
#regForm.fd-registration-compact .confirm-label small {
  min-width:0;
  color:#4f4650;
  font-size:12px;
  font-weight:500;
  line-height:1.4;
}
#regForm.fd-registration-compact .confirm-label a {
  color:#982253;
  font-weight:700;
  text-decoration:underline;
}
#regForm.fd-registration-compact .form_btn {
  position:static!important;
  inset:auto!important;
  width:auto!important;
  margin-top:2px;
}
#regForm.fd-registration-compact .step-main-btn,
#regForm.fd-registration-compact .btn_send,
#regForm.fd-registration-compact .btn_sms {
  width:100%;
  min-height:46px;
  border:0;
  border-radius:11px;
  background:linear-gradient(135deg,#d62d59,#8a2bc1);
  color:#fff;
  font-size:15px;
  font-weight:800;
}

/* Progressive registration. Keep progress and fields in one centered card;
   the legacy .step-main grid otherwise treats them as separate columns. */
#regForm.fd-registration-compact.fd-reg-multistep {
  max-width:560px;
}
#regForm.fd-registration-compact .step-main.fd-reg-step-shell {
  display:block!important;
  width:100%;
  max-width:560px;
  margin:0 auto;
  padding:22px;
  box-sizing:border-box;
  border:1px solid #eadfe5;
  border-radius:18px;
  background:linear-gradient(155deg,#fff 0,#fff 72%,#fff8fb 100%);
  box-shadow:0 14px 38px rgba(62,35,51,.08);
}
#regForm.fd-registration-compact .fd-reg-progress {
  width:100%;
  margin:0 0 20px;
}
#regForm.fd-registration-compact .fd-reg-progress > span {
  display:block;
  height:7px;
  border-radius:999px;
  background:#ebe8ed;
  overflow:hidden;
}
#regForm.fd-registration-compact .fd-reg-progress > span:after {
  content:"";
  display:block;
  width:var(--fd-progress,33%);
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#b22962,#d83c6c);
  transition:width .25s ease;
}
#regForm.fd-registration-compact .fd-reg-progress strong {
  display:block;
  margin-top:9px;
  color:#3d3440;
  font-size:13px;
  font-weight:800;
}
#regForm.fd-registration-compact .fd-reg-step {display:none}
#regForm.fd-registration-compact .fd-reg-step.is-active {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:14px 12px;
}
#regForm.fd-registration-compact .fd-reg-step > .form_row {
  min-width:0;
  margin:0!important;
}
#regForm.fd-registration-compact .fd-reg-step > .form_row:has(#f_country),
#regForm.fd-registration-compact .fd-reg-step > .form_row:has(#f_phone),
#regForm.fd-registration-compact .fd-reg-step > .form_row:has(#f_email),
#regForm.fd-registration-compact .fd-reg-step > .form_row:has(#f_birthday),
#regForm.fd-registration-compact .fd-reg-step > .form_row:has(#confirm-check),
#regForm.fd-registration-compact .fd-reg-step > .catalog2-consent,
#regForm.fd-registration-compact .fd-reg-step > .password-pair-hint,
#regForm.fd-registration-compact .fd-reg-step > .step-main-btn-wrap,
#regForm.fd-registration-compact .fd-reg-step > .fd-reg-nav,
#regForm.fd-registration-compact .fd-reg-step > .fd-reg-existing-note,
#regForm.fd-registration-compact .fd-reg-step > .fd-reg-login,
#regForm.fd-registration-compact .fd-reg-step > .fd-reg-back-wrap,
#regForm.fd-registration-compact .fd-reg-step > .fd-reg-error {
  grid-column:1/-1;
}
#regForm.fd-registration-compact .fd-reg-step > .fd-reg-reset {
  grid-column:1/-1;
}
#regForm.fd-registration-compact .fd-reg-step.is-resetting > :not(.fd-reg-reset) {
  display:none!important;
}
#regForm.fd-registration-compact .fd-reg-step.is-resetting {
  grid-template-columns:minmax(0,1fr);
}
#regForm.fd-registration-compact .fd-reg-reset {
  display:grid;
  gap:9px;
}
#regForm.fd-registration-compact .fd-reg-reset[hidden] {display:none!important}
#regForm.fd-registration-compact .fd-reg-reset-note {
  display:grid;
  gap:5px;
  margin-bottom:3px;
  padding:13px 15px;
  border:1px solid #cfe8db;
  border-radius:12px;
  background:#eef8f3;
  color:#176b49;
  font-size:14px;
  line-height:1.45;
}
#regForm.fd-registration-compact .fd-reg-reset label {font-size:13px;font-weight:800;color:#3d3440}
#regForm.fd-registration-compact .fd-reg-reset textarea,
#regForm.fd-registration-compact .fd-reg-reset input {
  width:100%;
  box-sizing:border-box;
  padding:13px 14px;
  border:1px solid #ddd5db;
  border-radius:11px;
  background:#fff;
  color:#28212a;
  font:15px/1.4 Arial,sans-serif;
  outline:0;
}
#regForm.fd-registration-compact .fd-reg-reset textarea {min-height:88px;resize:vertical}
#regForm.fd-registration-compact .fd-reg-reset textarea:focus,
#regForm.fd-registration-compact .fd-reg-reset input:focus {border-color:#b32a63;box-shadow:0 0 0 4px rgba(179,42,99,.1)}
#regForm.fd-registration-compact .fd-reg-reset-password-hint {
  display:block;
  margin:-3px 1px 2px;
  color:#766e78;
  font-size:11px;
  line-height:1.4;
}
#regForm.fd-registration-compact .fd-reg-reset-submit {
  width:100%;
  min-height:50px;
  margin-top:4px;
  border:0;
  border-radius:12px;
  background:linear-gradient(135deg,#d62d59,#8a2bc1);
  color:#fff;
  font-size:15px;
  font-weight:800;
  cursor:pointer;
}
#regForm.fd-registration-compact .fd-reg-reset-submit:disabled {opacity:.65;cursor:wait}
#regForm.fd-registration-compact .fd-reg-reset-cancel {
  justify-self:center;
  padding:8px 12px;
  border:0;
  background:transparent;
  color:#7c3154;
  font-weight:700;
  cursor:pointer;
}
#regForm.fd-registration-compact .fd-reg-nav {
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:4px;
}
#regForm.fd-registration-compact .fd-reg-nav .btn,
#regForm.fd-registration-compact .fd-reg-login {
  flex:1;
  width:100%;
  min-height:50px;
  border:0;
  border-radius:12px;
  background:linear-gradient(135deg,#d62d59,#8a2bc1);
  color:#fff;
  font-size:16px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(152,34,83,.18);
}
#regForm.fd-registration-compact .fd-reg-nav .btn:disabled,
#regForm.fd-registration-compact .fd-reg-login:disabled {opacity:.65;cursor:wait}
#regForm.fd-registration-compact .fd-reg-back,
#regForm.fd-registration-compact .fd-reg-back-wrap button {
  min-height:44px;
  padding:0 12px;
  border:1px solid #dfd2d9;
  border-radius:11px;
  background:#fff;
  color:#7c3154;
  font-weight:700;
  cursor:pointer;
}
#regForm.fd-registration-compact .fd-reg-back-wrap {text-align:center}
#regForm.fd-registration-compact .fd-reg-existing-note {
  padding:13px 15px;
  border:1px solid #cfe8db;
  border-radius:12px;
  background:#eef8f3;
  color:#176b49;
  font-size:14px;
  line-height:1.45;
}
#regForm.fd-registration-compact .fd-reg-error {
  padding:10px 12px;
  border-radius:10px;
  background:#fff0f0;
  color:#a62323;
  font-size:13px;
  line-height:1.4;
}
#regForm.fd-registration-compact .fd-reg-step .form-control:focus {
  border-color:#b32a63;
  outline:0;
  box-shadow:0 0 0 4px rgba(179,42,99,.1);
}
@media(max-width:560px) {
  .farmasi-recovery-container{padding:7px!important;align-items:center!important}
  .farmasi-recovery-popup{width:100%!important;max-height:calc(100dvh - 14px)!important;padding:22px 15px 18px!important;border-radius:18px!important}
  .farmasi-recovery-title{font-size:22px!important}
  .farmasi-recovery-content{font-size:14px!important}
  .farmasi-recovery-confirm,.farmasi-recovery-cancel{width:100%!important;margin:4px 0!important}
  .farmasi-recovery-example{font-size:12px}
  #regForm.fd-registration-compact .step-main {gap:7px 8px}
  #regForm.fd-registration-compact label {font-size:12px}
  #regForm.fd-registration-compact .form-control {
    height:44px!important;
    min-height:44px!important;
    padding:7px 9px!important;
    font-size:15px!important;
  }
  #regForm.fd-registration-compact select.form-control {padding:0 34px 0 9px!important}
  #regForm.fd-registration-compact .confirm-label {padding:8px 9px}
  #regForm.fd-registration-compact .confirm-label small {font-size:11px}
  #regForm.fd-registration-compact .step-main-btn,
  #regForm.fd-registration-compact .btn_send,
  #regForm.fd-registration-compact .btn_sms {min-height:44px}
  #regForm.fd-registration-compact .step-main.fd-reg-step-shell {
    padding:16px 13px;
    border-radius:15px;
    box-shadow:0 8px 24px rgba(62,35,51,.07);
  }
  #regForm.fd-registration-compact .fd-reg-step.is-active {grid-template-columns:1fr;gap:11px}
  #regForm.fd-registration-compact .fd-reg-step > * {grid-column:1!important}
  #regForm.fd-registration-compact .fd-reg-nav {flex-direction:column-reverse}
  #regForm.fd-registration-compact .fd-reg-nav .btn,
  #regForm.fd-registration-compact .fd-reg-nav .fd-reg-back {width:100%}
}
@media(max-width:340px) {
  #regForm.fd-registration-compact .step-main {grid-template-columns:1fr}
  #regForm.fd-registration-compact .step-main > * {grid-column:1!important}
}
