/**
 * Products table layout.
 *
 * Kept separate from style.css so the dense catalogue can share the cart
 * page's content rail without changing other WooCommerce screens.
 */

body.gg-native-theme .gg-products-page {
	padding: 42px 0 84px;
}

body.page-id-51847.gg-native-theme .gg-page.gg-products-page:not(.gg-home-page):not(.gg-page--builder-content) > .gg-container,
body.gg-native-theme .gg-page.gg-products-page:not(.gg-home-page):not(.gg-page--builder-content) > .gg-container,
body.gg-native-theme .gg-page.gg-products-page > .gg-container,
body.gg-native-theme .gg-products-page > .gg-container {
	width: min(1720px, calc(100% - 84px)) !important;
	max-width: 1720px !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

body.gg-native-theme .gg-products-page .gg-breadcrumbs {
	width: 100% !important;
	margin: 0 0 52px !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
}

body.gg-native-theme .gg-products-page .products,
body.gg-native-theme .gg-products-page .product-filters,
body.gg-native-theme .gg-products-page .product-table__controls,
body.gg-native-theme .gg-products-page .products-wrapper,
body.gg-native-theme .gg-products-page .product-table {
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box !important;
}

/* Filters */
body.gg-native-theme .gg-products-page .product-filters {
	display: grid !important;
	grid-template-columns: 160px repeat(4, minmax(0, 1fr)) 150px !important;
	align-items: stretch !important;
	height: auto !important;
	min-height: 58px !important;
	margin: 0 0 48px !important;
	overflow: visible !important;
}

body.gg-native-theme .gg-products-page .product-filters__select,
body.gg-native-theme .gg-products-page .product-filters__single,
body.gg-native-theme .gg-products-page .product-filters__single:nth-of-type(5),
body.gg-native-theme .gg-products-page .product-filters__reset {
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	height: 58px !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

body.gg-native-theme .gg-products-page .product-filters__select {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	padding: 0 18px !important;
	background: #162d57 !important;
	color: #fff !important;
	font-size: 17px !important;
	font-style: normal !important;
	font-weight: 700 !important;
	line-height: 1 !important;
}

body.gg-native-theme .gg-products-page .product-filters__dropdown {
	width: 100% !important;
	height: 58px !important;
	min-height: 58px !important;
	padding: 0 42px 0 16px !important;
	border: 1px solid #c9cdd3 !important;
	border-left: 0 !important;
	background-color: #fff !important;
	background-position: calc(100% - 16px) 50% !important;
	color: #162d57 !important;
	font-size: 15px !important;
	line-height: 58px !important;
}

body.gg-native-theme .gg-products-page .product-filters__reset {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 9px !important;
	padding: 0 14px !important;
	border: 1px solid #c9cdd3 !important;
	border-left: 0 !important;
	background: #fff !important;
	color: #162d57 !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
}

body.gg-native-theme .gg-products-page .product-filters__reset svg {
	width: 18px !important;
	height: 18px !important;
	flex: 0 0 18px !important;
}

/* Sort and catalogue actions */
body.gg-native-theme .gg-products-page .product-table__controls {
	display: grid !important;
	grid-template-columns: minmax(190px, 240px) minmax(180px, 220px) minmax(150px, 1fr) auto !important;
	gap: 8px !important;
	align-items: center !important;
	min-height: 48px !important;
	height: auto !important;
	margin: 0 0 28px !important;
}

body.gg-native-theme .gg-products-page .product-table__sort-select,
body.gg-native-theme .gg-products-page .product-table__per-page-select {
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	height: 40px !important;
	padding: 0 38px 0 12px !important;
	border-color: #c9cdd3 !important;
	background-position: calc(100% - 13px) 50% !important;
	color: #4d4d4d !important;
	font-size: 14px !important;
	line-height: 40px !important;
}

body.gg-native-theme .gg-products-page .product-table__pagination-info {
	margin: 0 8px !important;
	color: #737981 !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
}

body.gg-native-theme .gg-products-page .product-table__actions {
	display: flex !important;
	width: auto !important;
	gap: 8px !important;
	align-items: center !important;
	justify-content: flex-end !important;
	transform: none !important;
}

body.gg-native-theme .gg-products-page .product-table__button {
	width: auto !important;
	min-width: 126px !important;
	height: 48px !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 0 20px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #77afe8 !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	white-space: nowrap !important;
}

body.gg-native-theme .gg-products-page .product-table__button:hover,
body.gg-native-theme .gg-products-page .product-table__button:focus-visible,
body.gg-native-theme .gg-products-page .product-table__button--active {
	background: #162d57 !important;
	color: #fff !important;
}

body.gg-native-theme .gg-products-page .js-download-catalog {
	min-width: 210px !important;
}

body.gg-native-theme .gg-products-page #fetch-back-in-stock {
	min-width: 160px !important;
}

/* One shared column system for the header and every product row. */
body.gg-native-theme .gg-products-page .product-table__header,
body.gg-native-theme .gg-products-page .product-table__row {
	display: grid !important;
	grid-template-columns:
		36px
		88px
		minmax(280px, 1fr)
		130px
		150px
		120px
		140px
		170px !important;
	align-items: stretch !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

body.gg-native-theme .gg-products-page .product-table--can-export .product-table__header,
body.gg-native-theme .gg-products-page .product-table--can-export .product-table__row {
	grid-template-columns:
		36px
		36px
		88px
		minmax(260px, 1fr)
		130px
		150px
		120px
		140px
		170px !important;
}

body.gg-native-theme .gg-products-page .product-table__header {
	min-height: 68px !important;
	height: auto !important;
	margin: 0 !important;
	background: #162d57 !important;
}

body.gg-native-theme .gg-products-page .product-table__column {
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	height: auto !important;
	min-height: 68px !important;
	padding: 10px 12px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-left: 1px solid rgba(255, 255, 255, 0.6) !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	text-align: center !important;
	box-sizing: border-box !important;
}

body.gg-native-theme .gg-products-page .product-table__header > .product-table__column:first-child {
	border-left: 0 !important;
}

body.gg-native-theme .gg-products-page .product-table__column--thumbnail {
	display: none !important;
}

body.gg-native-theme .gg-products-page .product-table__column--title {
	grid-column: 1 / 4 !important;
}

body.gg-native-theme .gg-products-page .product-table--can-export .product-table__header > .product-table__column:first-child {
	grid-column: 1 !important;
}

body.gg-native-theme .gg-products-page .product-table--can-export .product-table__column--title {
	grid-column: 2 / 5 !important;
}

body.gg-native-theme .gg-products-page .product-table__body .product-table__row {
	position: relative !important;
	min-height: 112px !important;
	padding: 0 !important;
	border-bottom: 1px solid #c9cdd3 !important;
	background: #fff !important;
}

body.gg-native-theme .gg-products-page .product-table__cell {
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	min-height: 112px !important;
	margin: 0 !important;
	padding: 14px 12px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	align-self: stretch !important;
	color: #4d4d4d !important;
	font-size: 14px !important;
	line-height: 1.35 !important;
	text-align: center !important;
	box-sizing: border-box !important;
}

body.gg-native-theme .gg-products-page .product-table__cell--checkbox,
body.gg-native-theme .gg-products-page .product-table__cell--wishlist {
	padding: 0 !important;
}

body.gg-native-theme .gg-products-page .product-table__cell--checkbox {
	grid-column: 1 !important;
	visibility: visible !important;
	overflow: visible !important;
}

body.gg-native-theme .gg-products-page .product-table__cell--wishlist {
	grid-column: 1 !important;
}

body.gg-native-theme .gg-products-page .product-table--can-export .product-table__cell--wishlist {
	grid-column: 2 !important;
}

body.gg-native-theme .gg-products-page .product-table__cell--thumbnail {
	grid-column: 2 !important;
	padding: 12px 8px !important;
	justify-content: center !important;
}

body.gg-native-theme .gg-products-page .product-table--can-export .product-table__cell--thumbnail {
	grid-column: 3 !important;
}

body.gg-native-theme .gg-products-page .product-table__cell--thumbnail img {
	width: 76px !important;
	max-width: 76px !important;
	height: 76px !important;
	object-fit: contain !important;
}

body.gg-native-theme .gg-products-page .product-table__cell--title {
	grid-column: 3 !important;
	padding: 14px 20px !important;
	justify-content: flex-start !important;
	text-align: left !important;
}

body.gg-native-theme .gg-products-page .product-table--can-export .product-table__cell--title {
	grid-column: 4 !important;
}

body.gg-native-theme .gg-products-page .product-table__cell--title a:any-link {
	color: #36404b !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
}

body.gg-native-theme .gg-products-page .product-table__cell--sku,
body.gg-native-theme .gg-products-page .product-table__cell--stock,
body.gg-native-theme .gg-products-page .product-table__cell--price,
body.gg-native-theme .gg-products-page .product-table__cell--retail-price,
body.gg-native-theme .gg-products-page .product-table__cell--add-to-cart {
	padding-left: 10px !important;
	padding-right: 10px !important;
}

body.gg-native-theme .gg-products-page .product-table__quantity-minus,
body.gg-native-theme .gg-products-page .product-table__quantity-plus,
body.gg-native-theme .gg-products-page input.product-table__quantity {
	width: 42px !important;
	height: 42px !important;
	min-width: 42px !important;
	margin: 0 !important;
	padding: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 15px !important;
	line-height: 42px !important;
	text-align: center !important;
	box-sizing: border-box !important;
}

body.gg-native-theme .gg-products-page .product-table__quantity-minus {
	background: #c7c7c7 !important;
	color: #162d57 !important;
}

body.gg-native-theme .gg-products-page .product-table__quantity-plus {
	background: #77afe8 !important;
	color: #fff !important;
}

@media (max-width: 1399px) {
	body.gg-native-theme .gg-products-page .product-filters {
		grid-template-columns: 150px repeat(4, minmax(0, 1fr)) 136px !important;
	}

	body.gg-native-theme .gg-products-page .product-table__controls {
		grid-template-columns: 220px 200px minmax(130px, 1fr) !important;
	}

	body.gg-native-theme .gg-products-page .product-table__actions {
		grid-column: 1 / -1 !important;
	}

	body.gg-native-theme .gg-products-page .product-table__button {
		flex: 1 1 0 !important;
	}

	body.gg-native-theme .gg-products-page .product-table__header,
	body.gg-native-theme .gg-products-page .product-table__row {
		grid-template-columns: 32px 76px minmax(250px, 1fr) 105px 130px 90px 105px 150px !important;
	}

	body.gg-native-theme .gg-products-page .product-table--can-export .product-table__header,
	body.gg-native-theme .gg-products-page .product-table--can-export .product-table__row {
		grid-template-columns: 32px 32px 76px minmax(220px, 1fr) 105px 130px 90px 105px 150px !important;
	}
}

@media (max-width: 900px) {
	body.page-id-51847.gg-native-theme .gg-page.gg-products-page:not(.gg-home-page):not(.gg-page--builder-content) > .gg-container,
	body.gg-native-theme .gg-page.gg-products-page:not(.gg-home-page):not(.gg-page--builder-content) > .gg-container,
	body.gg-native-theme .gg-page.gg-products-page > .gg-container,
	body.gg-native-theme .gg-products-page > .gg-container {
		width: calc(100% - 40px) !important;
	}

	body.gg-native-theme .gg-products-page .product-filters {
		grid-template-columns: 1fr 1fr !important;
		gap: 0 !important;
	}

	body.gg-native-theme .gg-products-page .product-filters__select,
	body.gg-native-theme .gg-products-page .product-filters__reset {
		grid-column: 1 / -1 !important;
		border: 1px solid #c9cdd3 !important;
	}

	body.gg-native-theme .gg-products-page .product-filters__dropdown {
		border: 1px solid #c9cdd3 !important;
	}

	body.gg-native-theme .gg-products-page .product-table__controls {
		grid-template-columns: 1fr 1fr !important;
	}

	body.gg-native-theme .gg-products-page .product-table__pagination-info {
		grid-column: 1 / -1 !important;
		text-align: center !important;
	}

	body.gg-native-theme .gg-products-page .product-table__actions {
		grid-column: 1 / -1 !important;
		flex-wrap: wrap !important;
	}

	body.gg-native-theme .gg-products-page .products-wrapper {
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
	}

	body.gg-native-theme .gg-products-page .product-table {
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.gg-native-theme .gg-products-page .product-table__header {
		display: none !important;
	}

	body.gg-native-theme .gg-products-page .product-table__row,
	body.gg-native-theme .gg-products-page .product-table--can-export .product-table__row {
		display: grid !important;
		grid-template-columns: 96px minmax(0, 1fr) !important;
		grid-auto-flow: row !important;
		grid-auto-rows: auto !important;
		gap: 0 14px !important;
		min-height: 0 !important;
		margin: 0 0 18px !important;
		padding: 14px !important;
		border: 1px solid #d8dde4 !important;
	}

	body.gg-native-theme .gg-products-page .product-table__cell {
		grid-column: 1 / -1 !important;
		min-height: 0 !important;
		padding: 12px 0 !important;
		display: grid !important;
		grid-template-columns: minmax(105px, 42%) minmax(0, 1fr) !important;
		gap: 12px !important;
		align-items: center !important;
		border-top: 1px solid #e1e4e8 !important;
		text-align: right !important;
	}

	body.gg-native-theme .gg-products-page .product-table__cell::before {
		content: attr(data-label);
		color: #162d57;
		font-weight: 700;
		line-height: 1.25;
		text-align: left;
	}

	body.gg-native-theme .gg-products-page .product-table__cell--checkbox,
	body.gg-native-theme .gg-products-page .product-table__cell--wishlist {
		position: absolute !important;
		top: 10px !important;
		width: 34px !important;
		height: 34px !important;
		padding: 0 !important;
		display: flex !important;
		border: 0 !important;
		z-index: 2 !important;
	}

	body.gg-native-theme .gg-products-page .product-table__cell--checkbox {
		left: 10px !important;
	}

	body.gg-native-theme .gg-products-page .product-table__cell--wishlist {
		right: 10px !important;
		left: auto !important;
	}

	body.gg-native-theme .gg-products-page .product-table__cell--checkbox::before,
	body.gg-native-theme .gg-products-page .product-table__cell--wishlist::before,
	body.gg-native-theme .gg-products-page .product-table__cell--thumbnail::before,
	body.gg-native-theme .gg-products-page .product-table__cell--title::before {
		display: none !important;
	}

	body.gg-native-theme .gg-products-page .product-table__row .product-table__cell--thumbnail,
	body.gg-native-theme .gg-products-page .product-table--can-export .product-table__row .product-table__cell--thumbnail {
		grid-column: 1 !important;
		grid-row: 1 !important;
		width: 100% !important;
		min-height: 100px !important;
		padding: 16px 0 10px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		border: 0 !important;
	}

	body.gg-native-theme .gg-products-page .product-table__cell--thumbnail img {
		width: 88px !important;
		max-width: 88px !important;
		height: 88px !important;
	}

	body.gg-native-theme .gg-products-page .product-table__row .product-table__cell--title,
	body.gg-native-theme .gg-products-page .product-table--can-export .product-table__row .product-table__cell--title {
		grid-column: 2 !important;
		grid-row: 1 !important;
		width: 100% !important;
		min-height: 100px !important;
		padding: 16px 26px 10px 0 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-start !important;
		border: 0 !important;
		text-align: left !important;
	}

	body.gg-native-theme .gg-products-page .product-table__cell--title a:any-link {
		font-size: 15px !important;
		font-weight: 700 !important;
		line-height: 1.35 !important;
	}

	body.gg-native-theme .gg-products-page .product-table__row .product-table__cell--sku,
	body.gg-native-theme .gg-products-page .product-table--can-export .product-table__row .product-table__cell--sku {
		grid-row: 2 !important;
	}

	body.gg-native-theme .gg-products-page .product-table__row .product-table__cell--stock,
	body.gg-native-theme .gg-products-page .product-table--can-export .product-table__row .product-table__cell--stock {
		grid-row: 3 !important;
	}

	body.gg-native-theme .gg-products-page .product-table__row .product-table__cell--price,
	body.gg-native-theme .gg-products-page .product-table--can-export .product-table__row .product-table__cell--price {
		grid-row: 4 !important;
	}

	body.gg-native-theme .gg-products-page .product-table__row .product-table__cell--retail-price,
	body.gg-native-theme .gg-products-page .product-table--can-export .product-table__row .product-table__cell--retail-price {
		grid-row: 5 !important;
	}

	body.gg-native-theme .gg-products-page .product-table__row .product-table__cell--add-to-cart,
	body.gg-native-theme .gg-products-page .product-table--can-export .product-table__row .product-table__cell--add-to-cart {
		grid-row: 6 !important;
		padding-top: 14px !important;
		justify-items: end !important;
	}

	body.gg-native-theme .gg-products-page .product-table__cell--sku,
	body.gg-native-theme .gg-products-page .product-table__cell--stock,
	body.gg-native-theme .gg-products-page .product-table__cell--price,
	body.gg-native-theme .gg-products-page .product-table__cell--retail-price,
	body.gg-native-theme .gg-products-page .product-table__cell--add-to-cart {
		grid-column: 1 / -1 !important;
		width: 100% !important;
	}

	body.gg-native-theme .gg-products-page .product-table--can-export .product-table__row .product-table__cell--sku,
	body.gg-native-theme .gg-products-page .product-table--can-export .product-table__row .product-table__cell--stock,
	body.gg-native-theme .gg-products-page .product-table--can-export .product-table__row .product-table__cell--price,
	body.gg-native-theme .gg-products-page .product-table--can-export .product-table__row .product-table__cell--retail-price,
	body.gg-native-theme .gg-products-page .product-table--can-export .product-table__row .product-table__cell--add-to-cart {
		grid-column: 1 / -1 !important;
		width: 100% !important;
	}

	body.gg-native-theme .gg-products-page .product-table__cell > :not(.product-table__quantity-wrapper),
	body.gg-native-theme .gg-products-page .product-table__cell .product-table__quantity-wrapper {
		min-width: 0 !important;
		justify-self: end !important;
		text-align: right !important;
	}

	body:not(.logged-in).gg-native-theme .gg-products-page .product-table__cell--stock,
	body:not(.logged-in).gg-native-theme .gg-products-page .product-table__cell--price,
	body:not(.logged-in).gg-native-theme .gg-products-page .product-table__cell--retail-price {
		display: none !important;
	}

	body.gg-native-theme .gg-products-page .product-table__pagination {
		justify-content: center !important;
		padding-top: 12px !important;
	}

	body.page-id-51847.gg-native-theme .gg-site-footer .gg-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 32px 56px !important;
	}

	body.page-id-51847.gg-native-theme .gg-site-footer .gg-footer-logo img {
		width: min(220px, 100%) !important;
		max-width: 220px !important;
	}
}

@media (max-width: 560px) {
	body.gg-native-theme .gg-products-page {
		padding: 24px 0 54px !important;
	}

	body.page-id-51847.gg-native-theme .gg-page.gg-products-page:not(.gg-home-page):not(.gg-page--builder-content) > .gg-container,
	body.gg-native-theme .gg-page.gg-products-page:not(.gg-home-page):not(.gg-page--builder-content) > .gg-container,
	body.gg-native-theme .gg-page.gg-products-page > .gg-container,
	body.gg-native-theme .gg-products-page > .gg-container {
		width: calc(100% - 28px) !important;
	}

	body.gg-native-theme .gg-products-page .gg-breadcrumbs {
		margin-bottom: 28px !important;
		font-size: 13px !important;
	}

	body.gg-native-theme .gg-products-page .product-filters {
		grid-template-columns: 1fr !important;
		margin-bottom: 32px !important;
	}

	body.gg-native-theme .gg-products-page .product-filters__select,
	body.gg-native-theme .gg-products-page .product-filters__single,
	body.gg-native-theme .gg-products-page .product-filters__single:nth-of-type(5),
	body.gg-native-theme .gg-products-page .product-filters__reset,
	body.gg-native-theme .gg-products-page .product-filters__dropdown {
		grid-column: 1 !important;
		height: 52px !important;
		min-height: 52px !important;
	}

	body.gg-native-theme .gg-products-page .product-table__controls {
		grid-template-columns: 1fr !important;
		gap: 8px !important;
		margin-bottom: 26px !important;
	}

	body.gg-native-theme .gg-products-page .product-table__pagination-info,
	body.gg-native-theme .gg-products-page .product-table__actions {
		grid-column: 1 !important;
	}

	body.gg-native-theme .gg-products-page .product-table__actions {
		display: grid !important;
		grid-template-columns: 1fr !important;
	}

	body.gg-native-theme .gg-products-page .product-table__button,
	body.gg-native-theme .gg-products-page .js-download-catalog,
	body.gg-native-theme .gg-products-page #fetch-back-in-stock {
		width: 100% !important;
		min-width: 0 !important;
	}

	body.gg-native-theme .gg-products-page .product-table__row,
	body.gg-native-theme .gg-products-page .product-table--can-export .product-table__row {
		grid-template-columns: 92px minmax(0, 1fr) !important;
		padding: 14px !important;
	}

	body.gg-native-theme .gg-products-page .product-table__cell {
		grid-template-columns: 112px minmax(0, 1fr) !important;
	}

	body.page-id-51847.gg-native-theme .gg-site-footer .gg-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 26px 28px !important;
	}
}

