.tm-header {
	z-index: 1000;
}

.shopcatalog-admin-toggle-wrap {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.shopcatalog-admin-toggle__label {
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #1f3d5c;
}

#shopcatalog-admin-tools-toggle {
	display: block;
}

.sc-toggle {
	display: flex;
	align-items: flex-end;
	gap: 10px;
}

.sc-toggle input {
	display: none;
}

.sc-toggle label {
	display: block;
	width: 44px;
	height: 22px;
	border-radius: 40px;
	position: relative;
	cursor: pointer;
	background: #d7dce3;
	transition: background 0.2s ease;
}

.sc-toggle label::after {
	content: "";
	width: 16px;
	height: 16px;
	position: absolute;
	top: 3px;
	left: 4px;
	border-radius: 50%;
	transition: 0.2s ease;
	background: #9aa0a6;
}

.sc-toggle input:checked+label {
	background: #4DC4CF;
}

.sc-toggle input:checked+label::after {
	transform: translateX(20px);
	background: #fff;
}

.sc-sizetoggle {
	top: -30px;
	margin-right: -60px;
	left: -30px;
	position: relative;
	background: #ffffff;
	padding: 10px 30px;
	box-shadow: 0 0 12px #00000033;
}

.sc-address {
	border: 2px solid #dee1e3;
	border-radius: 16px;
}

.shopcatalog-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.shopcatalog-card {
	border: 1px solid #d7d7d7;
	border-radius: 8px;
	padding: 1rem;
	background: #fff;
}

.shopcatalog-product-card--not-imported {
	opacity: 0.5;
}

.shopcatalog-product-card-media {
	position: relative;
}

.shopcatalog-product-card-media img[data-shopcatalog-product-card-image] {
	transition: opacity 0.6s ease;
}

.shopcatalog-product-card-media img[data-shopcatalog-product-card-image].is-shopcatalog-product-card-image-loading {
	opacity: 0.45;
}

.shopcatalog-product-card-badges {
	position: absolute;
	bottom: -9px;
	left: 0;
	right: 0;
	display: flex;
	justify-content: center;
	z-index: 999;
}

