.wbkb-cs-widget {
	--wbkb-cs-gap: 10px;
	--wbkb-cs-padding: 14px 16px;
	--wbkb-cs-radius: 12px;
	--wbkb-cs-bg: #ffffff;
	--wbkb-cs-border: #e5e7eb;
	--wbkb-cs-selected: var(--wbkb-color-primary, #093c75);
	--wbkb-cs-logo-size: 44px;

	font-family: inherit;
}

.wbkb-cs-widget ul.wbkb-cs-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	gap: var(--wbkb-cs-gap);
}

.wbkb-cs-widget ul.wbkb-cs-list li.wbkb-cs-card {
	position: relative;
	list-style: none !important;
	margin: 0 !important;
	padding: var(--wbkb-cs-padding);
	background: var(--wbkb-cs-bg);
	border: 1.5px solid var(--wbkb-cs-border);
	border-radius: var(--wbkb-cs-radius);
	transition: border-color .15s ease, box-shadow .15s ease;
}

/* وقتی فقط یک حامل در دسترس است (کارت غیرقابل‌کلیک، چون input آن hidden است) */
.wbkb-cs-widget ul.wbkb-cs-list li.wbkb-cs-card--clickable {
	cursor: pointer;
}

.wbkb-cs-widget ul.wbkb-cs-list li.wbkb-cs-card--clickable:hover {
	border-color: var(--wbkb-cs-selected);
}

.wbkb-cs-widget ul.wbkb-cs-list li.wbkb-cs-card--selected {
	border-color: var(--wbkb-cs-selected);
	box-shadow: 0 0 0 1px var(--wbkb-cs-selected);
}

.wbkb-cs-card-body {
	display: flex;
	align-items: center;
	gap: 12px;
}

.wbkb-cs-logo {
	flex-shrink: 0;
	width: var(--wbkb-cs-logo-size);
	height: var(--wbkb-cs-logo-size);
	object-fit: contain;
	border-radius: 8px;
	background: #f6f7f7;
}

.wbkb-cs-logo--placeholder {
	display: block;
}

.wbkb-cs-card-text {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.wbkb-cs-name {
	font-weight: 600;
	font-size: 14.5px;
}

.wbkb-cs-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: #6b7280;
}

.wbkb-cs-delivery::before {
	content: '•';
	margin-left: 6px;
	opacity: .6;
}

.wbkb-cs-price .woocommerce-Price-amount {
	color: inherit;
}

.wbkb-cs-widget ul.wbkb-cs-list li.wbkb-cs-card--generic {
	font-size: 13.5px;
	color: #6b7280;
}

/*
 * سطر/لیست خام روش‌های حمل‌ونقل پیش‌فرض ووکامرس (در خلاصه سبد خرید/چک‌اوت)
 * وقتی این ویجت روی صفحه است مخفی می‌شود — نه حذف — چون input های واقعی
 * داخل آن هنوز فعال‌اند و کارت‌های این ویجت مستقیماً به همان‌ها متصل‌اند.
 */
.wbkb-cs-native-hidden {
	display: none !important;
}

/*
 * ردیف خلاصه‌ی فقط‌خواندنی جایگزین نسخه‌های تکراری لیست خام حمل‌ونقل
 * (مثلاً وقتی همان لیست هم در بخش اصلی «حمل و نقل» هم داخل یک ویجت خلاصه‌ی
 * سفارش جداگانه مثل خلاصه‌ی JetWooBuilder دوباره رندر شده باشد) — ر.ک.
 * renderDuplicateShippingSummary() در custom-shipping.js.
 */
.wbkb-cs-native-summary {
	font-size: 13px;
	color: #1f2937;
}

/*
 * عمداً display:flex مستقیم روی .wbkb-cs-native-summary تعریف نشده — آن
 * کلاس گاهی روی یک <tr> واقعی قرار می‌گیرد (وقتی کانتینر تکراری داخل یک
 * جدول بود، ر.ک. renderDuplicateShippingSummary در custom-shipping.js) و
 * flex روی <tr> رفتار جدول را می‌شکند و بسته به CSS جدول اطراف (مثلاً
 * قوانین ویجت خلاصه‌ی سفارش JetWooBuilder) می‌تواند محتوا را کاملاً نامرئی
 * کند — دقیقاً همان باگ واقعی «ردیف خالی» که رفع شد. flex فقط روی هدف‌های
 * معتبرش (خودِ <div> در حالت غیرجدولی، یا <td> داخل <tr> در حالت جدولی)
 * اعمال می‌شود.
 */
div.wbkb-cs-native-summary,
.wbkb-cs-native-summary > td {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.wbkb-cs-native-summary-label {
	font-weight: 600;
}

/*
 * ردیف کاملاً مستقل «حمل و نقل: نام حامل — مبلغ» — شورت‌کد
 * [wbkb_custom_shipping_summary] (WBKB_Custom_Shipping_Live_Summary). بدون
 * هیچ اتصالی به رادیو/ردیف پیش‌فرض ووکامرس؛ ادمین خودش این عنصر را هرجای
 * دلخواه صفحه (مثلاً یک ویجت HTML/متنی المنتور) قرار می‌دهد. چون این عنصر
 * همیشه دقیقاً همان markup ثابتی است که خودمان می‌سازیم (یک <div> ساده)،
 * flex مستقیم روی خودِ .wbkb-cs-live-summary بدون ریسک شکستن رفتار جدول
 * (که برای .wbkb-cs-native-summary بالا نگرانی واقعی بود) امن است.
 */
.wbkb-cs-live-summary {
	display: flex;
	align-items: baseline;
	gap: 8px;
	width: 100%;
	font-size: 14px;
	color: #1f2937;
}

.wbkb-cs-live-summary:empty {
	display: none;
}

.wbkb-cs-live-summary-label {
	font-weight: 600;
	white-space: nowrap;
}

.wbkb-cs-live-summary-name {
	white-space: nowrap;
}

.wbkb-cs-live-summary-fill {
	flex: 1 1 auto;
	border-bottom: 1px dashed #c7cdd6;
	min-width: 20px;
	height: 0;
	align-self: center;
}

.wbkb-cs-live-summary-price {
	white-space: nowrap;
	font-weight: 600;
}

/*
 * ردیف تزریق‌شده‌ی خودکار — WBKB_Custom_Shipping_Live_Summary::render_auto_row()،
 * درست بعد از ردیف پیش‌فرض حمل‌ونقل در جدول totals. کلاس‌ها عمداً
 * (`wbkb-cs-order-summary-row*`) کاملاً از `wbkb-cs-native-*`/
 * `wbkb-cs-live-summary*` بالا جدا نام‌گذاری شده‌اند تا هیچ سلکتور CSS
 * دیگری (چه مکانیزم مخفی‌سازی ردیف پیش‌فرض در همین فایل، چه CSS دستی خودِ
 * سایت برای مخفی‌کردن ردیف پیش‌فرض) به‌اشتباه این ردیف تازه را هم هدف
 * نگیرد؛ بدون هیچ `display:flex`/`grid` مستقیم روی خودِ `<tr>` (همان درسِ
 * مستند برای `.wbkb-cs-native-summary` بالا — flex روی `<tr>` رفتار جدول
 * را می‌شکند)، فقط تایپوگرافی سبک روی `<th>`/`<td>`.
 */
.wbkb-cs-order-summary-row-label {
	font-weight: 600;
}

.wbkb-cs-order-summary-row-value {
	font-weight: 600;
}
