/* Social login buttons */
.pre-registration-section .advent-optin-d-flex {
  display: flex;
  justify-content: center;
  gap: 12px;
}

.pre-registration-section .advent-optin-sns-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border: 1px solid transparent;
  background: transparent;
  cursor: pointer;
  transition: transform .12s ease, box-shadow .12s ease;
}

.pre-registration-section .advent-optin-sns-btn.advent-optin-rounded-circle {
  width: 44px;
  height: 44px;
  padding: 6px;
  box-shadow: 0 4px 10px rgba(16,24,40,0.06);
  overflow: hidden;
}

.pre-registration-section .advent-optin-sns-btn.advent-optin-rounded-circle img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pre-registration-section .advent-optin-sns-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(16,24,40,0.09);
}

.pre-registration-section .advent-optin-sns-btn:active {
  transform: translateY(0);
}


.pre-registration-section #orSignInWithText {
  color: #fff;
  font-size: 0.95rem;
  margin: 1rem 0 1rem;
}

/* Login box */
.pre-registration-section #preRegistrationContainer {
  /* background: #ffffff; */
  padding: 22px;
}

/* Inputs */
.pre-registration-section .advent_optin-form-control {
  width: 100%;
  padding: 10px 12px;
  font-size: 0.96rem;
  border: 1px solid #6a6d71;
  background: #00000000;
  outline: none;
  box-sizing: border-box;
  transition: box-shadow .12s ease, border-color .12s ease;
  color: #ffffff;
}

.pre-registration-section .advent_optin-form-control:focus {
  border-color: #e7ce98;
  box-shadow: 0 0 0 4px rgb(31 31 31);
}

/* Checkbox */
.pre-registration-section .advent-optin-form-check {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

.pre-registration-section .advent-optin-form-check-input {
  width: 18px;
  height: 18px;
}

.pre-registration-section .advent-optin-form-check-label {
  color: #ffffff;
  font-size: 0.95rem;
}

/* Submit button */
.pre-registration-section #loginSubmit {
  display: block;
  width: 60%;                /* adjust width as desired (e.g., 50–80%) */
  margin: 0 auto;            /* centers horizontally */
  padding: 12px 14px;
  background: #a88a5e;
  color: #ffffff;
  border: none;
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
  transition: box-shadow .12s ease, transform .08s ease, opacity .08s ease;
  box-shadow: 0 6px 16px rgba(17,24,39,0.12);
  text-align: center;        /* ensures text is centered */
  padding-top: 1vw !important;
  padding-right: 3vw !important;
  padding-bottom: 1vw !important;
  padding-left: 3vw !important;
}

.pre-registration-section #loginSubmit:hover {
  transform: translateY(-2px);
  opacity: 0.98;
}

.pre-registration-section #loginSubmit:active {
  transform: translateY(0);
  box-shadow: 0 4px 10px rgba(17,24,39,0.09);
}

/* Message */
.pre-registration-section #acMessage {
  color: #f88b8b;
  font-size: 0.85rem;
  text-align: center;
  margin-top: 12px;
}

.advent-optin-mb-3 {
    margin-bottom: 1rem;
    margin-top: 1rem;
}

.text-center{
  text-align: center;
}
.is-invalid {
  border-color: #dc3545 !important;
}
/* Simple inline loader spinner */
.spinner-border {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  vertical-align: text-bottom;
  border: 0.15em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spinner-border 0.75s linear infinite;
  margin-right: 6px; /* space between spinner and text */
}

/* Slightly smaller version if needed (matches spinner-border-sm) */
.spinner-border-sm {
  width: 0.9rem;
  height: 0.9rem;
  border-width: 0.12em;
}

/* Spinner animation */
@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}