:root {
	--fcf-primary: var(--color-primary-bg, var(--primary-color, var(--cz-primary-color, #f59e0b)));
	--fcf-primary-hover: var(--color-primary-hover, #d97706);
	--fcf-primary-rgb: var(--color-primary-bg-rgb, 245, 158, 11);
	--fcf-primary-light: rgba(var(--color-primary-bg-rgb, 245, 158, 11), 0.12);
}

/* ==========================================================================
   Purchase flow steps — Modern Responsive Breadcrumb Stepper
   ========================================================================== */
.fcf-purchase-steps.codevz-cart-checkout-steps,
.fcf-purchase-steps {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	margin: 16px auto 26px !important;
	padding: 10px 16px !important;
	max-width: 980px !important;
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 16px !important;
	box-shadow: 0 4px 16px -2px rgba(15, 23, 42, 0.05), 0 2px 6px -1px rgba(15, 23, 42, 0.03) !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	scrollbar-width: none !important;
	-ms-overflow-style: none !important;
	-webkit-overflow-scrolling: touch !important;
	white-space: nowrap !important;
	box-sizing: border-box !important;
}

.fcf-purchase-steps::-webkit-scrollbar {
	display: none !important;
}

/* Step Links */
.fcf-purchase-steps a {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	text-decoration: none !important;
	color: #64748b !important;
	font-size: 13.5px !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	padding: 8px 14px !important;
	border-radius: 999px !important;
	border: 1px solid transparent !important;
	background: transparent !important;
	flex-shrink: 0 !important;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
	cursor: default !important;
}

/* Step Number / Icon Badge */
.fcf-purchase-steps a span {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 24px !important;
	height: 24px !important;
	min-width: 24px !important;
	border-radius: 50% !important;
	font-weight: 700 !important;
	font-size: 12px !important;
	background: #f1f5f9 !important;
	color: #64748b !important;
	transition: all 0.25s ease !important;
	box-sizing: border-box !important;
}

.fcf-purchase-steps a span svg {
	width: 13px !important;
	height: 13px !important;
	stroke-width: 3 !important;
}

.fcf-purchase-steps a strong {
	font-weight: 600 !important;
	font-size: 13.5px !important;
	letter-spacing: -0.2px !important;
}

/* Completed Steps (Done) */
.fcf-purchase-steps a.fcf-step-done {
	color: #0f766e !important;
	background: #f0fdfa !important;
	border-color: #ccfbf1 !important;
	cursor: pointer !important;
}

.fcf-purchase-steps a.fcf-step-done:hover {
	background: #ccfbf1 !important;
	color: #115e59 !important;
	border-color: #99f6e4 !important;
	transform: translateY(-1px) !important;
}

.fcf-purchase-steps a.fcf-step-done span {
	background: #0d9488 !important;
	color: #ffffff !important;
	box-shadow: 0 2px 6px rgba(13, 148, 136, 0.3) !important;
}

/* Current Active Step */
.fcf-purchase-steps a.fcf-step-current,
.fcf-purchase-steps a.codevz-current-step {
	color: #ffffff !important;
	background: linear-gradient(135deg, var(--fcf-primary, #f59e0b) 0%, var(--fcf-primary-hover, #d97706) 100%) !important;
	border-color: var(--fcf-primary, #f59e0b) !important;
	box-shadow: 0 4px 14px rgba(var(--fcf-primary-rgb, 245, 158, 11), 0.35) !important;
	transform: scale(1.02) !important;
}

.fcf-purchase-steps a.fcf-step-current span,
.fcf-purchase-steps a.codevz-current-step span {
	background: #ffffff !important;
	color: var(--fcf-primary, #f59e0b) !important;
	font-weight: 800 !important;
}

.fcf-purchase-steps a.fcf-step-current strong,
.fcf-purchase-steps a.codevz-current-step strong {
	color: #ffffff !important;
	font-weight: 700 !important;
}

/* Separator Icon (RTL Chevron pointing left) */
.fcf-purchase-steps .fcf-step-sep {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #cbd5e1 !important;
	flex-shrink: 0 !important;
	margin: 0 2px !important;
	opacity: 0.8 !important;
}

.fcf-purchase-steps .fcf-step-sep svg {
	width: 12px !important;
	height: 12px !important;
}

/* Responsive Stepper for Mobile & Tablet */
@media (max-width: 768px) {
	.fcf-purchase-steps.codevz-cart-checkout-steps,
	.fcf-purchase-steps {
		justify-content: flex-start !important;
		margin: 10px 12px 18px !important;
		padding: 8px 12px !important;
		border-radius: 14px !important;
		gap: 6px !important;
	}

	.fcf-purchase-steps a {
		padding: 6px 11px !important;
		font-size: 12.5px !important;
		gap: 6px !important;
	}

	.fcf-purchase-steps a span {
		width: 22px !important;
		height: 22px !important;
		min-width: 22px !important;
		font-size: 11px !important;
	}

	.fcf-purchase-steps a strong {
		font-size: 12.5px !important;
	}

	.fcf-purchase-steps .fcf-step-sep {
		margin: 0 !important;
	}
}

.fcf-select-fabric-page {
	max-width: 1100px;
	margin: 0 auto;
	padding: 12px 16px 40px;
}
.fcf-select-header {
	margin-bottom: 16px;
}
.fcf-select-product {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	flex-wrap: wrap;
}
.fcf-select-product img {
	width: 100px;
	height: 100px;
	object-fit: cover;
	border-radius: 10px;
}
.fcf-select-title {
	font-size: 1.25rem;
	margin: 0 0 6px;
}
.fcf-select-base-price,
.fcf-select-code {
	margin: 4px 0;
	font-size: 14px;
	color: #4b5563;
}
.fcf-cfg-page {
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	padding: 14px;
	background: #fff;
}
.fcf-cfg-qty {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 12px 0;
}
.fcf-cfg-qty input {
	width: 80px;
}
.fcf-cfg-submit {
	width: 100%;
	max-width: 320px;
}
.fcf-last-fabric-banner {
	margin: 0 0 14px;
	padding: 10px 16px;
	background: #fffbeb;
	border: 1px solid #fde68a;
	border-radius: 10px;
	font-size: 13.5px;
	color: #92400e;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}
.fcf-last-fabric-banner button {
	margin-inline-start: auto;
	background: var(--fcf-primary, #f59e0b) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 8px !important;
	padding: 6px 14px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	transition: background 0.2s ease !important;
}
.fcf-last-fabric-banner button:hover {
	background: var(--fcf-primary-hover, #d97706) !important;
}
.fcf-single-select-wrap {
	margin: 12px 0;
}
.fcf-cart-fabric-suffix {
	display: inline;
	color: #6b7280;
	font-weight: 500;
}

/* Hide theme 3-step bar when our 5-step is active */
body.fcf-has-purchase-steps .codevz-cart-checkout-steps:not(.fcf-purchase-steps) {
	display: none !important;
}

.fcf-cart-item-title,
.fcf-cart-fabric-line,
.fcf-cart-price-break,
.fcf-cart-base,
.fcf-cart-fabric-cost,
.fcf-order-fabric-block,
.fcf-order-fabric-label {
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	font-style: inherit !important;
	line-height: inherit !important;
	letter-spacing: inherit !important;
	color: inherit !important;
}
.fcf-cart-item-title { display: block; }
.fcf-cart-fabric-line { margin-top: 4px; opacity: 0.9; }
.fcf-cart-price-break { margin-top: 8px; line-height: 1.5; opacity: 0.9; }
/* cart fabric photo styles live in configurator.css (.fcf-cart-fabric-photo) */

.fcf-cfg-card-color .fcf-cfg-card-body { padding: 16px 12px; text-align: center; }
.fcf-cfg-card-noimg .fcf-cfg-card-img-empty { min-height: 80px; display:flex; align-items:center; justify-content:center; background:#f3f4f6; }

.fcf-select-fabric-page { max-width: 1100px; width: 100%; box-sizing: border-box; }
.fcf-select-wrap { width: 100%; }
.fcf-cfg-page { border-radius: 0 !important; }
@media (max-width: 782px) {
	.fcf-select-fabric-page { padding: 8px 10px 28px; }
	.fcf-select-product { flex-direction: column; }
	.fcf-select-product img { width: 80px; height: 80px; }
	.fcf-purchase-steps { font-size: 12px; }
}


/* FCF fabric crop on cart + order (loaded without configurator.css) */
.fcf-cart-fabric-photo,
.fcf-order-fabric-photo {
	position: relative !important;
	display: block !important;
	width: 96px !important;
	height: 96px !important;
	max-width: 96px !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 1px solid #e5e5e5 !important;
	background: #f3f3f3 !important;
	border-radius: 0 !important;
	box-sizing: border-box !important;
}
.fcf-cart-fabric-photo img,
.fcf-order-fabric-photo img {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: calc(150% + 4px) !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center top !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
}
.woocommerce-checkout .fcf-cart-fabric-photo {
	display: none !important;
}


/* Keep order/cart FCF bits on theme typography */
.woocommerce-order-details .fcf-order-fabric-block,
.woocommerce-table--order-details .fcf-order-fabric-block,
.woocommerce-order .fcf-order-fabric-block,
.woocommerce-account .fcf-order-fabric-block {
	font-family: inherit !important;
	font-size: inherit !important;
	color: inherit !important;
}


/* Product + last fabric side by side on desktop */
.fcf-select-header {
	margin: 0 0 8px;
	padding: 0;
}
.fcf-select-top {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px 20px;
}
.fcf-select-product {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	flex: 1 1 280px;
	min-width: 0;
}
.fcf-select-product-meta {
	min-width: 0;
}
.fcf-last-fabric-banner {
	flex: 0 1 320px;
	max-width: 360px;
	margin: 0 !important;
	align-self: flex-start;
}
.fcf-select-wrap {
	margin-top: 0;
	padding-top: 0;
}
.fcf-select-fabric-page {
	padding-top: 4px;
}
@media (max-width: 782px) {
	.fcf-select-top {
		flex-direction: column;
	}
	.fcf-last-fabric-banner {
		max-width: 100%;
		flex: 1 1 auto;
		width: 100%;
	}
}


/* Product + fabric pair — same visual language, no boxes */
.fcf-select-header {
	margin: 0 0 12px;
	padding: 0;
	background: none;
	border: none;
}
.fcf-select-pair {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem 2rem;
	align-items: flex-start;
}
.fcf-select-product,
.fcf-select-fabric {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	background: none;
	border: none;
	padding: 0;
	margin: 0;
}
.fcf-select-product img {
	width: 100px;
	height: 100px;
	object-fit: cover;
	object-position: center center;
	border-radius: 10px;
	flex-shrink: 0;
	display: block;
	background: #f3f3f3;
}
.fcf-select-fabric-thumb {
	width: 100px;
	height: 100px;
	border-radius: 10px;
	overflow: hidden;
	flex-shrink: 0;
	position: relative;
	display: block;
	background: #f3f3f3;
}
.fcf-select-fabric-thumb img.fcf-select-fabric-img {
	position: static !important;
	width: 100px !important;
	height: 150px !important;
	max-width: none !important;
	object-fit: cover !important;
	object-position: center top !important;
	margin: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	display: block !important;
}
.fcf-select-fabric-img--empty {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	color: #999;
}
.fcf-select-title,
.fcf-select-fabric-title {
	font-size: 1.25rem;
	margin: 0 0 6px;
	font-weight: 600;
	line-height: 1.3;
	color: inherit;
}
.fcf-select-base-price,
.fcf-select-code,
.fcf-select-fabric-color,
.fcf-select-fabric-price {
	margin: 4px 0;
	font-size: 14px;
	color: #4b5563;
}
.fcf-select-fabric-col {
	min-width: 0;
}
.fcf-select-fabric-meta {
	min-width: 0;
}
.fcf-last-fabric-banner {
	max-width: 100%;
	flex: none;
	margin: 0 !important;
}

/* Confirm footer: total | actions */
.fcf-cfg-confirm-footer {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem 1.5rem;
	align-items: center;
	margin-top: 0.5rem;
	padding-top: 1rem;
	border-top: 1px solid #e5e5e5;
	background: none;
}
.fcf-cfg-grand-total {
	font-size: 1.15rem;
	line-height: 1.4;
	color: inherit;
}
.fcf-cfg-grand-label {
	font-weight: 500;
	opacity: 0.85;
}
.fcf-cfg-grand-value {
	font-size: 1.35rem;
	font-weight: 700;
	display: inline;
}
.fcf-cfg-confirm-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.65rem 0.85rem;
	padding: 0;
	background: none;
	border: none;
	position: static;
}
.fcf-cfg-confirm-actions .fcf-cfg-qty {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0;
}
.fcf-cfg-confirm-actions .fcf-cfg-qty input {
	width: 4rem;
}
.fcf-cfg-confirm-actions .fcf-cfg-submit {
	width: auto;
	margin: 0;
}

@media (max-width: 782px) {
	.fcf-select-pair,
	.fcf-cfg-confirm-footer {
		grid-template-columns: 1fr;
	}
	.fcf-cfg-confirm-actions {
		justify-content: flex-start;
	}
	/* Mobile: product & fabric same pattern — image top, text below (consistent) */
	.fcf-select-product,
	.fcf-select-fabric {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
	.fcf-select-product img,
	.fcf-select-fabric-thumb {
		width: 112px;
		height: 112px;
	}
	.fcf-select-title,
	.fcf-select-fabric-title {
		font-size: 1.15rem;
	}
}





/* —— Cart: product row, then fabric row (aligned under product) —— */
.fcf-cart-pair {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
.fcf-cart-col {
	min-width: 0;
}
.fcf-cart-col--fabric {
	display: block;
	padding-top: 8px;
	margin-top: 2px;
	border-top: 1px dashed #e2e8f0;
}
.fcf-fabric-calc {
	font-weight: 500;
	color: #475569;
}
.fcf-cart-item-title,
.fcf-cart-fabric-name {
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.4;
	margin: 0 0 4px;
	color: inherit;
	font-family: inherit;
}
.fcf-cart-line {
	margin: 2px 0;
	font-size: 13px;
	color: #64748b;
	font-family: inherit;
	line-height: 1.45;
}
.fcf-cart-component {
	color: #0f766e;
	font-size: 12px;
}
.fcf-cart-set-tag {
	font-weight: 400;
	opacity: 0.85;
}
.fcf-cart-base,
.fcf-cart-fabric-cost {
	color: #334155;
}
.fcf-cart-fabric-thumb {
	display: block !important;
	width: 80px !important;
	height: 80px !important;
	min-width: 80px !important;
	min-height: 80px !important;
	max-width: 80px !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	position: relative !important;
	background: #f1f5f9 !important;
	margin: 0 !important;
	padding: 0 !important;
	flex-shrink: 0 !important;
	box-sizing: border-box !important;
	line-height: 0 !important;
	border: 1px solid #e2e8f0;
}
.fcf-cart-fabric-thumb img {
	/* Crop bottom ~1/3 of tall fabric photo (show top 2/3). */
	position: static !important;
	float: none !important;
	width: 80px !important;
	height: 120px !important;
	max-width: none !important;
	max-height: none !important;
	min-width: 80px !important;
	object-fit: cover !important;
	object-position: center top !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	display: block !important;
}
.fcf-cart-fabric-meta {
	min-width: 0;
	flex: 1 1 auto;
}

/* Line total under qty: larger + bold */
.woocommerce-cart-form .product-subtotal,
.woocommerce-cart-form .product-subtotal .amount,
.woocommerce-cart .product-subtotal,
.woocommerce-cart .product-subtotal .amount {
	font-size: 1.15rem !important;
	font-weight: 700 !important;
}
.woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout-review-order-table .product-total .amount {
	font-size: 1.1rem !important;
	font-weight: 700 !important;
}

@media (max-width: 782px) {
	.fcf-cart-pair {
		gap: 12px;
	}
	.fcf-cart-col--fabric {
		flex-direction: row;
		align-items: flex-start;
		gap: 10px;
	}
	.fcf-cart-fabric-thumb {
		width: 64px !important;
		height: 64px !important;
		min-width: 64px !important;
		min-height: 64px !important;
		max-width: 64px !important;
	}
	.fcf-cart-fabric-thumb img {
		width: 64px !important;
		height: 96px !important;
		min-width: 64px !important;
	}

	/* Cart table → stacked cards on mobile */
	.woocommerce-cart-form .shop_table.cart {
		display: block;
		width: 100%;
		border: none;
		box-sizing: border-box;
	}
	.woocommerce-cart-form .shop_table.cart thead {
		display: none;
	}
	.woocommerce-cart-form .shop_table.cart tbody tr.cart_item,
	.woocommerce-cart-form .shop_table.cart tbody tr.woocommerce-cart-form__cart-item {
		display: grid;
		grid-template-columns: 72px 1fr auto;
		grid-template-areas:
			"remove thumb  name"
			"qty   qty     qty"
			"sub   sub     sub";
		gap: 8px 10px;
		width: 100%;
		box-sizing: border-box;
		margin: 0 0 16px;
		padding: 12px 8px 14px !important;
		border: none;
		border-bottom: 1px solid #e8e8e8;
		background: transparent;
		align-items: start;
	}
	.woocommerce-cart-form .shop_table.cart tbody tr td {
		display: block;
		width: auto !important;
		max-width: 100%;
		border: none !important;
		padding: 0 !important;
		text-align: right !important;
		box-sizing: border-box;
	}
	.woocommerce-cart-form .shop_table.cart tbody tr td.product-remove {
		grid-area: remove;
		text-align: center !important;
	}
	.woocommerce-cart-form .shop_table.cart tbody tr td.product-thumbnail {
		grid-area: thumb;
	}
	.woocommerce-cart-form .shop_table.cart tbody tr td.product-name {
		grid-area: name;
		min-width: 0;
	}
	.woocommerce-cart-form .shop_table.cart tbody tr td.product-quantity {
		grid-area: qty;
	}
	.woocommerce-cart-form .shop_table.cart tbody tr td.product-subtotal {
		grid-area: sub;
		margin-top: 4px;
		padding-top: 8px !important;
		border-top: 1px solid #f0f0f0 !important;
	}
	.woocommerce-cart-form .shop_table.cart tbody tr.fcf-has-fabric td.product-thumbnail img {
		width: 64px !important;
		height: 64px !important;
		max-width: 64px !important;
		object-fit: cover !important;
		border-radius: 10px !important;
	}
	/* Hide unit price on mobile (subtotal is enough) */
	.woocommerce-cart-form .shop_table.cart tbody tr td.product-price {
		display: none !important;
	}
	.woocommerce-cart-form .shop_table.cart tbody tr td.product-subtotal,
	.woocommerce-cart-form .shop_table.cart tbody tr td.product-subtotal .amount {
		font-size: 1.1rem !important;
		font-weight: 700 !important;
	}
	/* Quantity controls: keep compact, don't break layout */
	.woocommerce-cart-form .shop_table.cart tbody tr td.product-quantity .quantity {
		display: inline-flex;
		align-items: center;
		max-width: 100%;
	}
	.woocommerce-cart-form .shop_table.cart tbody tr td.product-quantity input.qty {
		width: 3rem !important;
		min-width: 2.5rem;
		text-align: center;
	}

	/* Checkout */
	.woocommerce-checkout #order_review,
	.woocommerce-checkout .woocommerce-checkout-review-order {
		max-width: 100%;
		overflow-x: hidden;
		padding-left: 12px;
		padding-right: 12px;
		box-sizing: border-box;
	}
	.woocommerce-checkout-review-order-table {
		display: block;
		width: 100% !important;
		border: none !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.woocommerce-checkout-review-order-table thead {
		display: none;
	}
	.woocommerce-checkout-review-order-table tbody,
	.woocommerce-checkout-review-order-table tfoot {
		display: block;
		width: 100%;
	}
	.woocommerce-checkout-review-order-table tbody tr.cart_item {
		display: block;
		width: 100%;
		box-sizing: border-box;
		margin: 0 0 16px;
		padding: 8px 0 14px !important;
		border: none !important;
		border-bottom: 1px solid #e8e8e8 !important;
		background: transparent;
	}
	.woocommerce-checkout-review-order-table tbody tr.cart_item td {
		display: block;
		width: 100% !important;
		padding: 4px 0 !important;
		border: none !important;
		text-align: right !important;
		box-sizing: border-box;
		overflow-wrap: anywhere;
	}
	.woocommerce-checkout-review-order-table tbody tr.cart_item td::before {
		display: none;
	}
	.woocommerce-checkout-review-order-table tbody tr.cart_item td.product-total,
	.woocommerce-checkout-review-order-table tbody tr.cart_item td.product-total .amount {
		font-size: 1.15rem !important;
		font-weight: 700 !important;
	}
	.woocommerce-checkout-review-order-table tfoot tr {
		display: flex;
		justify-content: space-between;
		gap: 8px;
		padding: 8px 0;
		border: none;
		border-top: 1px solid #eee;
	}
	.woocommerce-checkout-review-order-table tfoot th,
	.woocommerce-checkout-review-order-table tfoot td {
		border: none !important;
		padding: 0 !important;
		background: none !important;
	}
}




/* —— Order details: normal table on desktop —— */
.woocommerce-order-details {
	box-sizing: border-box;
	max-width: 100%;
	overflow-x: auto;
}
.woocommerce-table--order-details,
.woocommerce-order-details table.shop_table {
	width: 100%;
	border-collapse: collapse;
}
@media (min-width: 783px) {
	.woocommerce-table--order-details thead {
		display: table-header-group;
	}
	.woocommerce-table--order-details tbody tr {
		display: table-row;
		border-bottom: 1px solid #e5e7eb;
	}
	.woocommerce-table--order-details tbody tr td {
		display: table-cell;
		vertical-align: top;
		padding: 14px 12px;
		border: none;
	}
	.fcf-order-stack {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-start;
		gap: 12px 20px;
	}
	.fcf-order-stack--fabric {
		margin-top: 0;
		padding-top: 0;
		border-top: none;
		width: 100%;
	}
	.fcf-order-fabric-thumb {
		display: block !important;
		width: 72px !important;
		height: 72px !important;
		overflow: hidden !important;
		border-radius: 8px !important;
		background: #f1f5f9;
	}
	.fcf-order-fabric-thumb img {
		width: 72px !important;
		height: 108px !important; /* crop bottom 1/3 */
		object-fit: cover !important;
		object-position: center top !important;
		display: block !important;
		position: static !important;
		max-width: none !important;
	}
}

/* Mobile ONLY: strict single column 5 rows */
@media (max-width: 782px) {
	.woocommerce-order-details {
		padding-left: 10px;
		padding-right: 10px;
	}
	.woocommerce-table--order-details,
	.woocommerce-order-details table.shop_table {
		display: block;
		width: 100% !important;
	}
	.woocommerce-table--order-details tbody,
	.woocommerce-table--order-details tfoot {
		display: block;
		width: 100%;
	}
	.woocommerce-table--order-details tbody tr {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100% !important;
		box-sizing: border-box;
		margin: 0 0 14px;
		padding: 12px !important;
		border: 1px solid #e8e8e8 !important;
		border-radius: 8px;
		background: #fff;
		gap: 0;
	}
	.woocommerce-table--order-details tbody tr td {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
		border: none !important;
		padding: 0 !important;
		margin: 0 !important;
		text-align: right !important;
		box-sizing: border-box;
	}
	/* Product name cell holds stacks */
	.woocommerce-table--order-details tbody tr td.product-name,
	.woocommerce-table--order-details tbody tr td.woocommerce-table__product-name {
		order: 1;
		width: 100% !important;
	}
	/* Total = row 5 after separator */
	.woocommerce-table--order-details tbody tr td.product-total,
	.woocommerce-table--order-details tbody tr td.woocommerce-table__product-total {
		order: 2;
		width: 100% !important;
		margin-top: 10px !important;
		padding-top: 10px !important;
		border-top: 1px solid #e5e5e5 !important;
		font-weight: 700 !important;
		font-size: 1.1rem !important;
		line-height: 1.4;
	}

	.fcf-order-stack {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 8px !important;
		width: 100% !important;
		max-width: 100%;
	}
	.fcf-order-stack--fabric {
		margin-top: 10px !important;
		padding-top: 0 !important;
		border-top: none !important;
		gap: 8px !important;
	}
	.fcf-order-row {
		display: block !important;
		width: 100% !important;
		max-width: 100%;
		box-sizing: border-box;
	}
	/* Row 1: product image */
	.fcf-order-row--product-img {
		margin: 0 0 6px;
	}
	.fcf-order-row--product-img img,
	.fcf-order-row--product-img img.fcf-order-product-img {
		width: 100px !important;
		height: 100px !important;
		max-width: 100px !important;
		object-fit: cover !important;
		border-radius: 8px !important;
		display: block !important;
		float: none !important;
	}
	/* Row 2: product text — readable, no overlap */
	.fcf-order-row--product-info {
		margin: 0 0 4px;
		font-size: 0.95rem !important;
		line-height: 1.45 !important;
		overflow-wrap: anywhere;
		word-break: break-word;
	}
	.fcf-order-row--product-info a {
		display: inline !important;
		font-weight: 600;
		line-height: 1.45;
	}
	.fcf-order-row--product-info .wc-item-meta {
		display: block !important;
		margin: 6px 0 0 !important;
		padding: 0 !important;
		list-style: none !important;
		clear: both;
	}
	.fcf-order-row--product-info .wc-item-meta li {
		display: block !important;
		margin: 3px 0 !important;
		padding: 0 !important;
		font-size: 13px;
		line-height: 1.4;
		color: #4b5563;
	}
	.fcf-order-row--product-info .wc-item-meta strong,
	.fcf-order-row--product-info .wc-item-meta p {
		display: inline !important;
		margin: 0 !important;
		float: none !important;
	}
	/* Row 3: fabric image */
	.fcf-order-row--fabric-img {
		margin: 8px 0 6px;
	}
	.fcf-order-fabric-thumb {
		display: block !important;
		width: 100px !important;
		height: 100px !important;
		border-radius: 8px !important;
		overflow: hidden !important;
		background: #f3f3f3;
		line-height: 0;
	}
	.fcf-order-fabric-thumb img {
		width: 100px !important;
		height: 150px !important;
		max-width: none !important;
		object-fit: cover !important;
		object-position: center top !important;
		display: block !important;
		position: static !important;
		margin: 0 !important;
		border: 0 !important;
		float: none !important;
	}
	/* Row 4: fabric text */
	.fcf-order-row--fabric-info {
		margin: 0;
	}
	.fcf-order-fabric-name {
		font-weight: 600;
		font-size: 0.95rem;
		margin: 0 0 4px;
		line-height: 1.35;
	}
	.fcf-order-fabric-color,
	.fcf-order-fabric-meters {
		margin: 0 0 3px;
		font-size: 13px;
		color: #4b5563;
		line-height: 1.4;
	}

	.woocommerce-table--order-details tfoot tr {
		display: flex;
		justify-content: space-between;
		gap: 8px;
		padding: 8px 2px;
		border: none !important;
	}
	.woocommerce-table--order-details tfoot th,
	.woocommerce-table--order-details tfoot td {
		border: none !important;
		padding: 0 !important;
		background: none !important;
	}
}

/* Select-fabric: hide theme page title/breadcrumbs ONLY in main content — never footer */
body.fcf-select-fabric main .page-title,
body.fcf-select-fabric main .entry-title,
body.fcf-select-fabric main .breadcrumb,
body.fcf-select-fabric main .breadcrumbs,
body.fcf-select-fabric main .woocommerce-breadcrumb,
body.fcf-select-fabric main .cz-title,
body.fcf-select-fabric main .codevz-page-title,
body.fcf-select-fabric main .xtra-page-title,
body.fcf-select-fabric main .page-header,
body.fcf-select-fabric main .title_sections,
body.fcf-select-fabric main .clr.page-header,
body.fcf-select-fabric main #page-title,
body.fcf-select-fabric main .page-title-center,
body.fcf-select-fabric main .cz_title_inner,
body.fcf-select-fabric main nav.rank-math-breadcrumb,
body.fcf-select-fabric main .yoast-breadcrumb,
body.fcf-select-fabric .site-content .page-title,
body.fcf-select-fabric .site-content .page-header,
body.fcf-select-fabric .site-content .breadcrumb,
body.fcf-select-fabric #content .page-title,
body.fcf-select-fabric #content .page-header,
body.fcf-select-fabric #content .breadcrumb {
	display: none !important;
}
body.fcf-select-fabric .fcf-select-fabric-page {
	padding-top: 8px;
	margin-left: auto;
	margin-right: auto;
}

/* Product + set summary */
.fcf-select-set-name {
	margin: 4px 0 6px;
	font-size: 14px;
	font-weight: 600;
	color: #0d9488;
}
.fcf-select-set-items {
	list-style: none;
	margin: 0 0 8px;
	padding: 0;
	font-size: 13px;
	color: #475569;
}
.fcf-select-set-items li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 3px 0;
	border-bottom: 1px dashed #e2e8f0;
}
.fcf-select-set-items li:last-child { border-bottom: 0; }
.fcf-select-meters {
	display: inline-block;
	margin-inline-start: 6px;
	font-size: 12px;
	color: #64748b;
	font-weight: 400;
}

/* Confirm row */
.fcf-cfg-confirm-footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 4px 8px;
	border-top: 1px solid #e5e7eb;
	margin-top: 8px;
}
.fcf-cfg-grand-total { font-size: 1.05rem; color: #0f172a; }
.fcf-cfg-grand-value { font-weight: 700; font-size: 1.15rem; }
.fcf-cfg-confirm-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}
.fcf-cfg-confirm-actions .fcf-cfg-btn-back.button {
	background: #f1f5f9 !important;
	color: #475569 !important;
	border: 1px solid #cbd5e1 !important;
	box-shadow: none !important;
	font-weight: 500;
}
.fcf-cfg-confirm-actions .fcf-cfg-btn-back.button:hover {
	background: #e2e8f0 !important;
	color: #1e293b !important;
}
.fcf-cfg-confirm-actions .fcf-cfg-submit.button {
	min-width: 180px;
}
.fcf-cfg-confirm-actions .fcf-cfg-submit.button:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}
.fcf-cfg-qty { display: none !important; }


/* Set components: locked qty + hide column when cart is only sets */
.sbc-qty-locked {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: #475569;
	padding: 4px 0;
}
.sbc-qty-locked strong {
	font-size: 15px;
	color: #0f172a;
}
body.sbc-cart-set-only .woocommerce-cart-form .shop_table.cart th.product-quantity,
body.sbc-cart-set-only .woocommerce-cart-form .shop_table.cart td.product-quantity {
	display: none !important;
}
body.sbc-cart-set-only .woocommerce-cart-form .shop_table.cart th.product-price,
body.sbc-cart-set-only .woocommerce-cart-form .shop_table.cart td.product-price {
	/* keep unit price visible */
}


/* Product title + SBC «تک نفره از ست …» */
.fcf-cart-item-title .sbc-cart-meta,
.woocommerce-cart .sbc-cart-meta {
	display: block;
	margin-top: 4px;
	font-size: 0.9rem;
	font-weight: 600;
	color: #0f766e;
	line-height: 1.4;
}

/* Stack: product thumb on top, fabric under it (same column) */
.fcf-cart-thumbs-stack {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}
.fcf-cart-thumbs-stack .fcf-cart-fabric-thumb--under-product {
	margin: 0 !important;
}
.woocommerce-cart-form .product-thumbnail .fcf-cart-thumbs-stack img.attachment-woocommerce_thumbnail,
.woocommerce-cart-form .product-thumbnail .fcf-cart-thumbs-stack > a img {
	width: 80px !important;
	height: 80px !important;
	object-fit: cover !important;
	border-radius: 10px;
}

/* Fabric meta row under product text (no second image in name column) */
.fcf-cart-col--fabric {
	/* already has border-top dashed */
}
.fcf-cart-col--fabric .fcf-cart-fabric-meta {
	padding-inline-start: 0;
}

/* —— Select wood —— */
.fcf-wood-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 14px;
	margin: 16px 0 24px;
}
.fcf-wood-card {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	padding: 0;
	border: 2px solid #e2e8f0;
	border-radius: 12px;
	background: #fff;
	cursor: pointer;
	text-align: right;
	overflow: hidden;
	transition: border-color .15s, box-shadow .15s;
}
.fcf-wood-card:hover {
	border-color: #94a3b8;
}
.fcf-wood-card.is-selected {
	border-color: #0ea5e9;
	box-shadow: 0 0 0 2px rgba(14, 165, 233, 0.25);
}
.fcf-wood-thumb {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	overflow: hidden;
	background: #f1f5f9;
}
.fcf-wood-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.fcf-wood-thumb--empty {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	color: #94a3b8;
}
.fcf-wood-body {
	padding: 10px 12px 12px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.fcf-wood-name {
	font-size: 14px;
	font-weight: 600;
	color: #0f172a;
}
.fcf-wood-price {
	font-size: 12px;
	color: #64748b;
}
.fcf-wood-actions {
	margin: 8px 0 24px;
	text-align: center;
}
.fcf-wood-actions .button {
	min-width: 200px;
}

/* Cart wood under product thumb */
.fcf-cart-thumbs-stack .fcf-cart-wood-thumb {
	display: block !important;
	width: 80px !important;
	height: 80px !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	border: 1px solid #e2e8f0;
	background: #f1f5f9;
}
.fcf-cart-thumbs-stack .fcf-cart-wood-thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}
.fcf-cart-wood-line {
	margin: 2px 0;
	font-size: 13px;
	color: #64748b;
}

/* ===== Structured cart blocks: product / fabric / wood ===== */
.fcf-cart-blocks {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
	max-width: 420px;
}
.fcf-cart-block {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 12px;
	padding: 0;
}
.fcf-cart-block + .fcf-cart-block {
	padding-top: 10px;
	border-top: 1px dashed #e2e8f0;
}
.fcf-cart-block-img {
	flex: 0 0 72px;
	width: 72px;
	height: 72px;
	border-radius: 10px;
	overflow: hidden;
	background: #f1f5f9;
	border: 1px solid #e2e8f0;
	display: block;
	line-height: 0;
}
.fcf-cart-block-img img,
.fcf-cart-block-img .fcf-block-img-el,
.fcf-cart-block-img img.attachment-woocommerce_thumbnail {
	width: 72px !important;
	height: 72px !important;
	max-width: none !important;
	object-fit: cover !important;
	object-position: center top !important;
	display: block !important;
	margin: 0 !important;
	border-radius: 0 !important;
}
/* Fabric: crop bottom 1/3 of tall photo */
.fcf-cart-block-img--fabric {
	position: relative;
}
.fcf-cart-block-img--fabric img {
	width: 72px !important;
	height: 108px !important;
	object-position: center top !important;
}
.fcf-cart-block-meta {
	flex: 1 1 auto;
	min-width: 0;
}
.fcf-cart-item-title {
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.4;
	margin: 0 0 4px;
}
.fcf-cart-fabric-name,
.fcf-cart-wood-name {
	font-size: 0.9rem;
	font-weight: 600;
	margin: 0 0 2px;
	color: #0f172a;
}
.fcf-cart-line {
	margin: 2px 0;
	font-size: 13px;
	color: #64748b;
	line-height: 1.4;
}
/* Hide empty theme thumbnail cell for configured lines */
.woocommerce-cart-form .shop_table.cart tr.fcf-configured-line td.product-thumbnail {
	width: 0 !important;
	padding: 0 !important;
	border: none !important;
	font-size: 0;
}
.woocommerce-cart-form .shop_table.cart tr.fcf-configured-line td.product-thumbnail a,
.woocommerce-cart-form .shop_table.cart tr.fcf-configured-line td.product-thumbnail img {
	display: none !important;
}

@media (max-width: 782px) {
	.fcf-cart-blocks { max-width: 100%; }
	.fcf-cart-block-img {
		flex-basis: 56px;
		width: 56px;
		height: 56px;
	}
	.fcf-cart-block-img img,
	.fcf-cart-block-img .fcf-block-img-el {
		width: 56px !important;
		height: 56px !important;
	}
	.fcf-cart-block-img--fabric img {
		width: 56px !important;
		height: 84px !important;
	}
}

/* ===== Wood / fabric select grids — cleaner cards ===== */
.fcf-wood-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 16px;
	margin: 20px 0 28px;
}
.fcf-wood-card {
	display: flex;
	flex-direction: column;
	border: 2px solid #e2e8f0;
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
	cursor: pointer;
	padding: 0;
	text-align: right;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
	transition: border-color .15s, box-shadow .15s, transform .15s;
}
.fcf-wood-card:hover {
	border-color: #94a3b8;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}
.fcf-wood-card.is-selected {
	border-color: #0ea5e9;
	box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.2);
}
.fcf-wood-thumb {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #f1f5f9;
}
.fcf-wood-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.fcf-wood-body {
	padding: 12px 14px 14px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.fcf-wood-name {
	font-size: 14px;
	font-weight: 700;
	color: #0f172a;
}
.fcf-wood-price {
	font-size: 12px;
	color: #64748b;
}
.fcf-wood-actions {
	display: flex;
	justify-content: center;
	margin: 8px 0 32px;
}
.fcf-wood-actions .button {
	min-width: 220px;
	padding: 12px 24px;
	font-size: 15px;
}

/* Fabric configurator cards on select page */
.fcf-cfg-page .fcf-cfg-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 14px;
}
.fcf-cfg-page .fcf-cfg-card {
	border-radius: 14px;
	border: 2px solid #e2e8f0;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.fcf-cfg-page .fcf-cfg-card.is-selected,
.fcf-cfg-page .fcf-cfg-card:focus-visible {
	border-color: #0ea5e9;
	box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.2);
}
.fcf-cfg-page .fcf-cfg-card-img {
	aspect-ratio: 1 / 1;
	overflow: hidden;
}
.fcf-cfg-page .fcf-cfg-card-body {
	padding: 10px 12px 12px;
}


/* ========== Unified select cards (wood + fabric) ========== */
body.fcf-select-fabric .fcf-wood-grid,
.fcf-select-wood-page .fcf-wood-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)) !important;
	gap: 16px !important;
	margin: 24px 0 32px !important;
	width: 100%;
	box-sizing: border-box;
}
body.fcf-select-fabric .fcf-wood-card,
.fcf-select-wood-page .fcf-wood-card {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 2px solid #e2e8f0 !important;
	border-radius: 14px !important;
	background: #fff !important;
	overflow: hidden !important;
	cursor: pointer !important;
	text-align: center !important;
	box-shadow: 0 1px 3px rgba(15,23,42,.06) !important;
	transition: border-color .15s, box-shadow .15s !important;
}
body.fcf-select-fabric .fcf-wood-card:hover,
.fcf-select-wood-page .fcf-wood-card:hover {
	border-color: #94a3b8 !important;
	box-shadow: 0 4px 14px rgba(15,23,42,.1) !important;
}
body.fcf-select-fabric .fcf-wood-card.is-selected,
.fcf-select-wood-page .fcf-wood-card.is-selected {
	border-color: #0ea5e9 !important;
	box-shadow: 0 0 0 3px rgba(14,165,233,.22) !important;
}
body.fcf-select-fabric .fcf-wood-thumb,
.fcf-select-wood-page .fcf-wood-thumb {
	display: block !important;
	width: 100% !important;
	aspect-ratio: 1 / 1 !important;
	height: auto !important;
	overflow: hidden !important;
	background: #f1f5f9 !important;
	flex-shrink: 0 !important;
}
body.fcf-select-fabric .fcf-wood-thumb img,
.fcf-select-wood-page .fcf-wood-thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
	display: block !important;
}
body.fcf-select-fabric .fcf-wood-body,
.fcf-select-wood-page .fcf-wood-body {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
	padding: 12px 10px 14px !important;
	text-align: center !important;
}
body.fcf-select-fabric .fcf-wood-name,
.fcf-select-wood-page .fcf-wood-name {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	line-height: 1.35 !important;
}
body.fcf-select-fabric .fcf-wood-price,
.fcf-select-wood-page .fcf-wood-price {
	font-size: 12px !important;
	color: #64748b !important;
}
/* Wood Selection CTA Button */
.fcf-wood-actions {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 28px auto 44px !important;
	gap: 12px !important;
}

.fcf-wood-actions .button,
#fcf-wood-submit {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	min-width: 250px !important;
	padding: 14px 40px !important;
	font-size: 15.5px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
	border-radius: 14px !important;
	border: none !important;
	cursor: pointer !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Enabled / Ready State */
.fcf-wood-actions .button:not(:disabled),
#fcf-wood-submit:not(:disabled),
#fcf-wood-submit.is-ready {
	background: linear-gradient(135deg, var(--fcf-primary, #f59e0b) 0%, var(--fcf-primary-hover, #d97706) 100%) !important;
	color: #ffffff !important;
	box-shadow: 0 4px 18px rgba(var(--fcf-primary-rgb, 245, 158, 11), 0.4) !important;
	cursor: pointer !important;
	opacity: 1 !important;
}

.fcf-wood-actions .button:not(:disabled):hover,
#fcf-wood-submit:not(:disabled):hover,
#fcf-wood-submit.is-ready:hover {
	background: linear-gradient(135deg, var(--fcf-primary-hover, #d97706) 0%, #b45309 100%) !important;
	box-shadow: 0 6px 24px rgba(var(--fcf-primary-rgb, 245, 158, 11), 0.5) !important;
	transform: translateY(-2px) !important;
	color: #ffffff !important;
}

.fcf-wood-actions .button:not(:disabled):active,
#fcf-wood-submit:not(:disabled):active {
	transform: translateY(0) scale(0.98) !important;
	box-shadow: 0 2px 8px rgba(var(--fcf-primary-rgb, 245, 158, 11), 0.3) !important;
}

/* Disabled State */
.fcf-wood-actions .button:disabled,
.fcf-wood-actions .button[disabled],
#fcf-wood-submit:disabled,
#fcf-wood-submit[disabled] {
	background: #e2e8f0 !important;
	color: #94a3b8 !important;
	border: 1px solid #cbd5e1 !important;
	box-shadow: none !important;
	cursor: not-allowed !important;
	opacity: 0.8 !important;
	transform: none !important;
}

.fcf-wood-actions-hint {
	margin: 0 !important;
	font-size: 13px !important;
	color: #64748b !important;
	font-weight: 500 !important;
	transition: opacity 0.2s ease !important;
}

.fcf-wood-btn-arrow {
	transition: transform 0.25s ease !important;
	display: inline-block !important;
	vertical-align: middle !important;
}

#fcf-wood-submit:not(:disabled):hover .fcf-wood-btn-arrow,
#fcf-wood-submit.is-ready:hover .fcf-wood-btn-arrow {
	transform: translateX(-5px) !important; /* Moves left in RTL */
}

.fcf-cfg-confirm-actions .button,
.fcf-cfg-confirm-actions .fcf-cfg-submit {
	border-radius: 12px !important;
	padding: 12px 28px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	min-width: 160px;
}
.fcf-cfg-confirm-actions .fcf-cfg-btn-back.button {
	background: #f1f5f9 !important;
	color: #475569 !important;
	border: 1px solid #cbd5e1 !important;
	box-shadow: none !important;
}
.fcf-cfg-confirm-actions .fcf-cfg-submit.button {
	background: linear-gradient(135deg, var(--fcf-primary, #f59e0b) 0%, var(--fcf-primary-hover, #d97706) 100%) !important;
	color: #fff !important;
	border: none !important;
	box-shadow: 0 4px 14px rgba(var(--fcf-primary-rgb, 245, 158, 11), 0.35) !important;
}

/* Fabric color + kalite cards — same language as wood */
.fcf-cfg-page .fcf-cfg-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)) !important;
	gap: 14px !important;
}
.fcf-cfg-page .fcf-cfg-card {
	display: flex !important;
	flex-direction: column !important;
	border: 2px solid #e2e8f0 !important;
	border-radius: 14px !important;
	overflow: hidden !important;
	background: #fff !important;
	padding: 0 !important;
	box-shadow: 0 1px 3px rgba(15,23,42,.06) !important;
}
.fcf-cfg-page .fcf-cfg-card.is-selected,
.fcf-cfg-page .fcf-cfg-card:focus-visible {
	border-color: #0ea5e9 !important;
	box-shadow: 0 0 0 3px rgba(14,165,233,.22) !important;
}
.fcf-cfg-page .fcf-cfg-card-img {
	position: relative !important;
	width: 100% !important;
	height: auto !important;
	padding-bottom: 0 !important;
	aspect-ratio: 1 / 1 !important;
	overflow: hidden !important;
	background: #f1f5f9 !important;
}
.fcf-cfg-page .fcf-cfg-card-img > img {
	position: absolute !important;
	inset: 0 auto auto 0 !important;
	width: 100% !important;
	height: calc(150% + 4px) !important;
	object-fit: cover !important;
	object-position: center top !important;
	max-width: none !important;
}
/* color cards use same 1/3 bottom crop as kalite cards */
.fcf-cfg-page .fcf-cfg-card-color .fcf-cfg-card-img > img {
	height: calc(150% + 4px) !important;
	object-fit: cover !important;
	object-position: center top !important;
}
.fcf-cfg-page .fcf-cfg-card-body {
	padding: 10px 10px 12px !important;
	text-align: center !important;
}
.fcf-cfg-page .fcf-cfg-card-name {
	font-size: 13px !important;
	font-weight: 700 !important;
	margin: 0 0 4px !important;
}
.fcf-cfg-page .fcf-cfg-card-price,
.fcf-cfg-page .fcf-cfg-card-meta {
	font-size: 12px !important;
	color: #64748b !important;
}

/* Confirm: wood summary line */
.fcf-select-wood-banner {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 12px;
	padding: 10px 12px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	font-size: 13px;
}
.fcf-select-wood-banner img {
	width: 40px;
	height: 40px;
	object-fit: cover;
	border-radius: 6px;
}
.fcf-cfg-confirm-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	align-items: center !important;
	justify-content: flex-start !important;
}

/* Prevent page overflow / footer break */
body.fcf-select-fabric,
body.fcf-select-fabric .site,
body.fcf-select-fabric #page,
body.woocommerce-order-received {
	overflow-x: hidden;
	max-width: 100vw;
}
.fcf-select-fabric-page,
.fcf-select-wood-page,
.fcf-select-wrap {
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	box-sizing: border-box;
	padding-left: 16px;
	padding-right: 16px;
}
@media (max-width: 600px) {
	body.fcf-select-fabric .fcf-wood-grid,
	.fcf-select-wood-page .fcf-wood-grid,
	.fcf-cfg-page .fcf-cfg-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
	}
}


