/* ==========================================================================
   FrontBaz WooCommerce Framework
   Package     : FrontBaz Store Framework
   Module      : Cart (صفحه سبد خرید)
   File        : assets/css/fb-cart.css
   Author      : Sina Samipour (FrontBaz)
   Description : Native RTL styling for Cart. Inherits design tokens from fb-base.css.
   Namespace   : All custom classes strictly adhere to .fb- prefix.
   ========================================================================== */

/* ==========================================================================
   Elementor Pro & Native 2-Column Grid Layout Harmonization
   Zero-spacing on root wrappers for full Elementor container control
   ========================================================================== */
.fb-cart-wrapper,
.elementor-widget-woocommerce-cart .e-cart__container {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 380px !important;
	gap: 28px !important;
	align-items: start !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	font-family: var(--fb-font-family) !important;
}

/* Responsive 2-Column Grid Adjustments (992px - 1280px) */
@media (min-width: 992px) and (max-width: 1280px) {
	.fb-cart-wrapper,
	.elementor-widget-woocommerce-cart .e-cart__container {
		grid-template-columns: minmax(0, 1fr) 340px !important;
		gap: 22px !important;
	}
}

@media (max-width: 991px) {
	.fb-cart-wrapper,
	.elementor-widget-woocommerce-cart .e-cart__container {
		display: flex !important;
		flex-direction: column !important;
		gap: 20px !important;
	}
	.elementor-widget-woocommerce-cart .e-cart__column-start,
	.elementor-widget-woocommerce-cart .e-cart__column-end {
		width: 100% !important;
		max-width: 100% !important;
	}
	.elementor-widget-woocommerce-cart .e-cart__column-end {
		position: static !important;
	}
}

.elementor-widget-woocommerce-cart .e-cart__column-start {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}

.elementor-widget-woocommerce-cart .e-cart__column-end {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	position: sticky !important;
	top: 24px !important;
}

.elementor-widget-woocommerce-cart .e-cart__column-inner,
.elementor-widget-woocommerce-cart .e-cart-totals,
.elementor-widget-woocommerce-cart .e-shop-table {
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	background: transparent !important;
}

/* Hide Default WooCommerce & Elementor Intrusive Redundancies */
.fb-cart-wrapper .woocommerce-cart-form > h2,
.fb-cart-wrapper .cart-collaterals > h2,
.fb-cart-wrapper .cart_totals > h2,
.fb-cart-wrapper .fb-hidden-submit,
.elementor-widget-woocommerce-cart .e-cart-totals > h2,
.elementor-widget-woocommerce-cart .coupon.e-cart-section,
.elementor-widget-woocommerce-cart .e-clear {
	display: none !important;
}

/* Clean WooCommerce Notices on Cart Page */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-radius: var(--fb-radius-sm) !important;
	font-size: 13.5px !important;
	line-height: 1.6 !important;
	margin-bottom: 24px !important;
}

/* Base Wrapper */
.fb-cart-wrapper {
	width: 100% !important;
	text-align: start !important;
	box-sizing: border-box !important;
	font-family: var(--fb-font-family) !important;
	clear: both !important;
}

.fb-cart-wrapper *,
.fb-cart-wrapper *::before,
.fb-cart-wrapper *::after,
.e-cart__container *,
.e-cart__container *::before,
.e-cart__container *::after {
	box-sizing: border-box !important;
}

/* Main Column Card */
.fb-cart-card {
	background: #ffffff !important;
	border: 1px solid var(--fb-border-color) !important;
	border-radius: var(--fb-radius-card, 8px) !important;
	box-shadow: var(--fb-shadow-card) !important;
	overflow: hidden !important;
}

/* Cart Header */
.fb-cart-header {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 18px 24px !important;
	border-bottom: 1px solid var(--fb-border-light) !important;
	background: #ffffff !important;
}

.fb-cart-header-title-wrap {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
}

.fb-cart-title {
	font-size: 18px !important;
	font-weight: 700 !important;
	color: var(--fb-text-main) !important;
	margin: 0 !important;
}

.fb-cart-count-badge {
	background: #e6f2f2 !important;
	color: var(--fb-text-accent) !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	padding: 3px 10px !important;
	border-radius: var(--fb-radius-pill, 20px) !important;
}

.fb-cart-continue-link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--fb-text-muted) !important;
	text-decoration: none !important;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
	padding: 4px 6px !important;
	border-radius: var(--fb-radius-sm) !important;
}

.fb-cart-continue-link:hover {
	color: var(--fb-text-accent) !important;
	background: var(--fb-primary-light) !important;
}

.fb-cart-continue-link:hover .fb-arrow-icon,
.fb-cart-continue-link:hover svg {
	transform: translateX(-3px) !important;
}

/* Cart Table Styling */
.fb-cart-table-wrapper {
	width: 100% !important;
	overflow-x: auto !important;
}

.fb-cart-table {
	width: 100% !important;
	border-collapse: collapse !important;
	margin: 0 !important;
	border: none !important;
	table-layout: auto !important;
}

.fb-cart-table thead th {
	background-color: var(--fb-bg-subtle) !important;
	color: var(--fb-text-muted) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	padding: 12px 14px !important;
	border: none !important;
	border-bottom: 1px solid var(--fb-border-light) !important;
	text-align: start !important;
}

.fb-cart-table thead th.fb-th-remove {
	width: 40px !important;
	padding: 12px 8px !important;
}

.fb-cart-table thead th.fb-th-quantity {
	text-align: center !important;
	width: 116px !important;
}

