/*  GRZ Gaming — woocommerce canonical stylesheet.  */

.woocommerce-notices-wrapper:not(:empty) {
	width: min(100%, 1392px);
	margin-inline: auto;
}

/* Notices are styled by store-toast-v140.css — the canonical notification card. */

.woocommerce-page ul.products {
	gap: 14px;
}

.woocommerce-page ul.products li.product {
	box-sizing: border-box;
	padding: 10px;
	border: 1px solid var(--grz-ui-line);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 3px 12px rgba(24, 50, 85, 0.04);
	transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.woocommerce ul.products li.product {
	box-sizing: border-box;
}

.woocommerce-page ul.products li.product:hover {
	border-color: rgba(8, 104, 242, 0.34);
	box-shadow: var(--grz-ui-shadow-hover);
	transform: translateY(-1px);
}

.woocommerce-page ul.products li.product a img {
	border-radius: 7px;
}

.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
	font-size: 0.82rem;
	line-height: 1.4;
}

.woocommerce-page ul.products li.product .button,
.woocommerce ul.products li.product .button {
	width: 100%;
	min-height: 40px;
	margin-top: 10px;
	border-radius: 6px;
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce ul.products li.product {
		transition: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce-page ul.products li.product {
		transition: none;
	}
}

/* .grz-store-notice cards are styled by store-toast-v140.css (canonical). */

.grz-woo-main {
	box-sizing: border-box;
	width: min(100%, var(--grz-container));
	padding-inline: var(--grz-gutter);
	margin-inline: auto;
	padding-block: clamp(14px, 2vw, 22px) clamp(36px, 4.5vw, 60px);
}

.woocommerce .woocommerce-breadcrumb {
	margin-bottom: 24px;
	color: var(--grz-muted);
	font-size: 0.8rem;
}

.woocommerce .woocommerce-breadcrumb a {
	color: var(--grz-ink-soft);
	text-decoration: none;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	margin-bottom: 28px;
}

.woocommerce .woocommerce-ordering select {
	min-width: 220px;
}

.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
	margin: 0;
}

.woocommerce ul.products.columns-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.woocommerce ul.products.columns-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.woocommerce ul.products.columns-5 {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.woocommerce ul.products.columns-6 {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none;
}

.woocommerce ul.products li.product {
	position: relative;
	float: none;
	width: auto;
	margin: 0;
	border: 1px solid var(--grz-line);
	border-radius: var(--grz-radius-md);
	background: #fff;
	box-shadow: var(--grz-shadow-xs);
	padding: 14px;
	transition: transform var(--grz-transition), box-shadow var(--grz-transition), border-color var(--grz-transition);
}

.woocommerce ul.products li.product:hover {
	border-color: rgba(8, 104, 242, 0.25);
	box-shadow: var(--grz-shadow-sm);
	transform: translateY(-3px);
}

.woocommerce ul.products li.product a img {
	border-radius: var(--grz-radius-sm);
	background: var(--grz-blue-mist);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--grz-ink);
	font-size: 0.92rem;
	font-weight: 800;
	line-height: 1.35;
}

.woocommerce ul.products li.product .price {
	color: var(--grz-blue);
	font-size: 0.95rem;
	font-weight: 850;
}

.woocommerce span.onsale {
	min-width: 42px;
	min-height: 28px;
	border-radius: 999px;
	background: var(--grz-red);
	font-size: 0.7rem;
	line-height: 28px;
	padding: 0 9px;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce #respond button#submit,
.wc-block-components-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	box-sizing: border-box;
	min-height: 42px;
	padding: 0.72rem 1rem;
	border-radius: var(--grz-radius-sm);
	background: linear-gradient(135deg, var(--grz-blue), var(--grz-blue-dark));
	color: #fff;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
}

.woocommerce input.button,
.woocommerce #respond input#submit {
	box-sizing: border-box;
	min-height: 42px;
	padding: 0.72rem 1rem;
	border-radius: var(--grz-radius-sm);
	background: linear-gradient(135deg, var(--grz-blue), var(--grz-blue-dark));
	color: #fff;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	vertical-align: middle;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond :is(button#submit, input#submit):hover,
.wc-block-components-button:hover {
	background: linear-gradient(135deg, var(--grz-blue-dark), var(--grz-blue));
	color: #fff;
}

