/*!
 * NESTORLAND — بخش‌های صفحه اصلی فروشگاه (nh-*)
 * فقط روی صفحات Elementor دارای ویجت نستور لود می‌شود. همه رنگ‌ها از توکن‌های قالب
 * (--c-*) و کارت فروشگاه (--np-*) می‌آیند تا با حالت روز/شب و رنگ برند هماهنگ باشند.
 */

/* ── پایه و توکن‌ها (همان توکن‌های کارت فروشگاه) ── */
.nh {
	--np-g: var(--c-primary); --np-g-d: var(--c-primary-d); --np-on-g: #111;
	--np-card: #141414; --np-inner: #0d0d0d; --np-tile: #1a1a1a; --np-hover: #1a1a1a;
	--np-line: rgba(255,255,255,.06); --np-line2: rgba(255,255,255,.1); --np-soft: rgba(255,255,255,.05);
	--np-text: #fff; --np-text2: #d1d5db; --np-muted: #9ca3af; --np-dim: #6b7280;
	--np-shadow: 0 20px 25px -5px rgba(0,0,0,.35);
	--nh-tone: var(--c-primary);
	color: var(--np-text);
}
html[data-theme="light"] .nh {
	--np-on-g: #fff;
	--np-card: #fff; --np-inner: #f4f6f8; --np-tile: #f8fafc; --np-hover: #f8fafc;
	--np-line: rgba(15,23,41,.08); --np-line2: rgba(15,23,41,.13); --np-soft: rgba(15,23,41,.05);
	--np-text: #0f172a; --np-text2: #334155; --np-muted: #64748b; --np-dim: #94a3b8;
	--np-shadow: 0 12px 28px -12px rgba(15,23,41,.18);
}
.nh *, .nh *::before, .nh *::after { box-sizing: border-box; }
.nh a { color: inherit; text-decoration: none; }
.nh .np-ico { flex-shrink: 0; }
.nh .np-ico.is-fill { fill: currentColor; }
/* فاصله‌ی عمودی ویجت‌ها فقط از gap کانتینر المنتور کنترل می‌شود، نه margin داخلی.
   قبلاً margin داخلی nh-sec با gap کانتینر جمع می‌شد و فاصله تقریباً دوبرابر می‌شد. */
.nh-sec { margin: 0; }
/* کانتینری که ویجت‌های نستور را دارد: تمام‌عرض و وسط‌چین + فاصله‌ی یکدست بین ویجت‌ها.
   عرض محتوا تا ۱۵۲۰px باز می‌شود و در صفحه‌ی بزرگ وسط می‌ماند؛ همه‌ی ویجت‌ها (از جمله
   اسلایدر) هم‌عرض می‌شوند. */
.e-con:has(> .e-con-inner > [class*="elementor-widget-nestor_"]),
.elementor-element:has(> .e-con-inner > [class*="elementor-widget-nestor_"]) { --nh-maxw: 1520px; --width: 100%; max-width: 100% !important; }
.e-con:has(> .e-con-inner > [class*="elementor-widget-nestor_"]) > .e-con-inner,
.elementor-element:has(> .e-con-inner > [class*="elementor-widget-nestor_"]) > .e-con-inner {
	gap: 44px;
	width: 100%;
	max-width: var(--nh-maxw) !important;
	margin-inline: auto;
	padding-inline: clamp(16px, 3vw, 40px);
}
@media (max-width: 767px) {
	.e-con:has(> .e-con-inner > [class*="elementor-widget-nestor_"]) > .e-con-inner,
	.elementor-element:has(> .e-con-inner > [class*="elementor-widget-nestor_"]) > .e-con-inner { gap: 32px; padding-inline: 16px; }
}

