/**
 * GRZ Gaming — canonical 1440px site shell (v1.9.3)
 *
 * One outer-width contract for the header, page canvases, merchandising
 * modules, commerce flows, account tools and footer. Internal grids remain
 * fluid; only the top-level alignment rail is normalized here.
 */

:root {
	--grz-shell-max: 1440px;
	--grz-shell-gutter: 24px;
	--grz-container: var(--grz-shell-max);
	--grz-container-inner: var(--grz-shell-max);
	--grz-content: var(--grz-shell-max);
}

/* Header and footer use the same physical rail as every page module. */
:where(
	.grz-header .grz-top-strip__track,
	.grz-header .grz-utility__inner,
	.grz-header .grz-main-header__inner,
	.grz-checkout-site-header .grz-top-strip__track,
	.grz-footer .grz-footer-trust__track,
	.grz-footer .grz-footer-main__grid,
	.grz-footer .grz-footer-bottom__row,
	.grz-footer .grz-footer-locales
) {
	box-sizing: border-box;
	width: min(calc(100% - (2 * var(--grz-shell-gutter))), var(--grz-shell-max)) !important;
	max-width: none !important;
	margin-inline: auto !important;
	padding-inline: 0 !important;
}

/* Homepage: every major section starts and ends on the same 1440px rail.
 * The slider's side-peek cards and product-card grids remain component-sized. */
body.home :where(
	.grz-hero-slider,
	.grz-home-section
) {
	padding-inline: var(--grz-shell-gutter) !important;
}

body.home :where(
	.grz-hero-slider__shell > .grz-container,
	.grz-home-section > .grz-container,
	.grz-major-storefront > .grz-container,
	.grz-cat-section > .grz-container,
	.grz-news-section > .grz-container
) {
	box-sizing: border-box;
	width: min(100%, var(--grz-shell-max)) !important;
	max-width: none !important;
	margin-inline: auto !important;
	padding-inline: 0 !important;
}

/* Product page: hero information, variations, summary and lower sections all
 * inherit one rail instead of a page-specific 1160/1392px value. */
body.single-product {
	--grz-product-max: var(--grz-shell-max);
	--grz-product-max-width: var(--grz-shell-max);
}

body.single-product :where(
	.grz-tp-shell,
	.woocommerce-notices-wrapper
) {
	width: min(calc(100% - (2 * var(--grz-shell-gutter))), var(--grz-shell-max)) !important;
	max-width: none !important;
	margin-inline: auto !important;
}

body.single-product .grz-tp-hero__inner {
	width: min(
		calc(100% - (2 * var(--grz-product-gutter, 24px))),
		var(--grz-shell-max)
	) !important;
	max-width: none !important;
	margin-inline: auto !important;
}

/* Cart, authenticated account and region preferences previously each declared
 * their own 1160px atmosphere width. They now share the site shell. */
body.grz-cart-page.grz-cart-atmosphere {
	--grz-cart-atmo-max: var(--grz-shell-max);
	--grz-cart-max: var(--grz-shell-max);
}

body.grz-cart-page.grz-cart-atmosphere .grz-content-wrap {
	padding-inline: 0;
}

body.grz-cart-page.grz-cart-atmosphere :where(
	.grz-cart,
	.grz-cart__top,
	.grz-commerce-head--cart,
	.grz-cart--empty
) {
	width: min(100%, var(--grz-shell-max));
	max-width: var(--grz-shell-max);
	margin-inline: auto;
}

:where(body.grz-acct-page-auth, body.grz-region-preferences-page) {
	--grz-customer-max: var(--grz-shell-max);
}

body.grz-acct-page-auth :where(
	.grz-acct-shell,
	.grz-entry__content > .woocommerce,
	.grz-entry__content > .woocommerce > .grz-store-notice--inline,
	.grz-entry__content > .woocommerce > .woocommerce-notices-wrapper:not(:empty)
) {
	width: min(100%, var(--grz-shell-max));
	max-width: var(--grz-shell-max);
	margin-inline: auto;
}

body.grz-region-preferences-page .grz-region-page__container {
	width: min(calc(100% - (2 * var(--grz-shell-gutter))), var(--grz-shell-max));
	max-width: var(--grz-shell-max);
	margin-inline: auto;
}

/* Checkout keeps its focused secure header, but its outside edges now align
 * with the same shell used by the cart and the rest of the storefront. */
body.grz-checkout-page.grz-checkout-atmosphere .grz-checkout-site-header__inner,
body.grz-checkout-page .grz-commerce-flow .grz-content-wrap,
body.grz-checkout-page.grz-commerce-flow .grz-content-wrap {
	width: min(calc(100% - (2 * var(--grz-shell-gutter))), var(--grz-shell-max)) !important;
	max-width: none !important;
	margin-inline: auto !important;
}

/* Informational pages and general WooCommerce/page notices follow the same
 * outer rail; their readable text columns remain constrained internally. */
body.grz-imp-page .grz-imp-shell,
.woocommerce-notices-wrapper:not(:empty) {
	max-width: var(--grz-shell-max);
}

body.grz-imp-page .grz-imp-shell {
	width: min(calc(100% - (2 * var(--grz-shell-gutter))), var(--grz-shell-max));
}

@media (max-width: 720px) {
	:root {
		--grz-shell-gutter: 14px;
	}

	body.single-product {
		--grz-product-gutter: var(--grz-shell-gutter);
	}

	body.grz-cart-page.grz-cart-atmosphere .grz-content-wrap,
	body.grz-acct-page-auth .grz-content-wrap {
		padding-inline: var(--grz-shell-gutter);
	}

	body.grz-region-preferences-page .grz-region-page__container {
		width: calc(100% - (2 * var(--grz-shell-gutter)));
	}
}
