/* جلوگیری از اسکرول افقی */
html, body { overflow-x: hidden !important; }

/* فونت — با base.css شما همسو است */
@font-face {
  font-family: 'Vazir';
  src: url('/static/fonts/Vazir.woff2') format('woff2');
  font-weight: normal; font-style: normal; font-display: swap;
}
body { font-family: 'Vazir', sans-serif; }

/* پس‌زمینه‌ی نرم (mobile-first) */
.custom-image,
.login-bg {
  background-image: radial-gradient(1200px 600px at 50% -10%, #e8f1ff 0%, #f7fbff 60%, #ffffff 100%);
  background-size: cover; background-position: center;
  background-repeat: no-repeat; min-height: 100vh;
}

/* ظرف اصلی فرم روی موبایل */
.login-wrap {
  width: 100%;
  max-width: 520px;
  margin: 0 auto;
  padding: 16px;
}

/* کارت فرم */
.login-card {
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 8px 30px rgba(2, 14, 90, 0.06);
  background: rgba(255,255,255,.96);
}

/* لوگو */
.login-logo {
  height: 72px;
  display: block;
  margin: 0 auto 8px;
}

/* تیتر و متن‌های کمکی */
.login-title { font-size: 1.05rem; color: #ff6600; font-weight: 700; text-align:center; }
.login-subtle {
  background: #f8f9fa; border: 1px solid #e7eaee;
  border-radius: 12px; padding: 10px;
  color: #333; text-align: center; font-weight: 600;
}

/* فیلدها: لمس‌پذیر و خوانا */
.form-group label { font-size: .95rem; font-weight: 600; }
.form-control {
  height: 48px; border-radius: 12px; font-size: .95rem;
  border-color: #d8dee6; transition: border-color .2s, box-shadow .2s;
}
.form-control:focus {
  border-color: #2f6fed;
  box-shadow: 0 0 0 .2rem rgba(47, 111, 237, .15);
}

/* گروه رمز و دکمه چشم */
.input-group .btn.toggle-password {
  border-color: #d8dee6;
  border-left: 0; height: 48px; border-radius: 0 12px 12px 0;
}
.input-group .form-control#password { border-radius: 12px 0 0 12px; }

/* کپچا */
.captcha-container { gap: 8px; }
#captcha_wrapper img {
  border-radius: 10px; border: 1px solid #e0e6ef;
}
#reload_captcha { border-radius: 10px; }

/* چک‌باکس و دکمه‌ها */
.form-check-input { width: 1.1rem; height: 1.1rem; }
.btn-block {
  height: 48px; border-radius: 12px; font-weight: 700; letter-spacing: .3px;
}

/* لینک‌های ثانویه */
.login-links a { color: #6b7280; }
.login-links a:hover { color: #2f6fed; text-decoration: none; }

/* حالت‌های خطا */
.is-invalid { border-color: #dc3545 !important; }
.invalid-feedback p { margin-bottom: .2rem; }

/* Breakpoints ساده */
@media (min-width: 576px) {
  .login-wrap { padding: 24px; }
  .login-card { border-radius: 20px; }
}
@media (min-width: 992px) {
  .login-logo { height: 84px; }
  .login-title { font-size: 1.15rem; }
}

/* بهبود تمرکز برای دسترس‌پذیری با کیبورد */
a:focus, button:focus, .form-control:focus {
  outline: none !important;
  box-shadow: 0 0 0 .14rem rgba(47,111,237,.25);
}

/* ریزافکت‌ها */
.btn-primary {
  background: #2f6fed; border-color: #2f6fed;
  transition: transform .08s ease, box-shadow .2s ease;
}
.btn-primary:hover { box-shadow: 0 8px 20px rgba(47,111,237,.25); }
.btn-primary:active { transform: scale(.98); }

.btn-outline-secondary { transition: transform .08s ease; }
.btn-outline-secondary:active { transform: scale(.98); }
