/* product detail styles */

.product-detail {
	padding-top: 1em;
	/*padding-bottom: 4.5em;*/
}

.product-detail-aside {
	container: product-detail-aside / inline-size;
}
.product-detail-main {
	container: product-detail-main / inline-size;
}

.product-media-module {
	position: relative;
	max-width: 438px;
	overflow: hidden;
}

.product-media-nav-container {
	margin-top: 18px;
}

.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%;

	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
}

.product-media .mfp-gallery .icon-icomoon {
	position: absolute;
	bottom: 0.4em;
	left: 0.4em;
	width: 1em;
	font-size: 1.25em;
	font-size: clamp(1.25rem, 0.1786rem + 4.7619vw, 2.5rem);
	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.25s, background-color 0.15s;
}

.product-media-nav {
	margin: -9px;
}
.product-media-nav .item {
	display: inline-block;
	vertical-align: top;
	width: 25%;
}
.product-media-nav .image-module {
	position: relative;

	margin: 9px;
}
.product-media-nav.jq-swap-child-layer-initialised .nav-child .image-module {
	cursor: pointer;
}
.product-media-nav .item .icon-icomoon {
	display: none;
}
.product-media-nav .embedded-video-module .icon-icomoon {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	color: #fff;
	font-size: 2.125em;
	font-size: clamp(2.125em, 14.1666666667vw, 4em);

	transform: translate(-50%, -50%);

	transition: color 0.15s;
}
.product-media-nav:empty {
	display: none;
}

.product-detail-wish-list-forms-module {
	position: absolute;
	top: 0.75em;
	right: 0.75em;
	z-index: 3;
}

.product-detail-heading {
	margin: 1.5rem 0;
}

.js .limited-product-detail-body-text {
	position: relative;
	max-height: 5.625em;
	overflow: hidden;

	transition: height 0.5s;
}
.js .limited-product-detail-body-text.text-hidden::after {
	content: " ";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}
.js .limited-product-detail-body-text.text-hidden::after {
	background: linear-gradient(
		to bottom,
		rgba(255, 255, 255, 0),
		rgba(255, 255, 255, 0) 50%,
		rgba(255, 255, 255, 1) 100%
	);
}

.js .limited-product-detail-body-text :first-child {
	margin-top: 0;
}
.js .limited-product-detail-body-text :last-child {
	margin-bottom: 0;
}

.limited-product-detail-body-text-toggle-module {
	max-height: 3.75em;
	opacity: 1;
	overflow: hidden;

	transition: max-height 0.2s, opacity 0.2s;
}
.limited-product-detail-body-text-toggle-module p {
	margin: 0;
}
.limited-product-detail-body-text-toggle .icon-icomoon {
	transform: rotate(90deg);
}

.login-prompt-panel {
	display: block;
	text-decoration: none;
}

.product-detail-child-list-modules {
	display: flex;
	gap: var(--gutter-0-to-1-clamp) var(--gutter-1-to-2-clamp);
}
.product-detail-child-list-modules:empty {
	display: none;
}

.product-detail-child-list-module .product-detail-child-list .selected a {
	color: var(--colour-default-fg);
	text-decoration: none;
	pointer-events: none;
}

/* OPTION 2 BEGIN: Ring Size  */
.js-ring-size-select-initialised .product-detail-ring-size-select {
	opacity: 1;
	visibility: visible;
}
/* OPTION 2 END: Ring Size  */

.product-detail-price-and-stock {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 1rem 1.5rem;
}

.product-detail-main-module .special-offer-panel {
	padding: 0.25em 1.5em;
}

.product-detail-purchase-form-purchase-controls {
	display: grid;
	gap: 0.625em;
}

.product-detail-summary-list {
	display: grid;
	gap: 1.5rem 2rem;
}
.product-detail-summary-list li {
	padding-bottom: 0.25rem;
	border-bottom: var(--keyline-default);
}
.product-detail-summary-list .key,
.product-detail-summary-list .value {
	display: inline-block;
	vertical-align: top;
}

