/* Authentication
******************************************************************************* */
/* (C) */
.authentication-wrapper {
  --bs-auth-basic-inner-max-width: 460px;
  display: flex;
  flex-basis: 100%;
  inline-size: 100%;
  min-block-size: 100vh;
}
.authentication-wrapper .authentication-bg {
  background-color: var(--bs-paper-bg);
}
.authentication-wrapper .authentication-inner {
  block-size: 100%;
  inline-size: 100%;
  margin-block: auto;
  margin-inline: 0;
}

/* Cover layout - illustration panel
******************************************************************************* */
.authentication-wrapper .authentication-inner .auth-cover-bg {
  position: relative;
  block-size: 100vh;
  inline-size: 100%;
  overflow: hidden;
  background-color: #FFB900;
  /* Override flex alignment from HTML d-flex classes */
  display: block !important;
  justify-content: initial !important;
  align-items: initial !important;
}
.authentication-wrapper .authentication-inner .auth-cover-bg .auth-illustration {
  position: absolute !important;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  max-block-size: none;
  max-inline-size: none;
  margin: 0 !important;
  padding: 0 !important;
  display: block;
  object-fit: contain;
  object-position: center bottom;
}
.authentication-wrapper .authentication-inner .platform-bg {
  display: none !important;
}

/* Remove excessive top spacing on form container */
.authentication-cover .authentication-bg .w-px-400 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.authentication-wrapper .authentication-inner .auth-multisteps-bg-height {
  block-size: 100vh;
}
.authentication-wrapper .authentication-inner .auth-multisteps-bg-height > img:first-child {
  z-index: 1;
}

/* Basic layout (card-centered style)
******************************************************************************* */
.authentication-wrapper.authentication-basic {
  align-items: center;
  justify-content: center;
}
.authentication-wrapper.authentication-basic .authentication-inner {
  position: relative;
  max-inline-size: var(--bs-auth-basic-inner-max-width);
}
.authentication-wrapper.authentication-basic .authentication-inner::before {
  position: absolute;
  background: var(--bs-primary);
  block-size: 233px;
  content: " ";
  inline-size: 238px;
  inset-block-start: -35px;
  inset-inline-start: -45px;
  mask-image: url("data:image/svg+xml,%3Csvg width='238' height='233' viewBox='0 0 238 233' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='88.5605' y='0.700195' width='149' height='149' rx='19.5' stroke='%237367F0' stroke-opacity='0.16'/%3E%3Crect x='0.621094' y='33.761' width='200' height='200' rx='10' fill='%237367F0' fill-opacity='0.08'/%3E%3C/svg%3E%0A");
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
}
@media (max-width: 575.98px) {
  .authentication-wrapper.authentication-basic .authentication-inner::before {
    display: none;
  }
}
:dir(rtl) .authentication-wrapper.authentication-basic .authentication-inner::before {
  inset-inline-start: -70px;
}
.authentication-wrapper.authentication-basic .authentication-inner::after {
  position: absolute;
  z-index: -1;
  background: var(--bs-primary);
  block-size: 180px;
  content: " ";
  inline-size: 180px;
  inset-block-end: -30px;
  inset-inline-end: -56px;
  mask-image: url("data:image/svg+xml,%3Csvg width='180' height='180' viewBox='0 0 180 180' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1.30469' y='1.44312' width='178' height='178' rx='19' stroke='%237367F0' stroke-opacity='0.16' stroke-width='2' stroke-dasharray='8 8'/%3E%3Crect x='22.8047' y='22.9431' width='135' height='135' rx='10' fill='%237367F0' fill-opacity='0.08'/%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
}
@media (max-width: 575.98px) {
  .authentication-wrapper.authentication-basic .authentication-inner::after {
    display: none;
  }
}
.authentication-wrapper.authentication-basic .authentication-inner .card {
  z-index: 1;
}
@media (min-width: 576px) {
  .authentication-wrapper.authentication-basic .authentication-inner .card {
    padding: 1.5rem;
  }
}
.authentication-wrapper.authentication-basic .authentication-inner .card .app-brand {
  margin-block-end: 1.5rem;
}

/* Auth inputs */
.authentication-wrapper .auth-input-wrapper .auth-input {
  font-size: 150%;
  max-inline-size: 50px;
  padding-inline: 0.4rem;
}
@media (max-width: 575.98px) {
  .authentication-wrapper .auth-input-wrapper .auth-input {
    font-size: 1.125rem;
  }
}

/* Brand logo - hide on cover layout (overlaps illustration) */
.authentication-cover .auth-cover-brand {
  display: none;
}
.auth-cover-brand {
  position: absolute;
  z-index: 2;
  inset-block-start: 2.5rem;
  inset-inline-start: 1.5rem;
}

/* Two Steps Verification */
#twoStepsForm .fv-plugins-bootstrap5-row-invalid .form-control {
  border-width: 2px;
  border-color: #ff4c51;
  box-shadow: none;
}
@media (max-width: 575.98px) {
  .numeral-mask-wrapper .numeral-mask {
    padding: 0;
  }
  .numeral-mask {
    margin-inline: 1px;
  }
}