.shopcatalog-product-card-badge {
	width: 16px;
	height: 16px;
	background: var(--shopcatalog-badge-background, var(--shopcatalog-badge-colour, #64748b));
	box-shadow: 0 0 1px 1px rgb(255 255 255);
}

.shopcatalog-product-card-badge--more {
	width: auto;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	font-size: 12px;
	line-height: 16px;
	color: #fff;
	background: #36596d;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.shopcatalog-product-card-badge--mobile-only {
	display: none !important;
}

.shopcatalog-product-card-body {
	position: relative;
}

.shopcatalog-imported-indicator {
	position: absolute;
	right: 10px;
	bottom: 10px;
	font-size: 25px;
	line-height: 1;
	color: #22b31a;
}

.shopcatalog-category-nav>li>a {
	padding-left: 0px !important;
}

.shopcatalog-category-nav .uk-nav-sub {
	margin: 2px 0 6px 2px !important;
	padding: 0px 0 0 10px !important;
	border-left: 3px dashed #d2e9eb;
}

.shopcatalog-category-nav li:not(.uk-open)>.uk-nav-sub {
	display: none !important;
}

.shopcatalog-category-nav .uk-active>a {
	font-weight: 600;
}

.shopcatalog-filter-search-wrap .uk-input {
	padding-right: 2.8rem;
}

.shopcatalog-filter-search-clear {
	color: #1f3d5c;
	right: 6px;
}

.shopcatalog-filter-search-clear:hover {
	color: #0f6ecd;
}

.shopcatalog-filter-palette {
	display: flex;
	flex-wrap: wrap;
	margin: -2px;
}

.sc-filter-card {
	--uk-inverse: dark;
	background-color: #f8f8f8;
	color: #233a49;
	border-radius: 4px;
	margin-bottom: 20px !important;
	overflow: hidden;
}

.sc-filter-card .head {
	padding: 8px 16px;
	background: #345c76;
	color: white;
	border: 1px solid #345c76 !important;
}

.sc-filter-card .body {
	padding: 12px 16px;
	border: 1px solid #e3e3e3 !important;
}

.shopcatalog-filter-palette>* {
	width: 20%;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 2px;
	box-sizing: border-box;
	position: relative;
	cursor: pointer;
}

.shopcatalog-filter-palette input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.shopcatalog-filter-palette>*:has(input:checked)>span {
	border: 5px outset #000000;
}

.shopcatalog-filter-palette>*>span {
	--shopcatalog-filter-colour: #9da7b1;
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 8px;
	background: var(--shopcatalog-filter-colour);
	transition: transform 0.12s ease;
	position: relative;
}

.shopcatalog-filter-palette-item input:checked+.shopcatalog-filter-palette-chip::after {
	content: "✓";
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 1.1rem;
	font-weight: 700;
	text-shadow: 0 1px 2px rgb(0 0 0 / 45%);
}

.shopcatalog-filter-palette-item:hover .shopcatalog-filter-palette-chip {
	transform: scale(1.04);
}

.shopcatalog-filter-palette-item input:focus-visible+.shopcatalog-filter-palette-chip {
	outline: 2px solid #0f6ecd;
	outline-offset: 2px;
}

.shopcatalog-filter-palette-item input:checked+.shopcatalog-filter-palette-chip {
	box-shadow: 0 0 0 2px #1f3d5c;
}

.shopcatalog-filters-sticky.uk-sticky-fixed {
	z-index: 900 !important;
}

.shopcatalog-active-filter-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.shopcatalog-active-filter-chip {
	display: inline-flex;
	align-items: center;
}

.shopcatalog-active-filter-chip .uk-close {
	pointer-events: none;
	color: inherit;
}

.shopcatalog-loadmore-sentinel {
	height: 1px;
}

[data-shopcatalog-pagination] {
	display: none;
}



[data-shopcatalog-page-root] {
	transition: opacity 0.28s ease, transform 0.28s ease;
}

[data-shopcatalog-loadmore-controls] {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.8rem;
}

html.shopcatalog-loadmore-loading [data-shopcatalog-loadmore-button] {
	opacity: 0.65;
	pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
	[data-shopcatalog-page-root] {
		transition: none;
	}

	.shopcatalog-product-card-media img[data-shopcatalog-product-card-image] {
		transition: none;
	}

	html.shopcatalog-nav-loading [data-shopcatalog-page-root] {
		transform: none;
	}
}


.product-layout {
	display: grid;
	gap: clamp(1.5rem, 3vw, 3rem);
	position: relative;
	align-items: start;
}

@media (min-width: 960px) {
	.product-layout {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-areas:
			"gallery head"
			"gallery details";
	}
}

@media (min-width: 1400px) {
	.product-layout {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-areas:
			"gallery head"
			"gallery details";
	}
}

@media (max-width: 959px) {
	.product-layout {
		grid-template-columns: 1fr;
		grid-template-areas:
			"head"
			"gallery"
			"details";
		gap: 1.5rem;
	}
}



.shopcatalog-meta {
	color: #555;
	font-size: 0.95rem;
}

.shopcatalog-product-options {
	margin-bottom: 2rem;
}

.shopcatalog-product-gallery {
	align-self: flex-start;
	--shopcatalog-gallery-frame-height: clamp(22rem, calc(100vh - 200px), 48rem);
}

.shopcatalog-product-gallery__viewer {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: minmax(0, 1fr);
	gap: 0;
	align-items: end;
	height: var(--shopcatalog-gallery-frame-height);
	min-height: 0;
	background: #f2f4f7;
	overflow: hidden;
}

.shopcatalog-product-gallery__thumbs {
	grid-column: 1;
	grid-row: 1;
	display: flex;
	flex-direction: row;
	gap: 0.6rem;
	height: auto;
	max-width: 100%;
	min-height: 0;
	overflow-x: auto;
	overflow-y: hidden;
	align-self: end;
	z-index: 2;
	padding: 0.9rem 0.9rem 0.85rem;
	background: linear-gradient(to top, rgb(17 31 47 / 80%), rgb(17 31 47 / 50%), rgb(17 31 47 / 0%));
	scroll-behavior: smooth;
	scrollbar-width: thin;
}

.shopcatalog-product-gallery__main {
	grid-column: 1;
	grid-row: 1;
	min-width: 0;
	height: 100%;
	min-height: 0;
}

.shopcatalog-product-gallery__main-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 0;
	overflow: clip;
	background: #eceff3;
}

.shopcatalog-product-gallery__main-link img {
	display: block;
	width: 100%;
	max-width: none;
	max-height: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.shopcatalog-gallery-thumb {
	display: inline-flex;
	flex: 0 0 auto;
	width: 4.2rem;
	height: 4.2rem;
	padding: 0.2rem;
	align-items: center;
	justify-content: center;
	border: 1px solid rgb(255 255 255 / 55%);
	background: #fff;
	cursor: pointer;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
	appearance: none;
}

.shopcatalog-gallery-thumb:hover {
	border-color: rgb(255 255 255 / 95%);
}

.shopcatalog-gallery-thumb.is-active {
	border-color: #fff;
	box-shadow: inset 0 0 0 1px #fff;
}

.shopcatalog-gallery-thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.shopcatalog-option-group {
	border-top: 1px solid #d9dde4;
	padding: 1.5rem 0;
	position: relative;
}

.shopcatalog-option-group label:not(.uk-button) {
	display: flex;
	padding: 5px;
}

.shopcatalog-option-group label.active:not(.shopcatalog-layout3 *):not(.shopcatalog-l4 *) {
	background: #49b9c8;
	color: #fff;
}

.shopcatalog-option-group:last-child {
	border-bottom: 1px solid #d9dde4;
}

.shopcatalog-option-group__title {
	margin-bottom: 1rem;
	color: #0d3560;
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.shopcatalog-option-group--admin-colours {
	padding-top: 3rem;
}

.shopcatalog-admin-colours {
	margin-top: 10px;
}

.shopcatalog-option-group--admin-colours .shopcatalog-admin-colours .sc-toggle {
	align-items: center;
	color: #334155;
	font-size: 0.95rem;
}

.shopcatalog-option-group--admin-colours.is-colour-correct-active .shopcatalog-option-swatch {
	cursor: crosshair;
}

.shopcatalog-option-group--admin-colours.is-colour-correct-active label {
	cursor: crosshair;
}

.shopcatalog-admin-colour-popover {
	position: fixed;
	z-index: 1200;
	min-width: 240px;
	padding: 10px 12px 12px;
	padding-top: 0;
	border: 0;
	border-radius: 0 0 12px 12px;
	background: rgba(244, 246, 249, 0.97);
	box-shadow: 0 8px 22px rgba(15, 23, 42, 0.16);
	overflow: visible;
}

.shopcatalog-admin-colour-popover__grid {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr);
	gap: 8px;
	margin-bottom: 12px;
}

.shopcatalog-admin-colour-popover--two-tone .shopcatalog-admin-colour-popover__grid {
	grid-template-columns: repeat(3, minmax(220px, 1fr));
}

.shopcatalog-admin-colour-popover--two-tone {
	min-width: 680px;
}

.shopcatalog-admin-colour-popover__col {
	display: flex;
	flex-direction: column;
	gap: 6px;
	align-content: start;
}

.shopcatalog-admin-colour-popover__label {
	font-size: 1.05rem;
	line-height: 1.2;
	color: #334155;
}

.shopcatalog-admin-colour-popover__field {
	display: flex;
	align-items: center;
}

.shopcatalog-admin-colour-popover__toggle {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 1rem;
	color: #334155;
	cursor: pointer;
}

.shopcatalog-admin-colour-popover__toggle input {
	margin: 0;
}

.shopcatalog-admin-colour-popover__swatch,
.shopcatalog-admin-colour-popover__swatch-button {
	width: 100%;
	height: 56px;
	border: 0;
	background: #fff;
}

.shopcatalog-admin-colour-popover__swatch {
	border-radius: 0;
}

.shopcatalog-admin-colour-popover__swatch[data-admin-colour-before] {
	display: flex;
	align-items: center;
	justify-content: center;
	align-content: center;
	text-align: center;
	font-weight: bold;
	color: white;
	text-shadow: 0 0 3px black;
}

.shopcatalog-admin-colour-popover__swatch-button {
	padding: 0;
	display: block;
	cursor: pointer;
}

.shopcatalog-admin-colour-popover.is-draggable {
	cursor: grab;
}

.shopcatalog-admin-colour-popover.is-draggable.is-dragging {
	cursor: grabbing;
	user-select: none;
}

.shopcatalog-admin-colour-popover__swatch-button .shopcatalog-admin-colour-popover__swatch {
	height: 100%;
	border: 0;
}

.shopcatalog-admin-colour-popover__colour-input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
	width: 1px;
	height: 1px;
}

.shopcatalog-admin-colour-popover__secondary-input {
	cursor: text;
}

.shopcatalog-admin-colour-popover__hex {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
	text-transform: uppercase;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.2;
	height: 28px;
}

.shopcatalog-admin-colour-popover__actions {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}

.shopcatalog-admin-colour-popover__message {
	margin-top: 8px;
	padding: 8px 10px;
	font-size: 0.95rem;
	line-height: 1.35;
	color: #6b4f00;
	border: 1px solid #f3c37b;
	background: #fff8ea;
}

.shopcatalog-admin-area-selection {
	position: fixed;
	z-index: 1199;
	border: 2px dashed #1f3d5c;
	background: rgba(73, 185, 200, 0.18);
	pointer-events: none;
}

.shopcatalog-admin-area-capture {
	position: fixed;
	inset: 0;
	z-index: 1198;
	cursor: crosshair;
	background: transparent;
	touch-action: none;
	user-select: none;
}

.shopcatalog-admin-area-capture--layout3,
.shopcatalog-admin-area-capture--l4 {
	position: absolute;
	left: 70px;
	right: 70px;
	top: 70px;
	bottom: 100px;
}

.shopcatalog-admin-area-capture.shopcatalog-admin-area-capture--armed {
	cursor: crosshair;
}

.shopcatalog-product-gallery__viewer.shopcatalog-admin-viewer-passive {
	pointer-events: none;
}

@media (max-width: 640px) {
	.shopcatalog-option-group--admin-colours {
		padding-top: 1.5rem;
	}

	.shopcatalog-option-group--admin-colours .shopcatalog-admin-colours {
		position: static;
		margin-bottom: 0.8rem;
		justify-items: start;
	}
}

.shopcatalog-option-select {
	max-width: 320px;
}

.shopcatalog-visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.shopcatalog-option-control {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	overflow: hidden;
	pointer-events: none;
	clip-path: inset(50%);
}

.shopcatalog-option-choices {
	display: flex;
	flex-wrap: wrap;
	gap: 0.9rem;
	align-items: flex-start;
}

.shopcatalog-option-choices--images {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(82px, 96px));
	gap: 1rem 0.9rem;
}

