/* product detail styles */

.product-detail-section-heading {
	margin: 0 0 0.25rem;
}

.product-detail-extra-list {
	display: flex;
	flex-wrap: wrap;
	gap: 1.125rem 1.5rem;
	align-items: last baseline;
}
.product-detail-extra-list li:empty {
	display: none;
}

.product-detail-review-rating-aggregate {
	display: flex;
	gap: 0.375rem;
	align-items: start;

	transition: opacity 0.15s, visibility 0.15s;
}
.product-detail-review-rating-aggregate .rating-module {
	margin-top: 0.125em;
}
.product-detail-review-rating-aggregate .total-reviews {
	margin: 0;
}

.product-detail-review-rating-aggregate-module {
	position: relative;
}
.product-detail-review-rating-aggregate-module .processing-icon {
	display: none;
	position: absolute;
	top: 50%;
	left: 0;

	transform: translateY(-50%);
}
.product-detail-review-rating-aggregate-module .processing-icon:before {
	animation: processing 1s linear infinite;
}

.no-js .product-detail-review-rating-aggregate-module {
	display: none;
}

.js .product-detail-review-rating-aggregate-module.loading .processing-icon {
	display: block;
}
.js
	.product-detail-review-rating-aggregate-module.loading
	.product-detail-review-rating-aggregate {
	opacity: 0;
	visibility: hidden;
}

.product-detail-product-code,
.product-detail-metric-equivalent{
	margin: 0;
}

.product-detail-handheld-header-heading,
.product-detail-handheld-header-extra-list {
	margin: 1.125rem 0;
}

.product-detail-main {
	position: relative;

	transition: opacity 0.25s;
}

.product-detail-child-display-name:empty {
	display: none;
}

.product-detail-main-processing-icon {
	display: none;
	position: absolute;
	top: 50%;
	left: 50%;
	font-size: 1.75rem;

	transform: translate(-50%, -50%);
}
.product-detail-main-processing-icon:before {
	animation: processing 1s linear infinite;
}

.product-detail.processing .product-detail-main {
	pointer-events: none;
}
.product-detail.processing .product-detail-main > * {
	opacity: 0.5;
}
.product-detail.processing .product-detail-main-processing-icon {
	display: block;
	opacity: 1 !important;
}

.child-product-filter-list > li:has(input:disabled) {
	opacity: 0.5;
}
.child-product-filter-list > li:has(input:disabled) .product-variant,
.child-product-filter-list > li:has(input:disabled) .colour-swatch-select-module {
	cursor: not-allowed;
}
.child-product-filter-list > li:has(input:disabled) .colour-swatch-select-module:hover .text,
.child-product-filter-list > li:has(input:disabled) .colour-swatch-select-module:focus-within .text {
	text-decoration: none;
}

.product-variant-grid-module {
	--grid-adjust: 0.625rem;
}

.product-variant-grid-module .grid-adjust {
	margin: calc(var(--grid-adjust) * -1) 0 0 calc(var(--grid-adjust) * -1);
}

.grid-child-product-variant .grid-item {
	width: 50%;
	padding: var(--grid-adjust) 0 0 var(--grid-adjust);
}

.product-variant-module {
	display: block;
	position: relative;
}
.product-variant-module input {
	position: absolute;
	top: 0;
	left: 0;
	margin: 0;
	opacity: 0;
}
.product-variant-module .product-variant {
	display: block;
	cursor: pointer;
}
.product-variant-module .image-module {
	display: block;
}
.product-variant-module .no-img {
	display: block;
}
.product-variant-module .text-module {
	display: block;
	margin-top: var(--grid-adjust);
	padding: 0.5625em;
	background-color: var(--colour-neutral-100);
	color: var(--colour-neutral-900);

	transition: background-color 0.2s;
}
.product-variant-module:hover .product-variant .text-module,
.product-variant-module:focus-within .product-variant .text-module {
	background-color: #d9d9d9;
}
.product-variant-module .label-text {
	display: block;
	margin: 0;
	font-weight: 700;
	text-transform: uppercase;
}

.product-variant-module input:checked + .product-variant {
	cursor: default;
}
.product-variant-module input:checked + .product-variant .text-module {
	background-color: var(--colour-sector);
	color: var(--colour-neutral-000);
}

@media all and (min-width: 26.25em) {
	.grid-child-product-variant .grid-item {
		max-width: calc(124px + var(--grid-adjust));
	}
}

@media all and (max-width: 44.9375em) {
	.product-variant-grid-module {
		max-width: 536px;
		margin-top: -0.5rem;
	}
}

