.mahimzaman-bab-builder {
	--mahimzaman-bab-primary: #b8892f;
	--mahimzaman-bab-button-bg: #b8892f;
	--mahimzaman-bab-button-text: #fff;
	--mahimzaman-bab-builder-bg: #fff;
	--mahimzaman-bab-card-bg: #fff;
	--mahimzaman-bab-text: #191919;
	--mahimzaman-bab-muted: #747474;
	--mahimzaman-bab-border: #e8e5df;
	--mahimzaman-bab-soft: #f7f5f1;
	--mahimzaman-bab-radius: 18px;
	margin: 24px 0;
	padding: 20px;
	border: 1px solid var(--mahimzaman-bab-border);
	border-radius: 22px;
	background: var(--mahimzaman-bab-builder-bg);
	color: var(--mahimzaman-bab-text);
	box-shadow: 0 12px 35px rgba(30, 25, 18, .06);
	box-sizing: border-box;
}

.mahimzaman-bab-section { margin-bottom: 26px; }
.mahimzaman-bab-section:last-of-type { margin-bottom: 18px; }

.mahimzaman-bab-section-title {
	margin: 0 0 12px;
	font-size: 20px;
	font-weight: 750;
	line-height: 1.2;
	letter-spacing: -.02em;
	color: var(--mahimzaman-bab-text);
}

.mahimzaman-bab-mode-section {
	padding: 18px;
	border: 1px solid var(--mahimzaman-bab-border);
	border-radius: var(--mahimzaman-bab-radius);
	background: linear-gradient(180deg, #fff, var(--mahimzaman-bab-soft));
}

.mahimzaman-bab-mode-label {
	display: block;
	margin-bottom: 8px;
	font-size: 13px;
	font-weight: 700;
	color: #555;
}

.mahimzaman-bab-mode-select {
	display: block;
	width: 100%;
	min-height: 48px;
	padding: 10px 42px 10px 14px;
	border: 1px solid #dedbd4;
	border-radius: 13px;
	background: #fff;
	color: var(--mahimzaman-bab-text);
	font-size: 15px;
	font-weight: 600;
	box-shadow: 0 3px 12px rgba(30,25,18,.04);
}

.mahimzaman-bab-mode-select:focus {
	outline: 2px solid rgba(184,137,47,.25);
	border-color: var(--mahimzaman-bab-primary);
}

.mahimzaman-bab-mode-help {
	display: none;
	margin: 10px 0 0;
	color: var(--mahimzaman-bab-muted);
	font-size: 13px;
	line-height: 1.55;
}

.mahimzaman-bab-builder-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 15px;
}

.mahimzaman-bab-builder-header .mahimzaman-bab-section-title { margin: 0; }

.mahimzaman-bab-progress {
	min-width: 135px;
	padding: 9px 12px;
	border: 1px solid var(--mahimzaman-bab-border);
	border-radius: 13px;
	background: var(--mahimzaman-bab-soft);
	text-align: right;
}

.mahimzaman-bab-progress-count,
.mahimzaman-bab-progress-text { display: block; }
.mahimzaman-bab-progress-count { font-size: 14px; }
.mahimzaman-bab-progress-text { margin-top: 3px; color: var(--mahimzaman-bab-muted); font-size: 12px; line-height: 1.35; }

.mahimzaman-bab-products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.mahimzaman-bab-product {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--mahimzaman-bab-border);
	border-radius: var(--mahimzaman-bab-radius);
	background: #fff;
	box-shadow: 0 5px 18px rgba(28,25,20,.055);
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.mahimzaman-bab-product:hover {
	transform: translateY(-2px);
	border-color: #d8d0c0;
	box-shadow: 0 12px 28px rgba(28,25,20,.10);
}

.mahimzaman-bab-product.is-selected {
	border-color: var(--mahimzaman-bab-primary);
	box-shadow: 0 0 0 2px rgba(184,137,47,.13), 0 12px 28px rgba(28,25,20,.09);
}

.mahimzaman-bab-product-image {
	position: relative;
	aspect-ratio: 1 / 1;
	min-height: 145px;
	overflow: hidden;
	background: #f5f3ef;
}

.mahimzaman-bab-product-image img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	transition: transform .25s ease;
}

.mahimzaman-bab-product:hover .mahimzaman-bab-product-image img { transform: scale(1.025); }

