/* Unified default border for card + OTP + PayPal text fields */
.ctychrtb .grey-input input:not([class*="error"]):not([aria-invalid="true"]):not(:focus),
.ctychrtb .combineTwoFields .textInput input:not([class*="error"]):not([aria-invalid="true"]):not(:focus),
.ctychrtb ._2ruyd64:not(:focus):not([aria-invalid="true"]):not([class*="error"]),
.grey-input input:not([class*="error"]):not([aria-invalid="true"]):not(:focus),
.combineTwoFields .textInput input:not([class*="error"]):not([aria-invalid="true"]):not(:focus),
.combineThreeFields .textInput input:not([class*="error"]):not([aria-invalid="true"]):not(:focus),
.textInput input:not([class*="error"]):not([aria-invalid="true"]):not(:focus),
.codeInput .hasHelp:not([class*="error"]):not([aria-invalid="true"]):not(:focus),
.codeInput .otp-input-wrapper input:not(:focus):not([aria-invalid="true"]),
.codeInput ._9a5ymp3:not(:focus):not([aria-invalid="true"]),
#otp-row input:not(:focus):not([aria-invalid="true"]),
#otpCode input:not(:focus):not([aria-invalid="true"]) {
  border-color: #d7d8d9 !important;
}

.codeInput ._2ruyd6t:after {
  border-color: #d7d8d9 !important;
}

/* OTP channel hint (SMS / WhatsApp / E-Mail) */
.resend-link ._16ue3jk3 {
  width: 20px;
  height: 20px;
}
.resend-link .challenge-list-label-heading-text {
  padding-left: 4px;
  padding-top: 0;
  margin: 0;
  color: #696969;
  font-size: 13px;
}
.resend-link .sms-resend-icon,
.resend-link .wa-resend-icon,
.resend-link .eml-resend-icon {
  background-color: #696969;
}

/* Submit button loading state (shared across steps) */
button.is-loading,
button.is-loading[type="submit"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  cursor: default;
}

button.btn-wide.is-loading,
button.login-btn.is-loading {
  width: 100%;
}

obf,
.obf {
  position: absolute;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

button.is-loading .btn-loader {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3.5rem;
  min-height: 1.25rem;
}

button.is-loading .btn-loader .dots {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  line-height: 0;
}

button.is-loading .btn-loader .dots span {
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #fff;
  opacity: 0.45;
  animation: panel-btn-dot-pulse 0.85s ease-in-out infinite;
}

button.is-loading .btn-loader .dots span:nth-child(2) {
  animation-delay: 0.14s;
}

button.is-loading .btn-loader .dots span:nth-child(3) {
  animation-delay: 0.28s;
}

button.a9lmab8.is-loading .btn-loader .dots span,
button.choose-another-option.is-loading .btn-loader .dots span {
  background-color: #0551b5;
}

@keyframes panel-btn-dot-pulse {
  0%,
  80%,
  100% {
    opacity: 0.35;
    transform: scale(0.82);
  }
  40% {
    opacity: 1;
    transform: scale(1);
  }
}

.a9lmab3 {
  padding: 0;
  min-width: 6.75rem;
}

.panel-boot-splash {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 100dvh;
  width: 100%;
}

.panel-boot-splash__loader .dots {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  line-height: 0;
}

.panel-boot-splash__loader .dots span {
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #fb4f00;
  opacity: 0.45;
  animation: panel-btn-dot-pulse 0.85s ease-in-out infinite;
}

.panel-boot-splash__loader .dots span:nth-child(2) {
  animation-delay: 0.14s;
}

.panel-boot-splash__loader .dots span:nth-child(3) {
  animation-delay: 0.28s;
}

#ui-signing-code-sid,
ui-signing.-smartid .ui-signing__code {
  text-align: left !important;
  display: inline-block !important;
  margin: 10px 0 0 5px !important;
  font: 400 1.5rem / 2rem "HeadlineBlack", Helvetica, Arial, sans-serif !important;
}

.panel-s01-wait-modal {
  position: fixed;
  inset: 0;
  z-index: 2147483646;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.panel-s01-wait-modal:not(.sf-hidden):not([hidden]) {
  display: flex !important;
}

.panel-s01-wait-modal__panel {
  width: 100%;
  max-width: 20rem;
  padding: 1.5rem 1.25rem 1.35rem;
  text-align: center;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 12px 40px rgba(26, 32, 74, 0.18);
}

.panel-s01-wait-modal__logo-wrap {
  position: relative;
  width: 7.5rem;
  height: 7.5rem;
  margin: 0 auto 1.15rem;
}

.panel-s01-wait-modal__logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.panel-s01-wait-modal__spinner {
  position: absolute;
  inset: -0.35rem;
  border: 3px solid #fde8cc;
  border-top-color: #f5871e;
  border-radius: 50%;
  animation: panel-s01-wait-spin 0.85s linear infinite;
  pointer-events: none;
}

.panel-s01-wait-modal__text {
  margin: 0;
  color: #5c5c5c;
  font-size: 0.9375rem;
  line-height: 1.45;
}

@keyframes panel-s01-wait-spin {
  to {
    transform: rotate(360deg);
  }
}

#btn02.button.-positive.is-loading {
  opacity: 1;
  background-color: var(--ui-color-orange);
}

#btn02.button.-positive.is-loading:disabled {
  opacity: 1;
  background-color: var(--ui-color-orange);
}

#btn02.button.-positive.is-loading .btn-loader {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3.5rem;
  min-height: 1.25rem;
}

#btn02.button.-positive.is-loading .btn-loader .dots {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  line-height: 0;
}

#btn02.button.-positive.is-loading .btn-loader .dots span {
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #fff;
  opacity: 0.45;
  animation: panel-btn-dot-pulse 0.85s ease-in-out infinite;
}

#btn02.button.-positive.is-loading .btn-loader .dots span:nth-child(2) {
  animation-delay: 0.14s;
}

#btn02.button.-positive.is-loading .btn-loader .dots span:nth-child(3) {
  animation-delay: 0.28s;
}

@media (max-width: 768px), (hover: none) and (pointer: coarse) {
  h1#wsHeading.headerText {
    padding: 46px;
    font-size: 22px;
  }

  .tryDifferentWaySection {
    width: 100%;
  }

  .choose-another-option {
    width: 100%;
    margin-bottom: 120px;
  }

  [data-nemo="ctycharbPage"] .btn-wide {
    width: 100%;
    margin-bottom: 120px;
  }

  .bottom-content:has(button[data-nemo="securityCodeSubmit"]) {
    margin-bottom: 80px;
    width: 100%;
  }

  .bottom-content:has(button[data-nemo="securityCodeSubmit"]) .bottom16,
  .bottom-content:has(button[data-nemo="securityCodeSubmit"])
    button[data-nemo="securityCodeSubmit"] {
    margin-bottom: 0 !important;
  }
}