.shopcatalog-option-choice {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	position: relative;
}

.shopcatalog-option-chip {
	display: inline-flex;
	min-width: 3.2rem;
	min-height: 3rem;
	align-items: center;
	justify-content: center;
	padding: 0.8rem 1.1rem;
	border: 1px solid #cfd5de;
	background: #fff;
	color: #0c2743;
	cursor: pointer;
	text-align: center;
	transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.shopcatalog-option-control:checked+.shopcatalog-option-chip {
	border-color: #111;
	box-shadow: inset 0 0 0 1px #111;
}

.shopcatalog-option-chip:hover {
	border-color: #6f7b8a;
}

.shopcatalog-option-chip--image {
	width: 4.8rem;
	height: 4.8rem;
	padding: 0.35rem;
}

.shopcatalog-option-chip--image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.shopcatalog-option-caption {
	width: 4.8rem;
	margin-top: 0.45rem;
	color: #6f7680;
	font-size: 0.95rem;
	line-height: 1.3;
	text-align: center;
}


@media (min-width: 1200px) {
	.shopcatalog-product-options [class*=uk-column-] {
		column-gap: 10px;
	}
}

.shopcatalog-product-options [class*=uk-column-] {
	column-gap: 10px;
}

.shopcatalog-option-control:checked+.shopcatalog-option-chip+.shopcatalog-option-caption {
	color: #111;
	font-weight: 600;
}

.shopcatalog-option-checkboxes {
	gap: 0.85rem;
}

.shopcatalog-option-checkbox-label {
	margin-left: 0.45rem;
}

.shopcatalog-option-text-list {
	margin: 0;
	color: #24384f;
}

.sc-img {
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: white;
}




.shopcatalog-option-swatch {
	width: 24px;
	min-width: 24px;
	min-height: 24px;
}

.shopcatalog-option-swatch {
	border: 1px solid #cad3de;
	border-radius: 2px;
}

.shopcatalog-option-group label.active .shopcatalog-option-swatch {
	box-shadow: 0 0 0 1px #0d3560;
}

.shopcatalog-option-group label>div:last-child {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

@media (max-width: 1199px) {
	.shopcatalog-product-gallery {
		--shopcatalog-gallery-frame-height: clamp(20rem, 65vh, 38rem);
	}

}

@media (max-width: 959px) {
	.shopcatalog-product-gallery {
		--shopcatalog-gallery-frame-height: clamp(18rem, 62vh, 32rem);
	}

}

@media (max-width: 640px) {
	.shopcatalog-product-gallery__viewer {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: minmax(0, 1fr) auto;
		gap: 0.75rem;
		height: auto;
		overflow: visible;
	}

	.shopcatalog-product-gallery__main {
		grid-column: 1;
		grid-row: 1;
		height: clamp(16rem, 62vh, 26rem);
	}

	.shopcatalog-product-gallery__thumbs {
		grid-column: 1;
		grid-row: 2;
		gap: 0.6rem;
		height: auto;
		min-height: 0;
		align-self: auto;
		overflow-x: auto;
		overflow-y: hidden;
		padding: 0;
		padding-bottom: 0.35rem;
		background: transparent;
	}

	.shopcatalog-gallery-thumb {
		width: 4rem;
		height: 4rem;
	}

	.shopcatalog-product-gallery__main-link,
	.shopcatalog-product-gallery__main-link img {
		height: 100%;
		max-height: 100%;
	}

	.shopcatalog-product-card-badges {
		z-index: 999;
	}

	.shopcatalog-product-card-badge--more {
		width: auto;
		min-width: 16px;
		height: 16px;
		line-height: 16px;
	}

	.shopcatalog-product-card-badge--desktop-only {
		display: none !important;
	}

	.shopcatalog-product-card-badge--mobile-only {
		display: inline-flex !important;
	}

	.shopcatalog-option-choices {
		gap: 0.65rem;
	}

	.shopcatalog-option-choices--images {
		grid-template-columns: repeat(auto-fit, minmax(74px, 88px));
		gap: 0.85rem 0.7rem;
	}

	.shopcatalog-option-chip {
		min-width: 2.8rem;
		min-height: 2.8rem;
		padding: 0.7rem 0.9rem;
	}

	.shopcatalog-option-chip--image,
	.shopcatalog-option-caption {
		width: 4.2rem;
	}

	.shopcatalog-option-group--large-colour>.uk-grid {
		grid-template-columns: 1fr;
	}
}

[data-shopcatalog-admin-tool] {
	gap: 0 10px;
}

.shopcatalog-layout3 [data-shopcatalog-admin-tool]>*,
.shopcatalog-l4 [data-shopcatalog-admin-tool]>* {
	width: auto;
}

.shopcatalog-admin-layout-switch {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
}

.shopcatalog-admin-layout-switch__label {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #1f3d5c;
}

.shopcatalog-admin-layout-switch .uk-select {
	min-width: 9rem;
}

.shopcatalog-l4-meta-list {
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
	border-top: 1px solid #dcdcdc;
	border-bottom: 1px solid #dcdcdc;
}

.shopcatalog-l4-meta-list li {
	display: grid;
	grid-template-columns: 8rem minmax(0, 1fr);
	gap: 0.8rem;
	padding: 0.45rem 0;
}

.shopcatalog-l4-meta-list li+li {
	border-top: 1px solid #ececec;
}

.shopcatalog-l4-meta-list span {
	font-weight: 600;
	color: #111;
}

.shopcatalog-l4-meta-list strong {
	font-weight: 400;
	color: #272727;
}


.shopcatalog-option-group--button-select .uk-button-group {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}

.shopcatalog-l4-swatch-options {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
}

.shopcatalog-l4-text-options {
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem 0.9rem;
}

.shopcatalog-l4-option {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.15rem 0;
	line-height: 1.3;
}

.shopcatalog-l4-option--swatch {
	padding: 0;
}

.shopcatalog-l4-option-label {
	font-size: 0.95rem;
}

.shopcatalog-l4-option--swatch .shopcatalog-l4-option-label {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.shopcatalog-l4-option--swatch .shopcatalog-option-swatch {
	width: 1.85rem;
	min-width: 1.85rem;
	min-height: 1.85rem;
	border: 1px solid #9f9f9f;
	border-radius: 4px;
}

.shopcatalog-l4-option--swatch.active .shopcatalog-option-swatch {
	box-shadow: inset 0 0 0 2px #fff, 0 0 0 2px #232323;
}

.shopcatalog-l4-text-options .shopcatalog-l4-option.active .shopcatalog-l4-option-label {
	text-decoration: underline;
	text-underline-offset: 4px;
	font-weight: 700;
}


/* Layout 3: SLAM-inspired product experiment */
body:has(.shopcatalog-layout3) .tm-top {
	position: absolute;
	z-index: 4;
	right: 0;
	left: 0;
	background: transparent;
	pointer-events: none;
}

body:has(.shopcatalog-layout3) .tm-top a,
body:has(.shopcatalog-layout3) .tm-top button,
body:has(.shopcatalog-layout3) .tm-top input,
body:has(.shopcatalog-layout3) .tm-top label,
body:has(.shopcatalog-layout3) .tm-top select,
body:has(.shopcatalog-layout3) .tm-top textarea,
body:has(.shopcatalog-layout3) .tm-top .sc-toggle,
body:has(.shopcatalog-layout3) .tm-top .shopcatalog-admin-toggle-wrap,
body:has(.shopcatalog-layout3) .tm-top [role="button"] {
	pointer-events: auto;
}

body:has(.shopcatalog-layout3) #tm-main {
	padding-top: 0;
}

body:has(.shopcatalog-layout3) #tm-main>.uk-container {
	max-width: none;
	padding-right: 0;
	padding-left: 0;
}

.shopcatalog-layout3 {
	display: contents;
	color: #111820;
	background: #fff;
}

[data-layout3-product-layout] {
	margin: 0;
	padding-bottom: clamp(12rem, 32vh, 24rem);
}

.shopcatalog-layout3-hero-gallery,
.shopcatalog-layout3-empty-gallery,
.shopcatalog-layout3-gallery-track,
.shopcatalog-layout3-gallery-slot {
	height: clamp(34rem, calc(100vh - 154px), 60rem);
}

.shopcatalog-layout3-empty-gallery {
	background: linear-gradient(135deg, #d9dddf 0%, #f3f5f6 100%);
}

.shopcatalog-layout3-gallery-shell {
	position: relative;
}

.shopcatalog-layout3-gallery-viewport {
	overflow: hidden;
	cursor: grab;
	touch-action: pan-y;
	user-select: none;
	-webkit-touch-callout: none;
}

.shopcatalog-layout3-gallery-viewport.is-dragging {
	cursor: grabbing;
}

.shopcatalog-layout3-gallery-track {
	display: flex;
	min-height: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.shopcatalog-layout3-gallery-slot {
	flex: 0 0 auto;
	width: auto !important;
	border-right: 2px solid rgba(255, 255, 255, 0.75);
	background: #edf0f1;
}

.shopcatalog-layout3-gallery-slot[hidden] {
	display: none !important;
}

.shopcatalog-layout3-gallery-slot a,
.shopcatalog-layout3-gallery-slot img {
	display: block;
	height: 100%;
	-webkit-user-drag: none;
}

.shopcatalog-layout3-gallery-slot img {
	width: auto;
	max-width: none;
	object-fit: contain;
	transition: opacity 0.6s ease;
}

.shopcatalog-layout3-gallery-slot img.is-shopcatalog-gallery-image-loading {
	opacity: 0.45;
}

.shopcatalog-layout3-slider-nav {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	color: #111;
	background: rgba(255, 255, 255, 0.7);
	backdrop-filter: blur(8px);
}

.brandgrid img {
	mix-blend-mode: darken !important;
}

[data-layout3-card-wrap] {
	z-index: 2;
	top: clamp(2rem, 8vh, 5rem);
	left: clamp(1rem, 8vw, 7rem);
	width: min(44rem, calc(100vw - 2rem));
}

[data-layout3-card] {
	padding: clamp(1.4rem, 2.8vw, 2.6rem);
	box-shadow: 0 1.2rem 3rem rgba(12, 25, 35, 0.16);
}

[data-layout3-summary] {
	align-items: stretch;
}

[data-layout3-manufacturer-logo] {
	align-content: center;
	mix-blend-mode: darken;
}

[data-layout3-card] .shopcatalog-layout2-price {
	margin: 0.9rem 0 0;
	padding-bottom: 0;
	border-bottom: 0;
	font-size: 1.35rem;
	color: #111;
}

[data-layout3-description-wrap]>[data-layout3-description] {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	font-size: 1rem;
	line-height: 1.65;
}

[data-layout3-description-wrap].is-expanded>div {
	display: block;
	-webkit-line-clamp: unset;
}

[data-layout3-description-toggle] {
	margin-top: 0.35rem;
	color: #244a61;
	text-decoration: underline;
	text-underline-offset: 3px;
}

[data-layout3-card] .shopcatalog-layout2-options {
	margin-bottom: 1rem !important;
}

[data-layout3-card] .shopcatalog-layout3-options--split-selects {
	display: flex;
	flex-wrap: wrap;
	column-gap: 0.75rem;
}

[data-layout3-card] .shopcatalog-layout3-options--split-selects .shopcatalog-option-group {
	width: 100%;
}

[data-layout3-card] .shopcatalog-option-group {
	border-top: 0;
	padding: 0.65rem 0;
}

[data-layout3-card] .shopcatalog-option-group:last-child {
	border-bottom: 0;
}

[data-layout3-card] .shopcatalog-option-group__title {
	display: flex;
	align-items: baseline;
	gap: 0.45rem;
	margin-bottom: 0.55rem;
	color: #244a61;
}

[data-layout3-card] .shopcatalog-option-required-error {
	color: #c01824;
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

[data-layout3-card] .shopcatalog-layout2-selected-colour {
	display: inline;
	margin-top: 0;
	color: #111820;
	font-size: 0.95rem;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

[data-layout3-card] [data-layout3-size-option].active {
	border-color: #4dc4cf;
	background: #4dc4cf;
	color: #fff;
}

@media (min-width: 640px) {
	[data-layout3-card] .shopcatalog-layout3-options--split-selects .shopcatalog-option-group--select-list {
		width: calc(50% - 0.375rem);
	}
}

.sc-basket {
	position: relative;
}

[data-layout3-cart-row] {
	gap: 0.8rem;
}

[data-layout3-detail-media] a {
	display: block;
	overflow: hidden;
	background: #eef0f1;
}

[data-layout3-detail-media] img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

[data-layout3-detail-copy] {
	position: sticky;
	top: 7rem;
}

@media (max-width: 959px) {

	.shopcatalog-layout3-hero-gallery,
	.shopcatalog-layout3-empty-gallery,
	.shopcatalog-layout3-gallery-track,
	.shopcatalog-layout3-gallery-slot {
		height: clamp(28rem, 62vh, 42rem);
	}

	[data-layout3-card-wrap] {
		position: relative;
		top: auto;
		left: auto;
		width: auto;
		margin: -3.5rem 1rem 0;
	}

	[data-layout3-card] {
		padding: 1.4rem;
	}

	[data-layout3-manufacturer-logo] {
		width: 8.5rem;
		min-height: 7rem;
	}

	[data-layout3-product-layout] {
		padding-bottom: 0;
	}

	[data-layout3-detail-copy] {
		position: static;
	}
}

@media (max-width: 639px) {
	.shopcatalog-layout3-gallery-slot {
		max-width: 88vw;
	}

	[data-layout3-card-wrap] {
		margin-right: 0.75rem;
		margin-left: 0.75rem;
	}
}

/* Layout 4: Clean side-by-side layout with scrollable options card */
body:has(.shopcatalog-l4) .tm-top {
	position: absolute;
	z-index: 4;
	right: 0;
	left: 0;
	background: transparent;
	pointer-events: none;
}

[data-l4-product-layout] {
	box-shadow: 0 4rem 3rem -4rem rgba(12, 25, 35, 0.16);
}

[data-l4-product-layout] .uk-breadcrumb li:first-child {
	display: none;
}

[data-l4-product-layout] .uk-breadcrumb li:nth-child(2)::before {
	content: none;
}

[data-l4-product-layout] .uk-alert {
	padding: 5px 11px;
	text-align: center;
	flex: none;
	width: auto;
}

[data-l4-product-layout] .uk-form-label {
	font-size: 0.92rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}


body:has(.shopcatalog-l4) .tm-top a,
body:has(.shopcatalog-l4) .tm-top button,
body:has(.shopcatalog-l4) .tm-top input,
body:has(.shopcatalog-l4) .tm-top label,
body:has(.shopcatalog-l4) .tm-top select,
body:has(.shopcatalog-l4) .tm-top textarea,
body:has(.shopcatalog-l4) .tm-top .sc-toggle,
body:has(.shopcatalog-l4) .tm-top .shopcatalog-admin-toggle-wrap,
body:has(.shopcatalog-l4) .tm-top [role="button"] {
	pointer-events: auto;
}

body:has(.shopcatalog-l4) #tm-main {
	padding-top: 0;
}

body:has(.shopcatalog-l4) #tm-main>.uk-container {
	max-width: none;
	padding-right: 0;
	padding-left: 0;
}

.shopcatalog-l4 {
	display: contents;
	color: #111820;
	background: #fff;
}

[data-l4-product-layout] {
	margin: 0;
}

.shopcatalog-l4-gallery-shell {
	position: relative;
}

.shopcatalog-l4-gallery-viewport {
	overflow: hidden;
	cursor: grab;
	touch-action: pan-y;
	user-select: none;
	-webkit-touch-callout: none;
}

.shopcatalog-l4-gallery-viewport.is-dragging {
	cursor: grabbing;
}

.shopcatalog-l4-gallery-track {
	display: flex;
	min-height: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
}


.shopcatalog-l4-gallery-track:has(>:only-child) li {
	width: 100%;
	justify-items: center;
	text-align: center;
}

.shopcatalog-l4-gallery-track:has(>:nth-child(2):last-child) li {
	width: 50%;
	justify-items: center;
}

.shopcatalog-l4-gallery-slot {
	border-right: 2px solid rgba(255, 255, 255, 0.75);
	background: #edf0f1;
	align-content: center;
}

.shopcatalog-l4-gallery-slot[hidden] {
	display: none !important;
}

.shopcatalog-l4-gallery-slot a,
.shopcatalog-l4-gallery-slot img {
	display: unset;
	max-height: 100%;
	-webkit-user-drag: none;
}

.shopcatalog-l4-gallery-slot img {
	max-width: 100%;
	object-fit: contain;
	mix-blend-mode: darken;
	transition: opacity 0.6s ease;
}

.shopcatalog-l4-gallery-slot img.is-shopcatalog-gallery-image-loading {
	opacity: 0.45;
}

.shopcatalog-l4-slider-nav {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border: none;
	color: white;
	background: #4db0cf;
	border-radius: 50%;
	corner-shape: superellipse(1.54);
}

.shopcatalog-l4-slider-nav .uk-slidenav {
	color: white;
}

.shopcatalog-l4-slider-nav>svg {
	scale: 1.5;
}

.shopcatalog-l4-card {
	padding: clamp(1.4rem, 2.8vw, 2.6rem);
	box-shadow: 4rem 0 3rem -4rem rgba(12, 25, 35, 0.16);
	z-index: 1;
}

.shopcatalog-l4-summary {
	align-items: stretch;
}

.shopcatalog-l4-manufacturer-logo {
	align-content: center;
	mix-blend-mode: darken;
}

.shopcatalog-l4-card .shopcatalog-l4-price {
	margin: 0.9rem 0 0;
	padding-bottom: 0;
	border-bottom: 0;
	font-size: 1.35rem;
	color: #111;
}


.shopcatalog-l4-card .shopcatalog-l4-options {
	margin-bottom: 1rem !important;
}

.shopcatalog-l4-card .shopcatalog-l4-options--split-selects {
	display: flex;
	flex-wrap: wrap;
	column-gap: 0.75rem;
}

.shopcatalog-l4-card .shopcatalog-l4-options--split-selects .shopcatalog-option-group {
	width: 100%;
}

.shopcatalog-option-group {
	border-top: 0;
	padding: 0.65rem 0;
}

.shopcatalog-l4-card .shopcatalog-option-group:last-child {
	border-bottom: 0;
}

.shopcatalog-l4-card .shopcatalog-option-group__title {
	display: flex;
	align-items: baseline;
	gap: 0.45rem;
	margin-bottom: 0.55rem;
	color: #244a61;
}

.shopcatalog-l4-card .shopcatalog-option-required-error {
	color: #c01824;
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

.shopcatalog-l4-card .shopcatalog-l4-selected-colour {
	display: inline;
	margin-top: 0;
	color: #111820;
	font-size: 0.95rem;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

.shopcatalog-l4-card .shopcatalog-l4-size-option.active {
	border-color: #4dc4cf;
	background: #4dc4cf;
	color: #fff;
}

.shopcatalog-l4-card .shopcatalog-l4-options--side-by-side {
	display: flex;
	flex-wrap: wrap;
	gap: 0 2rem;
}

.shopcatalog-l4-card .shopcatalog-l4-options--side-by-side .shopcatalog-option-group {
	width: 100%;
}

.shopcatalog-l4-card .shopcatalog-l4-options--side-by-side .shopcatalog-option-group[data-option-group-id="1"] {
	flex: 0 0 auto;
	width: auto;
	padding: 0.65rem 0;
	border: 0;
}

/* Ensure color swatch wrapper has no padding and swatches align/size cleanly */
.shopcatalog-l4-card .shopcatalog-l4-option--swatch {
	padding: 0 !important;
}

.shopcatalog-l4-card .shopcatalog-l4-swatch-options {
	gap: 8px;
	align-items: center;
}

.shopcatalog-l4-card .shopcatalog-l4-option--swatch .shopcatalog-option-swatch {
	width: 30px;
	height: 30px;
	min-width: 30px;
	min-height: 30px;
	box-sizing: border-box;
	border-radius: 4px;
}

.shopcatalog-l4-card .shopcatalog-l4-options--side-by-side .shopcatalog-option-group[data-option-group-id="3"] {
	flex: 1 1 200px;
	width: auto;
	padding: 0.65rem 0;
	border: 0;
}

/* Fix UIkit button alignment shifting from negative margins and align heights */
.shopcatalog-l4-card .shopcatalog-option-group--button-select .uk-button-group {
	gap: 2px;
	align-items: center;
}

.shopcatalog-l4-card .shopcatalog-option-group--button-select .shopcatalog-size-matrix {
	display: grid;
	grid-template-columns: repeat(var(--shopcatalog-size-matrix-columns), minmax(2rem, 1fr));
	gap: 3px;
	width: min(100%, 38rem);
	max-width: 100%;
	overflow-x: auto;
}

.shopcatalog-l4-card .shopcatalog-size-matrix__option,
.shopcatalog-l4-card .shopcatalog-size-matrix__empty {
	min-width: 0;
	min-height: 30px;
	box-sizing: border-box;
}

.shopcatalog-l4-card .shopcatalog-size-matrix__option {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding-right: 0.25rem;
	padding-left: 0.25rem;
	line-height: 28px;
	text-align: center;
	white-space: nowrap;
}

.shopcatalog-l4-card .shopcatalog-size-matrix__empty {
	display: block;
	border: 1px solid transparent;
}

.shopcatalog-l4-card .shopcatalog-option-group--button-select .uk-button-group>.uk-button {
	margin-left: 0 !important;
	height: 30px;
	min-width: 30px;
	line-height: 28px;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.shopcatalog-l4-cart-row {
	gap: 0.8rem;
}

.shopcatalog-l4-detail-media a {
	display: block;
	overflow: hidden;
	background: #eef0f1;
}

.shopcatalog-l4-detail-media img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.shopcatalog-l4-detail-copy {
	position: sticky;
	top: 7rem;
}

[data-size-guide-content] table tr th:nth-child(1),
[data-size-guide-content] table tr td:nth-child(1) {
	text-align: right;
	vertical-align: middle;
}

.size-gill table tr th:nth-child(2),
.size-gill table tr td:nth-child(2),
.size-gill table tr th:nth-child(3),
.size-gill table tr td:nth-child(3),
.size-gill table tr th:nth-child(4),
.size-gill table tr td:nth-child(4) {
	vertical-align: middle;
	text-align: center;
}

/* Desktop Styles: side-by-side expanding viewport layout */
@media (min-width: 960px) {
	.shopcatalog-l4-card-wrap {
		height: calc(100vh - 154px);
		max-height: 800px;
		min-height: 600px;
		position: relative;
	}

	.shopcatalog-l4-card {
		height: 100%;
		overflow-y: auto;
		box-sizing: border-box;
	}

	.shopcatalog-l4-hero-gallery,
	.shopcatalog-l4-empty-gallery,
	.shopcatalog-l4-gallery-track,
	.shopcatalog-l4-gallery-slot {
		height: calc(100vh - 154px) !important;
		max-height: 800px !important;
		min-height: 600px !important;
	}

	.shopcatalog-l4-card .shopcatalog-l4-options--split-selects .shopcatalog-option-group--select-list {
		width: calc(50% - 0.375rem);
	}
}

/* Tablet / Mobile Styles: stacked design */
@media (max-width: 959px) {

	.shopcatalog-l4-hero-gallery,
	.shopcatalog-l4-empty-gallery,
	.shopcatalog-l4-gallery-track,
	.shopcatalog-l4-gallery-slot {
		height: clamp(28rem, 62vh, 42rem);
	}

	.shopcatalog-l4-card {
		padding: 1.4rem;
	}

	.shopcatalog-l4-manufacturer-logo {
		width: 8.5rem;
		min-height: 7rem;
	}

	.shopcatalog-l4-detail-copy {
		position: static;
	}
}


#quote-items-table tr>td:nth-child(1) {
	padding: 0;
}

#quote-items-table tr>td:nth-child(1) span {
	padding: 35px 15px;
}

#quote-items-table tr>td:nth-child(2) {
	padding: 3px 10px 3px 0;
	text-align: center;
	width: 100px;
}

#quote-items-table tr>th:nth-child(3),
#quote-items-table tr>th:nth-child(5),
#quote-items-table tr>th:nth-child(6),
#quote-items-table tr>td:nth-child(4),
#quote-items-table tr>td:nth-child(6),
#quote-items-table tr>td:nth-child(7) {
	text-align: right;
}

.quote-history-table tr>td:nth-child(1) {
	padding: 0 2px 0 0;
	text-align: center;
	width: 100px;
}

.quote-history-table tr>th:nth-child(2),
.quote-history-table tr>th:nth-child(4),
.quote-history-table tr>th:nth-child(5),
.quote-history-table tr>td:nth-child(3),
.quote-history-table tr>td:nth-child(5),
.quote-history-table tr>td:nth-child(6) {
	text-align: right;
}

.shopcatalog-testimonials__header {
	max-width: 780px;
	margin-bottom: 2.5rem;
}

.shopcatalog-testimonials__list {
	display: grid;
	gap: 1.5rem;
}

.shopcatalog-testimonial {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(18rem, 1fr);
	gap: clamp(1.25rem, 3vw, 2.5rem);
	align-items: stretch;
	width: 100%;
	padding: clamp(1.25rem, 3vw, 2.25rem);
	background: #fff;
	border: 1px solid #e2e2e2;
	box-shadow: 0 12px 36px rgba(0, 0, 0, 0.06);
}

.shopcatalog-testimonial--text-only {
	grid-template-columns: minmax(0, 1fr);
}

.shopcatalog-testimonial--long {
	grid-template-columns: minmax(0, 1fr);
}

.shopcatalog-testimonial__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
}

.shopcatalog-testimonial__rating {
	display: inline-flex;
	gap: 0.1rem;
	margin-bottom: 0.9rem;
	font-size: 1.15rem;
	line-height: 1;
	color: #a2a2a2;
}

.shopcatalog-testimonial__rating .is-filled {
	color: #f1c419;
	font-size: 42px;
}

.shopcatalog-testimonial__quote {
	margin: 0;
	font-size: clamp(1.02rem, 1.3vw, 1.18rem);
	line-height: 1.75;
	color: #202020;
}

.shopcatalog-testimonial__quote::before {
	content: open-quote;
}

.shopcatalog-testimonial__quote::after {
	content: close-quote;
}

.shopcatalog-testimonial__author {
	display: grid;
	gap: 0.2rem;
	margin-top: 1.35rem;
	color: #4a4a4a;
}

.shopcatalog-testimonial__author strong {
	font-size: 1.05rem;
	color: #111;
}

.shopcatalog-testimonial__media {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.55rem;
	min-width: 0;
}

.shopcatalog-testimonial__media--count-1 {
	grid-template-columns: minmax(0, 1fr);
}

.shopcatalog-testimonial__media--count-1 .shopcatalog-testimonial__image {
	min-height: clamp(15rem, 28vw, 26rem);
}

.shopcatalog-testimonial__media--count-2 {
	grid-template-columns: minmax(0, 1fr);
}

.shopcatalog-testimonial__media--count-2 .shopcatalog-testimonial__image-link {
	aspect-ratio: 16 / 9;
}

.shopcatalog-testimonial__media--count-2 .shopcatalog-testimonial__image {
	min-height: 0;
}

.shopcatalog-testimonial--long .shopcatalog-testimonial__media--count-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-rows: minmax(0, 2fr);
}

