/**
 * AMAM Marketplace v2.0.6
 * Final fixes based on the supplied storefront recording.
 */

/* ------------------------------------------------------------------
 * Global header/footer rescue
 * ------------------------------------------------------------------ */
body .amam-elementor-location:empty,
body .amam-elementor-header-template:not(:has([data-amam-owner="theme-header"], #masthead)),
body .amam-elementor-footer-template:not(:has([data-amam-owner="theme-footer"], #colophon)) {
	display: none !important;
}

body > header#masthead,
body > footer#colophon,
body #page > header#masthead,
body #page > footer#colophon {
	visibility: visible;
	opacity: 1;
}

/* ------------------------------------------------------------------
 * Single product: keep sticky behavior inside the main product area only
 * ------------------------------------------------------------------ */
body.amam-non-home-layout.single-product div.product {
	display: block !important;
	width: 100%;
}

body.amam-non-home-layout.single-product .amam-single-product-main {
	display: grid;
	grid-template-columns:
		minmax(0, var(--amam-nh-gallery-width, 52%))
		minmax(0, 1fr);
	gap: var(--amam-nh-product-gap, 42px);
	align-items: start;
	width: 100%;
}

body.amam-non-home-layout.single-product
	.amam-single-product-main::before,
body.amam-non-home-layout.single-product
	.amam-single-product-main::after {
	display: none;
}

body.amam-non-home-layout.single-product
	.amam-single-product-main > .woocommerce-product-gallery,
body.amam-non-home-layout.single-product
	.amam-single-product-main > .summary {
	float: none !important;
	clear: none !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
}

body.amam-non-home-layout.single-product
	.amam-single-product-main > .woocommerce-product-gallery {
	grid-column: 1;
}

body.amam-non-home-layout.single-product
	.amam-single-product-main > .summary {
	grid-column: 2;
	align-self: start;
}

body.amam-non-home-layout.single-product:not(.amam-non-home-sticky-summary)
	.amam-single-product-main > .summary {
	position: static !important;
	top: auto !important;
}

body.amam-non-home-layout.single-product.amam-non-home-sticky-summary
	.amam-single-product-main > .summary {
	position: sticky !important;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + 20px);
}

/*
 * Tabs and product recommendations start below both main columns and use the
 * full page width. They are no longer squeezed beside the sticky summary.
 */
body.amam-non-home-layout.single-product
	div.product > :is(
		.woocommerce-tabs,
		.related.products,
		.upsells.products,
		.amam-product-trust
	) {
	display: block;
	clear: both;
	width: 100% !important;
	max-width: none !important;
	margin-inline: 0 !important;
}

body.amam-non-home-layout.single-product
	div.product > .woocommerce-tabs {
	margin-top: 38px !important;
}

body.amam-non-home-layout.single-product
	div.product > :is(.related.products, .upsells.products) {
	margin-top: 42px !important;
}

body.amam-non-home-layout.single-product
	div.product > :is(.related.products, .upsells.products)
	ul.products {
	grid-template-columns: repeat(
		var(--amam-nh-archive-columns, 4),
		minmax(0, 1fr)
	) !important;
	width: 100% !important;
}

body.amam-non-home-layout.single-product .woocommerce-tabs .panel {
	width: 100%;
	max-width: none;
}

/* ------------------------------------------------------------------
 * Checkout: billing and complete order panel start on the same row
 * ------------------------------------------------------------------ */
body.amam-non-home-layout.woocommerce-checkout
	form.checkout.amam-checkout-layout-ready {
	display: grid !important;
	grid-template-columns:
		minmax(0, 1fr)
		minmax(380px, var(--amam-nh-review-width, 40%)) !important;
	grid-template-rows: auto !important;
	gap: 28px !important;
	align-items: start !important;
}

body.amam-non-home-layout.woocommerce-checkout
	form.checkout.amam-checkout-layout-ready > #customer_details {
	grid-column: 1 !important;
	grid-row: 1 !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
}

body.amam-non-home-layout.woocommerce-checkout
	.amam-checkout-order-column {
	grid-column: 2 !important;
	grid-row: 1 !important;
	align-self: start;
	width: 100%;
	max-width: none;
	min-width: 0;
	margin: 0;
	padding: var(--amam-nh-panel-padding, 24px);
	border: 1px solid var(--amam-border, #e6e0e3);
	border-radius: var(--amam-nh-panel-radius, 16px);
	background: #fff;
	box-shadow: var(--amam-shadow-soft, 0 8px 24px rgba(42,15,29,.08));
}

body.amam-non-home-layout.woocommerce-checkout
	.amam-checkout-order-column > #order_review_heading,
body.amam-non-home-layout.woocommerce-checkout
	.amam-checkout-order-column > #order_review {
	float: none !important;
	clear: none !important;
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin-inline: 0 !important;
}