.fb-cart-item {
	border-bottom: 1px solid var(--fb-border-light) !important;
	transition:
		background-color 0.2s ease,
		opacity 0.2s ease !important;
}

.fb-cart-item:last-of-type {
	border-bottom: none !important;
}

.fb-cart-item.fb-loading {
	opacity: 0.45 !important;
	pointer-events: none !important;
}

.fb-cart-item td {
	padding: 16px 14px !important;
	vertical-align: middle !important;
	border: none !important;
}

/* Thumbnail */
.fb-td-thumbnail {
	width: 68px !important;
	padding-left: 0 !important;
	padding-right: 14px !important;
}

.fb-cart-thumb {
	width: 64px !important;
	height: 64px !important;
	max-width: 64px !important;
	max-height: 64px !important;
	border-radius: 10px !important;
	border: 1px solid var(--fb-border-color) !important;
	background: var(--fb-bg-subtle) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: hidden !important;
	transition: transform 0.2s ease !important;
}

.fb-cart-thumb img {
	width: 100% !important;
	height: 100% !important;
	max-width: 64px !important;
	max-height: 64px !important;
	object-fit: contain !important;
	display: block !important;
}

/* Product Info */
.fb-td-name {
	min-width: 160px !important;
}

.fb-cart-item-title {
	font-size: 14.5px !important;
	font-weight: 700 !important;
	color: var(--fb-text-main) !important;
	margin: 0 0 6px 0 !important;
	line-height: 1.5 !important;
}

.fb-cart-item-title a {
	color: inherit !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
}

.fb-cart-item-title a:hover {
	color: var(--fb-primary) !important;
}

/* Product Variations / Meta */
.fb-cart-item .variation {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 6px 12px !important;
	margin: 4px 0 0 0 !important;
	font-size: 12px !important;
	color: var(--fb-text-muted) !important;
}

.fb-cart-item .variation dt,
.fb-cart-item .variation dd {
	display: inline-block !important;
	margin: 0 !important;
}

.fb-cart-item .variation dt {
	font-weight: 600 !important;
}

/* Unit Price (Unified Compact Price Style matching Summary) */
.woocommerce .fb-cart-table .fb-td-price,
.fb-td-price {
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: var(--fb-text-main) !important;
	white-space: nowrap !important;
	font-family: var(--fb-font-family) !important;
}

.fb-cart-item-price-wrap {
	display: inline-flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 2px !important;
	white-space: nowrap !important;
	line-height: 1.2 !important;
}

.fb-price-old {
	font-size: 11.5px !important;
	font-weight: 500 !important;
	color: var(--fb-text-subtle) !important;
	text-decoration: line-through !important;
	line-height: 1.2 !important;
	letter-spacing: -0.2px !important;
	opacity: 0.85 !important;
}

.fb-price-old .woocommerce-Price-currencySymbol {
	display: none !important;
}

.fb-price-old .woocommerce-Price-amount,
.fb-price-old bdi {
	color: var(--fb-text-subtle) !important;
	text-decoration: line-through !important;
	font-size: 11.5px !important;
	font-weight: 500 !important;
}

.fb-price-current {
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: var(--fb-text-main) !important;
	text-decoration: none !important;
	line-height: 1.3 !important;
}

.fb-price-current .woocommerce-Price-amount,
.fb-price-current bdi {
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: var(--fb-text-main) !important;
}

.fb-td-price .woocommerce-Price-amount,
.fb-td-price bdi {
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: var(--fb-text-main) !important;
	font-family: var(--fb-font-family) !important;
}

.fb-td-price .woocommerce-Price-currencySymbol {
	font-size: 12px !important;
	font-weight: 400 !important;
	color: var(--fb-text-muted) !important;
	margin-right: 3px !important;
}

/* Quantity Control Buttons */
.fb-td-quantity {
	text-align: center !important;
	width: 130px !important;
}

.fb-qty-control {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border: 1.5px solid #e2e8f0 !important;
	border-radius: var(--fb-radius-btn, 8px) !important;
	background: #ffffff !important;
	height: 34px !important;
	overflow: hidden !important;
	user-select: none !important;
}

.fb-qty-btn {
	width: 32px !important;
	height: 34px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: transparent !important;
	border: none !important;
	color: var(--fb-text-muted) !important;
	cursor: pointer !important;
	transition: all 0.15s ease !important;
	padding: 0 !important;
}

.fb-qty-btn:hover {
	background: #f1f5f9 !important;
	color: var(--fb-primary) !important;
}

.fb-qty-btn:disabled,
.fb-qty-btn.is-disabled {
	opacity: 0.35 !important;
	cursor: not-allowed !important;
	pointer-events: none !important;
	background: var(--fb-bg-subtle) !important;
	color: var(--fb-text-subtle) !important;
}

.fb-qty-btn:active {
	background: #e2e8f0 !important;
}

.fb-qty-btn.fb-qty-minus.is-trash {
	color: var(--fb-danger) !important;
	background: var(--fb-danger-light) !important;
}

.fb-qty-btn.fb-qty-minus.is-trash:hover {
	background: var(--fb-danger-light) !important;
	color: var(--fb-danger) !important;
	opacity: 0.85 !important;
}

.fb-trash-icon {
	display: inline-block !important;
	vertical-align: middle !important;
	stroke: currentColor !important;
	transition: none !important;
}

.fb-qty-btn.fb-qty-minus.is-trash:hover .fb-trash-icon {
	transform: none !important;
}

