/*
 * Maison Shariqa cart and checkout layer.
 * Version: 1.0.3
 * Loaded only on the classic WooCommerce cart and checkout routes.
 */

.woocommerce-cart,
.woocommerce-checkout {
	--alsq-commerce-surface: var(--alsq-surface, #fffdfb);
	--alsq-commerce-muted: var(--alsq-surface-muted, #f8f3ef);
	--alsq-commerce-border: var(--alsq-border, #e5dcd7);
	min-width: 0;
}

.woocommerce-cart .site-content,
.woocommerce-checkout .site-content,
.woocommerce-cart .site-content > .container-xxl,
.woocommerce-checkout .site-content > .container-xxl {
	min-width: 0;
}

.woocommerce-cart .site-content :where(input:not([type='hidden']), select, textarea),
.woocommerce-checkout .site-content :where(input:not([type='hidden']), select, textarea) {
	max-width: 100%;
	min-height: 44px;
	border: 1px solid var(--alsq-commerce-border) !important;
	border-radius: var(--alsq-radius-sm, 8px) !important;
	background: var(--alsq-commerce-surface) !important;
	color: var(--alsq-ink, #211d1f) !important;
	font-family: var(--alsq-body-font, Arial, sans-serif) !important;
}

.woocommerce-cart .site-content :where(input:not([type='hidden']), select, textarea):focus,
.woocommerce-checkout .site-content :where(input:not([type='hidden']), select, textarea):focus {
	border-color: var(--alsq-brand, #6b0e2c) !important;
	box-shadow: var(--alsq-shadow-focus, 0 0 0 3px rgba(145, 100, 25, 0.22)) !important;
	outline: none;
}

.woocommerce-cart .site-content :where(.button, button, input[type='submit']),
.woocommerce-checkout .site-content :where(.button, button, input[type='submit']) {
	min-height: 44px;
	border: 1px solid var(--alsq-brand, #6b0e2c) !important;
	border-radius: var(--alsq-radius-sm, 8px) !important;
	background: var(--alsq-brand, #6b0e2c) !important;
	color: var(--alsq-ivory, #f7efe6) !important;
	font-family: var(--alsq-body-font, Arial, sans-serif) !important;
	font-weight: 600;
	line-height: 1.25;
	padding: 0.75rem 1.15rem;
	text-align: center;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.woocommerce-cart .site-content :where(.button, button, input[type='submit']):hover,
.woocommerce-cart .site-content :where(.button, button, input[type='submit']):focus-visible,
.woocommerce-checkout .site-content :where(.button, button, input[type='submit']):hover,
.woocommerce-checkout .site-content :where(.button, button, input[type='submit']):focus-visible {
	border-color: var(--alsq-bronze, #916419) !important;
	background: var(--alsq-bronze, #916419) !important;
	color: #fff !important;
}

.woocommerce-cart .site-content :where(.button, button, input[type='submit']).gz-button-subtle,
.woocommerce-cart .site-content .button[name='update_cart'] {
	border-color: var(--alsq-brand, #6b0e2c) !important;
	background: transparent !important;
	color: var(--alsq-brand, #6b0e2c) !important;
}

.woocommerce-cart .site-content :where(.button, button, input[type='submit']).gz-button-subtle:hover,
.woocommerce-cart .site-content .button[name='update_cart']:hover,
.woocommerce-cart .site-content :where(.button, button, input[type='submit']).gz-button-subtle:focus-visible,
.woocommerce-cart .site-content .button[name='update_cart']:focus-visible {
	background: var(--alsq-ivory, #f7efe6) !important;
	color: var(--alsq-brand, #6b0e2c) !important;
}

.woocommerce-cart .woocommerce-notices-wrapper:not(:empty),
.woocommerce-checkout .woocommerce-notices-wrapper:not(:empty) {
	margin-bottom: var(--alsq-space-4, 1.5rem);
}

/* Remove theme-managed cart demo panels until their content is approved. */
.woocommerce-cart .gz-cart-service-highlight,
.woocommerce-cart .gz-cart-information-box {
	display: none !important;
}

.woocommerce-cart .woocommerce-error,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-message,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message {
	border-radius: var(--alsq-radius-sm, 8px);
	font-family: var(--alsq-body-font, Arial, sans-serif);
	line-height: 1.5;
}

/* Empty cart */
.woocommerce-cart .gz-cart-empty-content {
	max-width: 38rem;
	margin: clamp(2.5rem, 8vw, 6rem) auto;
	padding: clamp(2rem, 5vw, 3.5rem) clamp(1rem, 5vw, 3rem);
	border: 1px solid var(--alsq-commerce-border);
	border-radius: var(--alsq-radius-lg, 20px);
	background: var(--alsq-commerce-surface);
	box-shadow: var(--alsq-shadow-soft, 0 10px 30px rgba(56, 18, 32, 0.09));
}

.woocommerce-cart .gz-cart-empty-content h1 {
	margin: 0 0 1rem;
	color: var(--alsq-ink, #211d1f);
	font-family: var(--alsq-display-font, Georgia, serif);
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	line-height: 1.1;
	text-wrap: balance;
}

.woocommerce-cart .gz-cart-empty-content h2 {
	margin: 2rem 0 0.5rem;
	font-family: var(--alsq-display-font, Georgia, serif);
	font-size: 1.25rem;
}

.woocommerce-cart .gz-cart-empty-content > div:last-child {
	max-width: 32rem;
	margin-inline: auto;
	color: var(--alsq-muted, #6f686b);
	line-height: 1.55;
}

.woocommerce-cart .gz-cart-empty-content .return-to-shop {
	margin: 1.5rem 0 0;
}

.woocommerce-cart .gz-cart-empty-content .return-to-shop .button {
	display: inline-flex;
	width: min(100%, 18rem);
	align-items: center;
	justify-content: center;
}

/* Filled cart */
.woocommerce-cart .woocommrece-cart-content {
	min-width: 0;
}

.woocommerce-cart table.woocommerce-cart-form__contents {
	width: 100%;
	max-width: 100%;
	border: 1px solid var(--alsq-commerce-border);
	border-radius: var(--alsq-radius-md, 14px);
	background: var(--alsq-commerce-surface);
	overflow: hidden;
}

.woocommerce-cart table.woocommerce-cart-form__contents thead {
	background: var(--alsq-commerce-muted);
}

.woocommerce-cart table.woocommerce-cart-form__contents thead th {
	padding-block: 1rem;
	color: var(--alsq-muted, #6f686b);
	font-family: var(--alsq-body-font, Arial, sans-serif);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.woocommerce-cart table.woocommerce-cart-form__contents tbody tr {
	border-bottom-color: var(--alsq-commerce-border);
}

.woocommerce-cart table.woocommerce-cart-form__contents tbody td {
	padding-block: 1.25rem;
	vertical-align: middle;
}

.woocommerce-cart table.woocommerce-cart-form__contents td.product-thumbnail img {
	border-radius: var(--alsq-radius-sm, 8px);
}

.woocommerce-cart table.woocommerce-cart-form__contents td.product-name a:not(.remove) {
	color: var(--alsq-ink, #211d1f);
	font-family: var(--alsq-display-font, Georgia, serif);
	font-size: 1rem;
	line-height: 1.3;
}

.woocommerce-cart table.woocommerce-cart-form__contents td.product-name a:not(.remove):hover {
	color: var(--alsq-brand, #6b0e2c);
}

.woocommerce-cart table.woocommerce-cart-form__contents .product-remove a {
	display: inline-flex;
	min-width: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	color: var(--alsq-muted, #6f686b);
}

.woocommerce-cart table.woocommerce-cart-form__contents .product-remove a:hover {
	color: var(--alsq-brand, #6b0e2c);
}

.woocommerce-cart .glozin-price-saved {
	text-transform: none;
}

.woocommerce-cart table.woocommerce-cart-form__contents .quantity {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	border: 1px solid var(--alsq-commerce-border);
	border-radius: var(--alsq-radius-sm, 8px);
	background: var(--alsq-commerce-muted);
	overflow: hidden;
}

.woocommerce-cart table.woocommerce-cart-form__contents .quantity :where(.minus, .plus) {
	width: 40px;
	min-width: 40px;
	min-height: 42px;
	border: 0 !important;
	background: transparent !important;
	color: var(--alsq-brand, #6b0e2c) !important;
	font-size: 1rem;
	padding: 0;
}

.woocommerce-cart table.woocommerce-cart-form__contents .quantity .qty {
	width: 3rem;
	min-height: 42px;
	border: 0 !important;
	border-inline: 1px solid var(--alsq-commerce-border) !important;
	border-radius: 0 !important;
	background: transparent !important;
	text-align: center;
}

.woocommerce-cart table.woocommerce-cart-form__contents .actions {
	padding: 1.25rem !important;
}

.woocommerce-cart table.woocommerce-cart-form__contents .gz-cart-actions-coupon-update-cart {
	gap: 0.75rem;
}

.woocommerce-cart table.woocommerce-cart-form__contents .coupon {
	display: flex;
	min-width: min(100%, 21rem);
	gap: 0.5rem;
}

.woocommerce-cart table.woocommerce-cart-form__contents .coupon .input-text {
	min-width: 0;
	flex: 1 1 10rem;
	height: 44px !important;
	min-height: 44px !important;
	max-height: 48px !important;
	line-height: 1.25;
}

.woocommerce-cart table.woocommerce-cart-form__contents .coupon .button {
	min-width: 0;
	margin-inline-start: 0;
}

.woocommerce-cart .cart-collaterals {
	min-width: 0;
}

.woocommerce-cart .cart_totals .cart_totals_summary {
	border: 1px solid var(--alsq-commerce-border);
	border-radius: var(--alsq-radius-md, 14px);
	background: var(--alsq-commerce-muted);
	box-shadow: var(--alsq-shadow-soft, 0 10px 30px rgba(56, 18, 32, 0.09));
}

.woocommerce-cart .cart_totals .cart_totals_summary h2 {
	margin-top: 0;
	font-family: var(--alsq-display-font, Georgia, serif);
}

.woocommerce-cart .cart_totals table.shop_table {
	width: 100%;
}

.woocommerce-cart .cart_totals .order-total {
	border-top-color: var(--alsq-brand, #6b0e2c);
	color: var(--alsq-brand, #6b0e2c);
}

.woocommerce-cart .cart_totals .wc-proceed-to-checkout .checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
}

@media (min-width: 1025px) {
	.woocommerce-cart .woocommrece-cart-content {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
		gap: clamp(1.5rem, 4vw, 3.5rem);
		align-items: start;
	}

	.woocommerce-cart .woocommerce-cart-form,
	.woocommerce-cart .cart-collaterals {
		float: none;
		width: auto;
		position: static;
	}
}

/* Checkout */
.woocommerce-checkout form.checkout {
	min-width: 0;
	max-width: 100%;
	padding-top: clamp(1rem, 3vw, 2.5rem);
}

.woocommerce-checkout form.checkout h3,
.woocommerce-checkout #order_review_heading {
	color: var(--alsq-ink, #211d1f);
	font-family: var(--alsq-display-font, Georgia, serif);
	font-weight: 600;
	line-height: 1.2;
}

.woocommerce-checkout form.checkout .form-row {
	min-width: 0;
	margin-bottom: 1rem;
}

.woocommerce-checkout form.checkout .form-row label {
	color: var(--alsq-ink, #211d1f);
	font-family: var(--alsq-body-font, Arial, sans-serif);
	font-weight: 600;
}

.woocommerce-checkout form.checkout .form-row .required {
	color: var(--alsq-brand, #6b0e2c);
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout form.checkout .col-2 {
	border-color: var(--alsq-commerce-border);
	background: var(--alsq-commerce-surface);
}

.woocommerce-checkout form.checkout .select2-container,
.woocommerce-checkout form.checkout .select2-selection--single {
	max-width: 100%;
}

.woocommerce-checkout form.checkout .select2-selection--single {
	min-height: 44px;
	border-color: var(--alsq-commerce-border) !important;
	border-radius: var(--alsq-radius-sm, 8px) !important;
	background: var(--alsq-commerce-surface) !important;
}

.woocommerce-checkout #order_review_heading {
	margin-top: 0;
}

.woocommerce-checkout #order_review {
	min-width: 0;
	border: 1px solid var(--alsq-commerce-border);
	border-radius: var(--alsq-radius-md, 14px);
	background: var(--alsq-commerce-surface);
	box-shadow: var(--alsq-shadow-soft, 0 10px 30px rgba(56, 18, 32, 0.09));
}

.woocommerce-checkout #order_review table.shop_table {
	width: 100%;
}

.woocommerce-checkout #order_review .order-total {
	border-top-color: var(--alsq-brand, #6b0e2c);
	color: var(--alsq-brand, #6b0e2c);
}

.woocommerce-checkout #payment {
	border-top-color: var(--alsq-commerce-border);
	background: var(--alsq-commerce-muted);
}

.woocommerce-checkout #payment ul.wc_payment_methods li {
	min-height: 44px;
	border-bottom-color: var(--alsq-commerce-border);
}

.woocommerce-checkout #payment ul.wc_payment_methods li label {
	font-weight: 600;
}

.woocommerce-checkout #payment .payment_box {
	border: 1px solid var(--alsq-commerce-border);
	border-radius: var(--alsq-radius-sm, 8px);
	background: var(--alsq-commerce-surface);
	color: var(--alsq-ink, #211d1f);
}

.woocommerce-checkout #payment .place-order,
.woocommerce-checkout #payment #place_order {
	margin-bottom: 0;
}

.woocommerce-checkout .checkout-form-cols {
	min-width: 0;
	margin-bottom: 1.5rem;
}

@media (min-width: 992px) {
	.woocommerce-checkout form.checkout {
		display: grid;
		grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.75fr);
		gap: clamp(1.5rem, 4vw, 3.5rem);
		align-items: start;
	}

	.woocommerce-checkout form.checkout::after {
		display: none;
	}

	.woocommerce-checkout form.checkout .col2-set {
		grid-column: 1;
		float: none;
		width: auto;
		padding: 0;
	}

	.woocommerce-checkout form.checkout #order_review_heading {
		grid-column: 2;
		grid-row: 1;
	}

	.woocommerce-checkout form.checkout #order_review {
		grid-column: 2;
		grid-row: 1;
		float: none;
		width: auto;
		position: static;
		margin-top: 3.25rem;
	}
}

@media (max-width: 991px) {
	.woocommerce-checkout form.checkout .col2-set,
	.woocommerce-checkout form.checkout #order_review,
	.woocommerce-checkout form.checkout #order_review_heading {
		float: none;
		width: 100%;
		position: static;
	}
}

@media (max-width: 767px) {
	.woocommerce-cart .site-content,
	.woocommerce-checkout .site-content {
		padding-inline: 0.75rem;
	}

	.woocommerce-cart .gz-cart-empty-content {
		margin-block: 2rem 3rem;
		padding-inline: 1rem;
	}

	.woocommerce-cart table.woocommerce-cart-form__contents {
		border: 0;
		background: transparent;
		overflow: visible;
	}

	.woocommerce-cart table.woocommerce-cart-form__contents .woocommerce-cart-form__cart-item {
		border: 1px solid var(--alsq-commerce-border);
		border-radius: var(--alsq-radius-md, 14px);
		background: var(--alsq-commerce-surface);
		padding: 1rem;
		grid-template-columns: 100px minmax(0, 1fr);
		grid-template-rows: auto auto auto;
		row-gap: 0.5rem;
	}

	.woocommerce-cart table.woocommerce-cart-form__contents .woocommerce-cart-form__cart-item .product-thumbnail {
		min-width: 0;
		grid-column: 1;
		grid-row: 1 / span 3;
		align-self: start;
	}

	.woocommerce-cart table.woocommerce-cart-form__contents .woocommerce-cart-form__cart-item .product-name {
		grid-column: 2;
		grid-row: 1;
		min-width: 0;
		padding-inline-end: 0;
	}

	.woocommerce-cart table.woocommerce-cart-form__contents .woocommerce-cart-form__cart-item .product-subtotal {
		display: block;
		grid-column: 2;
		grid-row: 2;
		align-self: start;
		padding-top: 0;
		text-align: start;
	}

	.woocommerce-cart table.woocommerce-cart-form__contents .woocommerce-cart-form__cart-item .product-quantity {
		position: static !important;
		inset: auto !important;
		grid-column: 2;
		grid-row: 3;
		align-self: start;
		padding: 0;
		text-align: start;
	}

	.woocommerce-cart table.woocommerce-cart-form__contents .woocommerce-cart-form__cart-item .product-quantity .quantity {
		position: static !important;
		inset: auto !important;
	}

	.woocommerce-cart table.woocommerce-cart-form__contents .woocommerce-cart-form__cart-item .product-thumbnail img {
		width: 100%;
	}

	.woocommerce-cart table.woocommerce-cart-form__contents .actions {
		padding-inline: 0 !important;
	}

	.woocommerce-cart table.woocommerce-cart-form__contents .gz-cart-actions-coupon-update-cart {
		align-items: stretch;
		flex-direction: column;
	}

	.woocommerce-cart table.woocommerce-cart-form__contents .coupon {
		width: 100%;
		min-width: 0;
		flex-direction: column;
	}

	.woocommerce-cart table.woocommerce-cart-form__contents .coupon .button,
	.woocommerce-cart table.woocommerce-cart-form__contents .button[name='update_cart'] {
		width: 100%;
	}

	.woocommerce-cart .cart-collaterals {
		margin-top: 1.5rem;
	}

	.woocommerce-cart .cart_totals .cart_totals_summary {
		padding: 1.25rem 1rem;
	}

	.woocommerce-checkout form.checkout {
		padding-top: 0;
	}

	.woocommerce-checkout form.checkout .col-2,
	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
		padding-inline: 1rem;
	}

	.woocommerce-checkout form.checkout #order_review {
		margin-top: 1rem;
	}

	.woocommerce-checkout form.checkout #payment {
		margin-inline: 0;
		padding-inline: 1rem;
	}

	.woocommerce-checkout .checkout-form-cols .checkout-coupon input.input-text,
	.woocommerce-checkout .checkout-form-cols .checkout-coupon .button {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce-cart .site-content :where(.button, button, input[type='submit']),
	.woocommerce-checkout .site-content :where(.button, button, input[type='submit']) {
		transition: none;
	}
}