body.amam-non-home-layout.woocommerce-checkout
	.amam-checkout-order-column > #order_review_heading {
	margin: 0 0 18px !important;
	padding: 0 !important;
	font-size: clamp(1.35rem, 2vw, 1.75rem);
}

body.amam-non-home-layout.woocommerce-checkout
	.amam-checkout-order-column > #order_review {
	position: static !important;
	top: auto !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.amam-non-home-layout.woocommerce-checkout
	.amam-checkout-order-column
	table.woocommerce-checkout-review-order-table {
	width: 100% !important;
	max-width: none !important;
	table-layout: auto !important;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}

body.amam-non-home-layout.woocommerce-checkout
	.amam-checkout-order-column
	table.woocommerce-checkout-review-order-table
	.product-name {
	width: auto !important;
	overflow-wrap: anywhere;
	word-break: normal;
}

body.amam-non-home-layout.woocommerce-checkout
	.amam-checkout-order-column
	table.woocommerce-checkout-review-order-table
	.product-total {
	width: 34%;
	text-align: end;
	white-space: nowrap;
}

body.amam-non-home-layout.woocommerce-checkout
	.amam-checkout-order-column
	#payment {
	width: 100%;
	margin-top: 20px;
}

body.amam-non-home-layout.woocommerce-checkout
	.amam-checkout-order-column
	.wc_payment_methods {
	margin: 0;
	padding: 0;
}

body.amam-non-home-layout.woocommerce-checkout
	.amam-checkout-order-column
	#place_order {
	width: 100%;
	min-height: 50px;
	margin-top: 14px;
}

/* ------------------------------------------------------------------
 * Cart: totals use the available width when cross-sells are absent
 * ------------------------------------------------------------------ */
body.amam-non-home-layout.woocommerce-cart
	.cart-collaterals.amam-cart-no-cross-sells {
	display: flex !important;
	justify-content: flex-end;
	width: 100%;
}

body.amam-non-home-layout.woocommerce-cart
	.cart-collaterals.amam-cart-no-cross-sells
	.cart_totals {
	flex: 0 1 620px;
	width: min(100%, 620px) !important;
	max-width: 620px;
	margin-left: auto !important;
}

body.amam-non-home-layout.woocommerce-cart
	.cart-collaterals.amam-cart-has-cross-sells {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 42%);
}

body.amam-non-home-layout.woocommerce-cart
	.cart-collaterals
	.cart_totals
	table {
	width: 100%;
	table-layout: auto;
}

body.amam-non-home-layout.woocommerce-cart
	.wc-proceed-to-checkout
	.checkout-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
}

/* Prevent legacy float widths from shrinking key WooCommerce panels. */
body.amam-non-home-layout
	:is(
		#order_review,
		#order_review_heading,
		.cart_totals,
		.cross-sells,
		.woocommerce-MyAccount-content,
		.woocommerce-MyAccount-navigation
	) {
	max-width: none;
}

/* ------------------------------------------------------------------
 * Tablet/mobile
 * ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	body.amam-non-home-layout.single-product .amam-single-product-main {
		grid-template-columns: 1fr;
	}

	body.amam-non-home-layout.single-product
		.amam-single-product-main > .woocommerce-product-gallery,
	body.amam-non-home-layout.single-product
		.amam-single-product-main > .summary {
		grid-column: 1;
	}

	body.amam-non-home-layout.single-product
		.amam-single-product-main > .summary {
		position: static !important;
		top: auto !important;
	}

	body.amam-non-home-layout.woocommerce-checkout
		form.checkout.amam-checkout-layout-ready {
		grid-template-columns: 1fr !important;
	}

	body.amam-non-home-layout.woocommerce-checkout
		form.checkout.amam-checkout-layout-ready > #customer_details,
	body.amam-non-home-layout.woocommerce-checkout
		.amam-checkout-order-column {
		grid-column: 1 !important;
		grid-row: auto !important;
	}

	body.amam-non-home-layout.woocommerce-checkout
		.amam-checkout-order-column {
		position: static;
	}

	body.amam-non-home-layout.woocommerce-cart
		.cart-collaterals.amam-cart-has-cross-sells {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	body.amam-non-home-layout.woocommerce-checkout
		.amam-checkout-order-column {
		padding: 18px;
	}

	body.amam-non-home-layout.woocommerce-checkout
		.amam-checkout-order-column
		table.woocommerce-checkout-review-order-table
		.product-total {
		width: 38%;
		white-space: normal;
	}

	body.amam-non-home-layout.woocommerce-cart
		.cart-collaterals.amam-cart-no-cross-sells
		.cart_totals {
		flex-basis: 100%;
		max-width: none;
	}
}