/* سرتیتر بخش */
.nh-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 20px; margin-bottom: 20px; }
.nh-head__txt { min-width: 0; }
.nh-title { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--np-text); font-size: clamp(1.15rem, 2vw, 1.5rem); font-weight: 900; line-height: 1.5; }
.nh-title .np-ico { padding: 7px; width: 36px; height: 36px; border-radius: 12px; background: color-mix(in srgb, var(--np-g) 14%, transparent); color: var(--np-g); }
.nh-sub { margin: 6px 0 0; color: var(--np-muted); font-size: 13px; line-height: 1.8; }
.nh-more { display: inline-flex; align-items: center; gap: 4px; padding: 8px 14px; border: 1px solid var(--np-line2); border-radius: 12px; color: var(--np-muted) !important; font-size: 13px; font-weight: 700; transition: color .2s, border-color .2s; }
.nh-more:hover { border-color: var(--np-g); color: var(--np-g) !important; }

/* دکمه‌ها */
.nh-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 13px 22px; border-radius: 14px; background: var(--np-g); color: var(--np-on-g) !important; font-size: 14px; font-weight: 900; white-space: nowrap; transition: background .2s, transform .15s; }
.nh-btn:hover { background: var(--np-g-d); }
.nh-btn:active { transform: scale(.97); }
.nh-btn--ghost { border: 1px solid var(--np-line2); background: transparent; color: var(--np-text) !important; }
.nh-btn--ghost:hover { border-color: var(--np-g); background: transparent; color: var(--np-g) !important; }
.nh-center { display: flex; justify-content: center; margin-top: 24px; }
.nh :focus-visible { outline: 2px solid var(--np-g); outline-offset: 2px; }

/* ── کارت محصول داخل بخش‌ها (همان .ns-card فروشگاه) ── */
.nh ul.products { margin: 0; padding: 0; list-style: none; }
.nh ul.products::before, .nh ul.products::after { display: none; }
.nh .ns-card { padding: 10px; }
.nh .ns-card__media { aspect-ratio: 1/1; margin-bottom: 12px; }
.nh .ns-card__tag { top: 18px; right: 18px; }
.nh .ns-card__body { margin-bottom: 10px; }
.nh-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 768px)  { .nh-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } }
@media (min-width: 1024px) { .nh-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .nh-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.nh-rail { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
.nh-rail::-webkit-scrollbar { display: none; }
.nh-rail > .ns-card { flex: 0 0 min(210px, 46%); scroll-snap-align: start; }

/* ── بنرهای اصلی ── (هم‌عرض بقیه‌ی ویجت‌ها، بدون full-bleed) */
.nh-hero .xg-banners { padding: 8px 0 0; background: transparent; }

/* ── دسته‌بندی‌ها ── */
.nh-cats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 560px)  { .nh-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .nh-cats { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); } }
.nh-cat { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 16px; overflow: hidden; border: 1px solid var(--np-line); border-radius: 20px; background: var(--np-card); box-shadow: var(--np-shadow); transition: border-color .25s, transform .25s, box-shadow .25s; }
.nh-cat::after { content: ""; position: absolute; inset-block-start: -40%; inset-inline-end: -30%; width: 120px; height: 120px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--np-g) 22%, transparent) 0%, transparent 70%); opacity: 0; transition: opacity .3s; pointer-events: none; }
.nh-cat:hover { border-color: color-mix(in srgb, var(--np-g) 45%, transparent); transform: translateY(-4px); box-shadow: 0 18px 40px -12px color-mix(in srgb, var(--np-g) 30%, rgba(0,0,0,.3)); }
.nh-cat:hover::after { opacity: 1; }
.nh-cat__ico { display: grid; flex-shrink: 0; place-items: center; width: 54px; height: 54px; overflow: hidden; border-radius: 16px; background: color-mix(in srgb, var(--np-g) 14%, transparent); color: var(--np-g); transition: transform .25s; }
.nh-cat:hover .nh-cat__ico { transform: scale(1.06); }
.nh-cat__ico img { width: 100%; height: 100%; object-fit: cover; }
.nh-cat__txt { display: flex; width: 100%; min-width: 0; flex-direction: column; gap: 4px; }
.nh-cat__txt strong { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--np-text); font-size: 14.5px; font-weight: 900; line-height: 1.45; }
.nh-cat__txt small { display: inline-flex; align-self: flex-start; align-items: center; padding: 2px 10px; border-radius: 999px; background: color-mix(in srgb, var(--np-g) 10%, transparent); color: color-mix(in srgb, var(--np-g) 85%, var(--np-text)); font-size: 11px; font-weight: 800; }
.nh-cat__go { position: absolute; inset-block-end: 16px; inset-inline-start: 16px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 10px; background: color-mix(in srgb, var(--np-g) 10%, transparent); color: var(--np-g); opacity: 0; transform: translateX(6px); transition: opacity .25s, transform .25s; }
.nh-cat:hover .nh-cat__go { opacity: 1; transform: none; }
@media (max-width: 559px) {
	.nh-cat { padding: 14px; gap: 10px; border-radius: 18px; }
	.nh-cat__ico { width: 46px; height: 46px; border-radius: 14px; }
	.nh-cat__txt strong { font-size: 13.5px; }
	.nh-cat__go { display: none; }
}