.shopcatalog-testimonial__image-link {
	display: block;
	min-width: 0;
	overflow: hidden;
	background: #f4f4f4;
}

.shopcatalog-testimonial__image-link picture {
	display: block;
	width: 100%;
	height: 100%;
}

.shopcatalog-testimonial__image {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 9rem;
	aspect-ratio: 18 / 13;
	object-fit: cover;
	transition: transform 0.25s ease;
}

.shopcatalog-testimonial__image-link:hover .shopcatalog-testimonial__image {
	transform: scale(1.035);
}


.js-shopcatalog-manufacturers-grid>div>div {
	display: flex;
	transition: .1s ease-in-out;
	transition-property: color, background-color, background-size, border-color, box-shadow;
}

.js-shopcatalog-manufacturers-grid>div>div:hover {
	background-color: #f3f3f3;
	box-shadow: 0 2px 10px 0 rgba(0, 0, 0, .1);
}

.js-shopcatalog-manufacturers-grid>div>div>a {
	position: relative;
	box-sizing: border-box;
	transition: .1s ease-in-out;
	transition-property: color, background-color, background-size, border-color, box-shadow;
	background-color: #f8f8f8;
	padding: 20px 20px;
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
}

.js-shopcatalog-manufacturers-grid>div>div h4 {
	margin: 0;
	color: #34576b;
}

