/**
 * صفحه‌ی محصول — طرحِ «ویترین» (۰.۷۵).
 *
 * دو بخش:
 *
 *  ۱. ویجت‌های تازه (نشان‌ها، ویژگی‌ها، مزیت‌ها، مشخصات، زبانه‌ها، نوار خرید):
 *     فقط چیدمان و اندازه. طبقِ قانونِ ۶ هیچ جعبه‌ای زمینه‌ی پیش‌فرض ندارد.
 *
 *  ۲. پوسته‌ی «ویترین»: هر چه رنگ و سطح است، فقط داخلِ کانتینرهایی که
 *     NB_T_Product_Template کلاسِ `nb-pp…` رویشان می‌گذارد. ویجتی که بیرونِ آن
 *     قالب گذاشته شود ساده می‌ماند.
 *
 * وزنِ انتخابگرها عمداً از CSSِ خودِ المنتور (`.elementor-ID .elementor-element
 * .elementor-element-XXXX …`، چهار کلاس) کمتر مانده: هر چه مالک در پنلِ المنتور
 * تنظیم کند برنده است. استثناها جایی‌اند که CSSِ پایه‌ی یک ویجتِ قدیمی خودش
 * چهار کلاس دارد (سواچ‌ها) یا متنِ توضیحات style درون‌خطی دارد (!important).
 */

/* ==========================================================================
   ۱. ویجت‌ها — چیدمان
   ========================================================================== */

/* ---------- نشان‌ها ---------- */

.nb-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.nb-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 28px;
	padding: 0 11px;
	border-radius: 999px;
	background: rgba( 255, 255, 255, .07 );
	font-size: 12px;
	line-height: 20px;
	color: rgba( 255, 255, 255, .85 );
	text-decoration: none;
	white-space: nowrap;
}