/* ── نوار مزایا ── */
.nh-usp { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 900px) { .nh-usp { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.nh-usp__item { display: flex; align-items: center; gap: 12px; padding: 16px; border: 1px solid var(--np-line); border-radius: 18px; background: var(--np-card); }
.nh-usp__ico { display: grid; flex-shrink: 0; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: color-mix(in srgb, var(--np-g) 14%, transparent); color: var(--np-g); }
.nh-usp__item strong { display: block; color: var(--np-text); font-size: 14px; font-weight: 900; }
.nh-usp__item span:not(.nh-usp__ico) { display: block; margin-top: 2px; color: var(--np-muted); font-size: 12px; line-height: 1.7; }
@media (max-width: 480px) { .nh-usp__item { flex-direction: column; align-items: flex-start; } }

/* ── پیشنهاد شگفت‌انگیز ── */
.nh-deals { display: grid; grid-template-columns: 1fr; gap: 16px; padding: 16px; border: 1px solid color-mix(in srgb, var(--np-g) 25%, var(--np-line)); border-radius: 28px;
	background: radial-gradient(700px 300px at 100% 0%, color-mix(in srgb, var(--np-g) 14%, transparent), transparent 70%), var(--np-card); }
@media (min-width: 900px) { .nh-deals { grid-template-columns: 250px minmax(0, 1fr); align-items: center; padding: 20px; } }
.nh-deals__side { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 8px; }
.nh-deals__badge { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; background: var(--np-g); color: var(--np-on-g); font-size: 12px; font-weight: 900; }
.nh-deals__title { margin: 0; color: var(--np-text); font-size: clamp(1.3rem, 2.4vw, 1.75rem); font-weight: 900; line-height: 1.4; }
.nh-deals__sub { margin: 0; color: var(--np-muted); font-size: 13px; line-height: 1.8; }
.nh-deals__off { margin: 0; color: var(--np-text2); font-size: 14px; }
.nh-deals__off b { color: var(--np-g); font-size: 1.4em; font-weight: 900; }
.nh-deals .nh-btn { margin-top: 6px; }
.nh-cd { display: flex; gap: 6px; direction: ltr; }
.nh-cd[hidden] { display: none; }
.nh-cd__cell { display: flex; min-width: 54px; flex-direction: column; align-items: center; padding: 8px 4px; border: 1px solid var(--np-line2); border-radius: 12px; background: var(--np-inner); }
.nh-cd__cell b { color: var(--np-text); font-size: 20px; font-weight: 900; line-height: 1.2; font-variant-numeric: tabular-nums; }
.nh-cd__cell small { color: var(--np-muted); font-size: 10px; }
.nh-cd.is-urgent .nh-cd__cell b { color: var(--np-g); }
.nh-deals .nh-rail > .ns-card { flex-basis: min(200px, 46%); }
@media (max-width: 899px) {
	.nh-deals__side { align-items: center; text-align: center; }
	.nh-deals__title, .nh-deals__sub, .nh-deals__off { text-align: center; width: 100%; }
	.nh-deals .nh-btn { align-self: center; }
	.nh-cd { justify-content: center; }
}

/* ── تب‌های محصول ── */
.nh-tabs__nav { display: inline-flex; gap: 4px; padding: 4px; overflow-x: auto; border: 1px solid var(--np-line); border-radius: 14px; background: var(--np-card); scrollbar-width: none; }
.nh-tabs__nav button { flex-shrink: 0; padding: 9px 16px; border: 0; border-radius: 10px; background: transparent; color: var(--np-muted); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; transition: background .2s, color .2s; }
.nh-tabs__nav button:hover { color: var(--np-text); }
.nh-tabs__nav button[aria-selected="true"] { background: var(--np-g); color: var(--np-on-g); font-weight: 900; }
@media (max-width: 640px) { .nh-tabs .nh-head { align-items: stretch; } .nh-tabs__nav { width: 100%; } }

/* ── پلتفرم‌ها ── */
.nh-plat { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 900px) { .nh-plat { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; } }
.nh-plat__item { --t: #3b82f6; position: relative; display: flex; min-height: 168px; flex-direction: column; gap: 6px; padding: 18px; overflow: hidden; isolation: isolate; border: 1px solid color-mix(in srgb, var(--t) 30%, var(--np-line)); border-radius: 22px;
	background: radial-gradient(260px 180px at 0% 100%, color-mix(in srgb, var(--t) 30%, transparent), transparent 70%), var(--np-card); transition: transform .25s, border-color .25s; }
.nh-plat__item:hover { border-color: var(--t); transform: translateY(-4px); }
.nh-plat__item.is-green  { --t: #22c55e; }
.nh-plat__item.is-slate  { --t: #94a3b8; }
.nh-plat__item.is-amber  { --t: #f59e0b; }
.nh-plat__item.is-violet { --t: #8b5cf6; }
.nh-plat__item.is-rose   { --t: #f43f5e; }
.nh-plat__ico { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 8px; overflow: hidden; border-radius: 16px; background: color-mix(in srgb, var(--t) 18%, transparent); color: var(--t); }
.nh-plat__ico img { width: 100%; height: 100%; object-fit: contain; }
.nh-plat__item strong { color: var(--np-text); font-size: 16px; font-weight: 900; }
.nh-plat__desc { color: var(--np-muted); font-size: 12px; line-height: 1.8; }
.nh-plat__go { position: absolute; top: 18px; left: 18px; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: var(--np-soft); color: var(--np-muted); transition: background .2s, color .2s; }
.nh-plat__item:hover .nh-plat__go { background: var(--t); color: #fff; }

/* ── مراحل خرید (مسیر متصل + شماره‌ی برجسته) ── */
.nh-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; counter-reset: s; }
@media (min-width: 900px) { .nh-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; } }
.nh-step { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 24px 18px 20px; border: 1px solid var(--np-line); border-radius: 22px; background: var(--np-card); box-shadow: var(--np-shadow); overflow: hidden; transition: transform .25s, border-color .25s, box-shadow .25s; }
.nh-step::before { content: ""; position: absolute; inset-block-start: 0; inset-inline: 0; height: 3px; background: linear-gradient(90deg, var(--np-g), color-mix(in srgb, var(--np-g) 30%, transparent)); transform: scaleX(0); transform-origin: inline-start; transition: transform .3s; }
.nh-step:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--np-g) 40%, transparent); box-shadow: 0 18px 40px -14px color-mix(in srgb, var(--np-g) 32%, rgba(0,0,0,.3)); }
.nh-step:hover::before { transform: scaleX(1); }
/* خط اتصال میان قدم‌ها (دسکتاپ) */
@media (min-width: 900px) {
	.nh-step:not(:last-child)::after { content: ""; position: absolute; inset-block-start: 42px; inset-inline-start: -18px; width: 18px; height: 2px; background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--np-g) 50%, transparent) 0 6px, transparent 6px 11px); }
}
.nh-step__n { position: absolute; top: 14px; inset-inline-end: 16px; color: color-mix(in srgb, var(--np-g) 22%, transparent); font-size: 44px; font-weight: 900; line-height: 1; }
.nh-step__ico { position: relative; z-index: 1; display: grid; place-items: center; width: 50px; height: 50px; border-radius: 16px; background: var(--np-g); color: var(--np-on-g); box-shadow: 0 10px 24px -8px color-mix(in srgb, var(--np-g) 60%, transparent); transition: transform .25s; }
.nh-step:hover .nh-step__ico { transform: scale(1.08) rotate(-4deg); }
.nh-step strong { margin-top: 6px; color: var(--np-text); font-size: 15px; font-weight: 900; }
.nh-step p { margin: 0; color: var(--np-muted); font-size: 12.5px; line-height: 1.9; }