.js-shopcatalog-manufacturers-grid>div>div img {
	mix-blend-mode: darken;
	max-height: 100px;
	object-fit: contain;
	aspect-ratio: 1 / 1;
	margin-top: 20px !important;
}

.js-shopcatalog-manufacturers-grid>div>div>div {
	margin-top: 20px !important;
}

.js-shopcatalog-manufacturers-grid>div>div .uk-badge {
	margin-top: 20px !important;
}

@media (min-width: 960px) {
	.shopcatalog-testimonial {
		width: 90%;
	}

	.shopcatalog-testimonial--align-left {
		justify-self: start;
	}

	.shopcatalog-testimonial--align-right {
		justify-self: end;
	}
}

@media (max-width: 959px) {
	.shopcatalog-testimonial {
		grid-template-columns: minmax(0, 1fr);
	}

	.shopcatalog-testimonial__copy {
		justify-content: flex-start;
	}
}

@media (max-width: 639px) {
	.shopcatalog-testimonials__header {
		margin-bottom: 1.5rem;
	}

	.shopcatalog-testimonial {
		padding: 1rem;
	}

	.shopcatalog-testimonial__media {
		grid-template-columns: minmax(0, 1fr);
	}

	.shopcatalog-testimonial__image {
		min-height: 13rem;
	}
}

