/* ─────────────────────────────────────────────────────────────────────────────
   جستجو — کشوی پیشنهاد + صفحهٔ نتایج   (قالب ۵)
   ─────────────────────────────────────────────────────────────────────────────
   همهٔ رنگ‌های لهجه از var(--theme-deafult) می‌آیند نه هگزِ ثابت: رنگِ برندِ
   فروشگاه در این قالب per-store است (هر همکار رنگِ خودش را دارد) و هر هگزِ
   هاردکد یعنی یک فروشگاه با رنگِ غلط. مقدارِ جایگزین فقط برای حالتی است که
   هیچ فایلِ رنگ بارگذاری نشده باشد.

   فونت هیچ‌جا تعریف نشده تا IRANSansِ خودِ سایت ارث برسد.
   ───────────────────────────────────────────────────────────────────────────── */

:root{
	--nks-line:#e7e9ee;
	--nks-ink:#1d2330;
	--nks-dim:#6b7280;
	--nks-bg:#fff;
	--nks-soft:#f6f7f9;
	--nks-radius:12px;
	--nks-shadow:0 10px 34px rgba(18,24,40,.14), 0 2px 8px rgba(18,24,40,.06);
}

/* ═══════════════════════════════════════════════════════════════════════════
   ۱. کشوی پیشنهادِ لحظه‌ای
   ═══════════════════════════════════════════════════════════════════════════ */

.nks-drop{
	position:absolute;
	top:calc(100% + 6px);
	right:0; left:0;
	z-index:1200;
	direction:rtl;
	text-align:right;
	background:var(--nks-bg);
	border:1px solid var(--nks-line);
	border-radius:var(--nks-radius);
	box-shadow:var(--nks-shadow);
	max-height:min(72vh, 520px);
	overflow-y:auto;
	overscroll-behavior:contain;
	padding:6px 0;
}
.nks-drop[hidden]{display:none}