.woocommerce div.product {
	border: 1px solid var(--grz-line);
	border-radius: var(--grz-radius-lg);
	background: #fff;
	box-shadow: var(--grz-shadow-sm);
	padding: clamp(22px, 4vw, 48px);
}

.woocommerce div.product .product_title {
	font-size: clamp(1.75rem, 3vw, 2.8rem);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--grz-blue);
	font-weight: 850;
}

.woocommerce div.product div.images img {
	border-radius: var(--grz-radius-md);
}

.woocommerce table.shop_table {
	border-color: var(--grz-line);
	border-radius: var(--grz-radius-md);
	background: #fff;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	border-color: var(--grz-line);
}

.woocommerce form.checkout,
.woocommerce form.woocommerce-cart-form {
	border: 1px solid var(--grz-line);
	border-radius: var(--grz-radius-md);
	background: #fff;
	box-shadow: var(--grz-shadow-xs);
	padding: clamp(20px, 3vw, 34px);
}

.wc-block-cart,
.wc-block-checkout {
	--wp--preset--color--contrast: var(--grz-ink);
}

.wc-block-components-sidebar-layout {
	gap: 28px;
}

.wc-block-components-order-summary,
.wc-block-components-totals-wrapper,
.wc-block-checkout__form {
	border-color: var(--grz-line);
}

@media (max-width: 1100px) {
	.woocommerce ul.products:not(.columns-2):not(.columns-3) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 1100px) {
	.woocommerce ul.products.columns-4 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 1100px) {
	.woocommerce ul.products.columns-5 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 1100px) {
	.woocommerce ul.products.columns-6 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}
}

@media (max-width: 760px) {
	.woocommerce ul.products[class*="columns-"] {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}
}

@media (max-width: 440px) {
	.woocommerce ul.products {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 440px) {
	.woocommerce ul.products[class*="columns-"] {
		grid-template-columns: 1fr;
	}
}

[data-grz-pending="true"] {
	opacity: 0.6;
	pointer-events: none;
}

.grz-woocommerce-active :where(a.button, button.button, .wc-block-components-button, .added_to_cart) {
	box-sizing: border-box;
	display: inline-flex;
	min-height: 42px;
	align-items: center;
	justify-content: center;
	gap: 7px;
	padding: 0 15px;
	border-radius: 6px;
	font-size: 0.76rem;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	vertical-align: middle;
}

.grz-woocommerce-active :where(input.button, input[type="submit"].button) {
	box-sizing: border-box;
	min-height: 42px;
	padding: 0 15px;
	border-radius: 6px;
	font-size: 0.76rem;
	font-weight: 800;
	line-height: 40px;
	text-align: center;
	vertical-align: middle;
}

.grz-woocommerce-active :where(a.button, button.button, .wc-block-components-button) > :where(span, strong) {
	display: inline-flex;
	align-items: center;
	line-height: inherit;
}

/* .grz-store-notice cards, dismiss buttons and dismiss animations are
 * styled by store-toast-v140.css — the canonical notification stylesheet. */

/* ============================================================
 * RESTORED (GRZ Lite audit): loop favorite button (rendered by grz_account_favorite_button)
 * These selectors are rendered by live PHP/JS (concat-built or
 * feature-gated) and were removed by an over-aggressive dead sweep.
 * ============================================================ */
.woocommerce .grz-favorite-button--loop {
	position: absolute;
	z-index: 4;
	top: 10px;
	inset-inline-end: 10px;
	display: inline-grid;
	width: 36px;
	height: 36px;
	min-height: 36px;
	place-items: center;
	padding: 0;
	border: 1px solid rgba(203, 216, 232, 0.95);
	border-radius: var(--grz-radius-sm);
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 4px 14px rgba(17, 40, 76, 0.09);
	color: var(--grz-muted);
	line-height: 1;
}
.woocommerce .grz-favorite-button--loop:hover,
.woocommerce .grz-favorite-button--loop.is-active {
	border-color: #efbac2;
	background: #fff5f7;
	box-shadow: 0 5px 16px rgba(134, 30, 49, 0.1);
	color: #cf3047;
	transform: none;
}
.woocommerce .grz-favorite-button--loop .grz-icon {
	width: 17px;
	height: 17px;
}
.woocommerce .grz-favorite-button--loop.is-active .grz-icon svg {
	fill: currentColor;
}
.woocommerce .grz-favorite-button--loop [data-grz-favorite-label] {
	display: none;
}