.uk-sortable-drag:not(:has(.shopcatalog-product-card-media)) {
	background: rgba(255, 255, 255, 0.9);
	border-radius: 12px;
}

.uk-sortable-drag td {
	align-content: center;
	padding: 0 12px;
}

.uk-sortable-drag:not(:has(.shopcatalog-product-card-media)) img {
	max-height: 100%;
	height: 90px;
	object-fit: contain;
}

#quote-items-table .uk-sortable-item {
	display: table-row !important;
}

#quote-items-table .uk-sortable-item td:nth-last-child(-n+5),
.uk-sortable-drag td:nth-last-child(-n+5) {
	opacity: 0 !important;
}

#quote-items-table:has(.uk-sortable-item) thead {
	opacity: 0;
}

#quote-items-table .uk-badge {
	background: #233a49;
}

@media (min-width: 1200px) {

	.shopcatalog-dynamic-grid [data-shopcatalog-product-grid]>*,
	.shopcatalog-dynamic-grid [data-shopcatalog-sortable-grid]>* {
		width: calc(100% / var(--sc-cols, 4)) !important;
		transition: width 0.3s ease;
		padding-left: clamp(15px, calc(150px / var(--sc-cols)), 30px) !important;
	}

	.shopcatalog-dynamic-grid [data-shopcatalog-product-grid],
	.shopcatalog-dynamic-grid [data-shopcatalog-sortable-grid] {
		margin-left: calc(-1 * clamp(15px, calc(150px / var(--sc-cols)), 30px)) !important;
	}

	.shopcatalog-dynamic-grid [data-shopcatalog-product-grid]>.uk-grid-margin,
	.shopcatalog-dynamic-grid [data-shopcatalog-sortable-grid]>.uk-grid-margin {
		margin-top: clamp(15px, calc(150px / var(--sc-cols)), 30px) !important;
	}

	.shopcatalog-product-card-body h3 {
		font-size: calc(26px - (var(--sc-cols, 4)) * 1.1px) !important;
		line-height: calc(1.2 - (var(--sc-cols, 4) * 0.01)) !important;
	}

	.shopcatalog-product-card-body p {
		font-size: calc(18px - (var(--sc-cols, 4)) * 0.8px) !important;
		line-height: calc(1.4 - (var(--sc-cols, 4) * 0.01)) !important;
	}

	.shopcatalog-dynamic-grid-expanded .tm-page-container .tm-page {
		max-width: 2560px !important;
	}

	.shopcatalog-dynamic-grid-expanded .tm-main .uk-container {
		max-width: unset !important;
	}
}