/* Order thank-you: fabric crop 1/3 bottom everywhere */
.fcf-order-fabric-thumb {
	display: block !important;
	width: 80px !important;
	height: 80px !important;
	overflow: hidden !important;
	border-radius: 8px !important;
	background: #f1f5f9 !important;
	line-height: 0 !important;
}
.fcf-order-fabric-thumb img {
	width: 80px !important;
	height: 120px !important;
	max-width: none !important;
	object-fit: cover !important;
	object-position: center top !important;
	display: block !important;
	position: static !important;
	margin: 0 !important;
	border: 0 !important;
}
.fcf-order-stack--fabric,
.fcf-order-stack--wood {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 12px;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px dashed #e2e8f0;
}
.fcf-order-wood-thumb {
	display: block;
	width: 72px;
	height: 72px;
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid #e2e8f0;
}
.fcf-order-wood-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.fcf-order-wood-name,
.fcf-order-fabric-name {
	font-weight: 600;
	font-size: 0.9rem;
}
/* Select-page fabric summary crop */
.fcf-select-fabric-thumb {
	display: block !important;
	width: 100px !important;
	height: 100px !important;
	overflow: hidden !important;
	border-radius: 10px !important;
}
.fcf-select-fabric-thumb img,
.fcf-select-fabric-img {
	width: 100px !important;
	height: 150px !important;
	max-width: none !important;
	object-fit: cover !important;
	object-position: center top !important;
	display: block !important;
}
/* Cart block fabric already crops; reinforce */
.fcf-cart-block-img--fabric {
	overflow: hidden !important;
}
.fcf-cart-block-img--fabric img {
	width: 72px !important;
	height: 108px !important;
	object-fit: cover !important;
	object-position: center top !important;
}


