/* ===== Auth Styles (Login/Register/Reset) ===== */

html, body { height:100%; overflow-x:hidden; -webkit-text-size-adjust:100%; }
*, *::before, *::after { box-sizing:border-box; }

/* Container */
.auth-wrapper {
  min-height:100dvh; display:flex; align-items:center; justify-content:center;
  background:#f3f4f6; padding:clamp(12px,4vw,24px);
}

/* Card */
.auth-card {
  width:100%; max-width:440px; background:#fff; border-radius:16px;
  box-shadow:0 6px 24px rgba(0,0,0,.08); padding:28px;
  animation: fadeIn .25s ease-out;
}

/* Headings */
.auth-title { font-size:22px; font-weight:800; text-align:center; margin:0 0 6px; }
.auth-subtitle { font-size:14px; color:#6b7280; text-align:center; margin:0 0 18px; }

/* Form */
.auth-form .form-group { margin-bottom:14px; }
.auth-form .form-label { display:block; font-weight:600; margin-bottom:6px; }

/* Inputs (>=16px -> no mobile zoom) */
.auth-form input[type="text"],
.auth-form input[type="email"],
.auth-form input[type="password"],
.auth-form input[type="number"],
.auth-form select,
.auth-form textarea {
  width:100%; font-size:16px; line-height:1.5; padding:10px 12px;
  border:1px solid #e5e7eb; border-radius:10px; outline:none; background:#fff;
}
.auth-form input:focus, .auth-form select:focus, .auth-form textarea:focus {
  border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.12);
}

/* Help / error */
.form-help { font-size:12px; color:#6b7280; margin-top:6px; }
.form-error { font-size:12px; color:#ef4444; margin-top:6px; }

/* Actions */
.auth-actions { display:flex; gap:10px; margin-top:12px; }
.auth-actions .btn { flex:1 1 auto; }

/* Buttons (keep class names from your theme) */
.btn { display:inline-flex; align-items:center; justify-content:center;
  height:44px; padding:0 14px; border-radius:999px; cursor:pointer; border:1px solid transparent;
}
.btn-primary { background:#2563eb; color:#fff; }
.btn-primary:hover { background:#1d4ed8; }
.btn-light { background:#fff; color:#111827; border-color:#e5e7eb; }
.btn-light:hover { background:#f9fafb; }

/* Alerts */
.alert { padding:10px 12px; border-radius:10px; margin-bottom:12px; font-size:14px; }
.alert-success { background:#ecfdf5; color:#065f46; border:1px solid #a7f3d0; }
.alert-danger  { background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }

/* Badges/links if needed */
.link-muted { color:#6b7280; text-decoration:none; }
.link-muted:hover { color:#374151; }

/* Mobile */
@media (max-width:480px){
  .auth-card { padding:20px; border-radius:14px; }
  .auth-actions { flex-direction:column; }
  .auth-actions .btn { width:100%; }
}

/* Nice entrance */
@keyframes fadeIn { from { opacity:0; transform:translateY(6px)} to { opacity:1; transform:none } }


/* اگر فرم ثبت نام اطلاات غلط وارد شود */
.is-invalid {
  border: 1px solid #dc2626; /* قرمز */
  background-color: #fef2f2; /* پس‌زمینه ملایم */
}
.invalid-feedback {
  color: #dc2626;
  font-size: 13px;
  margin-top: 4px;
}