[data-shopcatalog-product-grid] .uk-badge,
[data-shopcatalog-results-host] .uk-badge,
.shopcatalog-product-card-media .uk-badge {
	padding: 4px 10px;
	position: absolute;
	bottom: 10px;
	right: 10px;
	z-index: 9;
	box-shadow: 0 0 0 2px #ffffffcc;
}

.sc-male {
	background: #345c76;
}

.sc-female {
	background: #be6184;
}

.sc-unisex {
	background: #47a6a9;
}

.shopcatalog-sku-copy {
	cursor: copy;
}

/* Mobile Filters Offcanvas & Trigger styling */
.shopcatalog-mobile-filter-trigger {
	position: fixed;
	left: 0;
	top: 50%;
	z-index: 1000;
	background: #345c76;
	color: #fff;
	text-decoration: none;
	border: none;
	box-shadow: 2px 0 10px rgba(0, 0, 0, 0.15);
	cursor: pointer;
	font-weight: 600;
	text-transform: uppercase;
	font-size: 11px;
	letter-spacing: 0.15em;
	padding: 16px 8px;
	border-radius: 0 6px 6px 0;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	transition: background-color 0.2s ease, transform 0.2s ease;
	transform: translateY(-50%);
}

.shopcatalog-mobile-filter-trigger:hover,
.shopcatalog-mobile-filter-trigger:active,
.shopcatalog-mobile-filter-trigger:focus {
	background: #1f3d5c;
	color: #fff;
	text-decoration: none;
	outline: none;
}