/*
 * Final desktop catalogue geometry.
 *
 * The header has one combined "Title" cell while product rows have separate
 * selection, wishlist, image, and title cells. Both states therefore use the
 * same track list, with the header title spanning those structural tracks.
 * Keeping this block last prevents legacy flex rules in style.css from
 * splitting the quantity control or shifting data away from its heading.
 */
@media (min-width: 901px) {
	body.gg-native-theme .gg-products-page {
		padding-top: 36px !important;
	}

	body.gg-native-theme .gg-products-page .gg-breadcrumbs {
		margin-bottom: 38px !important;
	}

	body.gg-native-theme .gg-products-page .product-filters {
		margin-bottom: 36px !important;
	}

	body.gg-native-theme .gg-products-page .product-table__controls {
		grid-template-columns: minmax(190px, 240px) minmax(180px, 220px) minmax(150px, 1fr) auto !important;
		gap: 10px !important;
		margin-bottom: 22px !important;
	}

	body.gg-native-theme .gg-products-page .product-table__actions {
		gap: 10px !important;
	}

	body.gg-native-theme .gg-products-page .product-table {
		--gg-catalogue-grid:
			48px
			104px
			minmax(320px, 1fr)
			130px
			160px
			130px
			150px
			190px;
	}

	body.gg-native-theme .gg-products-page .product-table.product-table--can-export {
		--gg-catalogue-grid:
			44px
			48px
			104px
			minmax(300px, 1fr)
			130px
			160px
			130px
			150px
			190px;
	}

	body.gg-native-theme .gg-products-page .product-table__header,
	body.gg-native-theme .gg-products-page .product-table__body .product-table__row {
		display: grid !important;
		grid-template-columns: var(--gg-catalogue-grid) !important;
		align-items: stretch !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	body.gg-native-theme .gg-products-page .product-table__header {
		min-height: 68px !important;
	}

	body.gg-native-theme .gg-products-page .product-table__body .product-table__row {
		min-height: 108px !important;
		height: auto !important;
		padding: 0 !important;
	}

	body.gg-native-theme .gg-products-page .product-table__header .product-table__column,
	body.gg-native-theme .gg-products-page .product-table__body .product-table__cell {
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}

	body.gg-native-theme .gg-products-page .product-table__header .product-table__column {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		padding: 10px 10px !important;
		text-align: center !important;
	}

	/* The image heading is intentionally absorbed by the spanning Title cell.
	 * Keep this after the generic flex declaration so it cannot create a second
	 * grid row for logged-out visitors. */
	body.gg-native-theme .gg-products-page .product-table__header .product-table__column--thumbnail {
		display: none !important;
	}

	body.gg-native-theme .gg-products-page .product-table__header > .product-table__column:not(.product-table__column--thumbnail) {
		grid-row: 1 !important;
	}

	body.gg-native-theme .gg-products-page .product-table__body .product-table__cell {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		align-self: stretch !important;
		padding: 12px 10px !important;
		font-size: 15px !important;
		line-height: 1.35 !important;
		text-align: center !important;
	}

	/* Logged-out/non-export geometry. */
	body.gg-native-theme .gg-products-page .product-table:not(.product-table--can-export) .product-table__column--title {
		grid-column: 1 / 4 !important;
	}

	body.gg-native-theme .gg-products-page .product-table:not(.product-table--can-export) .product-table__cell--wishlist {
		grid-column: 1 !important;
	}

	body.gg-native-theme .gg-products-page .product-table:not(.product-table--can-export) .product-table__cell--thumbnail {
		grid-column: 2 !important;
	}

	body.gg-native-theme .gg-products-page .product-table:not(.product-table--can-export) .product-table__cell--title {
		grid-column: 3 !important;
	}

	body.gg-native-theme .gg-products-page .product-table:not(.product-table--can-export) .product-table__column--sku,
	body.gg-native-theme .gg-products-page .product-table:not(.product-table--can-export) .product-table__cell--sku {
		grid-column: 4 !important;
	}

	body.gg-native-theme .gg-products-page .product-table:not(.product-table--can-export) .product-table__column--stock,
	body.gg-native-theme .gg-products-page .product-table:not(.product-table--can-export) .product-table__cell--stock {
		grid-column: 5 !important;
	}

	body.gg-native-theme .gg-products-page .product-table:not(.product-table--can-export) .product-table__column--price,
	body.gg-native-theme .gg-products-page .product-table:not(.product-table--can-export) .product-table__cell--price {
		grid-column: 6 !important;
	}

	body.gg-native-theme .gg-products-page .product-table:not(.product-table--can-export) .product-table__column--retail-price,
	body.gg-native-theme .gg-products-page .product-table:not(.product-table--can-export) .product-table__cell--retail-price {
		grid-column: 7 !important;
	}

	body.gg-native-theme .gg-products-page .product-table:not(.product-table--can-export) .product-table__column--add-to-cart,
	body.gg-native-theme .gg-products-page .product-table:not(.product-table--can-export) .product-table__cell--add-to-cart {
		grid-column: 8 !important;
	}

	/* Logged-in/export geometry. */
	body.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__column--title {
		grid-column: 1 / 5 !important;
	}

	body.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--checkbox {
		grid-column: 1 !important;
	}

	body.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--wishlist {
		grid-column: 2 !important;
	}

	body.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--thumbnail {
		grid-column: 3 !important;
	}

	body.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--title {
		grid-column: 4 !important;
	}

	body.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__column--sku,
	body.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--sku {
		grid-column: 5 !important;
	}

	body.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__column--stock,
	body.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--stock {
		grid-column: 6 !important;
	}

	body.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__column--price,
	body.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--price {
		grid-column: 7 !important;
	}

	body.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__column--retail-price,
	body.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--retail-price {
		grid-column: 8 !important;
	}

	body.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__column--add-to-cart,
	body.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--add-to-cart {
		grid-column: 9 !important;
	}

	body.gg-native-theme .gg-products-page .product-table__cell--title {
		justify-content: flex-start !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
		text-align: left !important;
	}

	body.gg-native-theme .gg-products-page .product-table__cell--title a:any-link {
		font-size: 15px !important;
		font-weight: 500 !important;
		line-height: 1.4 !important;
	}

	body.gg-native-theme .gg-products-page .product-table__cell--thumbnail {
		padding: 10px !important;
	}

	body.gg-native-theme .gg-products-page .product-table__cell--thumbnail img {
		width: 84px !important;
		max-width: 84px !important;
		height: 84px !important;
		object-fit: contain !important;
	}

	body.gg-native-theme .gg-products-page .product-table__cell--checkbox,
	body.gg-native-theme .gg-products-page .product-table__cell--wishlist {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	body.gg-native-theme .gg-products-page .product-table__cell--checkbox .export-checkbox {
		width: 16px !important;
		height: 16px !important;
		margin: 0 !important;
	}

	body.gg-native-theme .gg-products-page .product-table__cell--wishlist .tinv-wraper,
	body.gg-native-theme .gg-products-page .product-table__cell--wishlist .tinvwl_add_to_wishlist_button {
		position: static !important;
		width: 36px !important;
		height: 36px !important;
		margin: 0 !important;
		padding: 0 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	body.gg-native-theme .gg-products-page .product-table__cell-value {
		width: 100% !important;
		display: block !important;
		text-align: center !important;
	}

	body.gg-native-theme .gg-products-page .product-table__cell--add-to-cart {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 0 !important;
		white-space: nowrap !important;
	}

	body.gg-native-theme .gg-products-page .product-table__quantity-minus,
	body.gg-native-theme .gg-products-page .product-table__quantity-plus,
	body.gg-native-theme .gg-products-page input.product-table__quantity {
		flex: 0 0 42px !important;
		width: 42px !important;
		min-width: 42px !important;
		max-width: 42px !important;
		height: 42px !important;
		margin: 0 !important;
		padding: 0 !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		line-height: 42px !important;
		box-sizing: border-box !important;
	}
}

@media (min-width: 901px) and (max-width: 1399px) {
	body.gg-native-theme .gg-products-page .product-table {
		--gg-catalogue-grid:
			36px
			80px
			minmax(220px, 1fr)
			100px
			128px
			96px
			112px
			144px;
	}

	body.gg-native-theme .gg-products-page .product-table.product-table--can-export {
		--gg-catalogue-grid:
			34px
			36px
			80px
			minmax(200px, 1fr)
			100px
			128px
			96px
			112px
			144px;
	}

	body.gg-native-theme .gg-products-page .product-table__body .product-table__cell,
	body.gg-native-theme .gg-products-page .product-table__cell--title a:any-link {
		font-size: 14px !important;
	}

	body.gg-native-theme .gg-products-page .product-table__cell--thumbnail img {
		width: 70px !important;
		max-width: 70px !important;
		height: 70px !important;
	}

	body.gg-native-theme .gg-products-page .product-table__controls {
		grid-template-columns: 220px 200px minmax(130px, 1fr) !important;
	}

	body.gg-native-theme .gg-products-page .product-table__actions {
		grid-column: 1 / -1 !important;
	}
}

/*
 * Logged-in catalogue contract.
 *
 * style.css still contains legacy logged-in selectors with a higher
 * specificity than the product-only stylesheet. Keep the complete export
 * geometry together here so the heading and every product row use the same
 * tracks in the customer/B2B state.
 */
@media (min-width: 901px) {
	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export {
		--gg-catalogue-grid:
			44px
			48px
			104px
			minmax(300px, 1fr)
			130px
			160px
			130px
			150px
			190px !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__header,
	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__body .product-table__row {
		display: grid !important;
		grid-template-columns: var(--gg-catalogue-grid) !important;
		align-items: stretch !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__header {
		min-height: 68px !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__header > .product-table__column:not([class*="--"]),
	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__header .product-table__column--thumbnail {
		display: none !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__body .product-table__row {
		min-height: 108px !important;
		height: auto !important;
		padding: 0 !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__header .product-table__column,
	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__body .product-table__cell {
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__header .product-table__column {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		padding: 10px !important;
		text-align: center !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__body .product-table__cell {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		align-self: stretch !important;
		padding: 12px 10px !important;
		font-size: 15px !important;
		line-height: 1.35 !important;
		text-align: center !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__column--title {
		grid-column: 1 / 5 !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--checkbox {
		grid-column: 1 !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--wishlist {
		grid-column: 2 !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--thumbnail {
		grid-column: 3 !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__body .product-table__row > .product-table__cell--title {
		grid-column: 4 !important;
		justify-content: flex-start !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
		text-align: left !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__column--sku,
	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--sku {
		grid-column: 5 !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__column--stock,
	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--stock {
		grid-column: 6 !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__column--price,
	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--price {
		grid-column: 7 !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__column--retail-price,
	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--retail-price {
		grid-column: 8 !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__column--add-to-cart,
	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--add-to-cart {
		grid-column: 9 !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--sku,
	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--stock,
	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--price,
	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--retail-price {
		justify-content: center !important;
		text-align: center !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--sku > *,
	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--stock > *,
	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--price > *,
	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--retail-price > *,
	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell-value {
		width: 100% !important;
		margin: 0 !important;
		display: block !important;
		text-align: center !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--thumbnail {
		padding: 10px !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--thumbnail img {
		width: 84px !important;
		max-width: 84px !important;
		height: 84px !important;
		object-fit: contain !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--add-to-cart {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 0 !important;
		white-space: nowrap !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__quantity-minus,
	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__quantity-plus,
	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export input.product-table__quantity {
		flex: 0 0 42px !important;
		width: 42px !important;
		min-width: 42px !important;
		max-width: 42px !important;
		height: 42px !important;
		margin: 0 !important;
		padding: 0 !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		line-height: 42px !important;
		box-sizing: border-box !important;
	}
}

@media (min-width: 901px) and (max-width: 1399px) {
	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export {
		--gg-catalogue-grid:
			34px
			36px
			80px
			minmax(200px, 1fr)
			100px
			128px
			96px
			112px
			144px !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__body .product-table__cell,
	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--title a:any-link {
		font-size: 14px !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--thumbnail img {
		width: 70px !important;
		max-width: 70px !important;
		height: 70px !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table__controls {
		grid-template-columns: 220px 200px minmax(180px, 1fr) auto !important;
		gap: 10px !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table__actions {
		grid-column: auto !important;
		display: grid !important;
		grid-template-columns: 0.75fr 1.35fr 1fr !important;
		gap: 6px !important;
	}

	body.logged-in.gg-native-theme .gg-products-page .product-table__actions .product-table__button,
	body.logged-in.gg-native-theme .gg-products-page .product-table__actions .js-download-catalog,
	body.logged-in.gg-native-theme .gg-products-page .product-table__actions #fetch-back-in-stock {
		width: auto !important;
		min-width: 0 !important;
		padding-left: 8px !important;
		padding-right: 8px !important;
		font-size: 12px !important;
		white-space: nowrap !important;
	}
}

@media (min-width: 901px) {
	body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__header > .product-table__column--thumbnail {
		display: none !important;
	}
}

/*
 * Keep every filter tile on the same baseline and contain long catalogue SKUs.
 * Some supplier codes are wider than the fixed SKU track, so they may wrap
 * within their own centered cell instead of overlapping availability.
 */
body.gg-native-theme .gg-products-page .product-table__cell--sku,
body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--sku {
	overflow: hidden !important;
}

body.gg-native-theme .gg-products-page .product-table__cell--sku .product-table__cell-value,
body.logged-in.gg-native-theme .gg-products-page .product-table.product-table--can-export .product-table__cell--sku .product-table__cell-value {
	max-width: 100% !important;
	white-space: normal !important;
	overflow-wrap: anywhere !important;
	word-break: normal !important;
	line-height: 1.25 !important;
}

@media (min-width: 901px) {
	body.gg-native-theme .gg-products-page .product-filters.product-filters--has-availability {
		grid-template-columns: 150px repeat(5, minmax(0, 1fr)) 200px !important;
	}

	body.gg-native-theme .gg-products-page .product-filters > .product-filters__select,
	body.gg-native-theme .gg-products-page .product-filters > .product-filters__single,
	body.gg-native-theme .gg-products-page .product-filters > .product-filters__reset,
	body.gg-native-theme .gg-products-page .product-filters .product-filters__dropdown {
		height: 60px !important;
		min-height: 60px !important;
		max-height: 60px !important;
		box-sizing: border-box !important;
	}
}

/* Checklist remediation: WCAG contrast while preserving the current layout. */
body.gg-native-theme .gg-products-page .gg-breadcrumbs,
body.gg-native-theme .gg-products-page .gg-breadcrumbs a {
	color: #355d8a !important;
}

body.gg-native-theme .gg-products-page .product-table__pagination-info {
	color: #5f6670 !important;
}

body.gg-native-theme .gg-products-page #fetch-back-in-stock {
	background: #77afe8 !important;
	color: #fff !important;
}

body.gg-native-theme .gg-products-page #fetch-back-in-stock:hover,
body.gg-native-theme .gg-products-page #fetch-back-in-stock:focus-visible,
body.gg-native-theme .gg-products-page #fetch-back-in-stock.product-table__button--active {
	background: #162d57 !important;
	color: #fff !important;
}


/* Allow users to select and copy product SKU values without affecting table headers. */
body.gg-native-theme .gg-products-page .product-table__body .product-table__cell--sku,
body.gg-native-theme .gg-products-page .product-table__body .product-table__cell--sku * {
	-webkit-user-select: text !important;
	user-select: text !important;
	cursor: text;
}

/* Highlight Special Categories consistently across catalogue languages. */
body.gg-native-theme .product-filters select[name="special_category"] {
 background-color: #162d57 !important; color: #fff !important; font-weight: 600;
 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='m1 1 6 6 6-6' fill='none' stroke='white' stroke-width='1.8'/%3E%3C/svg%3E") !important;
}
body.gg-native-theme .product-filters select[name="special_category"] option { background: #fff; color: #162d57; }
body.gg-native-theme .product-filters select[name="special_category"]:focus-visible { outline: 2px solid #78a6df; outline-offset: -3px; }