.mahimzaman-bab-product-content {
	padding: 14px;
	background: #fff;
}

.mahimzaman-bab-product-title {
	display: -webkit-box;
	width: 100%;
	margin: 0 0 8px;
	color: var(--mahimzaman-bab-text);
	font-size: 15px;
	font-weight: 750;
	line-height: 1.35;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 40px;
}

.mahimzaman-bab-product.is-selected .mahimzaman-bab-product-title { color: #8b651d; }

.mahimzaman-bab-card-price {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px 8px;
	margin: 0 0 12px;
}

.mahimzaman-bab-card-price-label {
	flex: 0 0 100%;
	font-size: 11px;
	font-weight: 650;
	line-height: 1.2;
	color: var(--mahimzaman-bab-muted);
	text-transform: uppercase;
	letter-spacing: .04em;
}

.mahimzaman-bab-card-price-values {
	display: inline-flex;
	align-items: baseline;
	gap: 7px;
	line-height: 1.1;
}

.mahimzaman-bab-card-price del {
	font-size: 12px;
	font-weight: 500;
	color: #96928b;
}

.mahimzaman-bab-card-price ins {
	font-size: 17px;
	font-weight: 850;
	color: var(--mahimzaman-bab-primary);
	text-decoration: none;
}

.mahimzaman-bab-card-price-badge,
.mahimzaman-bab-main-discount-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 4px 7px;
	border-radius: 999px;
	background: #f1e4c8;
	color: #7d5a16;
	font-size: 10px;
	font-weight: 800;
	white-space: nowrap;
}

.mahimzaman-bab-quantity-control {
	display: flex;
	align-items: center;
	width: 100%;
	height: 44px;
	border: 1px solid #ddd9d1;
	border-radius: 12px;
	background: #faf9f7;
	overflow: hidden;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.mahimzaman-bab-product.is-selected .mahimzaman-bab-quantity-control {
	border-color: var(--mahimzaman-bab-primary);
	box-shadow: 0 0 0 3px rgba(184,137,47,.08);
}

.mahimzaman-bab-quantity-button {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 40px;
	width: 40px;
	height: 42px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #292722;
	font-size: 20px;
	font-weight: 500;
	cursor: pointer;
	touch-action: manipulation;
}

.mahimzaman-bab-quantity-button:hover:not(:disabled) {
	background: #eee9df;
	color: #7d5a16;
}

.mahimzaman-bab-quantity-button:disabled { opacity: .3; cursor: not-allowed; }

.mahimzaman-bab-product-quantity {
	flex: 1 1 auto;
	min-width: 0;
	width: 54px !important;
	height: 42px;
	margin: 0 !important;
	padding: 0 4px !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--mahimzaman-bab-text) !important;
	text-align: center;
	font-size: 15px;
	font-weight: 800;
	box-shadow: none !important;
	appearance: textfield;
}

.mahimzaman-bab-product-quantity:focus { outline: none; }
.mahimzaman-bab-product-quantity::-webkit-outer-spin-button,
.mahimzaman-bab-product-quantity::-webkit-inner-spin-button { margin: 0; appearance: none; }

.mahimzaman-bab-select-carton {
	display: none;
	width: 100%;
	min-height: 42px;
	margin-top: 9px;
	padding: 8px 10px;
	border: 1px solid var(--mahimzaman-bab-primary);
	border-radius: 11px;
	background: var(--mahimzaman-bab-primary);
	color: #fff;
	font-size: 13px;
	font-weight: 750;
	cursor: pointer;
}

.mahimzaman-bab-mode-carton .mahimzaman-bab-select-carton { display: block; }
.mahimzaman-bab-mode-carton .mahimzaman-bab-mix-quantity-control { display: none; }

.mahimzaman-bab-carton-selected {
	display: none;
	margin-top: 7px;
	font-size: 11px;
	font-weight: 650;
	color: var(--mahimzaman-bab-muted);
}
.mahimzaman-bab-mode-carton .mahimzaman-bab-carton-selected { display: block; }

.mahimzaman-bab-mode-not-selected .mahimzaman-bab-products,
.mahimzaman-bab-mode-not-selected .mahimzaman-bab-summary,
.mahimzaman-bab-mode-not-selected .mahimzaman-bab-add-to-cart { display: none; }

.mahimzaman-bab-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin: 6px 0 14px;
	padding: 14px 16px;
	border: 1px solid var(--mahimzaman-bab-border);
	border-radius: 15px;
	background: linear-gradient(180deg,#fff,#faf8f4);
}