/* ==========================================================================
   Panel 3: Confirmation 3-Card Summary Grid
   ========================================================================== */
.fcf-cfg-panel-confirm {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.fcf-confirm-heading {
	font-size: 1.15rem;
	font-weight: 700;
	color: #1e293b;
	margin: 0 0 12px;
	padding-bottom: 8px;
	border-bottom: 2px solid #f1f5f9;
}
.fcf-confirm-cards-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
	gap: 16px !important;
	margin-bottom: 20px !important;
}
.fcf-confirm-card {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 14px !important;
	padding: 14px 16px !important;
	box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04) !important;
	transition: all 0.2s ease !important;
	box-sizing: border-box !important;
}
.fcf-confirm-card:hover {
	border-color: #cbd5e1 !important;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.07) !important;
}
.fcf-confirm-card-thumb {
	width: 72px !important;
	height: 72px !important;
	min-width: 72px !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	position: relative !important;
	background: #f8fafc !important;
	border: 1px solid #e2e8f0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
}
.fcf-confirm-card-thumb--product img,
.fcf-confirm-card-thumb--wood img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}
/* Fabric 1/3 bottom crop rule */
.fcf-confirm-card-thumb--fabric img {
	width: 72px !important;
	height: 108px !important;
	max-width: none !important;
	object-fit: cover !important;
	object-position: center top !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	display: block !important;
}
.fcf-confirm-card-body {
	flex: 1 1 auto !important;
	min-width: 0 !important;
}
.fcf-confirm-card-badge {
	display: inline-block !important;
	padding: 2px 8px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	border-radius: 999px !important;
	background: #f1f5f9 !important;
	color: #64748b !important;
	margin-bottom: 4px !important;
}
.fcf-confirm-card-title {
	font-size: 14.5px !important;
	font-weight: 700 !important;
	color: #0f172a !important;
	margin: 0 0 4px !important;
	line-height: 1.4 !important;
}
.fcf-confirm-card-meta,
.fcf-confirm-card-set-name {
	font-size: 12.5px !important;
	color: #64748b !important;
	margin: 0 0 4px !important;
}
.fcf-confirm-card-price {
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: var(--fcf-primary, #f59e0b) !important;
}
.fcf-confirm-wood-price.fcf-free {
	color: #10b981 !important;
	font-size: 12px !important;
	font-weight: 600 !important;
}

/* Action Buttons in Confirmation */
.fcf-cfg-confirm-footer {
	background: #f8fafc !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 14px !important;
	padding: 16px 20px !important;
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
}
.fcf-cfg-grand-total {
	font-size: 1.1rem !important;
	font-weight: 600 !important;
	color: #1e293b !important;
}
.fcf-cfg-grand-value {
	font-size: 1.25rem !important;
	font-weight: 800 !important;
	color: var(--fcf-primary, #f59e0b) !important;
	margin-inline-start: 6px !important;
}
.fcf-cfg-confirm-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 10px !important;
}
.fcf-cfg-submit {
	background: linear-gradient(135deg, var(--fcf-primary, #f59e0b) 0%, var(--fcf-primary-hover, #d97706) 100%) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 12px !important;
	padding: 12px 28px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	cursor: pointer !important;
	box-shadow: 0 4px 14px rgba(var(--fcf-primary-rgb, 245, 158, 11), 0.35) !important;
	transition: all 0.25s ease !important;
}
.fcf-cfg-submit:hover:not(:disabled) {
	background: linear-gradient(135deg, var(--fcf-primary-hover, #d97706) 0%, #b45309 100%) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 20px rgba(var(--fcf-primary-rgb, 245, 158, 11), 0.45) !important;
	color: #ffffff !important;
}
.fcf-cfg-btn-back {
	background: #ffffff !important;
	color: #475569 !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 12px !important;
	padding: 11px 20px !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	cursor: pointer !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
}
.fcf-cfg-btn-back:hover {
	background: #f1f5f9 !important;
	color: #0f172a !important;
	border-color: #94a3b8 !important;
}

/* ==========================================================================
   Order Items Layout in Account Dashboard & View Order
   ========================================================================== */
.fcf-order-stack--product {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
}
.fcf-order-product-img,
.fcf-order-row--product-img img {
	width: 54px !important;
	height: 54px !important;
	min-width: 54px !important;
	border-radius: 8px !important;
	object-fit: cover !important;
	display: block !important;
	border: 1px solid #e2e8f0 !important;
}
.fcf-order-item-custom-details {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin-top: 8px !important;
	padding-top: 8px !important;
	border-top: 1px dashed #e2e8f0 !important;
}
.fcf-order-badge-card {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	background: #f8fafc !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 10px !important;
	padding: 6px 12px !important;
	font-size: 12.5px !important;
	line-height: 1.4 !important;
	flex: 1 1 200px !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}
.fcf-order-badge-thumb {
	width: 50px !important;
	height: 50px !important;
	min-width: 50px !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	position: relative !important;
	background: #ffffff !important;
	border: 1px solid #e2e8f0 !important;
	flex-shrink: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}
/* Fabric 1/3 bottom crop rule on order table */
.fcf-order-badge-thumb--fabric img {
	width: 50px !important;
	height: 75px !important;
	max-width: none !important;
	object-fit: cover !important;
	object-position: center top !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	display: block !important;
}
.fcf-order-badge-thumb--wood img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	margin: 0 !important;
	border: 0 !important;
}
.fcf-order-badge-info {
	flex: 1 1 auto !important;
	min-width: 0 !important;
}
.fcf-order-badge-title {
	font-weight: 700 !important;
	color: #1e293b !important;
	font-size: 13px !important;
	margin-bottom: 2px !important;
}
.fcf-order-badge-meta {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 6px 10px !important;
	color: #64748b !important;
	font-size: 12px !important;
}

/* ==========================================================================
   Duplicate Stepper & Notice Suppressions
   ========================================================================== */
body.fcf-has-purchase-steps .list-step-cart,
.fcf-has-purchase-steps .list-step-cart,
body.fcf-has-purchase-steps .codevz-cart-checkout-steps:not(.fcf-purchase-steps) {
	display: none !important;
}

/* Suppress WooCommerce email verification banner in account */
.woocommerce-account .woocommerce-info:has(a[href*="wc_send_verification"]),
.woocommerce-info:has(a[href*="wc_send_verification"]),
.woocommerce-account .woocommerce-message:has(a[href*="wc_send_verification"]) {
	display: none !important;
}

/* ==========================================================================
   RTL Cart & Checkout Column Swaps
   ========================================================================== */
.woocommerce-cart .woocommerce {
	display: flex !important;
	flex-wrap: wrap !important;
	flex-direction: row !important; /* In RTL: Child 1 right, Child 2 left */
	align-items: flex-start !important;
	gap: 24px !important;
}
.woocommerce-cart .woocommerce > form.woocommerce-cart-form {
	flex: 1 1 62% !important;
	min-width: 0 !important;
	order: 1 !important; /* Right side in RTL */
	float: none !important;
}
.woocommerce-cart .woocommerce > .cart-collaterals,
.woocommerce-cart .woocommerce > .cart_totals {
	flex: 0 0 340px !important;
	max-width: 100% !important;
	order: 2 !important; /* Left side in RTL */
	float: none !important;
}

.woocommerce-checkout form.checkout.woocommerce-checkout {
	display: flex !important;
	flex-wrap: wrap !important;
	flex-direction: row !important; /* In RTL: Child 1 right, Child 2 left */
	align-items: flex-start !important;
	gap: 24px !important;
}
.woocommerce-checkout form.checkout.woocommerce-checkout > #customer_details,
.woocommerce-checkout form.checkout.woocommerce-checkout > .col2-set {
	flex: 1 1 58% !important;
	min-width: 0 !important;
	order: 1 !important; /* Right side in RTL */
	float: none !important;
}
.woocommerce-checkout form.checkout.woocommerce-checkout > #order_review_heading,
.woocommerce-checkout form.checkout.woocommerce-checkout > #order_review,
.woocommerce-checkout form.checkout.woocommerce-checkout > .woocommerce-checkout-review-order {
	flex: 0 0 380px !important;
	max-width: 100% !important;
	order: 2 !important; /* Left side in RTL */
	float: none !important;
}

@media (max-width: 991px) {
	.woocommerce-cart .woocommerce,
	.woocommerce-checkout form.checkout.woocommerce-checkout {
		flex-direction: column !important;
	}
	.woocommerce-cart .woocommerce > form.woocommerce-cart-form,
	.woocommerce-cart .woocommerce > .cart-collaterals,
	.woocommerce-cart .woocommerce > .cart_totals,
	.woocommerce-checkout form.checkout.woocommerce-checkout > #customer_details,
	.woocommerce-checkout form.checkout.woocommerce-checkout > .col2-set,
	.woocommerce-checkout form.checkout.woocommerce-checkout > #order_review,
	.woocommerce-checkout form.checkout.woocommerce-checkout > .woocommerce-checkout-review-order {
		flex: 1 1 100% !important;
		width: 100% !important;
	}
}