@media all and (min-width: 45em) {
	.product-variant-grid-module {
		--grid-adjust: 0.4375rem;
	}
}

.colour-swatch-select-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem 2.5rem;
	margin: 0;
}

.colour-swatch-select-module {
	display: flex;
	align-items: center;
	gap: 0.375rem;
	position: relative;
	cursor: pointer;
}
.colour-swatch-select-module input {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	margin: 0;
}
.colour-swatch-select-module .colour-swatch-outline {
	display: flex;
	position: relative;
	width: 28px;
	height: 32px;
	padding: 3px;
	background-color: var(--colour-neutral-900);
	visibility: hidden;

	clip-path: var(--tg-hexagon-clip-path);
}
.colour-swatch-select-module
	input:checked
	+ .colour-swatch-module
	.colour-swatch-outline {
	visibility: visible;
}
.colour-swatch-select-module .colour-swatch-outline:after {
	content: "";
	display: block;
	position: absolute;
	top: 1px;
	left: 1px;
	z-index: 1;
	width: 28px;
	height: 32px;
	padding: 2px;
	background-color: var(--colour-default-bg);

	clip-path: var(--tg-hexagon-clip-path);
}
.colour-swatch-select-module .colour-swatch {
	display: block;
	flex: 1 1 auto;
	position: relative;
	z-index: 2;
	visibility: visible;

	clip-path: var(--tg-hexagon-clip-path);
}
.colour-swatch-select-module .text {
	margin: 0;
}
.colour-swatch-select-module:hover .text,
.colour-swatch-select-module:focus-within .text {
	text-decoration: underline;
}

.product-detail-select-label {
	margin: 0 0 0.25rem;
}

.product-detail-colour-select-module {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
	align-items: center;
}
.product-detail-colour-select-module p {
	margin: 0;
}

.product-detail-colour-select-module .selected-colour-module {
	display: grid;
	grid-template-columns: 42px 1fr;
	gap: 0.5rem;
	align-items: center;
}
.product-detail-colour-select-module
	.selected-colour-module
	.colour-swatch-outline {
	padding: 2px;
	border: 1px solid var(--colour-neutral-900);
}
.product-detail-colour-select-module .selected-colour-module .colour-swatch {
	padding: 0 0 100%;
}

.product-detail-multi-buy-price-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem 2.5rem;
	margin: 0;
}
.product-detail-multi-buy-price-list p {
	margin: 0;
}

.product-detail-main-module {
	padding-top: 1em;
	border-width: 1px 0 0;
}

.product-detail-main-1-2-container {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(14rem, 100%), 1fr));
	gap: var(--gutter-1-to-2-clamp);
}

.product-detail-purchase-form-section-heading {
	display: inline-block;
	vertical-align: top;
	font-weight: 700;
}

.product-detail-quantity-and-stock-module {
	display: grid;
	grid-template-columns: 88px 1fr;
	gap: var(--gutter-1-to-2-clamp);
}

.product-detail-stock {
	display: flex;
	flex-direction: column;
}
.stock-module-product-detail {
	flex: 1 1 auto;
	align-content: center;
}

.price-module-product-detail .price-label,
.price-module-product-detail .old-price {
	margin: 0 0 0.25rem;
}

@media all and (min-width: 40em) {
	.product-detail-primary {
		padding-top: 2.875em;
		padding-bottom: 10.125em;
	}

	.wardrobe-site-content-primary .product-detail-primary {
		padding-top: 1.5em;
	}
}

@media all and (max-width: 44.9375em) {
	.product-detail-aside,
	.product-detail-main {
		display: block;
	}

	.product-detail-non-handheld-only {
		display: none;
	}
}

@media all and (min-width: 45em) {
	.product-detail-handheld-only {
		display: none;
	}
}

.product-detail-tabbed-panels .heading-tab {
	--colour-a: var(--colour-primary-200);
	--colour-a-hover: var(--colour-primary-200);

	display: flex;
	flex-direction: row-reverse;
	justify-content: start;
	align-items: center;
	gap: 0.75rem;
	margin: 0;
	padding: 0.75rem 1rem;
	background-color: var(--colour-neutral-050);
	font-size: 1.125em;
	font-weight: 700;
	line-height: 1.3333333333;
	text-decoration: none;
}
.product-detail-tabbed-panels .heading-tab .icon-icomoon {
	padding: 0.4375rem 0.3125rem;
	background-color: var(--colour-sector);
	color: var(--colour-neutral-000);

	clip-path: var(--tg-hexagon-clip-path);
}

.product-detail-tabbed-panels .text-panel-content {
	padding-top: 0.75em;
	padding-bottom: 1.5em;
}

