/**
 * ایستگاه تحقیق — سرویس فرمت‌بندی (استایل فرانت) v1.0
 * تمام زبان بصری از translation.css (کارت‌ها، دوستون، دراپ‌زون، تایم‌لاین، پیام‌رسان) به ارث می‌رسد؛
 * اینجا فقط ردیف تفکیک‌پذیر فرمت‌بندی (دکمهٔ ثبت، بنر سایهٔ رنگ، مودال ادمین fmt) تعریف می‌شود.
 */

/* شکل و رنگ برند — فرم/پیگیری فرمت‌بندی */
.rsst-fmt-shape { border-color: #e2e8f0; }
.rsst-fmt-shape .rsst-tr-title { color: #1d4ed8; }
.rsst-fmt-shape .rsst-tr-stage-empty { background: linear-gradient(180deg, #eff6ff, #fff); border-color: #dbeafe; }
.rsst-fmt-shape .rsst-tr-stage-empty b { color: #1d4ed8; }
.rsst-fmt-shape .rsst-tr-stage-empty .rsst-tr-stage-steps i { background: linear-gradient(135deg, #1d4ed8, #2563eb); }
.rsst-fmt-shape .rsst-tr-price-total b { color: #1d4ed8; }
.rsst-fmt-shape .rsst-tr-price-total { background: linear-gradient(180deg, #eff6ff, #fff); border-color: #bfdbfe; }
.rsst-fmt-shape .rsst-tr-btn-primary { background: linear-gradient(135deg, #1d4ed8, #2563eb); }
.rsst-fmt-shape .rsst-tr-btn-primary:hover { background: linear-gradient(135deg, #1e40af, #1d4ed8); }

/* دراپ‌داون‌های فرم فرمت‌بندی — هر ۴ گوشه گرد؛
   قاعدهٔ نیم‌گرد ترجمه (مخصوص سلکتی که آیکن کرهٔ کنارش دارد) اینجا بازنویسی می‌شود */
#rsst-fmt-order .rsst-cselect-trigger,
#rsst-fmt-tracking .rsst-cselect-trigger {
	border-radius: 12px !important;
}

/* دکمهٔ ثبت سفارش (تمام‌عرض ستون چپ) */
.rsst-fmt-submit {
	display: block; width: 100%; margin-top: 14px;
	padding: 13px 22px; border: 0; border-radius: 12px;
	color: #fff; font-size: 15px; font-weight: 800; cursor: pointer;
	box-shadow: 0 4px 14px rgba(29, 78, 216, .35);
	transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.rsst-fmt-submit:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(29, 78, 216, .42); }
.rsst-fmt-submit:disabled { opacity: .55; cursor: not-allowed; box-shadow: none; }
.rsst-fmt-submit[hidden] { display: none !important; } /* دکمهٔ «ادامه به مرحله بعد» در مرحلهٔ ۲ واقعاً محو شود — specificity قواعد قالبی/ترجمه از [hidden] بالاتر بود */

/* ── فیلدهای فرم فرمت‌بندی ── */
.rsst-fmt-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; margin-bottom: 12px; }
.rsst-fmt-fields .rsst-tr-field { margin: 0; }
.rsst-fmt-fields + .rsst-fmt-layout-extra, .rsst-fmt-layout-extra { margin-bottom: 12px; }
.rsst-fmt-layout-extra .rsst-tr-label::after { content: ''; }

/* باکس آپلود شیوه‌نامه — کوچک‌تر از فایل اصلی */
.rsst-fmt-guide-box { margin-top: 10px; }
.rsst-fmt-guide-box .rsst-tr-drop-inner { padding: 14px 12px; }
.rsst-fmt-guide-box .rsst-tr-drop-icon { font-size: 22px; }
.rsst-fmt-guide-box strong { font-size: 13px; }
.rsst-fmt-guide-box small { font-size: 11px; }

/* ── ستون راست فرم فرمت‌بندی: تب/دکمهٔ شمارش و فیلد کلمات هم‌اندازه با ستون ──
   ستون آپلود (rsst-tr-col-side) عرض کامل خودش را دارد؛ دکمهٔ «شمارش کلمات فایل»
   و ورودی دستی تعداد کلمات (rsst-fmt-words) باید تمام‌عرض همان ستون شوند —
   قاعدهٔ ۲۶۰px ترجمه (max-width فیلد داخل tab-body) اینجا بازنویسی می‌شود. */
#rsst-fmt-order .rsst-tr-tab-body .rsst-tr-btn,
.rsst-rw-order .rsst-tr-tab-body .rsst-tr-btn { flex: 1 1 100%; width: 100%; box-sizing: border-box; }
#rsst-fmt-order .rsst-tr-tab-body .rsst-tr-field,
.rsst-rw-order .rsst-tr-tab-body .rsst-tr-field { max-width: none; width: 100%; }
#rsst-fmt-order #rsst-fmt-count-result,
.rsst-rw-order .rsst-tr-count-result { max-width: none; width: 100%; box-sizing: border-box; }

/* چک‌باکس‌ها — هم‌زبان بصری افزونه */
.rsst-fmt-checks { display: flex; flex-direction: column; gap: 9px; margin-bottom: 12px; background: linear-gradient(180deg, #f8faff, #fff); border: 1.5px solid #e2e8f0; border-radius: 12px; padding: 12px 14px; }
.rsst-fmt-check { display: inline-flex; align-items: center; gap: 9px; cursor: pointer; font-size: 13.5px; color: #334155; user-select: none; }
.rsst-fmt-check input { position: absolute; opacity: 0; pointer-events: none; }
.rsst-fmt-check-box { flex: 0 0 auto; width: 19px; height: 19px; border-radius: 6px; border: 1.5px solid #cbd5e1; background: #fff; display: inline-flex; align-items: center; justify-content: center; color: #fff; transition: background .15s, border-color .15s; }
.rsst-fmt-check-box svg { opacity: 0; transform: scale(0.6); transition: opacity .15s, transform .15s; }
.rsst-fmt-check input:checked + .rsst-fmt-check-box { background: linear-gradient(135deg, #1d4ed8, #2563eb); border-color: #1d4ed8; }
.rsst-fmt-check input:checked + .rsst-fmt-check-box svg { opacity: 1; transform: scale(1); }
.rsst-fmt-check input:focus-visible + .rsst-fmt-check-box { box-shadow: 0 0 0 3px rgba(99, 102, 241, .25); }


/* تعداد منابع: دقیقاً نصف عرض ستون چپ (هم‌عرض هر سلول شبکهٔ dropdown نوع/صفحه‌آرایی) —
   همان عرض نیم‌ستونِ rsst-fmt-fields (۱fr از ۱fr ۱fr با گپ ۱۴px)، که دقیقاً زیر dropdown نوع بنشیند */
#rsst-fmt-order .rsst-fmt-sources-field { width: calc( (100% - 14px) / 2 ); min-width: 0; box-sizing: border-box; }

/* رسپانسیو — الگوی ترجمه */
@media (max-width: 900px) {
	.rsst-fmt-shape .rsst-tr-two-col { grid-template-columns: 1fr; }
	.rsst-fmt-fields { grid-template-columns: 1fr; }
	#rsst-fmt-order .rsst-fmt-sources-field { width: 100%; max-width: 480px; }
}

/* تایل hidden روی متن درگ — display:flex ترانزلیشن این ویژگی را خنثی می‌کرد؛
   با انتخاب فایل، باکس آپلود دیده می‌ماند و فقط متن درگ جای خود را به چیپ فایل می‌دهد */
.rsst-tr-upload .rsst-tr-drop-inner[hidden] { display: none; }

/* ── انیمیشن مخفی/نمایش فیلدهای مرحلهٔ ۱ هنگام رفتن به مرحلهٔ ۲ (هزینه + حالت‌ها + پرداخت) ── */
.rsst-fmt-step1 {
  transition: opacity .28s ease, max-height .32s ease, margin .32s ease, padding .32s ease;
  overflow: hidden;
  max-height: 1600px;
}
.rsst-fmt-step1.is-collapsed {
  opacity: 0;
  max-height: 0;
  margin: 0 !important;
  padding-top: 0;
  padding-bottom: 0;
  pointer-events: none;
  visibility: hidden;
}

/* ── تراز بالای ستون فیلدها (rsst-tr-col-main) با ستون آپلود ──
   عنوان «نوع فرمت‌بندی» از لبهٔ بالایی ستون راست (باکس آپلود فایل اصلی) بالاتر شروع
   شود و خود dropdown (rsst-cselect-trigger) دقیقاً هم‌بالا با باکس آپلود قرار گیرد.
   اندازه‌گیری واقعی: لیبل ۲۲px (۱۵px لیبل + ۷px گپ) بالاتر از trigger؛ پس ردیف اول
   گرید با margin-top: -22px بالا کشیده می‌شود (در ردیف دوم صفحه‌آرایی عادی می‌ماند). */	@media (min-width: 861px) {
	#rsst-fmt-order .rsst-tr-col-main { padding-top: 0; }
	/* !important: قاعدهٔ سرویز ترجمه «col-main > :first-child {margin-top:0!important}» اینجا خنثی می‌شود */
	#rsst-fmt-order .rsst-tr-col-main > .rsst-fmt-fields:first-child { margin-top: -22px !important; }
	#rsst-fmt-order .rsst-fmt-sources-field { margin-top: 12px; }
}

/* ── دکمهٔ شمارش کلمات فایل: حاشیهٔ چپ صفر (درخواست صریح) ── */
#rsst-fmt-count-btn,.rsst-rw-order [data-rw-count] { margin-left: 0; }

/* ── فیلدهای شرطی نوع فرمت‌بندی — شبکهٔ دوستونهٔ منابع | دانشگاه (پایان‌نامه) / منابع | مجله (مقاله)
   + تک‌فیلد تمام‌عرض «آدرس اینترنتی مجله» زیر همان شبکه. نمایش/مخفی‌سازی با JS. ── */
#rsst-fmt-order label[hidden] { display: none; }
@media (min-width: 861px) {
	/* سلول «نام دانشگاه/مجله» داخل شبکهٔ دوستونه هم‌بالا با «تعداد منابع» بماند —
	   margin-top:12px قدیمی rsst-fmt-sources-field (که برای جای‌گیری زیر dropdown بود) اینجا خنثی می‌شود */
	#rsst-fmt-order .rsst-fmt-sources-grid .rsst-fmt-sources-field { margin-top: 0; }
}

/* ═══ هم‌شکل‌سازی فیلدهای متنی با dropdown پایان‌نامه/مقاله ═══
   شبکهٔ rsst-fmt-sources-grid: هر سلول دقیقاً نصف ستون چپ (۱fr از ۱fr ۱fr) —
   width نیم‌ستون قدیمی rsst-fmt-sources-field درون شبکه معنا ندارد و خنثی می‌شود؛
   ارتفاع/گردی/گرادیان/فونت ورودی‌ها = rsst-cselect-trigger (طرح مین-هیټ ۴۴px). */
#rsst-fmt-order .rsst-fmt-sources-grid { width: 100%; max-width: none; }
#rsst-fmt-order .rsst-fmt-sources-grid .rsst-tr-field { width: 100%; }
#rsst-fmt-order .rsst-fmt-url-field { width: 100%; max-width: none; }
#rsst-fmt-order #rsst-fmt-journal-url-wrap { margin-top: 0; }

#rsst-fmt-order .rsst-fmt-sources-grid .rsst-tr-field input,
#rsst-fmt-order .rsst-fmt-url-field input {
	background: linear-gradient(160deg, #fff, #f8faff);
	border: 1.5px solid #e2e8f0;
	border-radius: 12px;
	min-height: 44px;
	padding: 10px 14px;
	font-family: 'IRANSansXVF', Tahoma, sans-serif;
	font-size: 13.5px;
	font-weight: 800;
	color: #1e293b;
	box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
	transition: border-color .18s, box-shadow .18s;
}
#rsst-fmt-order .rsst-fmt-sources-grid input:hover,
#rsst-fmt-order .rsst-fmt-url-field input:hover { border-color: #c7d2fe; }
#rsst-fmt-order .rsst-fmt-sources-grid input:focus,
#rsst-fmt-order .rsst-fmt-url-field input:focus {
	outline: none;
	border-color: #6366f1;
	box-shadow: 0 0 0 3px rgba(99, 102, 241, .15);
}

/* رسپانسیو موبایل — تک‌ستونه (همان الگوی ترجمه) */
@media (max-width: 900px) {
	#rsst-fmt-order .rsst-fmt-url-field { max-width: 480px; }
}

/* ── شبکهٔ کارت‌های حالت فرمت‌بندی (عادی/فشرده/سریع) — همان کارت‌های بستهٔ ترجمه ── */
#rsst-fmt-order .rsst-fmt-mode-grid,
.rsst-rw-order .rsst-fmt-mode-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 760px) { #rsst-fmt-order .rsst-fmt-mode-grid,.rsst-rw-order .rsst-fmt-mode-grid { grid-template-columns: 1fr; } }

#rsst-fmt-order #rsst-fmt-step2{padding-top:0}
#rsst-fmt-order #rsst-fmt-mode-grid{display:flex;flex-direction:column;position:relative!important;z-index:2!important}
@media(min-width:861px){
 #rsst-fmt-order.is-packages-visible>.rsst-tr-two-col>.rsst-tr-col-main{padding-top:0!important;margin-top:var(--rsst-fmt-tabs-offset,0px)!important}
}
