/* ==========================================
   ۱. تنظیمات بدنه و چیدمان اصلی (Global Styles)
   ========================================== */
body {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh; /* تغییر به min-height برای جلوگیری از Overflow در اسکرول عمودی */
  margin: 0;
  font-family: 'Poppins', sans-serif;
  background: #000000;
  background: linear-gradient(90deg, rgba(0, 0, 0, 1) 0%, rgba(0, 88, 156, 1) 100%);
  padding: 15px; /* ایجاد Safe Area برای لبه‌های صفحات موبایل */
}

/* ==========================================
   ۲. کانتینر اصلی فرم (کشیده و عمودی)
   ========================================== */
.container {
  border: 23px double #1C6EA4;
  width: 100%;
  max-width: 350px; /* کاهش عرض برای ایجاد نسبت کشیدگی طلایی (Aspect Ratio عمودی) */
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  box-sizing: border-box; /* جلوگیری از تغییر ابعاد کانتینر بر اثر Border و Padding */
  min-height: 550px; /* ایجاد ارتفاع حداقلی برای کشیده‌تر دیده شدن فرم */
  display: flex;
  flex-direction: column;
}

/* ==========================================
   ۳. واکنش‌گرایی (Media Queries) - بهینه‌شده به روش DRY
   ========================================== */

/* الف) کنترل ارتفاع در نمایشگرهای بسیار بلند (Vertical Responsive) */
@media (min-height: 700px) {
  .container {
    width: 50% !important; /* فقط خاصیت عرض تغییر می‌کند؛ سایر خواص از بالا ارث‌بری می‌شوند */
  }
}

/* ب) کنترل عرض در موبایل‌های کوچک (Mobile Responsive) */
@media (max-width: 400px) {
  .container {
    border-width: 12px; /* کاهش ضخامت بردر دوبل در موبایل برای باز شدن فضای فرم */
    max-width: 310px;   /* حفظ نسبت کشیدگی در نمایشگرهای کوچک */
  }
  .box {
    padding: 30px 20px !important; /* کاهش پدینگ افقی برای جلوگیری از فشرده شدن فیلدها */
  }
}

/* ==========================================
   ۴. باکس داخلی و دکمه‌های ناوبری (Toggle)
   ========================================== */
.box {
  padding: 40px 30px; /* پدینگ عمودی بیشتر نسبت به افقی برای القای حس عمودی بودن */
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
}

.toggle {
  display: flex;
  justify-content: space-between;
  margin-bottom: 25px;
  width: 100%;
  gap: 8px;
}

.toggle-btn {
  flex: 1;
  padding: 10px;
  font-size: 16px;
  background: #e0e0e0;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background 0.3s, transform 0.2s;
  color: #FFFFFF;
  /* استایل نئونی اختصاصی شما */
  text-shadow: 0 0 5px #55d0ea, 0 0 10px #7d96d3, 0 0 15px #5699dc, 0 0 20px #75b9ff, 0 0 30px #49FF18, 0 0 40px #49FF18, 0 0 75px #49ff18;
}

.toggle-btn.active {
  background: #000000;
  color: #fff;
}

/* ==========================================
   ۵. استایل المان‌های فرم (Forms & Inputs)
   ========================================== */
.form-wrapper {
  transition: all 0.3s ease;
  width: 100%;
}

form {
  display: flex;
  flex-direction: column;
  width: 100%;
}

input, textarea {
  width: 100%;
  box-sizing: border-box; /* بسیار حیاتی برای جلوگیری از اوورفلو در ورودی‌ها */
  padding: 11px;
  margin-bottom: 15px;
  border: 1px solid #28aeff;
  border-radius: 5px ;
  font-size: 14px;

  transition: border-color 0.2s;
}

input:focus, textarea:focus {
  border-color: #1C6EA4;
}

.submit-btn {
  padding: 10px;
  background: rgba(0, 0, 0, 0.66);
  color: #fff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background 0.3s;
}

.submit-btn:hover {
  background: #667eea;
}

#login-form, #register-form {
  display: flex;
  flex-direction: column;
}

.sub {
  -webkit-box-shadow: 5px 5px 5px 0px #000000, inset 4px 4px 15px 0px #000000, 5px 5px 15px 5px rgba(0,0,0,0);
  box-shadow: 2px 2px 2px 2px #000000, inset 4px 4px 15px 0px #000000, 5px 5px 15px 5px rgba(0,0,0,0);
  background-color: #0abeff;
  color: white;
  cursor: pointer;
  font-weight: bold;
  text-shadow: 0 0 15px #FFF, 0 0 20px #18c1ff, 0 0 30px #49FF18, 0 0 40px #49FF18, 0 0 55px #49FF18, 0 0 75px #49ff18;
}

.textera {

  resize: none;
  border: 1px solid rgb(۰, ۰, ۰);
  min-height: 80px;
}

/* ==========================================
   ۶. دکمه‌ها و لینک‌های فرعی (Buttons & Links)
   ========================================== */
.button-32 {
  width: 80px;
  display: flex;
  position: relative;
  top: 11px;
  height: 40px;
  color: #fff;
  border: 0;
  font-weight: bold;
  font-size: 16px;
  transition: all 150ms ease-in-out;
  box-shadow: rgba(255, 255, 255, 0.2) 0px 1px 0px 0px inset, rgba(0, 0, 0, 0.9) 0px 0px 0px 1px;
  border-radius: 10px;
  background-color: #111111;
  background-image: radial-gradient(76% 151% at 52% -52%, rgba(255, 255, 255, 0.23) 0%, transparent 100%);
}

.button-32:hover {
  filter: brightness(1.1);
}

.button-32:active {
  transform: scale(.95);
}

a { text-decoration: none !important; }
.forght-pas { text-decoration: #1f57f1; }

.sub-pas {
  color: white;
  text-shadow: 0 0 15px #FFF, 0 0 20px #18c1ff, 0 0 30px #49FF18, 0 0 40px #49FF18, 0 0 55px #49FF18, 0 0 75px #49ff18;
}

/* ==========================================
   ۷. اینپوت‌های احراز هویت (Verification OTP)
   ========================================== */
.verification_input {
  display: flex;
  justify-content: center;
  gap: 6px;
}

.verification_input > * {
  width: 30px;
  height: 35px;
  pointer-events: none;
  outline: none;
  text-align: center;
  border: 1px solid rgb(0,0,0);
  font-size: 20px;
}

.verification_input > *.active {
  pointer-events: visible;
}

.value {
  display: flex;
  margin-top: 15px;
  border: 1px solid rgb(0,0,0);
  width: 100%;
  max-width: 184px;
}

.visually-hidden {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.tit-asl { font-size: 14px; }

.forgot-icon {
    width: 22px;         /* اندازه مناسب برای فونت حدود 14px */
    height: 22px;        /* حتما ارتفاع هم‌اندازه عرض باشد */
    display: block;      /* برای جلوگیری از فاصله‌های پیش‌فرض inline */
    object-fit: contain; /* برای اینکه عکس دفرمه نشود */
    filter: brightness(0) saturate(100%) invert(31%) sepia(94%) circle(100%); /* اختیاری: اگر بخواهی رنگش را با متن آبی ست کنی */
}

.forght-pas {
    color: #1f57f1;
    font-size: 18px;
    font-weight: 500;
    line-height: 1;      /* برای تراز شدن دقیق عمودی */
    display: flex;
    align-items: center; /* تراز عمودی فلکس */
}
