/* ============================================================================
   ACCESSIBILITY - Focus Styles for Keyboard Navigation
   ============================================================================ */

/* Remove default focus outline only when NOT using keyboard (mouse clicks) */
input:focus:not(:focus-visible),
button:focus:not(:focus-visible),
a:focus:not(:focus-visible),
select:focus:not(:focus-visible),
textarea:focus:not(:focus-visible) {
  outline: none;
}

/* Show clear focus indicator for keyboard navigation */
input:focus-visible,
button:focus-visible,
a:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 1px solid #0d6efd;
  outline-offset: 2px;
}

/* ============================================================================
   LAYOUT - Page Structure
   ============================================================================ */

html,
body {
  height: 100%;
}

body.my-login-page {
  background-color: #f7f9fb;
  font-size: 14px;
}

.my-login-page .card-wrapper {
  width: 400px;
  margin: 0 auto;
}

.my-login-page .card {
  border-color: transparent;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
}

.my-login-page .card.fat {
  padding: 10px;
}

.my-login-page .card .card-title {
  margin-bottom: 30px;
}

.my-login-page .footer {
  margin: 40px 0;
  color: #888;
  text-align: center;
}

/* ============================================================================
   RESPONSIVE - Mobile & Tablet
   ============================================================================ */

@media screen and (max-width: 425px) {
  .my-login-page .card-wrapper {
    width: 90%;
    margin: 0 auto;
  }
}

@media screen and (max-width: 320px) {
  .my-login-page .card.fat {
    padding: 0;
  }

  .my-login-page .card.fat .card-body {
    padding: 15px;
  }
}

/* ============================================================================
   COMPONENTS - Verification Code Input
   ============================================================================ */

.verification-code {
  box-sizing: border-box;
  margin: 0px;
  min-width: 0px;
  display: flex;
  width: 100%;
  justify-content: space-between;
}

.verification-code input {
  margin: 5px;
  text-align: center;
  font-size: 24px;
  width: 20%;
}

/* Hide number input spinners */
.verification-code input::-webkit-outer-spin-button,
.verification-code input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.verification-code input[type="number"] {
  -moz-appearance: textfield;
}

/* ============================================================================
   COMPONENTS - QR Code
   ============================================================================ */

.qr-code {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 256px;
  margin: 20px auto;
}

/* ============================================================================
   COMPONENTS - Links & Footer
   ============================================================================ */
.my-login-page a {
  text-decoration: none; 
}

.link-disabled {
  text-decoration: none;
  cursor: default !important;
  color: #6c757d !important;
  pointer-events: none;
}

.bottom-form-link {
  text-align: center;
  font-size: 14px;
  display: block;
  padding: 0;
  margin-top: 1em;
}

.smaller-link {
  font-size: 12px;
}

.bottom-form-link ul {
  list-style-type: disc;
  margin-block-start: 1em;
  margin-block-end: 1em;
  margin-inline-start: 0px;
  margin-inline-end: 0px;
  padding-inline-start: 40px;
}

.bottom-form-link li {
  display: inline-block;
  list-style: none;
}

.bottom-form-link li:not(:first-child)::before {
  content: "\2022";
  margin: 0 8px 0px 4px;
}

/* ============================================================================
   COMPONENTS - Logo
   ============================================================================ */

.brand {
  height: 80px;
  width: auto;
  border-style: none;
}

/* ============================================================================
   COMPONENTS - Step Visibility Management
   ============================================================================ */

.step-container.hidden {
  display: none !important;
}

/* ============================================================================
   UTILITY CLASSES - Layout Helpers
   ============================================================================ */

.float-right {
  float: right;
}

.tos-label {
  font-size: 12px;
  color: rgb(114, 119, 123);
  margin-bottom: 0;
}

.mb-half {
  margin-bottom: 0.5rem;
}