/* Responsive cover layout
******************************************************************************* */

/* LG (992px - 1199px): Side-by-side, adjusted proportions */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .authentication-cover .authentication-inner > .d-none.d-xl-flex {
    display: flex !important;
    flex: 0 0 auto;
    width: 55%;
  }
  .authentication-cover .authentication-inner > .col-12.col-xl-4 {
    flex: 0 0 auto;
    width: 45%;
  }
}

/* MD (768px - 991px): Stacked - image banner on top, form below */
@media (min-width: 768px) and (max-width: 991.98px) {
  .authentication-cover .authentication-inner {
    flex-direction: column;
    block-size: auto;
    min-block-size: 100vh;
  }
  .authentication-cover .authentication-inner > .d-none.d-xl-flex {
    display: block !important;
    flex: 0 0 auto;
    width: 100%;
  }
  .authentication-cover .authentication-inner .auth-cover-bg {
    block-size: auto;
    min-block-size: 0;
  }
  .authentication-cover .authentication-inner .auth-cover-bg .auth-illustration {
    position: relative !important;
    display: block;
    width: 100%;
    height: auto;
  }
  .authentication-cover .authentication-inner > .col-12.col-xl-4 {
    flex: 1 1 auto;
    width: 100%;
    block-size: auto;
  }
  .authentication-cover .authentication-inner > .col-12.col-xl-4 .w-px-400 {
    margin-top: 1rem !important;
    padding-top: 0 !important;
  }
}

/* SM (576px - 767px): Compact banner */
@media (min-width: 576px) and (max-width: 767.98px) {
  .authentication-cover .authentication-inner {
    flex-direction: column;
    block-size: auto;
    min-block-size: 100vh;
  }
  .authentication-cover .authentication-inner > .d-none.d-xl-flex {
    display: block !important;
    flex: 0 0 auto;
    width: 100%;
  }
  .authentication-cover .authentication-inner .auth-cover-bg {
    block-size: auto;
    min-block-size: 0;
  }
  .authentication-cover .authentication-inner .auth-cover-bg .auth-illustration {
    position: relative !important;
    display: block;
    width: 100%;
    height: auto;
  }
  .authentication-cover .authentication-inner > .col-12.col-xl-4 {
    flex: 1 1 auto;
    width: 100%;
    block-size: auto;
  }
  .authentication-cover .authentication-inner > .col-12.col-xl-4 .w-px-400 {
    margin-top: 0.5rem !important;
    padding-top: 0 !important;
  }
}

/* XS (below 576px): Mobile */
@media (max-width: 575.98px) {
  .authentication-cover .authentication-inner {
    flex-direction: column;
    block-size: auto;
    min-block-size: 100vh;
  }
  .authentication-cover .authentication-inner > .d-none.d-xl-flex {
    display: block !important;
    flex: 0 0 auto;
    width: 100%;
  }
  .authentication-cover .authentication-inner .auth-cover-bg {
    block-size: auto;
    min-block-size: 0;
  }
  .authentication-cover .authentication-inner .auth-cover-bg .auth-illustration {
    position: relative !important;
    display: block;
    width: 100%;
    height: auto;
  }
  .authentication-cover .authentication-inner > .col-12.col-xl-4 {
    flex: 1 1 auto;
    width: 100%;
    block-size: auto;
  }
  .authentication-cover .authentication-inner > .col-12.col-xl-4 .w-px-400 {
    max-inline-size: 100%;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

/* Overflow fix for stacked layout */
@media (max-width: 1199.98px) {
  .authentication-cover .authentication-inner {
    overflow-y: auto;
  }
}