/* ── نظرات ── */
.nh-stars { --r: 5; position: relative; display: inline-block; width: 80px; height: 16px; background: linear-gradient(90deg, #facc15 calc(var(--r) / 5 * 100%), var(--np-line2) 0);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E") left / 16px 16px repeat-x;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E") left / 16px 16px repeat-x; direction: ltr; }
[dir="rtl"] .nh-stars { transform: scaleX(-1); }
.nh-score { display: flex; align-items: center; gap: 10px; padding: 8px 14px; border: 1px solid var(--np-line); border-radius: 16px; background: var(--np-card); }
.nh-score > b { color: var(--np-text); font-size: 26px; font-weight: 900; line-height: 1; }
.nh-score > span { display: flex; flex-direction: column; gap: 2px; }
.nh-score small { color: var(--np-muted); font-size: 11px; }
.nh-revs { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
.nh-revs::-webkit-scrollbar { display: none; }
.nh-rev { display: flex; flex: 0 0 min(320px, 85%); flex-direction: column; gap: 12px; margin: 0; padding: 18px; border: 1px solid var(--np-line); border-radius: 22px; background: var(--np-card); scroll-snap-align: start; }
.nh-rev blockquote { flex: 1; margin: 0; padding: 0; border: 0; color: var(--np-text2); font-size: 13.5px; font-style: normal; line-height: 2; }
.nh-rev figcaption { display: flex; align-items: center; gap: 10px; padding-top: 12px; border-top: 1px solid var(--np-line); }
.nh-rev figcaption > span:nth-child(2) { display: flex; min-width: 0; flex-direction: column; }
.nh-rev strong { color: var(--np-text); font-size: 13px; }
.nh-rev figcaption a { overflow: hidden; color: var(--np-muted) !important; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.nh-rev figcaption a:hover { color: var(--np-g) !important; }
.nh-rev__av { display: grid; flex-shrink: 0; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: color-mix(in srgb, var(--np-g) 18%, transparent); color: var(--np-g); font-weight: 900; }
.nh-rev__ok { display: inline-flex; align-items: center; gap: 3px; margin-inline-start: auto; padding: 3px 8px; border-radius: 999px; background: color-mix(in srgb, var(--np-g) 14%, transparent); color: var(--np-g); font-size: 10px; font-weight: 900; white-space: nowrap; }

/* ── سوالات متداول ── */
.nh-faq { display: grid; gap: 10px; }
.nh-faq__item { border: 1px solid var(--np-line); border-radius: 18px; background: var(--np-card); transition: border-color .2s; }
.nh-faq__item[open] { border-color: color-mix(in srgb, var(--np-g) 40%, transparent); }
.nh-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; color: var(--np-text); font-size: 14px; font-weight: 800; line-height: 1.8; list-style: none; cursor: pointer; }
.nh-faq__item summary::-webkit-details-marker { display: none; }
.nh-faq__item summary .np-ico { color: var(--np-muted); transition: transform .25s; }
.nh-faq__item[open] summary .np-ico { color: var(--np-g); transform: rotate(180deg); }
.nh-faq__a { padding: 0 18px 16px; color: var(--np-muted); font-size: 13px; line-height: 2.1; }
.nh-faq__a p { margin: 0 0 8px; }
.nh-faq__a p:last-child { margin: 0; }

/* ── CTA ── */
.nh-cta { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 18px 22px; padding: 26px 28px; overflow: hidden; isolation: isolate; border: 1px solid color-mix(in srgb, var(--nh-tone) 35%, var(--np-line)); border-radius: 28px;
	background: radial-gradient(500px 240px at 100% 0%, color-mix(in srgb, var(--nh-tone) 26%, transparent), transparent 70%), radial-gradient(380px 200px at 0% 100%, color-mix(in srgb, var(--nh-tone) 14%, transparent), transparent 70%), var(--np-card); }
.nh-cta__ico { display: grid; flex-shrink: 0; place-items: center; width: 64px; height: 64px; border-radius: 20px; background: var(--nh-tone); color: #fff; box-shadow: 0 14px 30px -10px color-mix(in srgb, var(--nh-tone) 70%, transparent); }
.nh-cta__txt { flex: 1 1 260px; min-width: 0; }
.nh-cta h2 { margin: 0 0 6px; color: var(--np-text); font-size: clamp(1.1rem, 2vw, 1.4rem); font-weight: 900; }
.nh-cta p { margin: 0; color: var(--np-muted); font-size: 13.5px; line-height: 1.9; }
.nh-cta__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.nh-cta .nh-btn { background: var(--nh-tone); }
.nh-cta .nh-btn--ghost { background: transparent; }
@media (max-width: 600px) { .nh-cta { padding: 22px 18px; } .nh-cta__btns, .nh-cta__btns .nh-btn { width: 100%; } }

@media (prefers-reduced-motion: reduce) { .nh *, .nh *::before { transition: none !important; } }

/* بنر تکی (بنر کوچک خاموش) و مخفی‌کردن نقطه‌ها */
.xg-banner-grid.is-single { grid-template-columns: 1fr; }
.nh-hero.no-dots .xg-dots { display: none; }
/* بنر کوچک بدون کادر: کل تصویر لینک است */
.xg-banner-small .xg-banner-link { position: absolute; z-index: 2; inset: 0; border-radius: inherit; }
.xg-banner-small.is-bare { transition: transform .25s, box-shadow .25s; }
.xg-banner-small.is-bare:hover { transform: translateY(-3px); box-shadow: 0 18px 36px -14px rgba(0,0,0,.45); }
.xg-banner-small .xg-banner-link:focus-visible { outline: 3px solid var(--c-primary); outline-offset: 3px; }

/* ویجت استوری در المنتور: تمام عرض شود (نه جمع‌شده در گوشه) */
.elementor-widget-nestor_stories .elementor-widget-container { width: 100%; }
.elementor-widget-nestor_stories .nestor-stories-wrapper { width: 100%; }

/* ── سرویس DNS ── */
.nh-dns { display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: 24px; align-items: center; padding: 20px; border: 1px solid color-mix(in srgb, var(--np-g) 22%, var(--np-line)); border-radius: 28px;
	background: radial-gradient(600px 300px at 0% 0%, color-mix(in srgb, var(--np-g) 14%, transparent), transparent 70%), var(--np-card); }
.nh-dns__intro { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 8px; }
.nh-dns__kicker { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--np-g) 14%, transparent); color: var(--np-g); font-size: 12px; font-weight: 900; }
.nh-dns__title { margin: 0; color: var(--np-text); font-size: clamp(1.4rem, 2.6vw, 2rem); font-weight: 900; line-height: 1.4; }
.nh-dns__desc { margin: 0; color: var(--np-muted); font-size: 13.5px; line-height: 2; }
.nh-dns__features { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; width: 100%; margin: 4px 0 0; padding: 0; list-style: none; }
.nh-dns__features li { display: flex; align-items: center; gap: 8px; color: var(--np-text2); font-size: 13px; font-weight: 700; }
.nh-dns__features li span { display: grid; place-items: center; width: 30px; height: 30px; flex-shrink: 0; border-radius: 9px; background: color-mix(in srgb, var(--np-g) 14%, transparent); color: var(--np-g); }
.nh-dns__btn { margin-top: 6px; }
.nh-dns-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-content: start; }
.nh-dns-plans--row { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); }
.nh-dns-plan { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 18px 14px; border: 1px solid var(--np-line); border-radius: 18px; background: var(--np-card); text-align: center; transition: border-color .2s, transform .2s, box-shadow .2s; }
a.nh-dns-plan:hover { border-color: color-mix(in srgb, var(--np-g) 45%, transparent); transform: translateY(-3px); box-shadow: 0 14px 30px -16px var(--c-shadow); }
.nh-dns-plan.is-popular { border-color: color-mix(in srgb, var(--np-g) 50%, transparent); background: color-mix(in srgb, var(--np-g) 8%, var(--np-card)); }
.nh-dns-plan__tag { position: absolute; top: -11px; right: 50%; transform: translateX(50%); display: inline-flex; align-items: center; gap: 4px; padding: 3px 12px; border-radius: 999px; background: var(--np-g); color: var(--np-on-g); font-size: 11px; font-style: normal; font-weight: 900; white-space: nowrap; box-shadow: 0 6px 14px -6px color-mix(in srgb, var(--np-g) 70%, transparent); }
.nh-dns-plan__ico { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: color-mix(in srgb, var(--np-g) 12%, transparent); color: var(--np-g); }
.nh-dns-plan__title { margin: 2px 0 0; color: var(--np-text); font-size: 16px; font-weight: 900; }
.nh-dns-plan__price { color: var(--np-muted); font-size: 12px; }
.nh-dns-plan__price b { color: var(--np-g); font-size: 17px; font-weight: 900; }
.nh-dns-plan__go { display: inline-flex; align-items: center; gap: 3px; margin-top: 4px; padding: 5px 14px; border-radius: 99px; background: color-mix(in srgb, var(--np-g) 12%, transparent); color: var(--np-g); font-size: 12px; font-weight: 800; }
a.nh-dns-plan:hover .nh-dns-plan__go { background: var(--np-g); color: var(--np-on-g); }
/* فشرده */
.nh-dns-compact { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding: 16px 18px; border: 1px solid var(--np-line); border-radius: 22px; background: var(--np-card); }
.nh-dns-compact__head { display: flex; align-items: center; gap: 10px; color: var(--np-text); font-size: 16px; font-weight: 900; }
.nh-dns-compact__badge { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: color-mix(in srgb, var(--np-g) 14%, transparent); color: var(--np-g); }
.nh-dns-compact .nh-dns-plans { flex: 1; min-width: 240px; }
.nh-dns-compact .nh-dns-plan { flex-direction: row; justify-content: space-between; padding: 10px 14px; text-align: start; }
.nh-dns-compact .nh-dns-plan__ico { display: none; }
.nh-dns-compact__cta { flex-shrink: 0; }
@media (max-width: 860px) {
	.nh-dns { grid-template-columns: 1fr; }
	.nh-dns__features { grid-template-columns: 1fr 1fr; }
	.nh-dns-plans { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
	.nh-dns-plans { grid-template-columns: 1fr; }
	.nh-dns__features { grid-template-columns: 1fr; }
	.nh-dns-compact { flex-direction: column; align-items: stretch; }
	.nh-dns-compact__cta { width: 100%; justify-content: center; }
}

/* ── ویجت محصولات (حالت‌های نمایش) ── */
.nh-pw .nh-grid--pw { grid-template-columns: repeat(var(--pw-cols, 4), minmax(0, 1fr)); }
@media (max-width: 1024px) { .nh-pw .nh-grid--pw { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px)  { .nh-pw .nh-grid--pw { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* کارت شاخص بزرگ (ویترین/اسپات‌لایت) — تصویر با نسبت ثابت، بدون کشیدگی */
.nh-pw-feat { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 20px; height: 100%; align-items: center; padding: 16px; border: 1px solid var(--np-line); border-radius: 24px; background: var(--np-card); box-shadow: var(--np-shadow); }
.nh-pw-feat__media { position: relative; display: block; aspect-ratio: 4/5; overflow: hidden; border-radius: 18px; background: var(--np-inner); }
.nh-pw-feat__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.nh-pw-feat:hover .nh-pw-feat__media img { transform: scale(1.05); }
.nh-pw-feat__off { position: absolute; top: 12px; right: 12px; padding: 4px 12px; border-radius: 999px; background: #ef4444; color: #fff; font-size: 11px; font-weight: 900; }
.nh-pw-feat__body { display: flex; min-width: 0; flex-direction: column; gap: 10px; }
.nh-pw-feat__cat { align-self: flex-start; padding: 3px 10px; border-radius: 99px; background: color-mix(in srgb, var(--np-g) 12%, transparent); color: var(--np-g); font-size: 11px; font-weight: 800; }
.nh-pw-feat__title { margin: 0; font-size: clamp(1.1rem, 2vw, 1.5rem); font-weight: 900; line-height: 1.5; }
.nh-pw-feat__title a { color: var(--np-text); }
.nh-pw-feat__title a:hover { color: var(--np-g); }
.nh-pw-feat__desc { margin: 0; color: var(--np-muted); font-size: 13px; line-height: 2; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nh-pw-feat__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 6px; }
.nh-pw-feat__foot .npb__amount b { font-size: 20px; }
@media (max-width: 560px) { .nh-pw-feat { grid-template-columns: 1fr; } .nh-pw-feat__media { aspect-ratio: 16/10; } .nh-pw-feat__btn { width: 100%; justify-content: center; } }

/* ویترین: کارت بزرگ + لیست کناری */
.nh-pw-showcase { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 16px; align-items: stretch; }
.nh-pw-showcase__list { display: flex; flex-direction: column; gap: 10px; }
@media (max-width: 860px) { .nh-pw-showcase { grid-template-columns: 1fr; } }

/* اسپات‌لایت: شاخص بزرگ بالا + گرید پایین */
.nh-pw-spot { display: flex; flex-direction: column; gap: 16px; }
.nh-pw-spot__grid .nh-grid { grid-template-columns: repeat(var(--pw-cols, 4), minmax(0, 1fr)); }
@media (max-width: 1024px) { .nh-pw-spot__grid .nh-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px)  { .nh-pw-spot__grid .nh-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* لیست فشرده / ردیف‌های ویترین */
.nh-pw-rows { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (max-width: 680px) { .nh-pw-rows { grid-template-columns: 1fr; } }
.nh-pw-row { display: flex; align-items: center; gap: 12px; padding: 10px; border: 1px solid var(--np-line); border-radius: 16px; background: var(--np-card); transition: border-color .2s, transform .2s; }
.nh-pw-row:hover { border-color: color-mix(in srgb, var(--np-g) 40%, transparent); transform: translateY(-2px); }
.nh-pw-row__img { display: block; flex-shrink: 0; width: 64px; height: 64px; overflow: hidden; border-radius: 12px; background: var(--np-inner); }
.nh-pw-row__img img { width: 100%; height: 100%; object-fit: cover; }
.nh-pw-row__txt { display: flex; min-width: 0; flex: 1; flex-direction: column; gap: 2px; }
.nh-pw-row__txt strong { overflow: hidden; color: var(--np-text); font-size: 13.5px; font-weight: 800; line-height: 1.6; text-overflow: ellipsis; white-space: nowrap; }
.nh-pw-row__txt small { color: var(--np-muted); font-size: 11px; }
.nh-pw-row__price { flex-shrink: 0; }
.nh-pw-row__price .npb__amount b { font-size: 15px; }
.nh-pw-row__price .npb__off { min-width: 32px; height: 24px; font-size: 10px; }
.nh-pw-showcase__list .nh-pw-row { flex: 1; }
