/* ============================================================================
   لوح برتر — استایل فرم‌ها (سیستم دیزاین «مرکّب، کاغذ و زعفران»)
   ============================================================================ */

/* ---------- نوار ناوبری فرم‌ها (جایگزین نوار سبز سایت قبلی) ---------- */
.lb-formnav{display:flex; flex-wrap:wrap; gap:var(--s-2); background:var(--sage-50,#eaf5f2);
  border:1px solid color-mix(in srgb,var(--sage-500) 22%,transparent); border-radius:var(--r-lg);
  padding:var(--s-3); margin-bottom:var(--s-6)}
.lb-formnav__btn{flex:1 1 auto; text-align:center; white-space:nowrap; padding:11px 16px; border-radius:var(--r-md);
  background:var(--surface); color:var(--ink-700); font-family:var(--font-display); font-weight:var(--fw-bold);
  font-size:var(--fs-sm); border:1px solid var(--line); transition:transform var(--dur-1) var(--ease),background var(--dur-2) var(--ease),color var(--dur-2) var(--ease)}
.lb-formnav__btn:hover{transform:translateY(-2px); background:var(--sage-500); color:#fff; border-color:var(--sage-500)}
.lb-formnav__btn.is-current{background:var(--accent); color:var(--on-saffron); border-color:var(--accent); box-shadow:var(--sh-accent)}

/* ---------- کارت فرم ---------- */
.lb-formcard{background:var(--surface); border:1px solid var(--line); border-radius:var(--r-xl);
  padding:clamp(var(--s-6),3vw,var(--s-10)); box-shadow:var(--sh-sm); position:relative; overflow:hidden}
.lb-formcard::before{content:""; position:absolute; inset-inline:0; top:0; height:4px;
  background:linear-gradient(90deg,var(--accent),var(--sage-500))}
.lb-formcard__head{margin-bottom:var(--s-6)}
.lb-formcard__head h2{margin:.35rem 0 .4rem; font-size:clamp(1.3rem,1.1rem + 0.8vw,1.7rem)}
.lb-formcard__sub{color:var(--text-muted); line-height:var(--lh-body); margin:0; font-size:var(--fs-sm)}

/* ---------- شبکه‌ی فیلدها ---------- */
.lb-form-grid{display:grid; grid-template-columns:1fr 1fr; gap:var(--s-4); margin-bottom:var(--s-2)}
.lb-field{display:flex; flex-direction:column; gap:6px; min-width:0}
.lb-field--full{grid-column:1 / -1}
.lb-label{font-family:var(--font-display); font-weight:var(--fw-bold); font-size:var(--fs-sm); color:var(--ink-700)}
.lb-req{color:var(--danger); font-weight:var(--fw-black)}

.lb-input,.lb-select,.lb-textarea{width:100%; padding:11px 14px; border:1.5px solid var(--line-strong);
  border-radius:var(--r-md); background:var(--surface); font-family:var(--font-body); font-size:var(--fs-sm);
  color:var(--text); transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease)}
.lb-textarea{min-height:110px; resize:vertical; line-height:var(--lh-body)}
.lb-input:focus,.lb-select:focus,.lb-textarea:focus{outline:none; border-color:var(--accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
.lb-select{appearance:none; -webkit-appearance:none; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2321245c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:left 14px center; padding-inline-start:14px; padding-inline-end:38px}

/* ---------- رادیو ---------- */
.lb-radios{display:flex; flex-wrap:wrap; gap:var(--s-3)}
.lb-radio{display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border:1.5px solid var(--line-strong);
  border-radius:var(--r-pill); cursor:pointer; font-size:var(--fs-sm); font-weight:var(--fw-medium); color:var(--ink-700);
  transition:border-color var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}
.lb-radio input{accent-color:var(--accent); width:16px; height:16px}
.lb-radio:has(input:checked){border-color:var(--accent); background:var(--saffron-50,#fdf1e3); color:var(--saffron-800)}

/* ---------- عنوان بخش (section) ---------- */
.lb-form-section{grid-column:1 / -1; font-family:var(--font-display); font-weight:var(--fw-bold);
  font-size:var(--fs-lg); color:var(--ink-800); margin:var(--s-5) 0 var(--s-1); padding-bottom:var(--s-2);
  border-bottom:2px solid color-mix(in srgb,var(--sage-500) 30%,transparent); display:flex; align-items:center; gap:var(--s-2)}
.lb-form-section::before{content:""; width:10px; height:18px; border-radius:3px; background:var(--accent); display:inline-block}

/* ---------- پیام و دکمه ---------- */
.lb-form-msg{grid-column:1 / -1; padding:12px 16px; border-radius:var(--r-md); font-size:var(--fs-sm);
  font-weight:var(--fw-bold); margin-bottom:var(--s-4)}
.lb-form-msg.ok{background:var(--success-bg); color:var(--success); border:1px solid color-mix(in srgb,var(--success) 30%,transparent)}
.lb-form-track{display:block; margin-top:8px; padding-top:8px; border-top:1px dashed color-mix(in srgb,var(--success) 35%,transparent); font-size:var(--fs-sm)}
.lb-form-track b{font-size:var(--fs-base); letter-spacing:.5px}
.lb-form-msg.err{background:var(--danger-bg); color:var(--danger); border:1px solid color-mix(in srgb,var(--danger) 30%,transparent)}
.lb-form-submit{margin-top:var(--s-5)}
.lb-btn--block{width:100%; display:flex; justify-content:center}

/* ---------- صفحه‌ی فرم ---------- */
.lb-formpage{padding-block:var(--s-8)}
.lb-formpage .lb-container{max-width:900px}

/* ---------- ریسپانسیو ---------- */
@media(max-width:640px){
  .lb-form-grid{grid-template-columns:1fr}
  .lb-formnav__btn{flex:1 1 40%; font-size:12.5px; padding:10px 10px}
}