.shopcatalog-mobile-filter-trigger span[uk-icon] {
	transform: rotate(90deg);
	/* align the filter icon with vertical text */
}

.shopcatalog-mobile-filters-bar {
	background: #ffffff !important;
	color: #233a49 !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
	width: 320px !important;
	padding: 24px 20px !important;
}

.shopcatalog-mobile-filters-bar .uk-offcanvas-close {
	color: #64748b !important;
	top: 15px !important;
	right: 15px !important;
}

.shopcatalog-mobile-filters-bar .uk-offcanvas-close:hover {
	color: #1f3d5c !important;
}

.shopcatalog-mobile-filters-bar h3 {
	color: #1f3d5c;
	margin-top: 0;
	margin-bottom: 20px;
	font-size: 1.1rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	border-bottom: 2px solid #f1f5f9;
	padding-bottom: 10px;
}

@keyframes sc-gallery-fade {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

/* Print layout for quote history printout */
@media print {
	@page {
		margin: 0.7cm !important;
	}

	.sc-print {
		display: block !important;
	}

	.sc-print-right {
		text-align: right !important;
	}

	body.shopcatalog-printing-active {
		background: #ffffff !important;
		color: #000000 !important;
		counter-reset: page;
	}

	body.shopcatalog-printing-active>*:not(#shopcatalog-print-container) {
		display: none !important;
	}

	body.shopcatalog-printing-active #shopcatalog-print-container {
		display: block !important;
		position: absolute !important;
		left: 0 !important;
		top: 0 !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.shopcatalog-printing-active #shopcatalog-print-container .uk-card {
		box-shadow: none !important;
		border: none !important;
		background: transparent !important;
		padding: 24px !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}

	body.shopcatalog-printing-active #shopcatalog-print-container .uk-card-header {
		border-bottom: 1px solid #e2e8f0 !important;
		padding: 0 0 16px 0 !important;
		margin-bottom: 24px !important;
	}

	body.shopcatalog-printing-active #shopcatalog-print-container .uk-card-body {
		padding: 0 !important;
		line-height: 1.2;
	}

	body.shopcatalog-printing-active #shopcatalog-print-container .uk-grid-medium {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		margin-left: -20px !important;
	}

	body.shopcatalog-printing-active #shopcatalog-print-container .uk-grid-medium>* {
		width: 33.333% !important;
		box-sizing: border-box !important;
		padding-left: 20px !important;
	}

	body.shopcatalog-printing-active #shopcatalog-print-container .js-quote-message-container.is-empty {
		display: none !important;
	}

	body.shopcatalog-printing-active #shopcatalog-print-container .uk-badge {
		color: #000000 !important;
		border: 1px solid #000000 !important;
		background: transparent !important;
		font-weight: bold !important;
	}

	body.shopcatalog-printing-active #shopcatalog-print-container tfoot {
		display: table-row-group !important;
	}

	body.shopcatalog-printing-active #shopcatalog-print-container .uk-table {
		margin-top: 16px !important;
		border-collapse: collapse !important;
		width: 100% !important;
	}

	body.shopcatalog-printing-active .uk-table td {
		border-bottom: 1px solid #e2e8f0 !important;
		color: #000000 !important;
		padding: 0 6px 0 0;
	}

	body.shopcatalog-printing-active #shopcatalog-print-container a {
		text-decoration: none !important;
		color: inherit !important;
	}

	body.shopcatalog-printing-active #shopcatalog-print-container a::after {
		content: "" !important;
	}

	/* Ensure background colors and images print properly */
	body.shopcatalog-printing-active * {
		-webkit-print-color-adjust: exact !important;
		print-color-adjust: exact !important;
	}
}

[data-customer-artwork-item] {
	background: #efefef;
}

.sc-artwork-custom-select-list li a {
	padding: 10px 0;
}

.sc-artwork-custom-select-list li:not(:last-child) a {
	border-bottom: 1px solid rgb(240, 240, 240);
}

.sc-artwork-custom-select-wrapper .uk-dropdown {
	animation-duration: 0s !important;
}