/* Pro Cart – ویژگی‌های باکسی و گروهی. کلاس‌ها عیناً مثل اسنیپت قبلی «ویژگی‌های باکس محصول» (pfb-*) است؛
   قواعد تغییر‌یافته با .pcart-attrb مشخص‌ترند تا با وجود اسنیپت قدیمی هم تداخلی نباشد. */
.pfb-wrapper { direction: rtl; }
.pfb-main-title { margin: 0 0 16px; }
.pfb-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}
.pfb-box {
	position: relative;
	background-color: #f7f7f9;
	border-radius: 8px;
	padding: 16px;
	display: flex;
	flex-direction: column;
	cursor: default;
	outline: none;
	min-width: 0;
}
.pfb-box-title {
	display: block;
	font-size: 13px;
	opacity: .7;
	margin-bottom: 6px;
}
.pfb-box-value {
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	font-weight: 600;
}
/* مقدار تک‌خطی (پیش‌فرض) یا چندخطی */
.pcart-attrb.pfb-wrap-single .pfb-box-value,
.pfb-wrap-single .pcart-attrb .pfb-box-value { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: unset; }
.pfb-wrap-multi .pcart-attrb .pfb-box-value { display: block; white-space: normal; overflow: visible; overflow-wrap: anywhere; text-overflow: clip; -webkit-line-clamp: unset; }

.pfb-tooltip {
	position: absolute;
	bottom: calc(100% + 8px);
	right: 50%;
	transform: translateX(50%) translateY(4px);
	background: #1f2430;
	color: #fff;
	font-size: 13px;
	line-height: 1.6;
	padding: 6px 12px;
	border-radius: 6px;
	max-width: 260px;
	white-space: normal;
	text-align: center;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .15s ease, transform .15s ease;
	z-index: 10;
}
.pfb-tooltip::after {
	content: '';
	position: absolute;
	top: 100%;
	right: 50%;
	transform: translateX(50%);
	border: 6px solid transparent;
	border-top-color: #1f2430;
}
.pfb-box:hover .pfb-tooltip,
.pfb-box.pfb-tooltip-active .pfb-tooltip {
	opacity: 1;
	visibility: visible;
	transform: translateX(50%) translateY(0);
}
.pfb-view-all-row {
	margin-top: 16px;
	display: flex;
	align-items: center;
	gap: 14px;
}
.pfb-divider-line {
	flex: 1 1 auto;
	height: 1px;
	background-color: #e0e0e0;
}
.pfb-view-all-link {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
	color: inherit;
	white-space: nowrap;
	background-color: #ffffff;
	border: 1px solid #e0e0e0;
	border-radius: 999px;
	padding: 8px 18px;
}
.pfb-view-all-icon {
	display: inline-flex;
	align-items: center;
	line-height: 1;
}
.pfb-view-all-icon svg { width: 14px; height: 14px; }

/* ---------- ویجت «ویژگی‌های گروهی» ---------- */
.pfb-groups { display: flex; flex-direction: column; gap: 20px; }
.pfb-group { box-sizing: border-box; }
.pfb-group-head { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.pfb-group-title { margin: 0; font-size: 16px; font-weight: 700; line-height: 1.5; }
.pfb-group-icon { display: block; flex: 0 0 auto; width: 24px; height: 24px; object-fit: contain; }

/* ---------- ویجت «ویژگی‌های گروهی»: چینش عنوان و مقدار ---------- */
/* کنار هم: هر ردیف دو باکس جدا (عنوان | مقدار) با پس‌زمینه‌ی خاکستری روشن؛ عنوان ستون باریک و مقدار پهن و ضخیم */
.pfb-layout-row .pfb-grid { grid-template-columns: 1fr; row-gap: 14px; column-gap: 0; }
.pfb-layout-row .pfb-box { flex-direction: row; align-items: stretch; gap: 12px; padding: 0; background-color: transparent; border-radius: 0; }
.pfb-layout-row .pfb-box-title,
.pfb-layout-row .pfb-box-value {
	box-sizing: border-box;
	padding: 16px;
	background-color: #f0f0f0;
	border-radius: 10px;
	line-height: 1.6;
}
.pfb-layout-row .pfb-box-title { flex: 0 0 22%; width: 22%; margin: 0; opacity: 1; font-size: 15px; font-weight: 400; display: flex; align-items: center; }
.pfb-layout-row .pfb-box-value { flex: 1 1 auto; min-width: 0; text-align: start; font-weight: 700; font-size: 15px; }
/* زیر هم: مثل ویژگی‌های باکسی (سه ستون؛ در موبایل دو ستون) */
.pfb-layout-box .pfb-grid { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 767px) {
	.pfb-layout-box .pfb-grid { grid-template-columns: repeat(2, 1fr); }
	.pfb-layout-row .pfb-box-title { flex-basis: 38%; width: 38%; }
}

/* ---------- ویجت «ویژگی‌های گروهی»: لیست باز/بسته شونده (مشاهده همه / بستن) ---------- */
.pfb-grouped { scroll-margin-top: 90px; }
.pfb-collapsible:not(.is-open) .pfb-extra,
.pfb-collapsible:not(.is-open) .pfb-group-extra { display: none; }
.pfb-collapsible.pfb-anim-in .pfb-extra,
.pfb-collapsible.pfb-anim-in .pfb-group-extra { animation: pfbFadeIn .45s ease both; }
@keyframes pfbFadeIn { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
button.pfb-view-all-link { font: inherit; cursor: pointer; margin: 0; }
.pfb-toggle .pfb-view-all-icon { transition: transform .3s ease; transform: rotate(-90deg); }
.pfb-collapsible.is-open .pfb-toggle .pfb-view-all-icon { transform: rotate(90deg); }
@media (prefers-reduced-motion: reduce) {
	.pfb-collapsible.pfb-anim-in .pfb-extra, .pfb-collapsible.pfb-anim-in .pfb-group-extra { animation: none; }
	.pfb-toggle .pfb-view-all-icon { transition: none; }
}