.fb-qty-input,
.fb-qty-control input,
.fb-qty-control input.qty,
.woocommerce .quantity input.qty {
	width: 36px !important;
	min-width: 36px !important;
	max-width: 36px !important;
	height: 34px !important;
	min-height: 34px !important;
	max-height: 34px !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	text-align: center !important;
	font-family: var(--fb-font-family) !important;
	font-size: 14px !important;
	font-weight: var(--fb-qty-font-weight, 500) !important;
	color: var(--fb-text-main) !important;
	padding: 0 !important;
	margin: 0 !important;
	outline: none !important;
	box-shadow: none !important;
	-moz-appearance: textfield !important;
	appearance: textfield !important;
	pointer-events: none !important;
	cursor: default !important;
	user-select: none !important;
}

.fb-qty-input:focus,
.fb-qty-control input:focus {
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
	background: transparent !important;
}

.fb-qty-input::-webkit-outer-spin-button,
.fb-qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none !important;
	margin: 0 !important;
}

/* Line Subtotal (Unified Compact Price Style matching Summary) */
.woocommerce .fb-cart-table .fb-td-subtotal,
.fb-td-subtotal {
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: var(--fb-text-main) !important;
	white-space: nowrap !important;
	font-family: var(--fb-font-family) !important;
}

.fb-td-subtotal .woocommerce-Price-amount,
.fb-td-subtotal bdi {
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: var(--fb-text-main) !important;
	font-family: var(--fb-font-family) !important;
}

.fb-td-subtotal .woocommerce-Price-currencySymbol {
	font-size: 12px !important;
	font-weight: 400 !important;
	color: var(--fb-text-muted) !important;
	margin-right: 3px !important;
}

.fb-td-subtotal .fb-cart-item-price-wrap {
	display: inline-flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 2px !important;
	white-space: nowrap !important;
	line-height: 1.2 !important;
}

.fb-td-subtotal .fb-price-old {
	font-size: 11.5px !important;
	font-weight: 500 !important;
	color: var(--fb-text-subtle) !important;
	text-decoration: line-through !important;
	line-height: 1.2 !important;
	letter-spacing: -0.2px !important;
	opacity: 0.85 !important;
}

.fb-td-subtotal .fb-price-old .woocommerce-Price-currencySymbol {
	display: none !important;
}

.fb-td-subtotal .fb-price-old .woocommerce-Price-amount,
.fb-td-subtotal .fb-price-old bdi {
	color: var(--fb-text-subtle) !important;
	text-decoration: line-through !important;
	font-size: 11.5px !important;
	font-weight: 500 !important;
}

.fb-td-subtotal .fb-price-current {
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: var(--fb-text-main) !important;
	text-decoration: none !important;
	line-height: 1.3 !important;
}

.fb-td-subtotal .fb-price-current .woocommerce-Price-amount,
.fb-td-subtotal .fb-price-current bdi {
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: var(--fb-text-main) !important;
}

/* Fallback for native WooCommerce del / ins in subtotal */
.fb-td-subtotal del {
	font-size: 11.5px !important;
	font-weight: 500 !important;
	color: var(--fb-text-subtle) !important;
	text-decoration: line-through !important;
	line-height: 1.2 !important;
	letter-spacing: -0.2px !important;
	opacity: 0.85 !important;
	display: block !important;
}

.fb-td-subtotal del .woocommerce-Price-currencySymbol {
	display: none !important;
}

.fb-td-subtotal ins {
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: var(--fb-text-main) !important;
	text-decoration: none !important;
	line-height: 1.3 !important;
	display: block !important;
}

/* Remove Item Button */
.fb-td-remove {
	width: 44px !important;
	padding-left: 20px !important;
	padding-right: 0 !important;
	text-align: center !important;
}

.fb-cart-remove-btn {
	width: 32px !important;
	height: 32px !important;
	border-radius: var(--fb-radius-btn, 8px) !important;
	border: 1px solid var(--fb-danger-border, #fecaca) !important;
	background-color: var(--fb-danger-light) !important;
	color: var(--fb-danger) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	transition: none !important;
	text-decoration: none !important;
}

.fb-cart-remove-btn svg {
	color: var(--fb-danger) !important;
	stroke: #ef4444 !important;
	transition: none !important;
}

.fb-cart-remove-btn:hover {
	background-color: var(--fb-danger-light) !important;
	color: var(--fb-danger) !important;
	border-color: var(--fb-danger-border, #fecaca) !important;
	transform: none !important;
	opacity: 0.8 !important;
}

/* Hidden elements row */
.fb-cart-actions-row {
	display: none !important;
}

/* Order Summary Box */
.fb-order-summary-card {
	background: #ffffff !important;
	border: 1px solid var(--fb-border-color) !important;
	border-radius: var(--fb-radius-md) !important;
	padding: 24px !important;
	box-shadow: var(--fb-shadow-card) !important;
}

.fb-summary-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding-bottom: 16px !important;
	margin-bottom: 18px !important;
	border-bottom: 1.5px dashed #e2e8f0 !important;
}

.fb-summary-title {
	font-size: 17.5px !important;
	font-weight: 700 !important;
	color: var(--fb-text-main) !important;
	margin: 0 !important;
}

.fb-summary-badge {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: var(--fb-primary-light) !important;
	color: var(--fb-text-accent) !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	padding: 3px 10px !important;
	border-radius: var(--fb-radius-pill, 20px) !important;
	line-height: 1.4 !important;
}

/* Summary Rows */
.fb-summary-body {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
}

.fb-summary-row {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	font-size: 13.5px !important;
	color: var(--fb-text-muted) !important;
}

.fb-row-label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
}