.nb-chip--tint {
	background: color-mix( in srgb, var( --c, #3b82f6 ) 17%, transparent );
	color: color-mix( in srgb, var( --c, #3b82f6 ) 55%, #fff );
}

.nb-chip svg {
	flex: none;
}

/* ---------- آیکونِ رنگیِ مشترک ---------- */

.nb-pf__ic,
.nb-trust__ic,
.nb-specs__ic {
	flex: none;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 10px;
	background: color-mix( in srgb, var( --c, #3b82f6 ) 18%, transparent );
	color: color-mix( in srgb, var( --c, #3b82f6 ) 70%, #fff );
}

/* ---------- ویژگی‌ها ---------- */

.nb-pf__text > :first-child {
	margin-top: 0;
}

.nb-pf__text > :last-child {
	margin-bottom: 0;
}

.nb-pf__list {
	display: grid;
	grid-template-columns: repeat( var( --nb-pf-cols, 2 ), minmax( 0, 1fr ) );
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nb-pf__text + .nb-pf__list {
	margin-top: 16px;
}

.nb-pf__item {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	padding: 8px 10px;
	border-radius: 14px;
}

.nb-pf__tx {
	min-width: 0;
}

.nb-pf__tx b {
	display: block;
	font-size: 13px;
	font-weight: 400;
	line-height: 21px;
}

.nb-pf__tx small {
	display: block;
	font-size: 11.5px;
	line-height: 18px;
	color: var( --nb-text-muted, #98a2b3 );
}

/* ---------- مزیت‌های خرید ---------- */

.nb-trust {
	margin: 0;
	padding: 0;
	list-style: none;
}

.nb-trust__tx {
	min-width: 0;
}

.nb-trust--tiles {
	display: grid;
	grid-template-columns: repeat( var( --nb-trust-cols, 4 ), minmax( 0, 1fr ) );
	gap: 10px;
}

.nb-trust--tiles .nb-trust__item {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
	padding: 12px 14px;
	border-radius: 18px;
}

.nb-trust--tiles .nb-trust__ic {
	width: 38px;
	height: 38px;
	border-radius: 12px;
	background: var( --c, #3b82f6 );
	color: #fff;
	box-shadow: 0 8px 18px -8px var( --c, #3b82f6 );
}

.nb-trust--tiles b {
	display: block;
	font-size: 13.5px;
	font-weight: 700;
	line-height: 21px;
}

.nb-trust--tiles small {
	display: block;
	font-size: 12px;
	line-height: 20px;
	color: var( --nb-text-muted, #98a2b3 );
}

.nb-trust--list {
	display: grid;
	gap: 6px;
}

.nb-trust--list .nb-trust__item {
	display: flex;
	align-items: center;
	gap: 10px;
}

.nb-trust--list .nb-trust__tx {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.nb-trust--list b {
	font-size: 12.5px;
	font-weight: 400;
	line-height: 20px;
	white-space: nowrap;
}

.nb-trust--list small {
	font-size: 11.5px;
	line-height: 20px;
	color: var( --nb-text-muted, #98a2b3 );
	text-align: end;
}

/* ---------- عنوانِ داخلِ ویجت (مشخصات) ---------- */

.nb-pui__head {
	display: flex;
	align-items: center;
	margin: 0 0 12px;
}

.nb-pui__title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: 17px;
	font-weight: 700;
	line-height: 28px;
	color: var( --nb-text, #ededed );
}

.nb-pui__title::before {
	content: "";
	flex: none;
	width: 9px;
	height: 9px;
	border-radius: 3px;
	background: linear-gradient( 135deg, var( --nb-accent, #720eec ) 0%, #5b5bf6 55%, #3b82f6 100% );
	box-shadow: 0 0 12px color-mix( in srgb, var( --nb-accent, #720eec ) 70%, transparent );
}

/* ---------- مشخصات ---------- */

.nb-specs {
	margin: 0;
	padding: 0;
	list-style: none;
}

.nb-specs__tx {
	min-width: 0;
}

.nb-specs__tx small {
	display: block;
	font-size: 11.5px;
	line-height: 19px;
	color: var( --nb-text-muted, #98a2b3 );
}

.nb-specs__tx b {
	display: block;
	font-size: 13px;
	font-weight: 400;
	line-height: 22px;
	overflow-wrap: anywhere;
}

.nb-specs__tx b a {
	color: inherit;
	text-decoration: none;
}

.nb-specs--tiles {
	display: grid;
	grid-template-columns: repeat( var( --nb-specs-cols, 2 ), minmax( 0, 1fr ) );
	gap: 8px;
}

.nb-specs--tiles .nb-specs__item {
	min-width: 0;
	padding: 11px;
	border-radius: 15px;
}

.nb-specs--tiles .nb-specs__ic {
	margin-bottom: 8px;
}

.nb-specs--rows {
	display: grid;
	gap: 2px;
}

.nb-specs--rows .nb-specs__item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 0;
}

.nb-specs--rows .nb-specs__tx {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.nb-specs--rows .nb-specs__tx small {
	font-size: 13px;
}

/* ---------- زبانه‌ها ---------- */

.nb-pt__bar {
	display: flex;
	gap: 6px;
	width: max-content;
	max-width: 100%;
	padding: 6px;
	border-radius: 16px;
}

.nb-pt__tab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 38px;
	padding: 0 16px;
	border: 0;
	border-radius: 12px;
	background: none;
	font: inherit;
	font-size: 13.5px;
	line-height: 22px;
	color: var( --nb-text-muted, #98a2b3 );
	white-space: nowrap;
	cursor: pointer;
	transition: background .18s ease, color .18s ease;
}

.nb-pt__tab.is-on {
	color: #fff;
}

.nb-pt__panel {
	margin-top: 16px;
}

.nb-pt__panel[hidden],
.nb-pt__bar[hidden] {
	display: none;
}

/* تنها قاب (محصولِ بی‌توضیحات): عنوانِ خودش را دارد، فاصله‌ی زیرِ نوار لازم نیست. */
.nb-pt__panel--only {
	margin-top: 0;
}

/* زبانه‌ی «مشخصات» یا «سوالات» باز است: توضیحات (ویجتِ بعدی) کنار می‌رود. */
[data-nb-tab]:not( [data-nb-tab="desc"] ) > .elementor-widget-woocommerce-product-content {
	display: none;
}

.nb-pt__specs {
	display: grid;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nb-pt__specs li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 11px 14px;
	border-radius: 14px;
}

.nb-pt__specs span {
	flex: none;
	font-size: 13px;
	line-height: 22px;
	color: var( --nb-text-muted, #98a2b3 );
}

.nb-pt__specs b {
	font-size: 13.5px;
	font-weight: 400;
	line-height: 22px;
	text-align: end;
}

.nb-pt__specs b a {
	color: inherit;
	text-decoration: none;
}

/* ---------- سوالات متداول ---------- */

.nb-faq {
	display: grid;
	gap: 8px;
}

.nb-faq__item {
	border-radius: 16px;
}

.nb-faq__q {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 13px 14px;
	border: 0;
	background: none;
	font: inherit;
	font-size: 14.5px;
	font-weight: 700;
	line-height: 24px;
	color: inherit;
	text-align: start;
	cursor: pointer;
}

.nb-faq__n {
	flex: none;
	display: grid;
	place-items: center;
	width: 26px;
	height: 26px;
	border-radius: 8px;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
}

.nb-faq__t {
	flex: 1;
	min-width: 0;
}

.nb-faq__q svg {
	flex: none;
	color: var( --nb-text-muted, #98a2b3 );
	transition: transform .2s ease;
}

.nb-faq__item:not( .is-open ) .nb-faq__q svg {
	transform: rotate( 90deg );
}

.nb-faq__a {
	padding: 0 16px 14px;
	padding-inline-start: 50px;
}

.nb-faq__item:not( .is-open ) .nb-faq__a {
	display: none;
}

.nb-faq__a > :first-child {
	margin-top: 0 !important;
}

.nb-faq__a > :last-child {
	margin-bottom: 0 !important;
}

/* ---------- ستاره‌ها ----------
   پنج ستاره با ماسک؛ پُرشدگی از --v (۰ تا ۵) می‌آید و کسری هم می‌شود. */

.nb-stars {
	--v: 0;
	flex: none;
	display: inline-block;
	width: 86px;
	height: 15px;
	background: rgba( 255, 255, 255, .16 );
	-webkit-mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2.6 2.9 5.9 6.5.9-4.7 4.6 1.1 6.5L12 17.4l-5.8 3.1 1.1-6.5L2.6 9.4l6.5-.9z'/%3E%3C/svg%3E" ) 0 0 / 17.2px 15px repeat-x;
	mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2.6 2.9 5.9 6.5.9-4.7 4.6 1.1 6.5L12 17.4l-5.8 3.1 1.1-6.5L2.6 9.4l6.5-.9z'/%3E%3C/svg%3E" ) 0 0 / 17.2px 15px repeat-x;
}

.nb-stars i {
	display: block;
	width: calc( var( --v ) / 5 * 100% );
	height: 100%;
	background: #fbbf24;
}

/* ---------- کارت پشتیبانی ---------- */

.nb-sup__top {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.nb-sup__ic {
	flex: none;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 12px;
	background: color-mix( in srgb, #229ed9 20%, transparent );
	color: #7dd3fc;
}

.nb-sup__tx b {
	display: block;
	font-size: 14.5px;
	font-weight: 700;
	line-height: 24px;
}

.nb-sup__tx small {
	display: block;
	font-size: 12.5px;
	line-height: 21px;
	color: var( --nb-text-muted, #98a2b3 );
}

.nb-sup__btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 42px;
	margin-top: 12px;
	padding: 0 12px;
	overflow: hidden;
	border-radius: 13px;
	background: rgba( 255, 255, 255, .08 );
	font-size: 13px;
	line-height: 22px;
	color: #fff;
	text-decoration: none;
	transition: filter .18s ease;
}

.nb-sup__btn:hover {
	color: #fff;
	filter: brightness( 1.08 );
}

.nb-sup__btn--tg {
	background: linear-gradient( 135deg, #37aee2 0%, #1e96c8 100% );
	box-shadow: 0 12px 22px -14px #229ed9;
}

.nb-sup__btn--wa {
	background: linear-gradient( 135deg, #2ad66b 0%, #12a150 100% );
	box-shadow: 0 12px 22px -14px #25d366;
}

.nb-sup__btn svg {
	flex: none;
	transition: transform .28s cubic-bezier( .3, 1.4, .5, 1 );
}

.nb-sup__btn--tg:hover svg {
	transform: translate( 3px, -3px ) rotate( -8deg );
}

/* ---------- نظرات ---------- */

.nb-rvw .nb-pui__head {
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
}

.nb-rvw__count {
	font-size: 12.5px;
	line-height: 22px;
	color: var( --nb-text-muted, #98a2b3 );
}

.nb-rvw__grid {
	display: grid;
	grid-template-columns: 250px minmax( 0, 1fr );
	align-items: start;
	gap: 18px;
}

.nb-rvw__sum {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 18px 16px;
	border-radius: 18px;
	text-align: center;
}

.nb-rvw__avg {
	display: flex;
	align-items: baseline;
	gap: 6px;
}

.nb-rvw__avg b {
	font-size: 40px;
	font-weight: 800;
	line-height: 48px;
}

.nb-rvw__avg span,
.nb-rvw__based {
	font-size: 12.5px;
	line-height: 21px;
	color: var( --nb-text-muted, #98a2b3 );
}

.nb-rvw__sum > .nb-stars {
	width: 110px;
	height: 19px;
	-webkit-mask-size: 22px 19px;
	mask-size: 22px 19px;
}

.nb-rvw__badge {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	border-radius: 18px;
	background: color-mix( in srgb, #fbbf24 16%, transparent );
	color: #fbbf24;
}

.nb-rvw__zero {
	font-size: 14.5px;
	font-weight: 700;
	line-height: 26px;
}

.nb-rvw__bars {
	align-self: stretch;
	display: grid;
	gap: 6px;
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
}

.nb-rvw__bars li {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	line-height: 18px;
	color: var( --nb-text-muted, #98a2b3 );
}

.nb-rvw__bars span {
	min-width: 8px;
	text-align: center;
}

.nb-rvw__bars svg {
	flex: none;
	color: #fbbf24;
	fill: currentColor;
}

.nb-rvw__bars i {
	flex: 1;
	height: 6px;
	overflow: hidden;
	border-radius: 999px;
	background: rgba( 255, 255, 255, .08 );
}

.nb-rvw__bars i b {
	display: block;
	height: 100%;
	border-radius: 999px;
	background: #fbbf24;
}

.nb-rvw__bars em {
	min-width: 18px;
	font-style: normal;
	text-align: end;
}

.nb-rvw__write {
	align-self: stretch;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	margin-top: 12px;
	padding: 0 12px;
	border: 0;
	border-radius: 14px;
	background: rgba( 255, 255, 255, .08 );
	font: inherit;
	font-size: 13px;
	line-height: 22px;
	color: #fff;
	cursor: pointer;
	transition: background .18s ease;
}

.nb-rvw__write:hover {
	background: rgba( 255, 255, 255, .14 );
}

.nb-rvw__main {
	min-width: 0;
}

.nb-rvw__form,
.nb-rvw__gate {
	margin-bottom: 14px;
	padding: 16px;
	border-radius: 18px;
}

.nb-rvw__label {
	display: block;
	margin: 0 0 8px;
	font-size: 12.5px;
	line-height: 20px;
	color: var( --nb-text-muted, #98a2b3 );
}

.nb-rvw__rate-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
}

.nb-rvw__rate-row .nb-rvw__label {
	margin: 0;
}

/* DOM از ۵ به ۱ است و row-reverse در راست‌به‌چپ ستاره‌ی ۱ را سمتِ راست می‌گذارد؛
   «انتخاب‌شده و هر چه بعدش در DOM است» یعنی همان ستاره و کم‌ترها. */
.nb-rvw__rate {
	display: inline-flex;
	flex-direction: row-reverse;
	gap: 2px;
}

.nb-rvw__rate input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.nb-rvw__rate label {
	display: grid;
	place-items: center;
	margin: 0;
	padding: 2px;
	color: rgba( 255, 255, 255, .22 );
	cursor: pointer;
	transition: color .12s ease, transform .12s ease;
}

.nb-rvw__rate label:hover,
.nb-rvw__rate label:hover ~ label,
.nb-rvw__rate input:checked ~ label {
	color: #fbbf24;
}

.nb-rvw__rate label:hover svg,
.nb-rvw__rate label:hover ~ label svg,
.nb-rvw__rate input:checked ~ label svg {
	fill: currentColor;
}

.nb-rvw__rate label:active {
	transform: scale( .9 );
}

.nb-rvw__rate input:focus-visible + label {
	border-radius: 8px;
	box-shadow: 0 0 0 2px rgba( 255, 255, 255, .3 );
}

.nb-rvw__rate-text {
	font-size: 13px;
	line-height: 22px;
	color: #fbbf24;
}

.nb-rvw__form textarea {
	display: block;
	width: 100%;
	min-height: 104px;
	padding: 12px 14px;
	border: 0;
	border-radius: 14px;
	background: rgba( 255, 255, 255, .06 );
	box-shadow: none;
	font: inherit;
	font-size: 13.5px;
	line-height: 26px;
	color: #fff;
	resize: vertical;
}

.nb-rvw__form textarea:focus {
	outline: none;
	box-shadow: 0 0 0 3px rgba( 255, 255, 255, .14 );
}

.nb-rvw__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 12px;
}

.nb-rvw__foot small {
	font-size: 12px;
	line-height: 20px;
	color: var( --nb-text-muted, #98a2b3 );
}

.nb-rvw__send,
.nb-rvw__gate-btn {
	flex: none;
	min-height: 44px;
	padding: 0 22px;
	border: 0;
	border-radius: 14px;
	background: linear-gradient( 135deg, var( --nb-accent, #720eec ) 0%, #5b5bf6 55%, #3b82f6 100% );
	box-shadow: 0 14px 26px -14px #5b5bf6;
	font: inherit;
	font-size: 13.5px;
	font-weight: 700;
	line-height: 22px;
	color: #fff;
	cursor: pointer;
	transition: filter .18s ease;
}

.nb-rvw__send:hover,
.nb-rvw__gate-btn:hover {
	filter: brightness( 1.08 );
}

.nb-rvw__send[disabled] {
	opacity: .6;
	cursor: progress;
}

.nb-rvw__msg {
	margin: 12px 0 0;
	padding: 10px 12px;
	border-radius: 13px;
	background: color-mix( in srgb, #22c55e 14%, transparent );
	font-size: 13px;
	line-height: 22px;
	color: #86efac;
}

.nb-rvw__msg.is-error {
	background: color-mix( in srgb, #ef4444 14%, transparent );
	color: #fca5a5;
}

.nb-rvw__msg[hidden] {
	display: none;
}

.nb-rvw__gate {
	display: flex;
	align-items: center;
	gap: 12px;
}

.nb-rvw__gate > div {
	flex: 1;
	min-width: 0;
}

.nb-rvw__gate-ic {
	flex: none;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 14px;
	background: color-mix( in srgb, #8b5cf6 20%, transparent );
	color: #c4b5fd;
}

.nb-rvw__gate b {
	display: block;
	font-size: 14px;
	font-weight: 700;
	line-height: 24px;
}

.nb-rvw__gate small {
	display: block;
	font-size: 12.5px;
	line-height: 21px;
	color: var( --nb-text-muted, #98a2b3 );
}

.nb-rvw__list {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nb-rvw__item {
	padding: 14px 16px;
	border-radius: 18px;
}

.nb-rvw__item[hidden] {
	display: none;
}

.nb-rvw__top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.nb-rvw__ava {
	flex: none;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: linear-gradient( 135deg, var( --nb-accent, #720eec ) 0%, #5b5bf6 55%, #3b82f6 100% );
	font-size: 16px;
	font-weight: 700;
	color: #fff;
}

.nb-rvw__who {
	min-width: 0;
	margin-inline-end: auto;
}

.nb-rvw__who b {
	display: block;
	font-size: 13.5px;
	font-weight: 700;
	line-height: 22px;
}

.nb-rvw__who small {
	display: block;
	font-size: 11.5px;
	line-height: 18px;
	color: var( --nb-text-muted, #98a2b3 );
}

.nb-rvw__text {
	margin-top: 10px;
	font-size: 13.8px;
	line-height: 28px;
	color: #c5cedb;
}

.nb-rvw__text p {
	margin: 0 0 6px;
}

.nb-rvw__text p:last-child {
	margin-bottom: 0;
}

.nb-rvw__reply {
	margin-top: 12px;
	padding: 12px 14px;
	border-radius: 14px;
}

.nb-rvw__reply .nb-rvw__text {
	margin-top: 8px;
}

.nb-rvw__empty {
	margin: 0;
	padding: 22px 16px;
	border-radius: 18px;
	font-size: 13px;
	line-height: 24px;
	color: var( --nb-text-muted, #98a2b3 );
	text-align: center;
}

.nb-rvw__more {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 40px;
	margin: 12px auto 0;
	padding: 0 18px;
	border: 0;
	border-radius: 999px;
	background: rgba( 255, 255, 255, .08 );
	font: inherit;
	font-size: 13px;
	line-height: 22px;
	color: #fff;
	cursor: pointer;
	transition: background .18s ease;
}

.nb-rvw__more:hover {
	background: rgba( 255, 255, 255, .14 );
}

@media ( max-width: 767px ) {

	.nb-rvw__grid {
		grid-template-columns: minmax( 0, 1fr );
		gap: 12px;
	}

	.nb-rvw__gate {
		flex-wrap: wrap;
	}

	.nb-rvw__gate-btn {
		width: 100%;
	}

	.nb-rvw__foot {
		flex-direction: column;
		align-items: stretch;
	}
}

/* ---------- نوار خرید چسبان ---------- */

.nb-bb {
	display: none;
}

.nb-bb--static {
	display: flex;
}

.nb-bb__info {
	min-width: 0;
}

.nb-bb__pick {
	display: block;
	max-width: 42vw;
	overflow: hidden;
	font-size: 11px;
	line-height: 17px;
	color: var( --nb-text-muted, #98a2b3 );
	text-overflow: ellipsis;
	white-space: nowrap;
}

.nb-bb__pick:empty {
	display: none;
}

.nb-bb__price {
	display: flex;
	align-items: baseline;
	gap: 5px;
	white-space: nowrap;
}

.nb-bb__num {
	min-width: 1.34em;
	font-size: 19px;
	font-weight: 800;
	line-height: 28px;
}

.nb-bb__suf {
	font-size: 12px;
	color: var( --nb-text-muted, #98a2b3 );
}

.nb-bb__cta {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 48px;
	padding: 0 14px;
	border: 0;
	border-radius: 15px;
	background: linear-gradient( 135deg, var( --nb-accent, #720eec ) 0%, #5b5bf6 55%, #3b82f6 100% );
	box-shadow: 0 14px 26px -14px #5b5bf6;
	font: inherit;
	font-size: 14.5px;
	font-weight: 700;
	line-height: 22px;
	color: #fff;
	cursor: pointer;
}

/* جای خودِ ویجت در کانتینر صفر است؛ نوار با position: fixed بیرون می‌زند. */
.elementor-widget-nb-buy-bar:not( :has( .nb-bb--static ) ) {
	position: absolute;
	width: 0;
	height: 0;
	margin: 0;
	overflow: visible;
}

@media ( max-width: 767px ) {

	/*
	 * اگر نوارِ پایینیِ موبایل (میان‌برها) روشن باشد، این نوار بالای آن
	 * می‌نشیند: `--nb-mb-space` را mobile-bar.css روی body می‌گذارد و بی‌آن
	 * صفر است. لبه‌ی امنِ گوشی فقط وقتی حساب می‌شود که خودش تهِ صفحه باشد.
	 */
	.nb-bb {
		position: fixed;
		inset: auto 0 var( --nb-mb-space, 0px ) 0;
		z-index: 840;
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 10px 14px calc( 12px + max( 0px, env( safe-area-inset-bottom, 0px ) - var( --nb-mb-space, 0px ) ) );
		background: color-mix( in srgb, #031327 92%, transparent );
		-webkit-backdrop-filter: blur( 14px );
		backdrop-filter: blur( 14px );
		box-shadow: 0 -18px 30px -18px rgba( 0, 0, 0, .9 );
	}

	.nb-bb--static {
		position: static;
	}

	/* تهِ صفحه زیرِ نوار نماند. */
	body:has( .nb-bb:not( .nb-bb--static ) ),
	body.nb-has-bb {
		padding-bottom: calc( 76px + var( --nb-mb-space, 0px ) + env( safe-area-inset-bottom, 0px ) );
	}

	/* نوارِ چسبانِ قدیمیِ قالب، اگر پیش از این ویجت ساخته شده باشد. */
	body:has( .nb-bb:not( .nb-bb--static ) ) .nb-atc-bar,
	body.nb-has-bb .nb-atc-bar {
		display: none;
	}
}

/* ==========================================================================
   ۲. پوسته‌ی «ویترین»
   ========================================================================== */

.nb-pp {
	--nb-pp-card: #031327;
	--nb-pp-soft: rgba( 255, 255, 255, .045 );
	--nb-pp-muted: #98a2b3;
	--nb-pp-grad: linear-gradient( 135deg, var( --nb-accent, #720eec ) 0%, #5b5bf6 55%, #3b82f6 100% );
}

/* ---------- مسیر ----------
   ۰.۷۵.۴ — «اصلاً استایل ندارد»: یک نوارِ هم‌خانواده‌ی کارت‌ها. خانه با نشانِ
   رنگی، جداکننده‌ها پیکانِ کوچک، برگه‌ی فعلی سفید و در یک خط. */

.nb-pp .nb-crumbs {
	flex-wrap: nowrap;
	gap: 6px;
	min-height: 46px;
	margin: 0;
	padding: 8px 14px;
	overflow: hidden;
	border-radius: 16px;
	background: var( --nb-pp-card );
	font-size: 12.5px;
	line-height: 22px;
	color: var( --nb-pp-muted );
}

.nb-pp .nb-crumbs a {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 4px 8px;
	border-radius: 9px;
	color: inherit;
	white-space: nowrap;
	transition: background .15s ease, color .15s ease;
}

.nb-pp .nb-crumbs a:hover {
	background: rgba( 255, 255, 255, .06 );
	color: #fff;
}

.nb-pp .nb-crumbs a:first-child {
	padding-inline-start: 0;
}

.nb-pp .nb-crumbs a:first-child:hover {
	background: none;
}

.nb-pp .nb-crumbs a:first-child::before {
	content: "";
	flex: none;
	width: 30px;
	height: 30px;
	border-radius: 10px;
	background:
		url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c4b5fd' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11 12 4.5 20 11v8.5h-5.500V14h-5v5.500H4z'/%3E%3C/svg%3E" ) center / 16px no-repeat,
		color-mix( in srgb, var( --nb-accent, #720eec ) 24%, transparent );
}

.nb-pp .nb-crumbs__sep {
	flex: none;
	width: 14px;
	height: 14px;
	overflow: hidden;
	background: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2398a2b3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m14.5 6.500-5.500 5.500 5.500 5.500'/%3E%3C/svg%3E" ) center / 14px no-repeat;
	font-size: 0;
	opacity: .55;
}

.nb-pp .nb-crumbs__current {
	min-width: 0;
	padding: 4px 8px;
	overflow: hidden;
	color: #fff;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* ---------- معرفی: عکس | متن | جعبه‌ی خرید ---------- */

.elementor .e-con.nb-pp-hero {
	position: relative;
	display: grid;
	grid-template-columns: 380px minmax( 0, 1fr ) 344px;
	align-items: start;
	gap: 26px;
	padding: 22px;
	overflow: hidden;
	isolation: isolate;
	border-radius: 26px;
	background: var( --nb-pp-card );
}

.elementor .e-con.nb-pp-hero > .e-con {
	width: auto;
	min-width: 0;
}

/*
 * هاله‌ی رنگی از خودِ عکسِ محصول. نشانیِ عکس را گالری روی `.nb-gal` در
 * `--nb-gal-img` می‌گذارد (صفتِ style، نه تگِ <style>، تا لایت‌اسپید آن را به
 * فایلِ ترکیبی نبرد). ::before هاله‌ی پشتِ کلِ معرفی است و ::after سایه‌ی
 * رنگیِ زیرِ عکس؛ هر دو z-index منفی دارند و `isolation` روی معرفی آن‌ها را
 * بالای زمینه و زیرِ محتوا نگه می‌دارد.
 */
.nb-pp-pic .nb-gal {
	position: relative;
}

.nb-pp-pic .nb-gal::before,
.nb-pp-pic .nb-gal::after {
	content: "";
	position: absolute;
	z-index: -1;
	background: var( --nb-gal-img ) center / cover no-repeat;
	pointer-events: none;
}

.nb-pp-pic .nb-gal::before {
	top: -25%;
	right: -50%;
	bottom: -25%;
	left: -85%;
	filter: blur( 90px ) saturate( 1.5 );
	opacity: .36;
}

.nb-pp-pic .nb-gal::after {
	top: 14%;
	right: 8%;
	bottom: -5%;
	left: 8%;
	filter: blur( 32px ) saturate( 1.4 );
	opacity: .5;
}

.nb-pp-pic .nb-gal__main,
.nb-pp-pic .nb-gal__img {
	border-radius: 22px;
}

.elementor .e-con.nb-pp-info {
	padding-top: 6px;
}

.nb-pp-info .nb-chips {
	margin-bottom: 12px;
}

.nb-pp .nb-pp-info .product_title.product_title {
	margin: 0;
	font-size: 27px;
	font-weight: 800;
	line-height: 42px;
	color: #fff;
}

/* عنوانِ بلند یک پله کوچک‌تر (کلاس را NB_T_Product_Template::title_size می‌گذارد). */
.nb-pp .nb-pp-info .nb-title--m .product_title.product_title {
	font-size: 24px;
	line-height: 38px;
}

.nb-pp .nb-pp-info .nb-title--l .product_title.product_title {
	font-size: 22px;
	line-height: 36px;
}

.nb-pp .nb-pp-info .nb-title--xl .product_title.product_title {
	font-size: 20px;
	line-height: 32px;
}

.nb-pp-info .nb-product-subtitle {
	margin: 0 0 12px;
	font-size: 14px;
	line-height: 24px;
	letter-spacing: .3px;
}

.nb-pp-info .nb-pf__text {
	font-size: 14.5px;
	line-height: 30px;
	color: #c5cedb;
}

.nb-pp-info .nb-pf__text p {
	margin: 0 0 8px !important;
}

.nb-pp .nb-pf__item {
	background: var( --nb-pp-soft );
}

.nb-pp-info .nb-product-note {
	margin: 12px 0 0;
}

/* ---------- جعبه‌ی خرید ---------- */

.elementor .e-con.nb-pp-buy {
	padding: 18px;
	border-radius: 22px;
	background: rgba( 255, 255, 255, .055 );
	-webkit-backdrop-filter: blur( 18px );
	backdrop-filter: blur( 18px );
	box-shadow: inset 0 1px 0 rgba( 255, 255, 255, .07 ), 0 30px 50px -34px #000;
}

/* «قیمت» راست، عدد و واحد چپ؛ قیمتِ خط‌خورده پیش از عدد. */
.nb-pp-buy .nb-lp {
	flex-wrap: nowrap;
	align-items: baseline;
	gap: 6px;
}

.nb-pp-buy .nb-lp__now {
	display: contents;
}

.nb-pp-buy .nb-lp__pre {
	order: 0;
	margin-inline-end: auto;
	font-size: 12.5px;
	font-weight: 400;
	color: var( --nb-pp-muted );
}

.nb-pp-buy .nb-lp__old {
	order: 1;
	font-size: 13px;
}

.nb-pp-buy .nb-lp__num {
	order: 2;
	font-size: 28px;
	font-weight: 800;
	line-height: 38px;
	letter-spacing: -.3px;
	color: #fff;
	white-space: nowrap;
}

.nb-pp-buy .nb-lp__suf {
	order: 3;
	font-size: 13px;
	font-weight: 400;
	color: var( --nb-pp-muted );
}

.nb-pp-buy .nb-lp.is-empty .nb-lp__now {
	display: block;
	font-size: 13px;
}

/* گزینه‌ها: برچسب راست، گزینه‌ی انتخاب‌شده چپ (product-ui.js در data-picked می‌گذارد). */
.nb-pp-buy .nb-atc table.variations {
	margin: 14px 0 0;
}

.nb-pp-buy .nb-atc table.variations tr + tr {
	margin-top: 14px;
}

/* ۰.۷۵.۹ — برچسب و گزینه‌ی انتخاب‌شده کنارِ هم: «نوع اشتراک: ساب تیر ۳» (خواستِ مالک؛ پیش‌تر دو سرِ ردیف بودند). */
.nb-pp-buy .nb-atc table.variations th.label {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 0 6px;
	margin-bottom: 8px;
}

.nb-pp-buy .nb-atc table.variations th.label[data-picked]:not( [data-picked=""] ) label::after {
	content: ":";
}

.nb-pp .nb-pp-buy .nb-atc table.variations th.label label {
	font-size: 12.5px;
	font-weight: 400;
	line-height: 20px;
	color: var( --nb-pp-muted );
}

.nb-pp-buy .nb-atc table.variations th.label::after {
	content: attr( data-picked );
	font-size: 12.5px;
	font-weight: 400;
	line-height: 20px;
	color: #fff;
}

.nb-pp-buy .nb-atc .nb-swatches {
	gap: 7px;
}

.nb-pp .nb-pp-buy .nb-atc .nb-swatches .nb-swatch {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 6px 12px;
	border: 0;
	border-radius: 13px;
	background: rgba( 255, 255, 255, .06 );
	box-shadow: none;
	font-size: 13px;
	font-weight: 400;
	line-height: 20px;
	color: rgba( 255, 255, 255, .85 );
	opacity: 1;
}

.nb-pp .nb-pp-buy .nb-atc .nb-swatches .nb-swatch:hover:not( .is-active ) {
	background: rgba( 255, 255, 255, .11 );
}

.nb-pp .nb-pp-buy .nb-atc .nb-swatches .nb-swatch.is-active {
	background: var( --nb-pp-grad );
	box-shadow: 0 10px 22px -12px #5b5bf6;
	color: #fff;
}

/* گزینه‌ای که با انتخابِ فعلی جور نیست پنهان می‌ماند (همان رفتارِ atc.css؛ display بالا آن را برگردانده بود). */
.nb-pp .nb-pp-buy .nb-atc .nb-swatches .nb-swatch.is-disabled {
	display: none;
}

.nb-pp .nb-pp-buy .nb-atc .nb-swatches .nb-swatch:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba( 255, 255, 255, .18 );
}

.nb-pp-buy .nb-atc .single_variation_wrap,
.nb-pp-buy .nb-atc form.cart:not( .variations_form ) {
	margin-top: 16px;
}

/* ووکامرس زیرِ فرم ۲em جا می‌گذارد؛ این‌جا دکمه‌های بعدی درست زیرِ دکمه‌ی خریدند. */
.nb-pp .nb-pp-buy .nb-atc form.cart {
	margin-bottom: 0;
}

.nb-pp-buy .nb-atc .single_add_to_cart_button {
	width: 100%;
	min-height: 54px;
	border-radius: 16px;
	background: var( --nb-pp-grad );
	box-shadow: 0 16px 30px -14px #5b5bf6;
	font-size: 15.5px;
	font-weight: 700;
	color: #fff;
}

/* آیکونِ دکمه: SVGِ قالبِ ووکامرس رنگش را از stroke والد می‌گیرد. */
.nb-pp-buy .nb-atc .single_add_to_cart_button .elm_a2c_i {
	display: inline-flex;
	stroke: currentColor;
}

.nb-pp-buy .nb-atc .single_add_to_cart_button .elm_a2c_i svg {
	width: 20px;
	height: 20px;
	stroke: currentColor;
}

.nb-pp-buy .nb-atc .single_add_to_cart_button:hover {
	background: var( --nb-pp-grad );
	box-shadow: 0 18px 34px -12px #5b5bf6;
	filter: brightness( 1.08 );
}

.nb-pp-buy .nb-atc .single_add_to_cart_button.disabled,
.nb-pp-buy .nb-atc .single_add_to_cart_button.wc-variation-selection-needed,
.nb-pp-buy .nb-atc .single_add_to_cart_button[disabled] {
	background: rgba( 255, 255, 255, .07 );
	box-shadow: none;
	filter: none;
	color: rgba( 255, 255, 255, .6 );
}

/*
 * فیلدهای سفارشیِ محصول (ایمیل، شناسه، …): بی‌کادر، همان سطحِ سواچ‌ها.
 * مقدارها از همان متغیرهای ویجت خوانده می‌شوند تا تنظیمِ المنتور هنوز کار
 * کند؛ خودِ ویژگی‌ها لازم‌اند چون theme.css ورودی‌های فرمِ ووکامرس را با وزنِ
 * بیشتری رنگ می‌کند.
 */
.nb-pp .nb-pp-buy .nb-atc .nb-cf {
	margin: 14px 0 0;
}

.nb-pp .nb-pp-buy .nb-atc .nb-cf .nb-cf__label {
	font-size: 12.5px;
	font-weight: 400;
	color: var( --nb-cf-label-color, var( --nb-pp-muted ) );
}

.nb-pp .nb-pp-buy .nb-atc .nb-cf input.nb-cf__input,
.nb-pp .nb-pp-buy .nb-atc .nb-cf select.nb-cf__input,
.nb-pp .nb-pp-buy .nb-atc .nb-cf textarea.nb-cf__input {
	min-height: 42px;
	border: 0;
	border-radius: var( --nb-cf-radius, 13px );
	background: var( --nb-cf-input-bg, rgba( 255, 255, 255, .06 ) );
	box-shadow: none;
	color: var( --nb-cf-input-color, #fff );
}

.nb-pp .nb-pp-buy .nb-atc .nb-cf .nb-cf__input:focus {
	box-shadow: 0 0 0 3px rgba( 255, 255, 255, .14 );
	outline: none;
}

/* «سوال دارم» و «علاقه‌مندی» زیرِ دکمه‌ی خرید. */
.nb-pp-buy .nb-acts {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 0, 1fr ) );
	gap: 8px;
	margin-top: 8px;
}

.nb-pp-buy .nb-acts .nb-act {
	width: 100%;
	min-height: 40px;
	padding: 0 8px;
	border: 0;
	border-radius: 13px;
	font-size: 12.5px;
	line-height: 20px;
	color: rgba( 255, 255, 255, .8 );
	text-decoration: none;
}

.nb-pp-buy .nb-acts .nb-act.is-on {
	color: #f87171;
}

.nb-pp-buy .nb-acts .nb-act__icon {
	font-size: 16px;
}

/*
 * «سوال دارم» وقتی به تلگرام می‌رود: آبیِ تلگرام و هواپیمای کاغذی‌اش. با اشاره،
 * هواپیما کمی بلند می‌شود و یک برقِ کوتاه از روی دکمه رد می‌شود.
 */
.nb-pp .nb-pp-buy .nb-acts .nb-act.nb-act--tg {
	position: relative;
	overflow: hidden;
	background: linear-gradient( 135deg, #37aee2 0%, #1e96c8 100% );
	box-shadow: 0 12px 22px -14px #229ed9;
	color: #fff;
	transition: filter .18s ease, box-shadow .18s ease;
}

.nb-pp .nb-pp-buy .nb-acts .nb-act.nb-act--wa {
	background: linear-gradient( 135deg, #2ad66b 0%, #12a150 100% );
	box-shadow: 0 12px 22px -14px #25d366;
	color: #fff;
}

.nb-pp-buy .nb-acts .nb-act--tg .nb-act__icon {
	font-size: 17px;
	transition: transform .28s cubic-bezier( .3, 1.4, .5, 1 );
}

.nb-pp-buy .nb-acts .nb-act--tg::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: -60%;
	width: 45%;
	background: linear-gradient( 100deg, transparent, rgba( 255, 255, 255, .32 ), transparent );
	transform: skewX( -18deg );
	pointer-events: none;
}

.nb-pp .nb-pp-buy .nb-acts .nb-act.nb-act--tg:hover {
	box-shadow: 0 14px 26px -12px #229ed9;
	filter: brightness( 1.07 );
}

.nb-pp-buy .nb-acts .nb-act--tg:hover .nb-act__icon {
	transform: translate( 3px, -3px ) rotate( -8deg );
}

.nb-pp-buy .nb-acts .nb-act--tg:hover::after {
	left: 120%;
	transition: left .6s ease;
}

@media ( prefers-reduced-motion: reduce ) {

	.nb-pp-buy .nb-acts .nb-act--tg .nb-act__icon,
	.nb-pp-buy .nb-acts .nb-act--tg:hover::after {
		transition: none;
	}
}

.nb-pp-buy .nb-trust--list {
	margin-top: 14px;
}

/* محصولِ ناموجود فرم ندارد؛ همان یک کلمه‌ی ووکامرس، به‌شکلِ یک برچسبِ آرام. */
.nb-pp-buy .nb-atc > .stock {
	margin: 14px 0 0;
	padding: 11px 12px;
	border-radius: 13px;
	background: color-mix( in srgb, #ef4444 13%, transparent );
	font-size: 13px;
	line-height: 22px;
	color: #fca5a5;
	text-align: center;
}

/* ---------- نوارِ مزیت‌ها و کارت‌ها ---------- */

.nb-pp-strip .nb-trust__item,
.elementor .e-con.nb-pp-card {
	background: var( --nb-pp-card );
}

.elementor .e-con.nb-pp-card {
	border-radius: 22px;
	box-shadow: 0 24px 48px -34px rgba( 0, 0, 0, .9 );
}

.elementor .e-con.nb-pp-cols {
	display: grid;
	grid-template-columns: minmax( 0, 1fr ) 330px;
	align-items: start;
	gap: 12px;
}

.elementor .e-con.nb-pp-cols > .e-con {
	width: auto;
	min-width: 0;
}

.elementor .e-con.nb-pp-body {
	padding: 20px 22px 24px;
}

.elementor .e-con.nb-pp-side > .e-con.nb-pp-card {
	padding: 16px;
}

/* ---------- زبانه‌ها و توضیحات ---------- */

.nb-pp .nb-pt__bar {
	background: rgba( 255, 255, 255, .04 );
}

.nb-pp .nb-pt__tab:hover:not( .is-on ) {
	color: #fff;
}

.nb-pp .nb-pt__tab.is-on {
	background: var( --nb-pp-grad );
}

.nb-pp .nb-pt__specs li:nth-child( odd ),
.nb-pp .nb-faq__item {
	background: rgba( 255, 255, 255, .04 );
}

.nb-pp .nb-faq__item.is-open {
	background: rgba( 255, 255, 255, .06 );
}

.nb-pp .nb-faq__n {
	background: rgba( 255, 255, 255, .07 );
	color: var( --nb-pp-muted );
}

.nb-pp .nb-faq__item.is-open .nb-faq__n {
	background: var( --nb-pp-grad );
	color: #fff;
}

.nb-pp .nb-faq__a {
	font-size: 14.2px;
	line-height: 30px;
	color: #b9c3d3;
}

.elementor .e-con.nb-pp-body > .elementor-widget-woocommerce-product-content {
	margin-top: 16px;
}

/*
 * ۰.۷۵.۴ — تهِ توضیحاتِ جمع‌شده («افکتش جالب نیست»). پیش‌تر متن تا زیرِ دکمه
 * می‌آمد و دکمه‌ی کادردار وسطِ سطرها می‌نشست. حالا محوشدگی بلندتر است و به رنگِ
 * خودِ کارت تمام می‌شود، ۶۰ پیکسلِ آخر کاملاً پُر است و دکمه — یک قرصِ بی‌کادر با
 * دو خطِ نازک در دو طرف — در همان بخشِ پُر می‌نشیند، نه روی متن.
 */
.nb-pp-body .nb-rm__body.is-clamped::after {
	bottom: -1px;
	height: 200px;

	/* رنگِ کارت، صریح: هیچ مرورگری به‌خاطرِ color-mix به محوشدگیِ قدیمی برنگردد. */
	background: linear-gradient(
		to bottom,
		rgba( 3, 19, 39, 0 ) 0%,
		rgba( 3, 19, 39, .55 ) 32%,
		rgba( 3, 19, 39, .93 ) 54%,
		#031327 64%
	);
}

.nb-pp-body .nb-rm__toggle {
	bottom: 4px;
	gap: 8px;
	min-height: 40px;
	padding: 0 18px;
	border: 0;
	border-radius: 999px;
	background: rgba( 255, 255, 255, .08 );
	box-shadow: none;
	font-size: 13px;
	font-weight: 400;
	color: #fff;
	transition: background .18s ease;
}

.nb-pp-body .nb-rm__toggle:hover {
	border: 0;
	background: rgba( 255, 255, 255, .14 );
	color: #fff;
}

.nb-pp-body .nb-rm__toggle:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba( 255, 255, 255, .16 );
}

.nb-pp-body .nb-rm__toggle::before,
.nb-pp-body .nb-rm__toggle::after {
	content: "";
	position: absolute;
	top: 50%;
	width: min( 26vw, 260px );
	height: 1px;
	pointer-events: none;
}

.nb-pp-body .nb-rm__toggle::before {
	right: calc( 100% + 14px );
	background: linear-gradient( to left, rgba( 255, 255, 255, .13 ), transparent );
}

.nb-pp-body .nb-rm__toggle::after {
	left: calc( 100% + 14px );
	background: linear-gradient( to right, rgba( 255, 255, 255, .13 ), transparent );
}

.nb-pp-body .nb-rm__toggle svg {
	color: var( --nb-pp-muted );
}

/* باز که شد: همان قرص، وسط و زیرِ متن. */
.nb-pp-body .nb-rm__toggle.is-open {
	position: relative;
	left: auto;
	bottom: auto;
	width: max-content;
	margin: 20px auto 0;
}

/*
 * توضیحاتِ محصول دست‌نویس است و style درون‌خطی دارد (خطِ قرمزِ کنارِ عنوان‌ها،
 * کادرِ فهرستِ مطالب). این‌جا همان HTML به زبانِ «ویترین» درمی‌آید: عنوان با
 * نشانِ گرادیانی و بی‌خط، فهرستِ مطالب به‌شکلِ چند برچسب. !important چون با
 * صفتِ style راهِ دیگری نیست.
 */
.nb-pp-body .elementor-widget-woocommerce-product-content h2 {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 24px 0 10px !important;
	padding: 0 !important;
	border: 0 !important;
	font-size: 18px !important;
	font-weight: 700;
	line-height: 30px !important;
	color: #fff;
}

.nb-pp-body .elementor-widget-woocommerce-product-content h2::before {
	content: "";
	flex: none;
	width: 9px;
	height: 9px;
	border-radius: 3px;
	background: var( --nb-pp-grad );
	box-shadow: 0 0 12px color-mix( in srgb, var( --nb-accent, #720eec ) 70%, transparent );
}

.nb-pp-body .elementor-widget-woocommerce-product-content h3 {
	padding-inline: 0 !important;
	border: 0 !important;
}

.nb-pp-body .elementor-widget-woocommerce-product-content > p:first-child {
	margin-bottom: 0 !important;
}

/* جمله‌ی اول در توضیحات <strong> است؛ در «ویترین» سفید و معمولی (بولد فقط برای عنوان). */
.nb-pp-body .elementor-widget-woocommerce-product-content > p:first-child strong {
	font-weight: 400;
}

/* کادرِ هشدار: بی‌خط، با ته‌رنگِ خودش. */
.nb-pp-body .elementor-widget-woocommerce-product-content p[style*="border"] {
	border: 0 !important;
	border-radius: 14px !important;
	background: color-mix( in srgb, #ef4444 13%, transparent ) !important;
}

/* فهرستِ مطالب: عنوانش می‌رود، خودش چند برچسب می‌شود. */
.nb-pp-body .elementor-widget-woocommerce-product-content h2:has( + div > ul a[href^="#"] ),
.nb-pp-body .elementor-widget-woocommerce-product-content h2.nb-toc-h {
	display: none !important;
}

.nb-pp-body .elementor-widget-woocommerce-product-content div:has( > ul > li > a[href^="#"] ),
.nb-pp-body .elementor-widget-woocommerce-product-content div.nb-toc {
	margin: 14px 0 4px !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
}

.nb-pp-body .elementor-widget-woocommerce-product-content div:has( > ul > li > a[href^="#"] ) > ul,
.nb-pp-body .elementor-widget-woocommerce-product-content div.nb-toc > ul {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	list-style: none;
}

.nb-pp-body .elementor-widget-woocommerce-product-content div:has( > ul > li > a[href^="#"] ) > ul > li,
.nb-pp-body .elementor-widget-woocommerce-product-content div.nb-toc > ul > li {
	margin: 0 !important;
}

.nb-pp-body .elementor-widget-woocommerce-product-content div:has( > ul > li > a[href^="#"] ) > ul > li > a,
.nb-pp-body .elementor-widget-woocommerce-product-content div.nb-toc > ul > li > a {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 0 11px;
	border-radius: 999px;
	background: rgba( 255, 255, 255, .07 );
	font-size: 12px !important;
	line-height: 20px;
	color: rgba( 255, 255, 255, .85 ) !important;
	white-space: nowrap;
}

.nb-pp-body .elementor-widget-woocommerce-product-content div:has( > ul > li > a[href^="#"] ) > ul > li > a > span,
.nb-pp-body .elementor-widget-woocommerce-product-content div.nb-toc > ul > li > a > span {
	display: none;
}

/* ---------- ستونِ کناری ---------- */

.nb-pp-side .nb-pui__head,
.nb-pp-side .nb-rp__head {
	margin-bottom: 12px;
}

.nb-pp-side .nb-pui__title,
.nb-pp-side .nb-rp__title {
	font-size: 15.5px;
	line-height: 26px;
}

.nb-pp .nb-specs--tiles .nb-specs__item {
	background: rgba( 255, 255, 255, .04 );
}

/* کارتِ ردیفیِ «محصولات وابسته»: همان کارت، با فلشِ کوچکِ تهِ ردیف. */
.nb-pp-side .nb-ps[data-layout="list"] .nb-ps__track {
	gap: 8px;
}

.nb-pp-side .nb-ps__item.nb-ps__item--row {
	padding: 9px;
	border-radius: 15px;
	background: rgba( 255, 255, 255, .04 );
}

.nb-pp-side .nb-ps__item.nb-ps__item--row:hover {
	background: rgba( 255, 255, 255, .075 );
}

.nb-pp-side .nb-ps__item--row .nb-ps__row-thumb {
	width: 52px;
	height: 52px;
}

.nb-pp-side .nb-ps__item--row .nb-ps__row-body {
	gap: 2px;
}

.nb-pp-side .nb-ps__item--row .nb-ps__title {
	font-size: 13px;
	font-weight: 400;
}

.nb-pp-side .nb-ps__item--row::after {
	content: "";
	flex: none;
	width: 30px;
	height: 30px;
	border-radius: 10px;
	background: rgba( 255, 255, 255, .06 ) url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2398a2b3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m14.5 6.5-5.5 5.5 5.5 5.5'/%3E%3C/svg%3E" ) center / 14px no-repeat;
}

/* ---------- توضیحِ گزینه‌ی انتخاب‌شده ---------- */

/*
 * فاصله‌ی زیرِ کادر پدینگِ خودِ بلوکِ متغیر است، نه margin: margin از لبه‌ی بلوک
 * بیرون می‌زد و هنگامِ قدکشیدن (overflow: hidden) حساب نمی‌شد — کادر به دکمه‌ی
 * خرید چسبیده بود و آخرِ انیمیشن ۱۲ پیکسل می‌پرید.
 */
.nb-pp-buy .nb-atc .woocommerce-variation:has( .woocommerce-variation-description:not( :empty ) ) {
	padding-bottom: 12px;
}

.nb-pp-buy .nb-atc .woocommerce-variation-description:not( :empty ) {
	margin: 0;
	padding: 10px 12px;
	border-radius: 13px;
	background: var( --nb-pp-soft );
	font-size: 12.5px;
	line-height: 24px;
	color: #c5cedb;
}

/* وزنِ بالا لازم است: ووکامرس با `.woocommerce div.product form.cart … p` یک em زیرِ پاراگراف می‌گذارد
   و تهِ کادر ۱۳ پیکسل خالی می‌ماند. */
.nb-pp .nb-pp-buy .nb-atc form.cart .woocommerce-variation-description p {
	margin: 0;
	font-size: inherit;
	line-height: inherit;
}

.nb-pp-buy .nb-atc .woocommerce-variation-description p:empty {
	display: none;
}

/* ---------- ستونِ کناری همراهِ صفحه می‌آید ----------
   توضیحاتِ بازشده بلند است؛ ستونِ کناری کنارش می‌ماند تا سمتِ چپ خالی نشود.
   جمع‌شده هم که باشد read-more.js کفِ توضیحات را با کفِ همین ستون یکی می‌کند. */

@media ( min-width: 768px ) {

	/* `--nb-sticky-top` قدِ ردیفِ چسبانِ هدر است (header-ui.css)؛ بی‌آن صفر. */
	.elementor .e-con.nb-pp-side {
		position: sticky;
		top: calc( 16px + var( --nb-sticky-top, 0px ) );
	}

	.admin-bar .elementor .e-con.nb-pp-side {
		top: calc( 48px + var( --nb-sticky-top, 0px ) );
	}
}

/* ---------- نظرات ---------- */

.elementor .e-con.nb-pp-reviews {
	padding: 20px 22px 22px;
}

.nb-pp .nb-rvw__sum,
.nb-pp .nb-rvw__form,
.nb-pp .nb-rvw__gate,
.nb-pp .nb-rvw__item,
.nb-pp .nb-rvw__empty {
	background: var( --nb-pp-soft );
}

.nb-pp .nb-rvw__item.is-pending {
	background: color-mix( in srgb, #f59e0b 9%, transparent );
}

.nb-pp .nb-rvw__reply {
	background: rgba( 255, 255, 255, .045 );
}

@media ( max-width: 767px ) {

	.elementor .e-con.nb-pp-reviews {
		padding: 14px;
	}
}

/* ---------- بازدیدهای اخیر، زیرِ همه ---------- */

.nb-pp-recent .nb-rp__title {
	font-size: 17px;
}

.nb-pp-recent .nb-ps__item.nb-ps__item--row {
	padding: 10px;
	border-radius: 18px;
	background: var( --nb-pp-card );
}

.nb-pp-recent .nb-ps__item.nb-ps__item--row:hover {
	background: color-mix( in srgb, #fff 5%, var( --nb-pp-card ) );
}

/* ---------- تبلت ---------- */

@media ( max-width: 1100px ) {

	.elementor .e-con.nb-pp-hero {
		grid-template-columns: 300px minmax( 0, 1fr );
		gap: 20px;
	}

	.elementor .e-con.nb-pp-hero > .e-con.nb-pp-buy {
		grid-column: 1 / -1;
	}

	.elementor .e-con.nb-pp-cols {
		grid-template-columns: minmax( 0, 1fr ) 290px;
	}

	.nb-pp-strip .nb-trust--tiles {
		--nb-trust-cols: 2;
	}
}

/* ---------- گوشی ---------- */

@media ( max-width: 767px ) {

	.elementor .e-con.nb-pp-hero {
		grid-template-columns: minmax( 0, 1fr );
		gap: 14px;
		padding: 12px;
		border-radius: 22px;
	}

	.nb-pp-pic .nb-gal::before {
		top: -10%;
		right: -20%;
		bottom: auto;
		left: -20%;
		height: 90%;
		filter: blur( 60px ) saturate( 1.5 );
	}

	.elementor .e-con.nb-pp-info {
		padding-top: 0;
	}

	.nb-pp .nb-pp-info .product_title.product_title {
		font-size: 21px;
		line-height: 34px;
	}

	/* کاشی‌های ویژگی فشرده: دو ستون، بی‌سطرِ دوم. */
	.nb-pp-info .nb-pf__list {
		gap: 6px;
	}

	.nb-pp-info .nb-pf__item {
		gap: 8px;
		padding: 7px 8px;
	}

	.nb-pp-info .nb-pf__tx b {
		font-size: 12.2px;
		line-height: 19px;
	}

	.nb-pp-info .nb-pf__tx small {
		display: none;
	}

	.nb-pp-strip .nb-trust--tiles {
		gap: 8px;
	}

	.nb-pp-strip .nb-trust--tiles .nb-trust__item {
		gap: 9px;
		padding: 10px;
	}

	.nb-pp-strip .nb-trust--tiles b {
		font-size: 12.5px;
	}

	.nb-pp-strip .nb-trust--tiles small {
		font-size: 11px;
		line-height: 18px;
	}

	.elementor .e-con.nb-pp-cols {
		grid-template-columns: minmax( 0, 1fr );
	}

	.elementor .e-con.nb-pp-body {
		padding: 14px;
	}

	.nb-pp .nb-pt__bar {
		width: 100%;
	}

	.nb-pp .nb-pt__tab {
		flex: 1;
		padding: 0 6px;
		font-size: 12.5px;
	}

	.nb-pp .nb-faq__a {
		padding-inline-start: 16px;
	}
}