@container product-detail-aside (min-width: 380px) {
	.site-content-1-2 .product-media-module {
		display: grid;
		grid-template-columns: 1fr 59.189189%;
		gap: 18px;
		max-width: none;
	}
	.site-content-1-2 .product-media {
		order: 1;
	}
	.product-media-nav-container {
		margin: 0;
	}
	.product-media-nav .item {
		width: 50%;
	}
}

@container product-detail-main (min-width: 250px) {
	.product-detail-purchase-form-purchase-controls {
		grid-template-columns: 64px 1fr;
		max-width: 290px;
	}

	.product-detail-summary-list {
		grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	}
}

@container product-detail-main (min-width: 598px) {
	.product-detail-main-module {
		display: grid;
		grid-template-columns: 290px 1fr;
		gap: 1.5rem var(--gutter-1-to-2-clamp);
	}
	.product-detail-main-module .special-offer-panel {
		order: 1;
	}
}

.product-detail-other-products .tabbed-content-nav .link,
.product-detail-other-products .heading-tab {
	display: block;
	padding: 0.5em;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;

	box-sizing: border-box;
}
.product-detail-other-products .tabbed-content-nav {
	margin: 0;
	background-color: #f9f9f9;
}
.product-detail-other-products .tabbed-content-nav .link {
	background-color: var(--colour-neutral-050);
	color: var(--colour-primary-500);
	border: 1px solid var(--colour-neutral-100);
}
.product-detail-other-products .tabbed-content-nav .link:hover,
.product-detail-other-products .tabbed-content-nav .link:focus,
.product-detail-other-products .tabbed-content-nav .link:active {
	background-color: var(--colour-neutral-050);
	color: var(--colour-neutral-400);

	transition: background-color 0.15s;
}
.product-detail-other-products .tabbed-content-nav .link.selected {
	background-color: var(--colour-default-bg);
	color: var(--colour-primary-500);
	pointer-events: none;
}

.product-detail-other-products .tabbed-panel {
	position: relative;
	margin-top: 6.375em;
	border-top: var(--keyline-default);
}
.product-detail-other-products .heading-tab {
	position: absolute;
	bottom: 100%;
	left: 0;
}

.product-detail-other-products.jquery-tabbed-panels-initialised .tabbed-panel {
	margin-top: 0;
}
.product-detail-other-products .tabbed-content-panel.inactive-panel {
	height: 0;
	padding: 0;
	border: 0;
	overflow: hidden;
}

@media all and (max-width: 25.5625em) {
	.product-detail-other-products .tabbed-content-nav .link {
		border-bottom: 0;
	}
}

@media all and (min-width: 25.625em) {
	.product-detail-other-products .heading-tab {
		width: 50%;
	}
	.product-detail-other-products .tabbed-content-nav {
		margin-bottom: -1px;
	}
	.product-detail-other-products .tabbed-content-nav li {
		display: inline-block;
		vertical-align: top;
		width: 50%;
		position: relative;
		z-index: 1;
	}
}

@media all and (min-width: 50em) {
	.product-detail-other-products .heading-tab,
	.product-detail-other-products .tabbed-content-nav li {
		width: 25%;
	}
}

@media all and (min-width: 60em) {
	.product-detail-other-products .heading-tab,
	.product-detail-other-products .tabbed-content-nav li {
		width: auto;
		min-width: 9.375em;
	}

	.product-detail-other-products .tabbed-content-nav {
		margin: 0 -0.1666666667em -1px;
		background-color: transparent;
	}
	.product-detail-other-products .tabbed-content-nav .link {
		margin: 0 0.1666666667em;
	}
	.product-detail-other-products .tabbed-content-nav .link.selected {
		border-bottom-color: var(--colour-neutral-000);
	}
}

.product-detail-select-label {
	margin-top: 0;
}