/* Auth pages — centered card layout overrides */

.auth-page .card {
  border: none;
}

.form-label, .form-check-label {
  font-family: var(--font-text);
  font-weight: 500;
}

.form-check-input {
  border: 1px solid var(--color-primary);
}

/* Register page */
.register-subtitle {
  color: var(--color-footer);
  font-family: var(--font-text);
}

#registerForm input {
  opacity: 1; /* Ensures full opacity in Firefox */
}
#registerForm input::placeholder {
  color: var(--color-footer);
  opacity: 0.6; /* Ensures full opacity in Firefox */
}
/* Vendor prefixes for older browser support */
#registerForm input::-webkit-input-placeholder {
  color: var(--color-footer);
  opacity: 0.6; /* Ensures full opacity in Firefox */
}
#registerForm input::-moz-placeholder {
  color: var(--color-footer);
  opacity: 0.6; /* Firefox requires explicit opacity reset */
}
#registerForm input:-ms-input-placeholder {
  color: var(--color-footer);
  opacity: 0.6;
}
#registerForm input::-ms-input-placeholder {
  color: var(--color-footer);
  opacity: 0.6;
}   

/* Google button style and all other button hover styles */
.btn-primary, .btn-outline-primary {
  transition: all 0.15s ease !important;
}
.btn-outline-secondary {
  color: var(--color-primary);
  transition: all 0.15s ease !important;
}
.btn-outline-secondary:hover {
  border-color: #bbb;
  background-color: var(--color-pale-accent);
  color: var(--color-primary);
}

/* Verify pages */
.p-verify {
  font-family: var(--font-text);
}
button.btn-resend {
  font-size: 13px !important;
}

/* Reset password request page */
#resetForm input {
  opacity: 1; /* Ensures full opacity in Firefox */
}
#resetForm input::placeholder {
  color: var(--color-footer);
  opacity: 0.6; /* Ensures full opacity in Firefox */
}
/* Vendor prefixes for older browser support */
#resetForm input::-webkit-input-placeholder {
  color: var(--color-footer);
  opacity: 0.6; /* Ensures full opacity in Firefox */
}
#resetForm input::-moz-placeholder {
  color: var(--color-footer);
  opacity: 0.6; /* Firefox requires explicit opacity reset */
}
#resetForm input:-ms-input-placeholder {
  color: var(--color-footer);
  opacity: 0.6;
}
#resetForm input::-ms-input-placeholder {
  color: var(--color-footer);
  opacity: 0.6;
}   

/* Set new password page */
#newPasswordForm input {
  opacity: 1; /* Ensures full opacity in Firefox */
}
#newPasswordForm input::placeholder {
  color: var(--color-footer);
  opacity: 0.6; /* Ensures full opacity in Firefox */
}
/* Vendor prefixes for older browser support */
#newPasswordForm input::-webkit-input-placeholder {
  color: var(--color-footer);
  opacity: 0.6; /* Ensures full opacity in Firefox */
}
#newPasswordForm input::-moz-placeholder {
  color: var(--color-footer);
  opacity: 0.6; /* Firefox requires explicit opacity reset */
}
#newPasswordForm input:-ms-input-placeholder {
  color: var(--color-footer);
  opacity: 0.6;
}
#newPasswordForm input::-ms-input-placeholder {
  color: var(--color-footer);
  opacity: 0.6;
}   

/* Login form */
#loginForm input {
  opacity: 1; /* Ensures full opacity in Firefox */
}
#loginForm input::placeholder {
  color: var(--color-footer);
  opacity: 0.6; /* Ensures full opacity in Firefox */
}
/* Vendor prefixes for older browser support */
#loginForm input::-webkit-input-placeholder {
  color: var(--color-footer);
  opacity: 0.6; /* Ensures full opacity in Firefox */
}
#loginForm input::-moz-placeholder {
  color: var(--color-footer);
  opacity: 0.6; /* Firefox requires explicit opacity reset */
}
#loginForm input:-ms-input-placeholder {
  color: var(--color-footer);
  opacity: 0.6;
}
#loginForm input::-ms-input-placeholder {
  color: var(--color-footer);
  opacity: 0.6;
}   

/* Spinner alignment in buttons */
.btn .spinner-border-sm {
  vertical-align: text-bottom;
}

/* Centered full-height layout */
.min-vh-100 {
  min-height: 100vh;
}