.nks-drop::-webkit-scrollbar{width:8px}
.nks-drop::-webkit-scrollbar-thumb{background:#d6d9e0;border-radius:8px}

.nks-sec{
	font-size:11px;
	font-weight:700;
	color:var(--nks-dim);
	padding:9px 14px 5px;
	letter-spacing:.2px;
}
.nks-sec + .nks-sec{margin-top:0}

/* ── ردیفِ محصول ─────────────────────────────────────────────────────────── */
.nks-p{
	display:flex;
	align-items:center;
	gap:11px;
	padding:8px 14px;
	color:var(--nks-ink);
	text-decoration:none;
	transition:background .12s ease;
}
.nks-p:hover, .nks-p.on, .nks-p:focus{
	background:var(--nks-soft);
	text-decoration:none;
	color:var(--nks-ink);
	outline:none;
}
.nks-p-im{
	flex:0 0 auto;
	width:48px; height:48px;
	border:1px solid var(--nks-line);
	border-radius:9px;
	background:#fff;
	display:flex; align-items:center; justify-content:center;
	overflow:hidden;
}
.nks-p-im img{max-width:100%; max-height:100%; object-fit:contain; display:block}
.nks-p-tx{min-width:0; flex:1 1 auto; display:block}
.nks-p-nm{
	display:block;
	font-size:13px;
	line-height:1.6;
	/* دو خط، بعد سه‌نقطه: نام‌های بلندِ این کاتالوگ وگرنه ارتفاعِ ردیف را
	   نامنظم می‌کنند و اسکنِ چشمیِ فهرست را می‌شکنند. */
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
}
.nks-p-pr{
	display:flex;
	align-items:center;
	gap:7px;
	margin-top:3px;
	font-size:12px;
	color:var(--nks-dim);
}
.nks-p-pr b{color:var(--nks-ink); font-size:12.5px; font-weight:700}
.nks-p-old{color:#a0a6b1; font-size:11px}
.nks-p-off{
	background:#e53935;
	color:#fff;
	border-radius:6px;
	padding:1px 5px;
	font-size:10.5px;
	font-weight:700;
}

/* ── ردیفِ دسته و برند ───────────────────────────────────────────────────── */
.nks-c{
	display:flex; align-items:center; gap:10px;
	padding:8px 14px;
	color:var(--nks-ink);
	text-decoration:none;
	font-size:13px;
}
.nks-c:hover, .nks-c.on, .nks-c:focus{background:var(--nks-soft); color:var(--nks-ink); text-decoration:none; outline:none}
.nks-c-ic{
	flex:0 0 auto;
	width:26px; height:26px;
	border-radius:7px;
	background:var(--nks-soft);
	border:1px solid var(--nks-line);
	position:relative;
}
/* آیکون‌ها با CSS کشیده می‌شوند نه با فونتِ آیکون: کشو ممکن است پیش از
   بارگذاریِ فونت باز شود و مربعِ خالی به‌جای آیکون بدترین حالت است. */
.nks-c.is-cat .nks-c-ic::before{
	content:''; position:absolute; inset:8px;
	border:1.6px solid var(--nks-dim); border-radius:2px;
}
.nks-c.is-brand .nks-c-ic::before{
	content:''; position:absolute; inset:8px;
	border:1.6px solid var(--nks-dim); border-radius:50%;
}
.nks-c-nm{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}

/* ── جستجوهای پرتکرار ───────────────────────────────────────────────────── */
.nks-tops{display:flex; flex-wrap:wrap; gap:6px; padding:2px 14px 8px}
.nks-top{
	display:inline-block;
	padding:5px 11px;
	border:1px solid var(--nks-line);
	border-radius:999px;
	background:var(--nks-soft);
	color:var(--nks-ink);
	font-size:12px;
	text-decoration:none;
}
.nks-top:hover, .nks-top.on{
	border-color:var(--theme-deafult,#f5a623);
	color:var(--theme-deafult,#f5a623);
	text-decoration:none;
}

/* ── پاورقی و حالتِ خالیِ کشو ────────────────────────────────────────────── */
/* چسبانِ کفِ کشو: با ۶ محصول، ارتفاعِ فهرست دقیقاً به سقفِ max-height می‌رسد و
   این دکمه بیرونِ دیدِ کاربر می‌افتاد — یعنی راهِ رسیدن به صفحهٔ کاملِ نتایج
   پنهان می‌شد. روی سرور زنده دیده شد. */
/* دکمهٔ «دیدن همهٔ نتایج» — مشکیِ توپر (خواستهٔ کاربر).
   چسبانِ کفِ کشو: با فهرستِ پُر، ارتفاع به سقفِ max-height می‌رسد و این دکمه
   بیرونِ دیدِ کاربر می‌افتاد — یعنی راهِ رسیدن به صفحهٔ کاملِ نتایج پنهان می‌شد. */
.nks-all{
	display:block;
	position:sticky;
	bottom:-6px;                 /* padding پایینِ خودِ کشو را جبران می‌کند */
	margin:6px 8px 2px;
	padding:11px 14px;
	border-radius:9px;
	background:#15181f;
	border:0;
	color:#fff;
	font-size:12.5px;
	font-weight:700;
	text-decoration:none;
	text-align:center;
}
.nks-all:hover, .nks-all:focus, .nks-all.on{
	background:#000;
	color:#fff;
	text-decoration:none;
	outline:none;
}
.nks-none{padding:22px 14px; text-align:center}
.nks-none span{display:block; font-size:13px; color:var(--nks-ink); font-weight:700}
.nks-none small{display:block; margin-top:4px; font-size:11.5px; color:var(--nks-dim)}


/* ═══════════════════════════════════════════════════════════════════════════
   ۲. صفحهٔ نتایج
   ═══════════════════════════════════════════════════════════════════════════ */

/* جهت روی هر بلوک صریح اعلام می‌شود و به کلاسِ rtl مارک‌آپ تکیه نمی‌کند.
   روی سرور زنده دیده شد که نوار فیلتر از سمتِ چپ می‌چید در حالی که سرصفحه
   راست‌چین بود؛ چون .nks-filters برخلافِ .nks-head کلاسِ rtl نداشت. */
.nks-crumb, .nks-head, .nks-chips, .nks-filters, .nks-bar, .nks-empty{direction:rtl; text-align:right}
.nks-empty{text-align:center}

.nks-crumb{padding:14px 4px 0; font-size:12px; color:var(--nks-dim)}
.nks-crumb a{color:var(--nks-dim)}

.nks-head{padding:6px 4px 10px}
.nks-h1{
	font-size:17px;
	line-height:1.9;
	font-weight:400;
	color:var(--nks-dim);
	margin:0;
}
.nks-h1 b{color:var(--nks-ink); font-weight:700}

.nks-note{
	margin-top:8px;
	display:inline-block;
	background:#fff8e6;
	border:1px solid #f3e0b0;
	color:#7a5b13;
	border-radius:9px;
	padding:7px 11px;
	font-size:12px;
	line-height:1.8;
}

/* ── چیپ‌های فیلترِ فعال ─────────────────────────────────────────────────── */
.nks-chips{display:flex; flex-wrap:wrap; align-items:center; gap:7px; padding:4px 4px 10px}
.nks-chips-lb{font-size:12px; color:var(--nks-dim)}
.nks-chip{
	display:inline-flex; align-items:center; gap:6px;
	background:var(--nks-soft);
	border:1px solid var(--nks-line);
	border-radius:999px;
	padding:5px 11px;
	font-size:12px;
	color:var(--nks-ink);
	text-decoration:none;
}
.nks-chip:hover{border-color:#c9ced8; color:var(--nks-ink); text-decoration:none}
.nks-chip-x{font-size:15px; line-height:1; color:var(--nks-dim)}
.nks-chip-clear{background:transparent; border-style:dashed; color:var(--nks-dim)}

/* ── نوار فیلتر ─────────────────────────────────────────────────────────── */
.nks-filters{
	display:flex; flex-wrap:wrap; align-items:center; gap:8px;
	padding:0 4px 12px;
}
.nks-f{position:relative}
.nks-f > summary{
	list-style:none;
	cursor:pointer;
	display:inline-flex; align-items:center; gap:7px;
	background:#fff;
	border:1px solid var(--nks-line);
	border-radius:10px;
	padding:8px 13px;
	font-size:12.5px;
	color:var(--nks-ink);
	user-select:none;
}
.nks-f > summary::-webkit-details-marker{display:none}
.nks-f > summary::after{
	content:''; width:6px; height:6px;
	border-right:1.6px solid var(--nks-dim);
	border-bottom:1.6px solid var(--nks-dim);
	transform:rotate(45deg) translateY(-2px);
	transition:transform .15s ease;
}
.nks-f[open] > summary{border-color:var(--theme-deafult,#f5a623)}
.nks-f[open] > summary::after{transform:rotate(-135deg) translateY(-2px)}
.nks-f > summary i{
	font-style:normal;
	background:var(--theme-deafult,#f5a623);
	color:#fff;                 /* قاعدهٔ فروشگاه: متن روی رنگِ برند همیشه سفید */
	border-radius:999px;
	min-width:17px; height:17px;
	display:inline-flex; align-items:center; justify-content:center;
	font-size:10.5px; font-weight:700;
}

.nks-fp{
	position:absolute;
	top:calc(100% + 6px);
	right:0;
	z-index:900;
	min-width:230px;
	max-height:330px;
	overflow-y:auto;
	background:#fff;
	border:1px solid var(--nks-line);
	border-radius:var(--nks-radius);
	box-shadow:var(--nks-shadow);
	padding:6px;
}
.nks-fo{
	display:flex; align-items:center; gap:9px;
	padding:7px 9px;
	border-radius:8px;
	font-size:12.5px;
	color:var(--nks-ink);
	text-decoration:none;
}
.nks-fo:hover{background:var(--nks-soft); color:var(--nks-ink); text-decoration:none}
.nks-fo em{margin-right:auto; font-style:normal; font-size:11px; color:var(--nks-dim)}
.nks-fo-b{
	flex:0 0 auto;
	width:16px; height:16px;
	border:1.6px solid #c9ced8;
	border-radius:5px;
	position:relative;
}
.nks-fo.on .nks-fo-b{background:var(--theme-deafult,#f5a623); border-color:var(--theme-deafult,#f5a623)}
.nks-fo.on .nks-fo-b::after{
	content:''; position:absolute;
	right:4px; top:1px;
	width:4px; height:8px;
	border:solid #fff; border-width:0 0 2px 2px;
	transform:rotate(-45deg);
}
.nks-fo.on{font-weight:700}

/* ── پنلِ قیمت ──────────────────────────────────────────────────────────── */
.nks-fp-price{min-width:250px}
.nks-pr{display:flex; gap:8px}
.nks-pr label{
	flex:1 1 0; min-width:0;
	display:flex; flex-direction:column; gap:4px;
	font-size:11.5px; color:var(--nks-dim); margin:0;
}
.nks-pr input{
	width:100%;
	border:1px solid var(--nks-line);
	border-radius:8px;
	padding:7px 9px;
	font-size:12.5px;
	direction:ltr; text-align:left;
}
.nks-pr-hint{margin:8px 2px; font-size:11px; color:var(--nks-dim); line-height:1.8}
.nks-pr-go{
	width:100%;
	border:0;
	background:var(--theme-deafult,#f5a623);
	color:#fff;
	border-radius:8px;
	padding:8px;
	font-size:12.5px;
	font-weight:700;
	cursor:pointer;
}

/* ── کلیدهای سریع ───────────────────────────────────────────────────────── */
.nks-t{
	display:inline-flex; align-items:center; gap:8px;
	background:#fff;
	border:1px solid var(--nks-line);
	border-radius:10px;
	padding:8px 13px;
	font-size:12.5px;
	color:var(--nks-ink);
	text-decoration:none;
}
.nks-t:hover{color:var(--nks-ink); text-decoration:none}
.nks-t-b{
	width:30px; height:17px;
	border-radius:999px;
	background:#d8dce3;
	position:relative;
	transition:background .15s ease;
	flex:0 0 auto;
}
.nks-t-b::after{
	content:''; position:absolute; top:2px; right:2px;
	width:13px; height:13px; border-radius:50%;
	background:#fff;
	transition:transform .15s ease;
}
.nks-t.on{border-color:var(--theme-deafult,#f5a623); font-weight:700}
.nks-t.on .nks-t-b{background:var(--theme-deafult,#f5a623)}
.nks-t.on .nks-t-b::after{transform:translateX(-13px)}

/* ── نوارِ مرتب‌سازی ─────────────────────────────────────────────────────── */
.nks-bar{
	display:flex; align-items:center; gap:10px;
	flex-wrap:wrap;
	padding:10px 4px;
	border-top:1px solid var(--nks-line);
	border-bottom:1px solid var(--nks-line);
	margin-bottom:14px;
}
.nks-sort{display:flex; align-items:center; gap:6px; flex-wrap:wrap; min-width:0}
.nks-sort-lb{font-size:12px; color:var(--nks-dim)}
.nks-num{
	margin-right:auto;
	border:1px solid var(--nks-line);
	border-radius:9px;
	padding:6px 9px;
	font-size:12px;
	background:#fff;
	color:var(--nks-ink);
}

/* هایلایتِ بخشِ منطبق در نامِ کالا */
mark.nks-hl{
	background:transparent;
	color:inherit;
	font-weight:700;
	padding:0;
	box-shadow:inset 0 -0.55em 0 rgba(245,166,35,.22);
}

/* ── حالتِ «چیزی پیدا نشد» ───────────────────────────────────────────────── */
.nks-empty{
	text-align:center;
	padding:44px 16px 52px;
	max-width:640px;
	margin:0 auto;
}
.nks-empty-ic{color:#c9ced8; margin-bottom:14px}
.nks-empty-t{font-size:17px; font-weight:700; color:var(--nks-ink); margin:0 0 8px; line-height:1.9}
.nks-empty-d{font-size:13px; color:var(--nks-dim); line-height:2; margin:0}
.nks-empty-btn{
	display:inline-block;
	margin-top:14px;
	background:var(--theme-deafult,#f5a623);
	color:#fff;
	border-radius:9px;
	padding:9px 20px;
	font-size:13px;
	font-weight:700;
	text-decoration:none;
}
.nks-empty-btn:hover{color:#fff; text-decoration:none; opacity:.92}
.nks-empty-sec{margin-top:26px}
.nks-empty-sec > span{display:block; font-size:12px; color:var(--nks-dim); margin-bottom:9px}
.nks-tags{display:flex; flex-wrap:wrap; gap:7px; justify-content:center}
.nks-tags a{
	display:inline-block;
	padding:6px 13px;
	border:1px solid var(--nks-line);
	border-radius:999px;
	background:#fff;
	font-size:12.5px;
	color:var(--nks-ink);
	text-decoration:none;
}
.nks-tags a:hover{border-color:var(--theme-deafult,#f5a623); color:var(--theme-deafult,#f5a623); text-decoration:none}

.sr-only{
	position:absolute; width:1px; height:1px;
	padding:0; margin:-1px; overflow:hidden;
	clip:rect(0,0,0,0); white-space:nowrap; border:0;
}


/* ═══════════════════════════════════════════════════════════════════════════
   ۳. رفعِ کشیدگیِ تصویرِ کارت محصول  (ربطی به جستجو ندارد — همه‌جا لازم است)
   ═══════════════════════════════════════════════════════════════════════════
   علت: newshop() صفتِ width/height واقعیِ فایل را روی تگ می‌گذارد (برای رزروِ
   جا و جلوگیری از پرشِ صفحه). خنثی‌کردنِ ارتفاع با قاعدهٔ
   «:where(img[width][height]){height:auto}» انجام می‌شد — ولی آن قاعده داخلِ
   seohead.plx است و seohead **فقط در home.plx** (پوستهٔ صفحهٔ اصلی) include
   می‌شود. پس در هر صفحهٔ دیگری — فهرست، دسته، برند، جستجو — ارتفاع روی عددِ
   تحت‌اللفظیِ صفت می‌ماند.

   نتیجهٔ اندازه‌گیریِ زنده روی «پشت صندلی راحتی خودرو مدل LEU»:
     صفت 800×800  →  رندر 210×800  →  کارت ۹۵۲ پیکسل ارتفاع (بقیه ۴۰۲).
   آن محصول تصویرش از ./upload/product/… می‌آید نه ./images/ ، پس نسخهٔ
   بندانگشتیِ ۲۵۰ پیکسلیِ images/tpl/ برایش ساخته نشده و اصلِ ۸۰۰ سرو می‌شد.
   حتی کارت‌های عادی هم ۲۵۰→۲۱۰ افقی له می‌شدند (object-fit:fill).

   این فایل روی *همهٔ* صفحه‌های هر سه قالب بار می‌شود، پس جای درستِ این وصله
   همین‌جاست و نیازی به دست‌زدن به style.css غول‌پیکر نیست.
   max-height + contain با هم می‌آیند: ارتفاع سقف می‌خورد تا ردیف‌های گرید
   ناهموار نشوند، و contain جلوی تغییرِ نسبت را می‌گیرد. */
.product_wrap .product_img img,
.product_box  .product_img img,
.product      .product_img img{
	height:auto;
	max-height:250px;
	object-fit:contain;
}
@media (max-width:767px){
	.product_wrap .product_img img,
	.product_box  .product_img img,
	.product      .product_img img{ max-height:200px; }
}

/* ── موبایل ─────────────────────────────────────────────────────────────── */
@media (max-width:767px){
	.nks-drop{max-height:min(66vh, 440px)}
	.nks-p-im{width:44px; height:44px}
	.nks-h1{font-size:15px}

	/* نوار فیلتر روی گوشی افقی اسکرول می‌شود به‌جای اینکه در چند سطر بشکند و
	   نیمِ صفحه را بخورد. پنلِ بازشده باید بیرونِ ناحیهٔ اسکرول دیده شود، پس
	   خودِ ناحیه overflow-y را نمی‌بندد. */
	.nks-filters{
		flex-wrap:nowrap;
		overflow-x:auto;
		overflow-y:visible;
		padding-bottom:14px;
		-webkit-overflow-scrolling:touch;
		scrollbar-width:none;
	}
	.nks-filters::-webkit-scrollbar{display:none}
	.nks-f, .nks-t{flex:0 0 auto}
	.nks-fp{position:fixed; right:12px; left:12px; top:auto; min-width:0}

	.nks-sort{
		flex-wrap:nowrap;
		overflow-x:auto;
		scrollbar-width:none;
		width:100%;
	}
	.nks-sort::-webkit-scrollbar{display:none}
	.nks-sort .btn-sort{flex:0 0 auto}
	.nks-num{margin-right:0; width:100%}
}