@media all and (max-width: 59.9375em) {
	.product-detail-tabbed-panels .tabbed-content-nav {
		display: none;
	}
	.product-detail-tabbed-panels .text-panel {
		opacity: 1 !important;
	}

	.product-detail-tabbed-panels .heading-tab {
		display: flex !important;
		position: relative;
		margin-right: calc(var(--gutter-wrapper) * -1);
		margin-left: calc(var(--gutter-wrapper) * -1);
		border-bottom: var(--keyline-neutral-000);
	}
	.product-detail-tabbed-panels .heading-tab .chevron-icon {
		position: absolute;
		top: 50%;
		right: 0.75rem;
	}
	.product-detail-tabbed-panels .heading-tab .chevron-icon .line {
		background-color: var(--colour-primary-200);
	}
	.js .product-detail-tabbed-panels .text-panel-content {
		display: none;
		margin-right: calc(var(--gutter-wrapper) * -1);
		margin-left: calc(var(--gutter-wrapper) * -1);
		padding-right: var(--gutter-wrapper);
		padding-left: var(--gutter-wrapper);
		border-bottom: var(--keyline-neutral-000);
	}
}

@media all and (min-width: 60em) {
	.product-detail-tabbed-panels {
		position: relative;
	}
	.product-detail-tabbed-panels .tabbed-content-nav {
		position: absolute;
		bottom: 100%;
		left: 0;
		width: 100%;
		margin: 0;
	}
	.product-detail-tabbed-panels .tabbed-content-nav > li {
		display: inline-block;
		vertical-align: top;
		width: 25%;
		padding-right: var(--gutter-0-to-1-clamp);
		padding-left: var(--gutter-0-to-1-clamp);

		box-sizing: border-box;
	}
	.product-detail-tabbed-panels .tabbed-content-nav .heading-tab.selected {
		background-color: var(--colour-neutral-100);
	}
	.product-detail-tabbed-panels .text-panel-content {
		display: block !important;
		padding-bottom: 5.375em;
	}

	.product-detail-tabbed-panels .tabbed-content-panel.inactive-panel {
		height: 0;
		padding: 0;
		overflow: hidden;
	}

	.js .product-detail-tabbed-panels .text-panel .heading-tab {
		display: none;
	}

	.js .product-detail-tabbed-panels.jquery-tabbed-panels-initialised {
		margin-top: 0;
	}

	.no-js .product-detail-tabbed-panels {
		padding-top: 0.75em;
	}
	.no-js .product-detail-tabbed-panels .text-panel .heading-tab {
		padding-right: 0;
		padding-bottom: 0;
		padding-left: 0;
		background-color: transparent;
	}
	.no-js .product-detail-tabbed-panels .text-panel-content {
		padding-top: 0;
		padding-bottom: 1.5em;
	}
}

.product-detail-specification-table {
	table-layout: fixed;
}
.product-detail-specification-table th {
	width: 50%;
}

@media all and (min-width: 32.5em) {
	.product-detail-specification-table th {
		width: 16.25rem;
	}
}

.product-detail-coverage-form .optional-controls p {
	align-self: center;
	font-weight: 700;
}
.product-detail-coverage-form .optional-controls-panel {
	padding-top: 1em;
	padding-bottom: 1em;
}
.product-detail-coverage-form .optional-controls-panel ol {
	margin: 0;
}

.product-detail-coverage-form .form-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	justify-content: center;
}

.product-detail-coverage-form .results-panel {
	display: none;
}
.product-detail-coverage-form .results-panel > :first-child {
	margin-top: 0;
}
.product-detail-coverage-form .results-panel > :last-child {
	margin-bottom: 0;
}

@media all and (min-width: 30em) {
	.product-detail-coverage-form .optional-controls {
		display: flex;
		gap: 1rem;
	}
	.product-detail-coverage-form .optional-controls-panel {
		flex: 1 1 50%;
		align-content: center;
	}
}


.review {
	max-width: 33.5em;
}
.review :last-child {
	margin-bottom: 0;
}
.review-heading,
.review p {
	margin: 0.75rem 0;
}
.review-heading {
	font-weight: 400;
}
.review .rating-module {
	margin-bottom: 1em;
}
.review .link-with-icon {
	font-weight: 700;
	text-decoration: underline;
}
.review .link-with-icon .icon-icomoon {
	font-size: 0.875rem;
}

.review-delete-form {
	float: right;
	margin: 0 0 1.5rem 1.5rem;
}

/* media module styles */

.product-media-module {
	position: relative;

	max-width: 536px;
}

.product-media-nav-container {
	margin-top: var(--gutter-1-to-2-clamp);
}