.fb-row-val {
	font-weight: 600 !important;
	color: var(--fb-text-main) !important;
}

.fb-row-val .woocommerce-Price-amount {
	color: inherit !important;
	font-weight: inherit !important;
}

/* Total Savings Row (Psychological Green Incentive) */
.fb-summary-row.fb-savings-row {
	color: #059669 !important;
	background: var(--fb-success-light) !important;
	padding: 8px 12px !important;
	border-radius: var(--fb-radius-sm, 6px) !important;
	border: 1px dashed rgba(16, 185, 129, 0.4) !important;
	margin: 2px 0 !important;
	box-sizing: border-box !important;
}

.fb-savings-label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	color: #059669 !important;
	font-weight: 700 !important;
	font-size: 13px !important;
}

.fb-savings-label svg {
	color: #059669 !important;
	stroke-width: 2.2 !important;
	flex-shrink: 0 !important;
}

.fb-savings-val,
.fb-savings-val .woocommerce-Price-amount,
.fb-savings-val bdi {
	color: #059669 !important;
	font-weight: 800 !important;
	font-size: 14px !important;
	font-family: var(--fb-font-family) !important;
}

.fb-savings-val .woocommerce-Price-currencySymbol {
	color: #059669 !important;
	font-size: 12px !important;
	font-weight: 500 !important;
}

/* Discount Row */
.fb-discount-row {
	color: #059669 !important;
}

.fb-discount-val {
	color: #059669 !important;
	font-weight: 700 !important;
}

.fb-discount-val .woocommerce-remove-coupon {
	display: none !important;
}

.fb-coupon-remove-link {
	font-size: 11.5px !important;
	color: var(--fb-text-main) !important;
	text-decoration: none !important;
	margin-right: 6px !important;
	font-weight: 500 !important;
	opacity: 0.75 !important;
	transition: all 0.2s ease !important;
}

.fb-coupon-remove-link:hover {
	opacity: 1 !important;
	text-decoration: underline !important;
	color: #000000 !important;
}

/* Shipping Notice Row */
.fb-shipping-notice-row {
	padding: 4px 0 !important;
}

.fb-shipping-notice-val {
	font-size: 12.5px !important;
	color: var(--fb-text-muted) !important;
	font-weight: 500 !important;
}

/* Shipping Section */
.fb-shipping-section {
	padding: 14px 0 !important;
	border-top: 1px solid var(--fb-border-light) !important;
	border-bottom: 1px solid var(--fb-border-light) !important;
}

.fb-shipping-section ul#shipping_method,
ul.woocommerce-shipping-methods {
	list-style: none !important;
	padding: 0 !important;
	margin: 8px 0 0 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	width: 100% !important;
}

.fb-shipping-section ul#shipping_method li,
ul.woocommerce-shipping-methods li {
	position: relative !important;
	border: 1.5px solid var(--fb-border-color) !important;
	border-radius: var(--fb-radius-md) !important;
	background: #ffffff !important;
	transition: all 0.2s ease !important;
	cursor: pointer !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
}

.fb-shipping-section ul#shipping_method li:hover,
ul.woocommerce-shipping-methods li:hover {
	border-color: var(--fb-border-hover) !important;
}

.fb-shipping-section ul#shipping_method li.fb-active,
.fb-shipping-section ul#shipping_method li:has(input[type="radio"]:checked),
ul.woocommerce-shipping-methods li.fb-active,
ul.woocommerce-shipping-methods li:has(input[type="radio"]:checked) {
	border-color: var(--fb-primary) !important;
	box-shadow: var(--fb-shadow-card) !important;
}

.fb-shipping-section ul#shipping_method li label,
ul.woocommerce-shipping-methods li label {
	display: flex !important;
	align-items: center !important;
	padding: 12px 14px 12px 46px !important;
	margin: 0 !important;
	cursor: pointer !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: var(--fb-text-main) !important;
	width: 100% !important;
	user-select: none !important;
	line-height: 1.4 !important;
	position: relative !important;
}

.fb-shipping-section ul#shipping_method li label::before,
ul.woocommerce-shipping-methods li label::before {
	content: "" !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 32px !important;
	height: 32px !important;
	border-radius: var(--fb-radius-box, 8px) !important;
	background: #f8fafc
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23005b59' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='3' width='15' height='13'%3E%3C/rect%3E%3Cpolygon points='16 8 20 8 23 11 23 16 16 16 16 8'%3E%3C/polygon%3E%3Ccircle cx='5.5' cy='18.5' r='2.5'%3E%3C/circle%3E%3Ccircle cx='18.5' cy='18.5' r='2.5'%3E%3C/circle%3E%3C/svg%3E")
		no-repeat center center !important;
	border: 1px solid var(--fb-border-color) !important;
	margin-left: 10px !important;
	flex-shrink: 0 !important;
}

.fb-shipping-section ul#shipping_method li .woocommerce-Price-amount,
ul.woocommerce-shipping-methods li .woocommerce-Price-amount {
	color: var(--fb-text-accent) !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	margin-right: auto !important;
	padding-left: 6px !important;
	white-space: nowrap !important;
}

.fb-shipping-section ul#shipping_method li input[type="radio"].shipping_method,
ul.woocommerce-shipping-methods li input[type="radio"].shipping_method {
	appearance: none !important;
	-webkit-appearance: none !important;
	position: absolute !important;
	left: 16px !important;
	top: 28px !important;
	transform: translateY(-50%) !important;
	width: 20px !important;
	height: 20px !important;
	border: 2px solid #cbd5e1 !important;
	border-radius: 50% !important;
	outline: none !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	margin: 0 !important;
	background: #ffffff !important;
	z-index: 2 !important;
}