.mahimzaman-bab-summary-label,
.mahimzaman-bab-summary-price > span { color: var(--mahimzaman-bab-muted); font-size: 12px; font-weight: 650; }
.mahimzaman-bab-summary-count { margin-left: 5px; font-size: 17px; }
.mahimzaman-bab-summary-price { display: flex; align-items: center; gap: 9px; }
.mahimzaman-bab-total-price { display: inline-flex; align-items: baseline; gap: 8px; }
.mahimzaman-bab-regular-price { color: #999; font-size: 12px; font-weight: 500; }
.mahimzaman-bab-sale-price { color: var(--mahimzaman-bab-primary); font-size: 19px; font-weight: 850; text-decoration: none; }

.mahimzaman-bab-builder.needs-more-products .mahimzaman-bab-summary { border-color: #e5d9bd; }
.mahimzaman-bab-builder.is-complete .mahimzaman-bab-summary { border-color: rgba(184,137,47,.45); }
.mahimzaman-bab-builder.is-complete .mahimzaman-bab-summary-count { color: #8b651d; }

.mahimzaman-bab-add-to-cart {
	width: 100%;
	min-height: 50px;
	border: 0 !important;
	border-radius: 13px !important;
	background: var(--mahimzaman-bab-button-bg) !important;
	color: var(--mahimzaman-bab-button-text) !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	box-shadow: 0 8px 18px rgba(184,137,47,.18);
}
.mahimzaman-bab-add-to-cart:hover:not(:disabled) { filter: brightness(.94); transform: translateY(-1px); }
.mahimzaman-bab-add-to-cart:disabled { opacity: .48; cursor: not-allowed; box-shadow: none; }

/* Natural WooCommerce product price above the builder. */
.summary .price .mahimzaman-bab-main-regular-price {
	margin-right: 6px;
	color: #9a978f;
	font-size: .72em;
	font-weight: 500;
}
.summary .price .mahimzaman-bab-main-sale-price {
	color: var(--mahimzaman-bab-primary);
	font-size: 1em;
	font-weight: 850;
	text-decoration: none;
}
.summary .price .mahimzaman-bab-main-pending-price {
	color: #9a978f;
	font-weight: 600;
}
.summary .price .mahimzaman-bab-main-discount-badge { margin-left: 7px; vertical-align: middle; }

@media (max-width: 900px) {
	.mahimzaman-bab-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
	.mahimzaman-bab-builder { padding: 14px; border-radius: 18px; }
	.mahimzaman-bab-builder-header { align-items: center; }
	.mahimzaman-bab-progress { min-width: 118px; padding: 8px 9px; }
	.mahimzaman-bab-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
	.mahimzaman-bab-product-content { padding: 10px; }
	.mahimzaman-bab-product-title { font-size: 13px; min-height: 35px; }
	.mahimzaman-bab-card-price-label { font-size: 9px; }
	.mahimzaman-bab-card-price del { font-size: 10px; }
	.mahimzaman-bab-card-price ins { font-size: 14px; }
	.mahimzaman-bab-card-price-badge { font-size: 8px; padding: 3px 5px; }
	.mahimzaman-bab-quantity-control { height: 40px; }
	.mahimzaman-bab-quantity-button { flex-basis: 34px; width: 34px; height: 38px; font-size: 18px; }
	.mahimzaman-bab-product-quantity { height: 38px; width: 40px !important; font-size: 14px; }
	.mahimzaman-bab-summary { align-items: stretch; flex-direction: column; gap: 7px; }
	.mahimzaman-bab-summary-price { justify-content: space-between; }
}

@media (max-width: 400px) {
	.mahimzaman-bab-builder { padding: 10px; }
	.mahimzaman-bab-products { gap: 7px; }
	.mahimzaman-bab-product-content { padding: 8px; }
	.mahimzaman-bab-product-title { font-size: 12px; }
	.mahimzaman-bab-card-price-values { gap: 4px; }
	.mahimzaman-bab-card-price ins { font-size: 13px; }
}

.mahimzaman-bab-builder .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

@media (prefers-reduced-motion: reduce) {
	.mahimzaman-bab-product,
	.mahimzaman-bab-product-image img,
	.mahimzaman-bab-add-to-cart { transition: none; }
}