.product-media {
	container: product-media / inline-size;
}
.product-media .item {
	display: none;
}
.product-media .item.selected {
	display: block;
}
.product-media .mfp-gallery {
	position: relative;
}
.product-media img,
.product-media-nav img {
	display: block;
}
.product-media .no-img,
.product-media .embedded-video-module,
.product-media-nav .no-img {
	padding: 0 0 100%;
}
.product-media .embedded-video-module .embedded-video {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;

	transform: translateY(-50%);
}

.product-media .mfp-gallery .icon-icomoon {
	position: absolute;
	bottom: clamp(0.125rem, -0.5361rem + 3.0928cqw, 0.5rem);
	right: clamp(0.125rem, -0.5361rem + 3.0928cqw, 0.5rem);
	width: 1em;
	padding: 0.357142857em;
	font-size: 1.75em;
	font-size: clamp(1.125rem, 5.26315789cqw, 1.75rem);
	opacity: 0;
	text-align: center;
}

.product-media.mfp-initialised .mfp-gallery {
	cursor: pointer;
}
.product-media.mfp-initialised .mfp-gallery .icon-icomoon {
	opacity: 1;

	transition: opacity 0.2s, color 0.2s;
}
.product-media.mfp-initialised .mfp-gallery:hover .icon-icomoon,
.product-media.mfp-initialised .mfp-gallery:focus .icon-icomoon,
.product-media.mfp-initialised .mfp-gallery:active .icon-icomoon {
	color: var(--colour-primary-100);
}

.product-media-nav {
	margin: var(--grid-adjust-0-to-1-clamp);
}
.product-media-nav .item {
	display: inline-block;
	vertical-align: top;
	width: 20%;
}
.product-media-nav .image-module {
	container: product-media-nav-image-module / inline-size;

	position: relative;
	border: var(--keyline-default);

	margin: var(--gutter-0-to-1-clamp);
}
.product-media-nav.js-product-media-slider-control-initialised .image-module {
	cursor: pointer;
}
.product-media-nav .item .icon-icomoon {
	display: none;
}
.product-media-nav .embedded-video-module .icon-module {
	position: absolute;
	top: 50%;
	left: 50%;
	padding: 0.5em;
	font-size: 1em;
	font-size: clamp(1rem, 0.1375rem + 30cqw, 1.75rem);

	border-radius: 50%;

	transform: translate(-50%, -50%);
}
.product-media-nav .embedded-video-module .icon-module .icon-icomoon {
	display: block;
	position: relative;
	left: 0.07142857em;
}

.notifyme-form .visible-form-controls {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}
.notifyme-form .visible-form-controls ol {
	flex: 1 1 100%;
	margin: 0;
}
.notifyme-form .visible-form-controls li {
	margin: 0;
}

@media all and (min-width: 30em) {
	.notifyme-form .visible-form-controls ol {
		flex: 1 1 auto;
	}
}

/* collection styles */

.stock-module-branch-collection-module .header {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}
.stock-module-branch-collection-module .heading {
	margin: 0;
}
.stock-module-branch-collection-module p {
	margin: 0;
	font-weight: 700;
}

/* select colour */

.colour-select-detail-form {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem var(--gutter-2);
	justify-content: space-between;
	align-items: end;
}
.colour-select-detail-form .form-control {
	flex: 1;
	max-width: 312px;
}
.colour-select-detail-form .form-control .label {
	display: inline-block;
	vertical-align: top;
	margin: 0 0 0.3125rem;
	font-weight: 700;
}
.colour-select-detail-form .form-control input,
.colour-select-detail-form .form-control select {
	min-width: 11.25em;
}
.colour-select-detail-form .form-control .submit {
	top: 0.8125em;
}

.colour-select-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
	gap: 16px;
	justify-content: space-between;
}
.colour-select-grid-item {
	text-align: center;
}
.colour-select-grid-item a {
	display: block;
	text-decoration: none;
}
.colour-select-grid-item .colour-swatch {
	padding: 0 0 38.46153846%;
}
.colour-select-grid-item .colour-swatch-outline {
	padding: 2px;
	border: 1px solid var(--colour-default-bg);
}

.colour-select-grid-item a.selected .colour-swatch-outline,
.colour-select-grid-item a:hover .colour-swatch-outline,
.colour-select-grid-item a:focus .colour-swatch-outline,
.colour-select-grid-item a:active .colour-swatch-outline {
	border-color: var(--colour-neutral-900);

	transition: border-color 0.15s;
}
.colour-select-grid-item .text-module p {
	margin: 0;
	text-transform: uppercase;
}
.colour-select-grid-item-heading {
	font-weight: 700;
}