.fb-shipping-section ul#shipping_method li input[type="radio"].shipping_method:checked,
ul.woocommerce-shipping-methods li input[type="radio"].shipping_method:checked {
	border-color: var(--fb-primary) !important;
}

.fb-shipping-section ul#shipping_method li input[type="radio"].shipping_method:checked::before,
ul.woocommerce-shipping-methods li input[type="radio"].shipping_method:checked::before {
	content: "" !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	width: 100% !important;
	height: 10px !important;
	background-color: var(--fb-primary) !important;
	border-radius: 50% !important;
}

.fb-shipping-section ul#shipping_method li .shipping_method_description,
ul.woocommerce-shipping-methods li .shipping_method_description {
	background: var(--fb-bg-subtle) !important;
	padding: 9px 16px !important;
	border-top: 1px solid var(--fb-border-light) !important;
	font-size: 12px !important;
	color: var(--fb-text-muted) !important;
	line-height: 1.6 !important;
	margin: 0 !important;
	border-radius: 0 !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* Total Row */
.fb-total-row {
	padding-top: 16px !important;
	margin-top: 6px !important;
	border-top: 1.5px dashed #e2e8f0 !important;
}

.fb-total-label {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: var(--fb-text-main) !important;
}

.fb-total-val {
	font-size: 18px !important;
	font-weight: 800 !important;
	color: var(--fb-text-accent) !important;
}

.fb-cart-total-wrap {
	display: inline-flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 2px !important;
	text-align: right !important;
	line-height: 1.2 !important;
}

.fb-total-old {
	font-size: 13px !important;
	font-weight: 500 !important;
	color: var(--fb-text-subtle) !important;
	text-decoration: line-through !important;
	line-height: 1.2 !important;
	letter-spacing: -0.2px !important;
	opacity: 0.85 !important;
}

.fb-total-current {
	font-size: 18px !important;
	font-weight: 800 !important;
	color: var(--fb-text-accent) !important;
	line-height: 1.3 !important;
}

.fb-total-current strong,
.fb-total-current .woocommerce-Price-amount,
.fb-total-current bdi {
	font-size: 18px !important;
	font-weight: 800 !important;
	color: var(--fb-text-accent) !important;
}

/* Coupon Box */
.fb-coupon-wrapper {
	margin-top: 8px !important;
	padding-top: 14px !important;
	border-top: 1px dashed var(--fb-border-light, #f1f5f9) !important;
}

.fb-coupon-toggle-btn {
	background: transparent !important;
	border: none !important;
	color: var(--fb-primary) !important;
	font-family: var(--fb-font-family) !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 7px !important;
	padding: 4px 0 !important;
	text-decoration: none !important;
	outline: none !important;
	transition: all 0.2s ease !important;
}

.fb-coupon-toggle-btn span {
	font-family: var(--fb-font-family) !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: var(--fb-primary) !important;
	text-decoration: none !important;
}

.fb-coupon-toggle-btn:hover,
.fb-coupon-toggle-btn:hover span {
	color: var(--fb-primary-hover) !important;
	text-decoration: none !important;
}

.fb-coupon-toggle-btn svg {
	color: var(--fb-primary) !important;
	transition: transform 0.2s ease !important;
	flex-shrink: 0 !important;
}

.fb-coupon-toggle-btn:hover svg {
	transform: scale(1.1);
}

.fb-coupon-form {
	display: none;
	margin-top: 12px !important;
}

.fb-coupon-form.is-open {
	display: block !important;
}

.fb-coupon-input-group {
	display: flex !important;
	gap: 8px !important;
}

.fb-coupon-input {
	flex: 1 !important;
	height: 42px !important;
	padding: 0 14px !important;
	border: 1.5px solid var(--fb-border-color) !important;
	border-radius: var(--fb-radius-sm, 6px) !important;
	font-size: 13px !important;
	outline: none !important;
	transition: border-color 0.2s !important;
	font-family: var(--fb-font-family) !important;
	box-sizing: border-box !important;
}

.fb-coupon-input:focus {
	border-color: var(--fb-primary) !important;
	box-shadow: 0 0 0 2px var(--fb-primary-border) !important;
}

.fb-coupon-btn {
	height: 42px !important;
	padding: 0 18px !important;
	background: var(--fb-primary) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: var(--fb-radius-sm, 6px) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	white-space: nowrap !important;
	font-family: var(--fb-font-family) !important;
	box-sizing: border-box !important;
}

.fb-coupon-btn:hover {
	background: var(--fb-primary-hover) !important;
}

.fb-coupon-message {
	font-size: 12px !important;
	margin-top: 8px !important;
	font-family: var(--fb-font-family) !important;
}

/* ==========================================================================
   Proceed Button - Strictly matching Figma specs & Design Tokens
   - Height: 48px
   - Radius: 8px
   - Background: rgba(2, 74, 76, 1) / #005b59
   - Box shadow: 0 8px 16px -2px rgba(1, 35, 36, 0.32)
   - Padding: 0 16px, Gap: 8px
   - Static flat hover (no jump)
   ========================================================================== */
.fb-order-summary-card .checkout-button,
.fb-order-summary-card .fb-proceed-checkout-btn,
.woocommerce .cart-collaterals .fb-proceed-checkout-btn,
.elementor-widget-woocommerce-cart .checkout-button,
.fb-proceed-checkout-btn,
.fb-checkout-submit-btn {
	width: 100% !important;
	height: 48px !important;
	border-radius: var(--fb-btn-radius, 8px) !important;
	background-color: var(--fb-btn-bg) !important;
	background: var(--fb-btn-bg) !important;
	color: #ffffff !important;
	border: none !important;
	font-family: var(--fb-font-family) !important;
	font-size: 14.5px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	padding: 0 16px !important;
	box-shadow: var(--fb-btn-shadow) !important;
	position: relative !important;
	user-select: none !important;
	transition: all 0.2s ease !important;
	transform: none !important;
	text-decoration: none !important;
	margin-top: 20px !important;
}

.fb-order-summary-card .checkout-button:hover,
.fb-order-summary-card .checkout-button:focus,
.fb-order-summary-card .checkout-button:active,
.fb-order-summary-card .fb-proceed-checkout-btn:hover,
.woocommerce .cart-collaterals .fb-proceed-checkout-btn:hover,
.elementor-widget-woocommerce-cart .checkout-button:hover,
.fb-proceed-checkout-btn:hover,
.fb-checkout-submit-btn:hover,
.fb-checkout-submit-btn:focus,
.fb-checkout-submit-btn:active {
	background-color: var(--fb-btn-bg-hover) !important;
	background: var(--fb-btn-bg-hover) !important;
	box-shadow: var(--fb-btn-shadow-hover) !important;
	transform: none !important;
	color: #ffffff !important;
}

.fb-btn-text {
	color: #ffffff !important;
	font-size: 14.5px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
}

.fb-btn-amount {
	color: rgba(255, 255, 255, 0.9) !important;
	font-size: 13.5px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
}

/* Button Spinner / Loading Indicator (Positioned on the Left in RTL) */
.fb-btn-loader {
	display: none;
	width: 17px;
	height: 17px;
	border: 2.5px solid rgba(255, 255, 255, 0.35);
	border-radius: 50%;
	border-top-color: #ffffff;
	animation: fbSpin 0.7s linear infinite;
	margin-right: 6px !important;
	margin-left: 0 !important;
	order: 99 !important;
	flex-shrink: 0 !important;
}

.fb-proceed-checkout-btn.fb-loading .fb-btn-loader,
.checkout-button.fb-loading .fb-btn-loader,
.fb-mobile-cart-btn.fb-loading .fb-btn-loader {
	display: inline-block !important;
}

.fb-proceed-checkout-btn.fb-loading,
.checkout-button.fb-loading,
.fb-mobile-cart-btn.fb-loading {
	opacity: 0.88 !important;
	cursor: wait !important;
	pointer-events: none !important;
}

@keyframes fbSpin {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

/* Trust / Service Guarantees */
.fb-cart-guarantees {
	margin-top: 20px !important;
	padding-top: 18px !important;
	border-top: 1px solid var(--fb-border-light) !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
}

.fb-guarantee-item {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 12.5px !important;
	color: var(--fb-text-muted) !important;
}

.fb-guarantee-item svg {
	color: var(--fb-primary) !important;
	flex-shrink: 0 !important;
}

/* ==========================================================================
   Empty Cart State
   ========================================================================== */
.fb-cart-wrapper.fb-cart-empty-wrapper,
.fb-cart-empty-wrapper {
	display: block !important;
	grid-template-columns: none !important;
	max-width: 680px !important;
	margin: 50px auto 80px !important;
	padding: 0 16px !important;
	text-align: center !important;
	width: 100% !important;
}

.fb-cart-empty-card {
	background: #ffffff !important;
	border: 1px solid var(--fb-border-color) !important;
	border-radius: var(--fb-radius-lg) !important;
	padding: 48px 32px !important;
	box-shadow: var(--fb-shadow-card) !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	width: 100% !important;
	max-width: 640px !important;
	margin: 0 auto !important;
	box-sizing: border-box !important;
}

.fb-cart-empty-icon-wrap {
	width: 110px !important;
	height: 110px !important;
	border-radius: 50% !important;
	background: #f0fdfa !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-bottom: 24px !important;
	color: var(--fb-primary) !important;
}

.fb-cart-empty-title {
	font-size: 21px !important;
	font-weight: 800 !important;
	color: var(--fb-text-main) !important;
	margin: 0 0 10px 0 !important;
}

.fb-cart-empty-desc {
	font-size: 14.5px !important;
	color: var(--fb-text-muted) !important;
	margin: 0 0 28px 0 !important;
	max-width: 420px !important;
	line-height: 1.6 !important;
}

.fb-cart-empty-card .cart-empty.woocommerce-info {
	display: none !important;
}

.fb-empty-shop-btn {
	width: auto !important;
	min-width: 240px !important;
	margin-top: 0 !important;
}

/* ==========================================================================
   Responsive Product Card Layout (<= 1280px)
   Transforms Cart Table into Clean Product Cards on all screens <= 1280px
   (Eliminates tight column squishing and horizontal scroll)
   ========================================================================== */
@media (max-width: 1280px) {
	.woocommerce .fb-cart-table thead,
	.fb-cart-table thead {
		display: none !important;
	}

	.woocommerce .fb-cart-table,
	.woocommerce .fb-cart-table tbody,
	.fb-cart-table,
	.fb-cart-table tbody {
		display: block !important;
		width: 100% !important;
	}

	.fb-cart-table tbody tr:nth-child(even) {
		background-color: var(--fb-bg-surface) !important;
	}

	/* Disable WooCommerce default mobile pseudo-labels and restore thumbnail */
	.fb-cart-table.shop_table_responsive tr td::before,
	.fb-cart-table tr td::before {
		display: none !important;
		content: none !important;
	}

	.woocommerce .fb-cart-table tr.fb-cart-item,
	.fb-cart-item {
		display: grid !important;
		grid-template-columns: auto 1fr !important;
		grid-template-rows: auto auto auto !important;
		row-gap: 0 !important;
		column-gap: 0 !important;
		align-items: center !important;
		position: relative !important;
		padding: 16px 18px 14px !important;
		border-bottom: 2px solid var(--fb-border-light) !important;
		border-top: none !important;
	}

	.fb-cart-item:last-child {
		border-bottom: none !important;
	}

	/* Row 1, Col 1: Thumbnail (Top-Right in RTL) */
	.fb-cart-table.shop_table_responsive tr td.fb-td-thumbnail,
	.fb-cart-table tr td.fb-td-thumbnail {
		display: block !important;
		grid-column: 1 / 2 !important;
		grid-row: 1 / 2 !important;
		align-self: center !important;
		padding: 0 0 14px 14px !important;
		width: auto !important;
	}

	.fb-cart-thumb {
		width: 58px !important;
		height: 58px !important;
		border-radius: var(--fb-radius-card, 8px) !important;
		border: 1px solid var(--fb-border-light, #f1f5f9) !important;
		overflow: hidden !important;
	}

	/* Row 1, Col 2: Name & Variations (Top-Left in RTL) */
	.fb-cart-table.shop_table_responsive tr td.fb-td-name,
	.fb-cart-table tr td.fb-td-name {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		grid-column: 2 / 3 !important;
		grid-row: 1 / 2 !important;
		padding: 0 0 14px 34px !important; /* Space for absolute remove button on far left */
		min-width: 0 !important;
		text-align: start !important;
	}

	.fb-cart-item-title,
	.fb-cart-item-title a {
		font-size: 13.5px !important;
		font-weight: 700 !important;
		margin: 0 0 4px 0 !important;
		line-height: 1.45 !important;
		color: var(--fb-text-main) !important;
	}

	/* Row 2, Col 1: Quantity Selector (Right side in RTL) */
	.fb-cart-table.shop_table_responsive tr td.fb-td-quantity,
	.fb-cart-table tr td.fb-td-quantity {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		align-self: stretch !important;
		height: 100% !important;
		min-height: 52px !important;
		box-sizing: border-box !important;
		grid-column: 1 / 2 !important;
		grid-row: 2 / 3 !important;
		padding: 10px 0 !important;
		margin: 0 !important;
		border-top: 1px dashed var(--fb-border-color, #e2e8f0) !important;
		border-bottom: 1px dashed var(--fb-border-color, #e2e8f0) !important;
		border-left: none !important;
		border-right: none !important;
		width: auto !important;
	}

	.fb-qty-control {
		height: 32px !important;
		border-radius: var(--fb-radius-btn, 8px) !important;
	}

	.fb-qty-btn {
		width: 28px !important;
		height: 32px !important;
	}

	.fb-qty-input {
		width: 30px !important;
		height: 32px !important;
		font-size: 13px !important;
	}

	/* Row 2, Col 2: Unit Price (Left side in RTL) */
	.fb-cart-table.shop_table_responsive tr td.fb-td-price,
	.fb-cart-table tr td.fb-td-price {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		align-self: stretch !important;
		height: 100% !important;
		min-height: 52px !important;
		box-sizing: border-box !important;
		flex-wrap: wrap !important;
		gap: 6px !important;
		grid-column: 2 / 3 !important;
		grid-row: 2 / 3 !important;
		padding: 10px 0 !important;
		margin: 0 !important;
		border-top: 1px dashed var(--fb-border-color, #e2e8f0) !important;
		border-bottom: 1px dashed var(--fb-border-color, #e2e8f0) !important;
		border-left: none !important;
		border-right: none !important;
		min-width: 0 !important;
		text-align: left !important;
	}

	.fb-cart-table.shop_table_responsive tr td.fb-td-price::before,
	.fb-cart-table tr td.fb-td-price::before {
		content: "قیمت واحد:" !important;
		display: inline-block !important;
		font-size: 12px !important;
		font-weight: 500 !important;
		color: var(--fb-text-muted) !important;
		margin-left: 2px !important;
	}

	.fb-cart-table tr td.fb-td-price .fb-cart-item-price-wrap {
		display: inline-flex !important;
		flex-direction: column !important;
		align-items: start !important;
		gap: 6px !important;
	}

	.fb-cart-table tr td.fb-td-price .woocommerce-Price-amount,
	.fb-cart-table tr td.fb-td-price bdi,
	.fb-cart-table tr td.fb-td-price .fb-price-current {
		font-size: 13px !important;
		font-weight: 600 !important;
		color: var(--fb-text-body) !important;
	}

	.fb-cart-table tr td.fb-td-price .fb-price-old {
		font-size: 11.5px !important;
		color: var(--fb-text-subtle) !important;
		text-decoration: line-through !important;
	}

	.fb-cart-table tr td.fb-td-price .woocommerce-Price-currencySymbol {
		font-size: 11.5px !important;
		color: var(--fb-text-muted) !important;
	}

	/* Row 3: Subtotal (Full Width: Label on Right, Total Amount on Left) */
	.fb-cart-table.shop_table_responsive tr td.fb-td-subtotal,
	.fb-cart-table tr td.fb-td-subtotal {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		grid-column: 1 / -1 !important;
		grid-row: 3 / 4 !important;
		padding: 12px 0 2px 0 !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.fb-cart-table.shop_table_responsive tr td.fb-td-subtotal::before,
	.fb-cart-table tr td.fb-td-subtotal::before {
		content: "مجموع:" !important;
		display: inline-block !important;
		font-size: 13px !important;
		font-weight: 600 !important;
		color: var(--fb-text-muted) !important;
	}

	.fb-subtotal-amount {
		font-size: 15px !important;
		font-weight: 800 !important;
		color: var(--fb-text-main) !important;
	}

	.fb-cart-table tr td.fb-td-subtotal .fb-cart-item-price-wrap {
		display: inline-flex !important;
		flex-direction: column !important;
		align-items: flex-end !important;
		gap: 3px !important;
	}

	.fb-cart-table tr td.fb-td-subtotal .fb-price-current,
	.fb-cart-table tr td.fb-td-subtotal ins {
		font-size: 15px !important;
		font-weight: 800 !important;
		color: var(--fb-text-main) !important;
	}

	.fb-cart-table tr td.fb-td-subtotal .fb-price-old,
	.fb-cart-table tr td.fb-td-subtotal del {
		font-size: 12px !important;
		color: var(--fb-text-subtle) !important;
		text-decoration: line-through !important;
	}

	.fb-cart-table tr td.fb-td-subtotal .woocommerce-Price-currencySymbol {
		font-size: 12px !important;
	}

	/* Remove Button: Absolute Top-Left */
	.fb-cart-table.shop_table_responsive tr td.fb-td-remove,
	.fb-cart-table tr td.fb-td-remove {
		display: flex !important;
		position: absolute !important;
		top: 14px !important;
		left: 14px !important;
		padding: 0 !important;
		width: 28px !important;
		height: 28px !important;
		z-index: 2 !important;
	}

	.fb-cart-remove-btn {
		width: 28px !important;
		height: 28px !important;
	}

	.fb-order-summary-card {
		padding: 18px !important;
	}
}

/* ==========================================================================
   Mobile Sticky Bottom Cart Bar (Fixed on Mobile Viewports)
   ========================================================================== */
.fb-mobile-cart-bar {
	display: none !important;
}

@media (max-width: 767px) {
	.fb-mobile-cart-bar {
		display: block !important;
		position: fixed !important;
		bottom: 0 !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		background: #ffffff !important;
		border-top: 1px solid var(--fb-border-color, #e5e7eb) !important;
		box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08) !important;
		padding: 12px 16px !important;
		padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
		z-index: 990 !important;
		box-sizing: border-box !important;
	}

	.fb-mobile-cart-bar-content {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 16px !important;
		max-width: 520px !important;
		margin: 0 auto !important;
		width: 100% !important;
	}

	/* Proceed Button: Right side in RTL */
	.fb-mobile-cart-btn {
		flex: 1 !important;
		max-width: 180px !important;
		height: 46px !important;
		min-height: 46px !important;
		border-radius: var(--fb-btn-radius, 8px) !important;
		background-color: var(--fb-btn-bg) !important;
		background: var(--fb-btn-bg) !important;
		color: #ffffff !important;
		border: none !important;
		font-family: var(--fb-font-family) !important;
		font-size: 14px !important;
		font-weight: 700 !important;
		box-shadow: var(--fb-btn-shadow) !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		text-decoration: none !important;
		user-select: none !important;
		transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
		transform: none !important;
		margin: 0 !important;
		line-height: 1 !important;
	}

	.fb-mobile-cart-btn:hover,
	.fb-mobile-cart-btn:focus,
	.fb-mobile-cart-btn:active {
		background-color: var(--fb-btn-bg-hover) !important;
		background: var(--fb-btn-bg-hover) !important;
		box-shadow: var(--fb-btn-shadow-hover) !important;
		color: #ffffff !important;
		text-decoration: none !important;
		transform: none !important;
	}

	.fb-mobile-cart-btn:active {
		transform: scale(0.98) !important;
	}

	.fb-mobile-cart-btn .fb-btn-text {
		color: #ffffff !important;
		font-size: 14px !important;
		font-weight: 700 !important;
		line-height: 1 !important;
	}

	/* Price info: Left side in RTL */
	.fb-mobile-cart-price-wrap {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 2px !important;
		flex-shrink: 0 !important;
		text-align: right !important;
	}

	.fb-mobile-cart-price-label {
		font-size: 11px !important;
		color: var(--fb-text-muted, #6b7280) !important;
		font-weight: 500 !important;
		line-height: 1.3 !important;
	}

	.fb-mobile-cart-price-amount {
		font-size: 15px !important;
		font-weight: 800 !important;
		color: var(--fb-text-accent) !important;
		white-space: nowrap !important;
		line-height: 1.2 !important;
	}

	.fb-mobile-cart-price-amount .woocommerce-Price-amount {
		color: inherit !important;
		font-weight: inherit !important;
		font-size: 15px !important;
	}

	.fb-mobile-cart-price-amount .woocommerce-Price-currencySymbol {
		font-size: 12px !important;
		font-weight: 500 !important;
		margin-right: 3px !important;
	}

	.fb-mobile-cart-bar .fb-total-old,
	.fb-mobile-cart-price-amount .fb-total-old {
		display: none !important;
	}

	/* Hide in-card proceed button on mobile */
	.fb-order-summary-card .wc-proceed-to-checkout,
	.cart_totals .wc-proceed-to-checkout,
	.elementor-widget-woocommerce-cart .e-cart__column-end .checkout-button,
	.fb-proceed-wrapper {
		display: none !important;
	}
}
