﻿/* =========================================================
DCJ CUSTOMISATION BUILDER
COMPLETE CSS
========================================================= */

/* =========================================================
01 — PAGE
========================================================= */

#dcj-customisation {
	position: relative;
	width: 100%;
	font-family: "Montserrat", sans-serif;
	color: #111111;
	background: #FFFFFF !important;
}

/* =========================================================
02 — PAGE LOCK
========================================================= */

html.dcj-builder-loading,
body.dcj-builder-loading {
	overflow: hidden !important;
	overscroll-behavior: none !important;
	touch-action: none !important;
}

/* =========================================================
03 — LOADER
DO NOT EDIT
========================================================= */

.dcj-builder-loader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	z-index: 2147483647;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: #FFFFFF;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	box-sizing: border-box;
}

.dcj-builder-loader.is-hidden {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		opacity 0.45s ease,
		visibility 0.45s ease;
}

/* =========================================================
03A — LOADER MARK
ROTATION ONLY
DO NOT EDIT
========================================================= */

.dcj-loader-mark {
	width: 150px;
	height: 92px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* =========================================================
03B — LOADER LOGO
SCALE ONLY
DO NOT EDIT
========================================================= */

.dcj-loader-logo {
	width: 85px;
	height: auto;
	display: block;
	margin: 0 auto;
	transform-origin: center center;
	will-change: transform;
	animation: dcj-loader-original 2300ms linear infinite;
}

@keyframes dcj-loader-original {
	0% {
		transform: scale(1);
	}

	3.83% {
		transform: scale(1.1);
	}

	8.61% {
		transform: scale(1);
	}

	13.39% {
		transform: scale(1.07);
	}

	19.13% {
		transform: scale(1);
	}

	22.17% {
		transform: rotate(0deg) scale(1);
	}

	26.96% {
		transform: rotate(90deg) scale(0.9);
	}

	32.17% {
		transform: rotate(300deg) scale(0.68);
	}

	36.96% {
		transform: rotate(540deg) scale(0.5);
	}

	41.96% {
		transform: rotate(660deg) scale(0.68);
	}

	52.17% {
		transform: rotate(705deg) scale(0.86);
	}

	67.83% {
		transform: rotate(718deg) scale(0.97);
	}

	93.91% {
		transform: rotate(720deg) scale(1);
	}

	100% {
		transform: rotate(720deg) scale(1);
	}
}

/* =========================================================
03C - LOADER TEXT
DO NOT EDIT
========================================================= */

.dcj-loader-text {
	margin-top: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: "Montserrat", sans-serif;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #111111;
}

.dcj-loader-message {
	display: inline-block;
}

.dcj-loader-dots {
	display: inline-flex;
	margin-left: 4px;
	gap: 2px;
}

.dcj-loader-dots span {
	display: inline-block;
	font-size: 18px;
	font-weight: 600;
	line-height: 1;
	animation:
		dcj-loader-dot 1.2s
		infinite ease-in-out;
}

.dcj-loader-dots span:nth-child(2) {
	animation-delay: 0.15s;
}

.dcj-loader-dots span:nth-child(3) {
	animation-delay: 0.3s;
}

/* =========================================================
03D — LOADING DOT ANIMATION
DO NOT EDIT
========================================================= */

@keyframes dcj-loader-dot {
	0%, 60%, 100% {
		opacity: 0.25;
		transform: translateY(0);
	}

	30% {
		opacity: 1;
		transform: translateY(-2px);
	}
}

/* =========================================================
04 — MAIN BUILDER
========================================================= */

.dcj-builder-main {
	opacity: 0;
	visibility: hidden;
	background: #FFFFFF !important;
	transition:
		opacity 0.8s ease,
		visibility 0.8s ease;
}

.dcj-builder-main.is-visible {
	opacity: 1;
	visibility: visible;
}

/* =========================================================
05 — INTRO
========================================================= */

.dcj-intro {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 35px 20px 0 20px;
	box-sizing: border-box;
	text-align: center;
	opacity: 0;
	visibility: hidden;
	max-height: 400px;
	overflow: hidden;
	transition:
		opacity 0.5s ease,
		max-height 0.6s ease,
		margin 0.6s ease,
		padding 0.6s ease,
		visibility 0.5s ease;
}

.dcj-intro.is-started {
	opacity: 1;
	visibility: visible;
}

.dcj-intro.is-hidden {
	opacity: 0 !important;
	visibility: hidden !important;
	max-height: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	pointer-events: none !important;
}

/* =========================================================
06 — INTRO LOGO
========================================================= */

.dcj-intro-logo-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0 auto 16px auto;
	opacity: 0;
	transform:
		translateY(-10px)
		scale(0.94);
	transition:
		opacity 0.8s ease,
		transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.dcj-intro.is-started .dcj-intro-logo-wrap {
	opacity: 1;
	transform:
		translateY(0)
		scale(1);
}

.dcj-intro-logo {
	display: block;
	width: 72px;
	height: auto;
	max-width: 72px;
	object-fit: contain;
	margin: 0 auto;
	box-shadow: none !important;
	filter: none !important;
}

/* =========================================================
07 — INTRO TITLE
========================================================= */

.dcj-intro-title-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 55px;
}

.dcj-intro-title {
	display: flex;
	align-items: baseline;
	justify-content: center;
	width: 100%;
	margin: 0;
	padding: 0;
	font-family: "Cormorant Garamond", serif;
	font-size: 38px;
	font-weight: 500;
	letter-spacing: 1.4px;
	line-height: 1.1;
	text-align: center;
	color: #734B00;
	white-space: nowrap;
}

.dcj-intro-typewriter {
	display: inline;
	color: #734B00;
}

.dcj-intro-cursor {
	display: inline-block;
	width: 1px;
	height: 0.95em;
	margin-left: 5px;
	background: #D4AF37;
	vertical-align: -0.08em;
	opacity: 0;
}

.dcj-intro-cursor.dcj-cursor-active {
	opacity: 1;
	animation:
		dcj-typewriter-cursor 0.8s steps(1) infinite;
}

@keyframes dcj-typewriter-cursor {
	0%, 49% {
		opacity: 1;
	}

	50%, 100% {
		opacity: 0;
	}
}

/* =========================================================
08 — INTRO COPY
========================================================= */

.dcj-intro-copy {
	display: block;
	width: 100%;
	margin: 15px 0 0 0;
	padding: 0;
	box-sizing: border-box;
	opacity: 0;
	transform: translateY(8px);
	transition:
		opacity 0.8s ease,
		transform 0.8s ease;
}

.dcj-intro-copy p {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	font-family: "Montserrat", sans-serif;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 1.6px;
	line-height: 1.5;
	text-align: center;
	color: #111111;
}

.dcj-intro.dcj-tagline-visible .dcj-intro-copy {
	opacity: 1;
	transform: translateY(0);
}

/* =========================================================
09 — INTRO DIVIDER
========================================================= */

.dcj-intro-line {
	display: block;
	width: 100%;
	height: 1px;
	margin: 18px 0 0 0;
	padding: 0;
	box-sizing: border-box;
	background: #D4AF37;
	opacity: 0;
	transform: scaleX(0);
	transform-origin: center center;
	box-shadow:
		0 1px 4px rgba(212, 175, 55, 0.18);
	transition:
		opacity 0.5s ease,
		transform 1s cubic-bezier(0.16, 1, 0.3, 1);
}

.dcj-intro.dcj-divider-visible .dcj-intro-line {
	opacity: 1;
	transform: scaleX(1);
}

/* =========================================================
10 — STEP PROGRESS
========================================================= */

.dcj-step-progress {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	width: 100%;
	margin: 0 auto 10px auto;
	padding: 0;
	font-family: "Montserrat", sans-serif;
}

.dcj-step {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	opacity: 0.42;
	transition: opacity 0.3s ease;
}

.dcj-step.is-active,
.dcj-step.is-complete {
	opacity: 1;
}

.dcj-step-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 25px;
	height: 25px;
	border: 1px solid rgba(212, 175, 55, 0.55);
	border-radius: 50%;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0;
	color: #734B00;
}

.dcj-step.is-active .dcj-step-number {
	background: #D4AF37;
	border-color: #D4AF37;
	color: #FFFFFF;
}

.dcj-step.is-complete .dcj-step-number {
	background: #F8F4F0;
	border-color: #D4AF37;
	color: #734B00;
}

.dcj-step-label {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 1.3px;
	text-transform: uppercase;
	color: #111111;
}

.dcj-step-arrow {
	font-size: 16px;
	font-weight: 300;
	color: #D4AF37;
}

/* =========================================================
11 — STEP PROGRESS DIVIDER
========================================================= */

.dcj-step-progress-divider {
	width: 100%;
	max-width: 1050px;
	height: 1px;
	margin: 0 auto 14px auto;
	background:
		linear-gradient(
			90deg,
			transparent,
			rgba(212, 175, 55, 0.75),
			transparent
		);
}

/* =========================================================
12 — CATEGORY STAGE
========================================================= */

.dcj-category-stage {
	width: 100%;
	padding: 22px 20px 0 20px;
	box-sizing: border-box;
	opacity: 0;
	transform: translateY(20px);
	transition:
		opacity 0.8s ease,
		transform 0.8s ease;
}

.dcj-category-stage.is-ready {
	opacity: 1;
	transform: translateY(0);
}

.dcj-category-heading {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 8px;
	text-align: center;
}

.dcj-category-heading span {
	font-family: "Montserrat", sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 2.8px;
	line-height: 1.3;
	color: #111111;
}

.dcj-category-subheading {
	width: 100%;
	margin: 0 auto 24px auto;
	font-family: "Cormorant Garamond", serif;
	font-size: 19px;
	font-weight: 500;
	letter-spacing: 1px;
	text-align: center;
	color: #734B00;
}

/* =========================================================
13 — CATEGORY GRID
DESKTOP = 3 COLUMNS
========================================================= */

.dcj-category-grid {
	display: grid;
	grid-template-columns:
		repeat(3, minmax(0, 1fr));
	gap: 16px;
	width: 100%;
	max-width: 1250px;
	margin: 0 auto;
	transition:
		opacity 0.45s ease,
		transform 0.55s ease;
}

.dcj-category-grid.is-collapsing {
	opacity: 0;
	transform:
		translateY(-12px)
		scale(0.985);
}

/* =========================================================
14 — CATEGORY CARDS
========================================================= */

.dcj-category-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 205px;
	padding: 28px 12px 25px 12px;
	border:
		1px solid rgba(212, 175, 55, 0.55);
	border-radius: 3px;
	background:
		linear-gradient(
			145deg,
			#FFFFFF 0%,
			#F8F4F0 48%,
			#EFE5DC 100%
		);
	box-shadow:
		0 10px 24px rgba(0, 0, 0, 0.07),
		0 3px 7px rgba(0, 0, 0, 0.04),
		inset 0 1px 0 rgba(255, 255, 255, 0.95);
	cursor: pointer;
	overflow: hidden;
	transform: translateY(0);
	transition:
		transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
		box-shadow 0.35s ease,
		border-color 0.35s ease,
		background 0.35s ease;
	box-sizing: border-box;
	appearance: none;
	-webkit-appearance: none;
}

.dcj-category-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 10%;
	width: 80%;
	height: 1px;
	background:
		linear-gradient(
			90deg,
			transparent,
			#D4AF37,
			transparent
		);
	opacity: 0.7;
}

.dcj-category-card::after {
	content: "";
	position: absolute;
	inset: 8px;
	border:
		1px solid rgba(255, 255, 255, 0.55);
	pointer-events: none;
	opacity: 0.8;
}

.dcj-category-card:hover {
	transform: translateY(-5px);
	border-color: #D4AF37;
	box-shadow:
		0 16px 30px rgba(115, 75, 0, 0.13),
		0 4px 9px rgba(0, 0, 0, 0.05),
		inset 0 1px 0 #FFFFFF;
}

.dcj-category-card.is-active {
	transform: translateY(-4px);
	border-color: #D4AF37;
	background:
		linear-gradient(
			145deg,
			#FFFFFF 0%,
			#F8F0E7 50%,
			#E8D5C4 100%
		);
	box-shadow:
		0 16px 30px rgba(115, 75, 0, 0.14),
		0 4px 9px rgba(0, 0, 0, 0.06),
		inset 0 1px 0 #FFFFFF;
}

/* =========================================================
15 — CATEGORY ICON CONTAINER
IMAGE VERSION
========================================================= */

.dcj-piece-icon {
	position: relative;
	width: 74px;
	height: 74px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 17px auto;
	flex-shrink: 0;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	transform: none;
	filter: none;
}

/* =========================================================
15A — CATEGORY ICON IMAGES
========================================================= */

.dcj-piece-icon::before,
.dcj-piece-icon::after {
	content: none !important;
	display: none !important;
}

.dcj-piece-icon img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	margin: 0;
	padding: 0;
	object-fit: contain;
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
	filter: none !important;
}

/* =========================================================
16 — CATEGORY TEXT
========================================================= */

.dcj-category-name {
	position: relative;
	z-index: 2;
	font-family:
		"Cormorant Garamond",
		serif;
	font-size: 22px;
	font-weight: 600;
	letter-spacing: 0.7px;
	line-height: 1.15;
	text-align: center;
	color: #111111;
	transform: translateZ(20px);
}

.dcj-category-description {
	position: relative;
	z-index: 2;
	margin-top: 7px;
	font-family: "Montserrat", sans-serif;
	font-size: 8px;
	font-weight: 500;
	letter-spacing: 0.7px;
	line-height: 1.55;
	text-align: center;
	text-transform: uppercase;
	color: #734B00;
	transform: translateZ(18px);
}

/* =========================================================
17 — BESPOKE CTA
LEGACY / UNUSED
========================================================= */

.dcj-bespoke-option {
	width: 100%;
	max-width: 700px;
	margin: 18px auto 0 auto;
	text-align: center;
}

.dcj-bespoke-option p {
	margin: 0 0 12px 0;
	font-family:
		"Cormorant Garamond",
		serif;
	font-size: 19px;
	font-weight: 500;
	letter-spacing: 0.7px;
	color: #111111;
}

.dcj-bespoke-button {
	width: auto;
	min-width: 230px;
	min-height: 62px;
	margin: 0 auto;
	padding: 17px 35px;
	border:
		1px solid rgba(212, 175, 55, 0.55);
	border-radius: 3px;
	background:
		linear-gradient(
			145deg,
			#FFFFFF 0%,
			#F8F0E7 55%,
			#E8D5C4 100%
		);
	cursor: pointer;
	box-shadow:
		0 10px 24px rgba(0, 0, 0, 0.07);
	transition:
		transform 0.35s ease,
		box-shadow 0.35s ease,
		border-color 0.35s ease;
}

.dcj-bespoke-button:hover {
	transform: translateY(-4px);
	border-color: #D4AF37;
	box-shadow:
		0 16px 30px rgba(115, 75, 0, 0.13);
}

/* =========================================================
18 — SELECTED STAGE
========================================================= */

.dcj-selected-stage {
	width: 100%;
	display: none;
	opacity: 0;
	visibility: hidden;
	padding: 38px 20px 60px 20px;
	box-sizing: border-box;
	transition: none;
}

.dcj-selected-stage.is-visible {
	display: block;
	opacity: 1;
	visibility: visible;
}

.dcj-category-stage.is-hidden {
	display: none;
}

/* =========================================================
19 — STEP 2 HEADING
========================================================= */

.dcj-design-stage-heading {
	width: 100%;
	max-width: 700px;
	margin: 0 auto 28px auto;
	text-align: center;
}

.dcj-design-stage-step {
	display: block;
	margin-bottom: 6px;
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 2px;
	color: #734B00;
}

.dcj-design-stage-heading h2 {
	margin: 0;
	font-family:
		"Cormorant Garamond",
		serif;
	font-size: 42px;
	font-weight: 500;
	line-height: 1.1;
	color: #111111;
}

.dcj-design-stage-line {
	width: 55px;
	height: 1px;
	margin: 13px auto 15px auto;
	background: #D4AF37;
}

.dcj-design-stage-heading p {
	margin: 0;
	font-family: "Montserrat", sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.7;
	color: #555555;
}

/* =========================================================
20 — CATEGORY SLIDER
========================================================= */

.dcj-category-slider-wrap {
	display: flex;
	align-items: center;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto 28px auto;
	padding: 0 18px;
	box-sizing: border-box;
}

.dcj-category-slider {
	flex: 1;
	min-width: 0;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-ms-overflow-style: none;
	touch-action: pan-x;
}

.dcj-category-slider::-webkit-scrollbar {
	display: none;
}

.dcj-category-track {
	display: flex;
	align-items: center;
	gap: 10px;
	width: max-content;
	padding: 5px 2px;
}

.dcj-slider-item {
	flex: 0 0 auto;
	padding: 11px 20px;
	border:
		1px solid rgba(212, 175, 55, 0.45);
	border-radius: 999px;
	background: #FFFFFF;
	font-family: "Montserrat", sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1.4px;
	color: #111111;
	cursor: pointer;
	transition:
		background 0.25s ease,
		color 0.25s ease,
		border-color 0.25s ease,
		transform 0.25s ease;
}

.dcj-slider-item:hover {
	border-color: #D4AF37;
}

.dcj-slider-item.is-active {
	background: #D4AF37;
	border-color: #D4AF37;
	color: #FFFFFF;
	transform: translateY(-2px);
}

/* =========================================================
21 — SLIDER ARROWS
========================================================= */

.dcj-slider-arrow {
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border:
		1px solid rgba(212, 175, 55, 0.55);
	border-radius: 50%;
	background: #FFFFFF;
	font-family: Arial, sans-serif;
	font-size: 24px;
	font-weight: 300;
	line-height: 1;
	color: #111111;
	cursor: pointer;
	transition:
		background 0.25s ease,
		color 0.25s ease,
		border-color 0.25s ease,
		transform 0.25s ease;
}

.dcj-slider-arrow:hover {
	background: #D4AF37;
	border-color: #D4AF37;
	color: #FFFFFF;
	transform: scale(1.05);
}

.dcj-slider-prev {
	margin-right: 10px;
}

.dcj-slider-next {
	margin-left: 10px;
}

/* =========================================================
22 — CUSTOMISER SHELL
DESKTOP = LEFT → RIGHT
PREVIEW LEFT / CONTROLS RIGHT
========================================================= */

.dcj-customiser-shell {
	display: grid;
	grid-template-columns:
		minmax(0, 1fr)
		minmax(0, 1fr);
	width: calc(100% - 40px);
	max-width: 1200px;
	margin: 0 auto;
	border:
		1px solid rgba(212, 175, 55, 0.35);
	background: #FFFFFF;
	box-shadow:
		0 20px 50px rgba(0, 0, 0, 0.08);
	min-height: 0;
}

/* =========================================================
23 — PREVIEW PANEL
LEFT SIDE — IMAGE VERSION
========================================================= */

.dcj-preview-panel {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 460px;
	padding: 50px;
	background:
		linear-gradient(
			145deg,
			#FFFFFF 0%,
			#F8F4F0 100%
		);
	border-right:
		1px solid rgba(212, 175, 55, 0.22);
}

.dcj-preview-label {
	margin-bottom: 35px;
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: #734B00;
}

.dcj-preview-piece {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.dcj-preview-icon {
	position: relative;
	width: 220px;
	height: 220px;
	display: flex;
	align-items: center;
	justify-content: center;
	border:
		1px solid rgba(212, 175, 55, 0.25);
	border-radius: 50%;
	background:
		radial-gradient(
			circle,
			#FFFFFF 0%,
			#F8F4F0 65%,
			#E8D5C4 100%
		);
	box-shadow:
		0 20px 40px rgba(0, 0, 0, 0.08);
	margin-bottom: 25px;
	overflow: hidden;
	transition:
		border-color 0.35s ease,
		box-shadow 0.35s ease,
		background 0.35s ease;
}

.dcj-preview-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transform: scale(1.01);
	transition:
		opacity 0.5s ease,
		transform 0.6s ease;
}

.dcj-preview-img.is-loaded {
	opacity: 1;
	transform: scale(1);
}

.dcj-preview-fallback {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	pointer-events: none;
	text-align: center;
}

.dcj-preview-fallback-mark {
	font-family: "Cormorant Garamond", serif;
	font-size: 46px;
	font-weight: 600;
	letter-spacing: 3px;
	color: #D4AF37;
	opacity: 0.85;
}

.dcj-preview-fallback-text {
	font-family: "Montserrat", sans-serif;
	font-size: 8px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #734B00;
	opacity: 0.7;
}

.dcj-preview-piece.has-image .dcj-preview-fallback {
	opacity: 0;
	transition: opacity 0.3s ease;
}

.dcj-preview-piece:not(.has-image) .dcj-preview-img {
	display: none;
}

.dcj-preview-caption {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	text-align: center;
}

.dcj-preview-category {
	font-family:
		"Cormorant Garamond",
		serif;
	font-size: 32px;
	font-weight: 500;
	text-transform: capitalize;
	text-align: center;
	color: #111111;
	transition:
		color 0.3s ease;
}

.dcj-preview-name {
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #734B00;
}

/* =========================================================
24 — CONTROLS PANEL
RIGHT SIDE
========================================================= */

.dcj-controls-panel {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: 30px 60px;
	box-sizing: border-box;
}

.dcj-standard-controls {
	display: block;
}

.dcj-controls-step {
	margin-bottom: 7px;
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 2px;
	color: #734B00;
}

.dcj-controls-heading {
	font-family:
		"Cormorant Garamond",
		serif;
	font-size: 38px;
	font-weight: 500;
	color: #111111;
}

.dcj-controls-line {
	width: 55px;
	height: 1px;
	margin-top: 10px;
	margin-bottom: 16px;
	background: #D4AF37;
}

.dcj-controls-note {
	max-width: 420px;
	margin: 0;
	font-family: "Montserrat", sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.8;
	color: #555555;
}

/* =========================================================
25 — PERSONAL DESIGN
========================================================= */

.dcj-personal-design {
	display: none;
	opacity: 0;
	transform: translateY(10px);
	transition:
		opacity 0.45s ease,
		transform 0.45s ease;
}

.dcj-customiser-shell.dcj-personal-active
.dcj-standard-controls {
	display: none;
}

.dcj-customiser-shell.dcj-personal-active
.dcj-personal-design {
	display: block;
	opacity: 1;
	transform: translateY(0);
}

.dcj-personal-design-visual {
	width: 100%;
	margin: 0 0 22px 0;
	border: 1px solid rgba(212, 175, 55, 0.35);
	border-radius: 2px;
	overflow: hidden;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.07);
}

.dcj-personal-design-image {
	display: block;
	width: 100%;
	height: 180px;
	margin: 0;
	padding: 0;
	object-fit: cover;
	object-position: center center;
	border: none;
}

.dcj-personal-design-step {
	margin-bottom: 7px;
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 2px;
	color: #734B00;
}

.dcj-personal-design-heading {
	font-family:
		"Cormorant Garamond",
		serif;
	font-size: 38px;
	font-weight: 500;
	line-height: 1.15;
	color: #111111;
}

.dcj-personal-design-note {
	margin: 0 0 12px 0;
	font-family: "Montserrat", sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.6;
	color: #111111;
}

.dcj-personal-design-description {
	max-width: 430px;
	margin: 0 0 28px 0;
	font-family: "Montserrat", sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.9;
	color: #555555;
}

/* =========================================================
26 — WHATSAPP BUTTON
========================================================= */

.dcj-whatsapp-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 24px;
	border:
		1px solid #D4AF37;
	border-radius: 2px;
	background: #D4AF37;
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.4px;
	line-height: 1;
	text-decoration: none;
	color: #FFFFFF;
	box-shadow:
		0 8px 18px rgba(115, 75, 0, 0.14);
	transition:
		background 0.25s ease,
		border-color 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.dcj-whatsapp-button:hover {
	background: #734B00;
	border-color: #734B00;
	color: #FFFFFF;
	transform: translateY(-2px);
	box-shadow:
		0 12px 24px rgba(115, 75, 0, 0.20);
}

/* =========================================================
26A — WHATSAPP IMAGE ICON
========================================================= */

.dcj-whatsapp-icon {
	display: block;
	width: 17px;
	height: 17px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	object-fit: contain;
	object-position: center;
	flex: 0 0 17px;
	box-shadow: none !important;
	filter: none !important;
}

/* =========================================================
27 — PERSONAL DESIGN PREVIEW
========================================================= */

.dcj-customiser-shell.dcj-personal-active
.dcj-preview-icon {
	border-color:
		rgba(212, 175, 55, 0.50);
	background:
		radial-gradient(
			circle,
			#FFFFFF 0%,
			#F8F0E7 58%,
			#E8D5C4 100%
		);
	box-shadow:
		0 20px 45px rgba(115, 75, 0, 0.12);
}

.dcj-customiser-shell.dcj-personal-active
.dcj-preview-icon::before {
	content: "✦";
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-family:
		"Cormorant Garamond",
		serif;
	font-size: 82px;
	font-weight: 400;
	color: #D4AF37;
}

.dcj-customiser-shell.dcj-personal-active
.dcj-preview-category {
	color: #734B00;
}

/* =========================================================
28 — JEWELLERY EDITOR AREA
========================================================= */

.dcj-editor-sections {
	width: 100%;
	margin-top: 8px;
	box-sizing: border-box;
}

.dcj-editor-section {
	display: none;
	width: 100%;
	margin: 0;
	box-sizing: border-box;
}

.dcj-editor-section.is-active {
	display: block;
	opacity: 1;
}

/* =========================================================
28A — REAL EDITOR OVERRIDE
========================================================= */

.dcj-customiser-shell.dcj-editor-active
.dcj-standard-controls {
	display: none;
}

/* =========================================================
29 — STEP 3
ADD TO CART
========================================================= */

.dcj-step-three-preview {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
	width: calc(100% - 40px);
	max-width: 1200px;
	min-height: 96px;
	margin: 28px auto 0 auto;
	padding: 0;
	box-sizing: border-box;
	border-top:
		1px solid rgba(212, 175, 55, 0.25);
	text-align: center;
	background: #FFFFFF;
	overflow: hidden;
}

.dcj-price-block {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: 18px 24px;
	text-align: left;
}

.dcj-price-label {
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 2px;
	color: #B08A2B;
}

.dcj-price-value {
	margin-top: 3px;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 27px;
	font-weight: 600;
	line-height: 1.05;
	color: #3B2A12;
}

.dcj-price-note {
	margin-top: 4px;
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 500;
	line-height: 1.55;
	letter-spacing: 0.2px;
	color: #8A6A3A;
}

.dcj-price-cta {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	padding: 18px 24px;
	border-left:
		1px solid rgba(212, 175, 55, 0.22);
	background:
		linear-gradient(
			135deg,
			#FCF9F3 0%,
			#F5EEE4 100%
		);
}

.dcj-price-cta .dcj-cart-error {
	width: auto;
	max-width: 260px;
	margin-top: 10px;
}

.dcj-add-to-cart-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin-top: 8px;
	padding: 0 30px;
	border:
		1px solid #D4AF37;
	border-radius: 2px;
	background: #D4AF37;
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.5px;
	line-height: 1;
	text-transform: uppercase;
	color: #FFFFFF;
	cursor: pointer;
	box-shadow:
		0 8px 18px rgba(115, 75, 0, 0.14);
	transition:
		background 0.25s ease,
		border-color 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.dcj-add-to-cart-button:hover {
	background: #734B00;
	border-color: #734B00;
	color: #FFFFFF;
	transform: translateY(-2px);
	box-shadow:
		0 12px 24px rgba(115, 75, 0, 0.20);
}

.dcj-add-to-cart-button:disabled {
	opacity: 0.4;
	cursor: not-allowed;
	transform: none;
}

.dcj-step-three-preview.is-hidden {
	display: none !important;
}

.dcj-cart-error {
	display: none;
	width: 100%;
	margin: 12px 0 0 0;
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	font-weight: 500;
	line-height: 1.55;
	letter-spacing: 0.3px;
	color: #A33;
}

.dcj-cart-error.is-visible {
	display: block;
}

/* =========================================================
30 — CART CONFIRMATION
FINAL DESIGN PRESENTATION
========================================================= */

.dcj-cart-confirmation {
	display: none;
	width: calc(100% - 40px);
	max-width: 1200px;
	margin: 28px auto 0 auto;
	padding: 45px 30px 50px 30px;
	box-sizing: border-box;
	border:
		1px solid rgba(212, 175, 55, 0.35);
	background:
		linear-gradient(
			145deg,
			#FFFFFF 0%,
			#F8F4F0 100%
		);
	text-align: center;
	box-shadow:
		0 15px 35px rgba(0, 0, 0, 0.06);
}

.dcj-cart-confirmation.is-visible {
	display: block;
}

.dcj-cart-confirmation-step {
	margin-bottom: 7px;
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 2px;
	color: #734B00;
}

.dcj-cart-confirmation-heading {
	font-family:
		"Cormorant Garamond",
		serif;
	font-size: 42px;
	font-weight: 500;
	line-height: 1.1;
	color: #111111;
}

.dcj-cart-confirmation-subheading {
	margin-top: 10px;
	font-family:
		"Cormorant Garamond",
		serif;
	font-size: 24px;
	font-weight: 400;
	font-style: italic;
	color: #555555;
}

.dcj-cart-confirmation-line {
	width: 55px;
	height: 1px;
	margin: 14px auto 18px auto;
	background: #D4AF37;
}

.dcj-cart-confirmation-note {
	max-width: 500px;
	margin: 0 auto 25px auto;
	font-family: "Montserrat", sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.7;
	color: #555555;
}

.dcj-go-to-cart-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 30px;
	border:
		1px solid #D4AF37;
	border-radius: 2px;
	background: #D4AF37;
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-decoration: none;
	color: #FFFFFF;
	box-shadow:
		0 8px 18px rgba(115, 75, 0, 0.14);
	transition:
		background 0.25s ease,
		border-color 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.dcj-go-to-cart-button:hover {
	background: #734B00;
	border-color: #734B00;
	color: #FFFFFF;
	transform: translateY(-2px);
	box-shadow:
		0 12px 24px rgba(115, 75, 0, 0.20);
}

/* =========================================================
30A — FINAL DESIGN CARD
SMALL PREMIUM PRODUCT CARD
========================================================= */

.dcj-final-card {
	display: flex;
	align-items: stretch;
	gap: 28px;
	max-width: 560px;
	margin: 0 auto 30px auto;
	padding: 24px;
	box-sizing: border-box;
	border:
		1px solid rgba(212, 175, 55, 0.35);
	border-radius: 3px;
	background: #FFFFFF;
	box-shadow:
		0 14px 32px rgba(0, 0, 0, 0.06),
		inset 0 1px 0 rgba(255, 255, 255, 0.95);
	text-align: left;
}

.dcj-final-card-image {
	position: relative;
	flex: 0 0 120px;
	width: 120px;
	height: 140px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background:
		radial-gradient(
			circle,
			#FFFFFF 0%,
			#F8F4F0 65%,
			#E8D5C4 100%
		);
	border: 1px solid rgba(212, 175, 55, 0.25);
	overflow: hidden;
}

.dcj-final-card-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.5s ease;
}

.dcj-final-card-img.is-loaded {
	opacity: 1;
}

.dcj-final-card-fallback {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	text-align: center;
}

.dcj-final-card-fallback
.dcj-preview-fallback-mark {
	font-size: 26px;
}

.dcj-final-card-fallback
.dcj-preview-fallback-text {
	font-size: 7px;
}

.dcj-final-card-details {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.dcj-final-card-name {
	font-family:
		"Cormorant Garamond",
		serif;
	font-size: 26px;
	font-weight: 600;
	letter-spacing: 0.5px;
	line-height: 1.15;
	color: #111111;
}

.dcj-final-card-specs {
	list-style: none;
	margin: 14px 0 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.dcj-final-card-specs li {
	display: flex;
	align-items: baseline;
	gap: 8px;
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.3px;
	line-height: 1.4;
	color: #555555;
}

.dcj-final-card-specs li::before {
	content: "";
	flex: 0 0 6px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #D4AF37;
}

.dcj-final-card-specs strong {
	font-weight: 700;
	color: #111111;
}

/* =========================================================
31 — STEP 1 SPACING OVERRIDE
DO NOT REMOVE
========================================================= */

#dcj-customisation .dcj-category-stage {
	margin-bottom: 0 !important;
	min-height: 0 !important;
	height: auto !important;
}

#dcj-customisation .dcj-category-grid {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

#dcj-customisation .dcj-bespoke-option {
	margin-top: 18px !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

#dcj-customisation .dcj-category-stage::after {
	display: none !important;
	content: none !important;
}

/* =========================================================
32 — BESPOKE EDITORIAL
DO NOT MODIFY
DESKTOP = LEFT / RIGHT
========================================================= */

#dcj-customisation .dcj-bespoke-option {
	display: grid !important;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 20px;
	width: 100%;
	max-width: 1250px;
	margin: 58px auto 0 auto !important;
	box-sizing: border-box;
}

#dcj-customisation .dcj-bespoke-quote {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	min-height: 420px;
	padding: 58px 60px;
	box-sizing: border-box;
	border: 1px solid rgba(212,175,55,0.38);
	border-radius: 2px;
	background:
		linear-gradient(
			145deg,
			#FFFFFF 0%,
			#FBF7F3 55%,
			#F0E5DB 100%
		);
	box-shadow:
		0 18px 40px rgba(0,0,0,0.055),
		0 4px 12px rgba(0,0,0,0.025);
	text-align: left;
}

#dcj-customisation .dcj-bespoke-label {
	margin: 0 0 18px 0;
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 3px;
	line-height: 1;
	color: #734B00;
}

#dcj-customisation .dcj-bespoke-heading {
	max-width: 480px;
	margin: 0;
	font-family: "Cormorant Garamond", serif;
	font-size: 48px;
	font-weight: 500;
	line-height: 0.98;
	letter-spacing: -0.5px;
	color: #111111;
}

#dcj-customisation .dcj-bespoke-line {
	width: 62px;
	height: 1px;
	margin: 27px 0 25px 0;
	background: #D4AF37;
}

#dcj-customisation .dcj-bespoke-description {
	max-width: 430px;
	margin: 0;
	font-family: "Cormorant Garamond", serif;
	font-size: 27px;
	font-weight: 400;
	font-style: italic;
	line-height: 1.25;
	letter-spacing: 0.1px;
	color: #333333;
}

#dcj-customisation .dcj-bespoke-signature {
	margin-top: 24px;
	font-family: "Cormorant Garamond", serif;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 1px;
	color: #734B00;
}

#dcj-customisation .dcj-bespoke-image {
	position: relative;
	min-height: 420px;
	overflow: hidden;
	border: 1px solid rgba(212,175,55,0.38);
	border-radius: 2px;
	background: #F8F4F0;
	box-shadow:
		0 18px 40px rgba(0,0,0,0.055),
		0 4px 12px rgba(0,0,0,0.025);
	box-sizing: border-box;
}

#dcj-customisation .dcj-bespoke-image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 420px;
	margin: 0;
	padding: 0;
	object-fit: cover;
	object-position: center center;
	border: none;
	box-shadow: none !important;
	transition: transform 0.7s ease;
}

#dcj-customisation .dcj-bespoke-image:hover img {
	transform: scale(1.02);
}

/* =========================================================
32A — BESPOKE MOBILE
========================================================= */

@media (max-width: 767px) {

	#dcj-customisation .dcj-bespoke-option {
		grid-template-columns: 1fr !important;
		gap: 12px;
		margin-top: 42px !important;
	}

	#dcj-customisation .dcj-bespoke-quote {
		min-height: 330px;
		padding: 42px 28px;
	}

	#dcj-customisation .dcj-bespoke-label {
		margin-bottom: 15px;
		font-size: 8px;
		letter-spacing: 2.5px;
	}

	#dcj-customisation .dcj-bespoke-heading {
		max-width: 100%;
		font-size: 36px;
		line-height: 1;
	}

	#dcj-customisation .dcj-bespoke-line {
		width: 50px;
		margin: 22px 0 20px 0;
	}

	#dcj-customisation .dcj-bespoke-description {
		max-width: 100%;
		font-size: 22px;
		line-height: 1.25;
	}

	#dcj-customisation .dcj-bespoke-signature {
		margin-top: 20px;
		font-size: 18px;
	}

	#dcj-customisation .dcj-bespoke-image {
		width: 100%;
		min-height: 330px;
	}

	#dcj-customisation .dcj-bespoke-image img {
		min-height: 330px;
		object-fit: cover;
		object-position: center center;
	}
}

/* =========================================================
32B — BESPOKE SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

	#dcj-customisation .dcj-bespoke-option {
		grid-template-columns: 1fr !important;
		gap: 10px;
		margin-top: 36px !important;
	}

	#dcj-customisation .dcj-bespoke-quote {
		min-height: 300px;
		padding: 34px 22px;
	}

	#dcj-customisation .dcj-bespoke-label {
		font-size: 7px;
		letter-spacing: 2px;
		margin-bottom: 13px;
	}

	#dcj-customisation .dcj-bespoke-heading {
		font-size: 31px;
		line-height: 1;
	}

	#dcj-customisation .dcj-bespoke-line {
		width: 45px;
		margin: 19px 0 17px 0;
	}

	#dcj-customisation .dcj-bespoke-description {
		font-size: 20px;
		line-height: 1.2;
	}

	#dcj-customisation .dcj-bespoke-signature {
		margin-top: 17px;
		font-size: 17px;
	}

	#dcj-customisation .dcj-bespoke-image {
		min-height: 285px;
	}

	#dcj-customisation .dcj-bespoke-image img {
		min-height: 285px;
		object-fit: cover;
		object-position: center center;
	}
}

/* =========================================================
33 — MOBILE OPTIMISATION
ALL OTHER MOBILE ELEMENTS
========================================================= */

@media (max-width: 767px) {

	/* PAGE */

	#dcj-customisation {
		width: 100%;
		max-width: 100%;
		overflow-x: hidden;
	}

	#dcj-customisation .dcj-builder-main {
		width: 100%;
		max-width: 100%;
	}

	/* INTRO */

	#dcj-customisation .dcj-intro {
		padding: 30px 18px 0 18px;
	}

	#dcj-customisation .dcj-intro-logo {
		width: 62px;
		max-width: 62px;
		height: auto;
	}

	#dcj-customisation .dcj-intro-logo-wrap {
		margin-bottom: 16px;
	}

	#dcj-customisation .dcj-intro-title {
		font-size: 25px;
		line-height: 1.15;
		letter-spacing: 0.6px;
	}

	#dcj-customisation .dcj-intro-copy {
		margin-top: 14px;
	}

	#dcj-customisation .dcj-intro-copy p {
		font-size: 12px;
		line-height: 1.65;
		letter-spacing: 0.4px;
	}

	#dcj-customisation .dcj-intro-line {
		margin-top: 17px;
	}

	/* STEP PROGRESS */

	#dcj-customisation .dcj-step-progress {
		width: 100%;
		padding: 0 4px;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 7px;
		margin-bottom: 14px;
	}

	#dcj-customisation .dcj-step {
		display: flex;
		align-items: center;
		gap: 6px;
		white-space: nowrap;
	}

	#dcj-customisation .dcj-step-number {
		width: 24px;
		height: 24px;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 9px;
	}

	#dcj-customisation .dcj-step-label {
		font-size: 8px;
		letter-spacing: 0.8px;
	}

	#dcj-customisation .dcj-step-arrow {
		font-size: 13px;
	}

	/* STEP 1 HEADING */

	#dcj-customisation .dcj-category-stage {
		padding: 22px 14px 0 14px;
	}

	#dcj-customisation .dcj-category-heading {
		margin-bottom: 8px;
	}

	#dcj-customisation .dcj-category-heading span {
		font-size: 11px;
		line-height: 1.4;
		letter-spacing: 1.7px;
	}

	#dcj-customisation .dcj-category-subheading {
		margin-bottom: 22px;
		font-size: 17px;
		line-height: 1.4;
		letter-spacing: 0.3px;
	}

	/* CATEGORY GRID */

	#dcj-customisation .dcj-category-grid {
		width: 100%;
		grid-template-columns:
			repeat(2, minmax(0, 1fr));
		gap: 11px;
		margin-left: 0;
		margin-right: 0;
	}

	#dcj-customisation .dcj-category-card {
		width: 100%;
		min-width: 0;
		min-height: 172px;
		padding: 22px 9px 20px 9px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
		box-sizing: border-box;
	}

	#dcj-customisation .dcj-piece-icon {
		width: 56px;
		height: 56px;
		margin-bottom: 13px;
		flex-shrink: 0;
	}

	#dcj-customisation .dcj-piece-icon img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}

	#dcj-customisation .dcj-category-name {
		font-size: 19px;
		line-height: 1.15;
		letter-spacing: 0.3px;
	}

	#dcj-customisation .dcj-category-description {
		max-width: 145px;
		margin-top: 7px;
		font-size: 8px;
		line-height: 1.5;
		letter-spacing: 0.45px;
	}

	/* STEP 2 */

	#dcj-customisation .dcj-selected-stage {
		padding: 28px 14px 45px 14px;
	}

	#dcj-customisation .dcj-design-stage-heading {
		margin-bottom: 24px;
	}

	#dcj-customisation .dcj-design-stage-step {
		font-size: 9px;
		letter-spacing: 1.6px;
		line-height: 1.4;
	}

	#dcj-customisation .dcj-design-stage-heading h2 {
		margin-top: 7px;
		font-size: 32px;
		line-height: 1.08;
	}

	#dcj-customisation .dcj-design-stage-heading p {
		margin-top: 10px;
		font-size: 12px;
		line-height: 1.7;
		letter-spacing: 0.1px;
	}

	/* CATEGORY SLIDER */

	#dcj-customisation .dcj-category-slider-wrap {
		width: 100%;
		display: flex;
		align-items: center;
		padding: 0;
		margin-bottom: 24px;
	}

	#dcj-customisation .dcj-category-slider {
		min-width: 0;
		flex: 1;
	}

	#dcj-customisation .dcj-slider-item {
		min-height: 38px;
		padding: 9px 16px;
		font-size: 10px;
		line-height: 1.2;
		letter-spacing: 0.7px;
		white-space: nowrap;
	}

	#dcj-customisation .dcj-slider-arrow {
		width: 34px;
		height: 34px;
		flex: 0 0 34px;
		font-size: 18px;
	}

	#dcj-customisation .dcj-slider-prev {
		margin-right: 7px;
	}

	#dcj-customisation .dcj-slider-next {
		margin-left: 7px;
	}

	/* CUSTOMISER SHELL */

	#dcj-customisation .dcj-customiser-shell {
		width: 100%;
		grid-template-columns: 1fr;
		gap: 0;
		margin: 0;
	}

	/* LIVE PREVIEW */

	#dcj-customisation .dcj-preview-panel {
		width: 100%;
		min-height: 350px;
		padding: 34px 18px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		border-right: none;
	}

	#dcj-customisation .dcj-preview-label {
		margin-bottom: 22px;
		font-size: 9px;
		line-height: 1.4;
		letter-spacing: 1.8px;
	}

	#dcj-customisation .dcj-preview-icon {
		width: 150px;
		height: 150px;
		flex-shrink: 0;
	}

	#dcj-customisation .dcj-preview-category {
		margin-top: 18px;
		font-size: 27px;
		line-height: 1.15;
		letter-spacing: 0.4px;
	}

	/* CONTROLS */

	#dcj-customisation .dcj-controls-panel {
		width: 100%;
		padding: 22px 18px 20px 18px;
		box-sizing: border-box;
	}

	#dcj-customisation .dcj-controls-step {
		font-size: 9px;
		line-height: 1.4;
		letter-spacing: 1.7px;
	}

	#dcj-customisation .dcj-controls-heading {
		margin-top: 7px;
		font-size: 30px;
		line-height: 1.1;
	}

	#dcj-customisation .dcj-controls-line {
		margin-top: 14px;
		margin-bottom: 20px;
	}

	#dcj-customisation .dcj-controls-note {
		font-size: 12px;
		line-height: 1.75;
	}

	/* PERSONAL DESIGN */

	#dcj-customisation .dcj-personal-design {
		width: 100%;
	}

	#dcj-customisation .dcj-personal-design-step {
		font-size: 9px;
		line-height: 1.4;
		letter-spacing: 1.7px;
	}

	#dcj-customisation .dcj-personal-design-heading {
		margin-top: 7px;
		font-size: 30px;
		line-height: 1.1;
	}

	#dcj-customisation .dcj-personal-design-note {
		margin-top: 12px;
		font-size: 13px;
		line-height: 1.65;
	}

	#dcj-customisation .dcj-personal-design-description {
		margin-top: 12px;
		font-size: 11px;
		line-height: 1.75;
	}

	#dcj-customisation .dcj-whatsapp-button {
		width: 100%;
		min-height: 48px;
		margin-top: 22px;
		padding: 12px 16px;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 10px;
		line-height: 1.3;
		letter-spacing: 0.8px;
		box-sizing: border-box;
	}

	/* EDITOR AREA */

	#dcj-customisation .dcj-editor-sections {
		width: 100%;
		margin-top: 8px;
	}

	/* STEP 3 */

	#dcj-customisation .dcj-step-three-preview {
		width: 100%;
		min-height: 90px;
		margin-top: 20px;
		padding: 20px 14px;
		box-sizing: border-box;
	}

	#dcj-customisation .dcj-step-three-preview span {
		font-size: 9px;
		letter-spacing: 1.6px;
	}

	/* CART CONFIRMATION */

	#dcj-customisation .dcj-cart-confirmation {
		width: 100%;
		margin-top: 20px;
		padding: 38px 18px 42px 18px;
		box-sizing: border-box;
	}

	#dcj-customisation .dcj-cart-confirmation-step {
		font-size: 9px;
		letter-spacing: 1.7px;
	}

	#dcj-customisation .dcj-cart-confirmation-heading {
		margin-top: 7px;
		font-size: 34px;
		line-height: 1.08;
	}

	#dcj-customisation .dcj-cart-confirmation-subheading {
		font-size: 20px;
	}

	#dcj-customisation .dcj-cart-confirmation-note {
		margin-top: 12px;
		font-size: 11px;
		line-height: 1.75;
	}

	#dcj-customisation .dcj-go-to-cart-button {
		width: 100%;
		min-height: 48px;
		margin-top: 22px;
		padding: 13px 16px;
		font-size: 9px;
		line-height: 1.3;
		letter-spacing: 0.8px;
		box-sizing: border-box;
	}

	/* FINAL CARD */

	#dcj-customisation .dcj-final-card {
		flex-direction: column;
		align-items: center;
		gap: 20px;
		padding: 22px;
	}

	#dcj-customisation .dcj-final-card-image {
		flex: 0 0 110px;
		width: 110px;
		height: 130px;
	}

	#dcj-customisation .dcj-final-card-details {
		width: 100%;
		text-align: center;
	}

	#dcj-customisation .dcj-final-card-name {
		font-size: 23px;
	}

	#dcj-customisation .dcj-final-card-specs {
		align-items: center;
	}

	#dcj-customisation .dcj-final-card-specs li {
		text-align: center;
	}
}

/* =========================================================
33A — SMALL MOBILE
MAX 420px
========================================================= */

@media (max-width: 420px) {

	/* INTRO */

	#dcj-customisation .dcj-intro {
		padding:
			26px
			15px
			0
			15px;
	}

	#dcj-customisation .dcj-intro-logo {
		width: 55px;
		max-width: 55px;
	}

	#dcj-customisation .dcj-intro-title {
		font-size: 23px;
	}

	#dcj-customisation .dcj-intro-copy p {
		font-size: 11px;
	}

	/* PROGRESS */

	#dcj-customisation .dcj-step-progress {
		gap: 5px;
	}

	#dcj-customisation .dcj-step {
		gap: 4px;
	}

	#dcj-customisation .dcj-step-number {
		width: 21px;
		height: 21px;
		font-size: 8px;
	}

	#dcj-customisation .dcj-step-label {
		font-size: 7px;
		letter-spacing: 0.5px;
	}

	#dcj-customisation .dcj-step-arrow {
		font-size: 11px;
	}

	/* CATEGORY */

	#dcj-customisation .dcj-category-stage {
		padding-left: 10px;
		padding-right: 10px;
	}

	#dcj-customisation .dcj-category-heading span {
		font-size: 10px;
		letter-spacing: 1.4px;
	}

	#dcj-customisation .dcj-category-subheading {
		font-size: 15px;
	}

	/* CATEGORY CARDS */

	#dcj-customisation .dcj-category-grid {
		gap: 8px;
	}

	#dcj-customisation .dcj-category-card {
		min-height: 154px;
		padding:
			17px
			6px
			15px
			6px;
	}

	#dcj-customisation .dcj-piece-icon {
		width: 49px;
		height: 49px;
		margin-bottom: 10px;
	}

	#dcj-customisation .dcj-piece-icon img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}

	#dcj-customisation .dcj-category-name {
		font-size: 17px;
	}

	#dcj-customisation .dcj-category-description {
		max-width: 125px;
		font-size: 7px;
		line-height: 1.45;
	}

	/* STEP 2 */

	#dcj-customisation .dcj-selected-stage {
		padding:
			25px
			10px
			38px
			10px;
	}

	#dcj-customisation .dcj-design-stage-heading h2 {
		font-size: 29px;
	}

	#dcj-customisation .dcj-design-stage-heading p {
		font-size: 11px;
	}

	/* SLIDER */

	#dcj-customisation .dcj-slider-item {
		font-size: 9px;
	}

	#dcj-customisation .dcj-slider-arrow {
		width: 31px;
		height: 31px;
		flex-basis: 31px;
		font-size: 16px;
	}

	/* PREVIEW */

	#dcj-customisation .dcj-preview-panel {
		min-height: 315px;
		padding:
			30px
			14px;
	}

	#dcj-customisation .dcj-preview-label {
		font-size: 8px;
		margin-bottom: 20px;
	}

	#dcj-customisation .dcj-preview-icon {
		width: 120px;
		height: 120px;
	}

	#dcj-customisation .dcj-preview-category {
		margin-top: 15px;
		font-size: 24px;
	}

	/* CONTROLS */

	#dcj-customisation .dcj-controls-panel {
		padding:
			18px
			14px
			20px
			14px;
	}

	#dcj-customisation .dcj-controls-heading {
		font-size: 27px;
	}

	#dcj-customisation .dcj-controls-note {
		font-size: 11px;
	}

	/* PERSONAL DESIGN */

	#dcj-customisation .dcj-personal-design-heading {
		font-size: 27px;
	}

	#dcj-customisation .dcj-personal-design-note {
		font-size: 12px;
	}

	#dcj-customisation .dcj-personal-design-description {
		font-size: 10px;
	}

	#dcj-customisation .dcj-whatsapp-button {
		font-size: 9px;
	}

	/* STEP 3 */

	#dcj-customisation .dcj-cart-confirmation-heading {
		font-size: 31px;
	}

	#dcj-customisation .dcj-cart-confirmation-note {
		font-size: 10px;
	}

	#dcj-customisation .dcj-go-to-cart-button {
		font-size: 8.5px;
	}

	#dcj-customisation .dcj-final-card {
		padding: 18px;
	}

	#dcj-customisation .dcj-final-card-name {
		font-size: 21px;
	}
}

/* =========================================================
34 — MOBILE SAFETY
========================================================= */

@media (max-width: 767px) {

	#dcj-customisation *,
	#dcj-customisation *::before,
	#dcj-customisation *::after {
		box-sizing: border-box;
	}

	#dcj-customisation img {
		max-width: 100%;
	}

	#dcj-customisation button,
	#dcj-customisation a {
		max-width: 100%;
	}

	#dcj-customisation .dcj-category-grid,
	#dcj-customisation .dcj-customiser-shell,
	#dcj-customisation .dcj-cart-confirmation,
	#dcj-customisation .dcj-step-three-preview {
		max-width: 100%;
		min-width: 0;
	}
}

/* =========================================================
35 — JEWELLERY CATEGORY ICONS
PNG IMAGES
========================================================= */

#dcj-customisation .dcj-piece-icon {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 70px;
	margin: 0 auto 16px auto;
	flex-shrink: 0;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	transform: none !important;
	filter: none !important;
}

#dcj-customisation .dcj-piece-icon::before,
#dcj-customisation .dcj-piece-icon::after {
	content: none !important;
	display: none !important;
}

#dcj-customisation .dcj-piece-icon img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	filter: none !important;
}

/* =========================================================
35A — REAL ICONS MOBILE
========================================================= */

@media (max-width: 767px) {

	#dcj-customisation .dcj-piece-icon {
		width: 56px;
		height: 56px;
		margin-bottom: 13px;
	}

	#dcj-customisation .dcj-piece-icon img {
		width: 100% !important;
		height: 100% !important;
		object-fit: contain !important;
	}
}

/* =========================================================
35B — REAL ICONS SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

	#dcj-customisation .dcj-piece-icon {
		width: 49px;
		height: 49px;
		margin-bottom: 10px;
	}

	#dcj-customisation .dcj-piece-icon img {
		width: 100% !important;
		height: 100% !important;
		object-fit: contain !important;
	}
}

/* =========================================================
36 — DATA-DRIVEN DESIGNER CONTROL SYSTEM
BUILT FROM DCJ.CATALOG IN JAVASCRIPT
REPLACES OLD STYLE → SUBSTYLE → SIDE PROFILE ARCHITECTURE
========================================================= */

#dcj-customisation .dcj-designer {
	width: 100%;
	box-sizing: border-box;
}

/* =========================================================
36.01 — CONTROL SECTION
ONE SECTION PER CONTROL GROUP
========================================================= */

#dcj-customisation .dcj-control-section {
	width: 100%;
	margin: 0 0 14px 0;
	padding: 0;
	box-sizing: border-box;
}

/* =========================================================
36.02 — CONTROL SECTION HEADER
========================================================= */

#dcj-customisation .dcj-section-head {
	position: relative;
	margin: 0 0 8px 0;
	padding: 0 0 0 20px;
	box-sizing: border-box;
}

#dcj-customisation .dcj-section-head::before {
	content: "";
	position: absolute;
	top: 4px;
	left: 0;
	width: 2px;
	height: calc(100% - 8px);
	background:
		linear-gradient(
			180deg,
			#D4AF37,
			rgba(212, 175, 55, 0.15)
		);
}

#dcj-customisation .dcj-section-title {
	display: block;
	margin: 0;
	font-family: "Cormorant Garamond", serif;
	font-size: 25px;
	font-weight: 500;
	line-height: 1;
	color: #111111;
}

#dcj-customisation .dcj-section-divider {
	width: 100%;
	height: 1px;
	margin: 12px 0 0 0;
	background:
		linear-gradient(
			90deg,
			rgba(212, 175, 55, 0.55),
			transparent
		);
}

/* =========================================================
36.03 — STYLE SELECTOR
HORIZONTAL SCROLLABLE — NAMES ONLY — NOT STICKY
FIRST CHIP SITS FLUSH WITH THE LEFT EDGE (NO LEADING INSET)
EDGE GRADIENTS VEIL THE OVERFLOW SOFTLY
========================================================= */

#dcj-customisation .dcj-style-selector-wrap {
	width: 100%;
	position: relative;
}

#dcj-customisation .dcj-style-selector {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	margin: 0;
	padding: 6px 2px 10px 0;
	box-sizing: border-box;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-ms-overflow-style: none;
	touch-action: pan-x;
	cursor: grab;
}

/* The row's inner track holds every option. It is a single element so the
   whole line can slide as one unit; it keeps the same 8px option spacing. */
#dcj-customisation .dcj-style-track {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 8px;
}

#dcj-customisation .dcj-style-selector::-webkit-scrollbar {
	display: none;
}

#dcj-customisation .dcj-style-selector.dcj-style-dragging {
	cursor: grabbing;
	user-select: none;
	-webkit-user-select: none;
}

#dcj-customisation .dcj-style-selector-wrap::before,
#dcj-customisation .dcj-style-selector-wrap::after {
	content: "";
	position: absolute;
	top: 6px;
	bottom: 10px;
	width: 50px;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.25s ease;
}

#dcj-customisation .dcj-style-selector-wrap.has-overflow-left::before {
	left: 0;
	background: linear-gradient(
		to right,
		rgba(255, 255, 255, 0.92) 0%,
		rgba(255, 255, 255, 0.5) 45%,
		rgba(255, 255, 255, 0) 100%
	);
	opacity: 1;
}

#dcj-customisation .dcj-style-selector-wrap.has-overflow-right::after {
	right: 0;
	background: linear-gradient(
		to left,
		rgba(255, 255, 255, 0.92) 0%,
		rgba(255, 255, 255, 0.5) 45%,
		rgba(255, 255, 255, 0) 100%
	);
	opacity: 1;
}

/* =========================================================
36.04 — STYLE CHIP
========================================================= */

#dcj-customisation .dcj-style-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-height: 44px;
	margin: 0;
	padding: 12px 22px;
	box-sizing: border-box;
	border: 1px solid rgba(17, 17, 17, 0.16);
	border-radius: 999px;
	background: #FFFFFF;
	font-family: "Cormorant Garamond", serif;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.1;
	white-space: nowrap;
	color: #111111;
	cursor: inherit;
	overflow: hidden;
	transition:
		border-color 0.25s ease,
		box-shadow 0.25s ease,
		background 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease;
}

#dcj-customisation .dcj-style-chip:hover {
	border-color: rgba(212, 175, 55, 0.65);
	background: #FBF7F3;
	color: #333333;
	transform: translateY(-1px);
}

#dcj-customisation .dcj-style-chip.is-active {
	border-color: #D4AF37;
	background:
		linear-gradient(
			145deg,
			#FFFFFF 0%,
			#FBF7F3 55%,
			#F0E5DB 100%
		);
	color: #734B00;
	box-shadow:
		0 10px 22px rgba(115, 75, 0, 0.14);
}

/* Whole-track scroll-hint. The entire row of options slides left as one
   unit so its leading options slip a little deeper beneath the selector's
   existing edge treatment, then eases back. Three gentle in/out passes
   (rest → left → return ×3), finishing exactly at the origin. Only
   translateX is animated — no scale, opacity, glow or bounce.
   Two mutually-exclusive targets so the cue always runs: the inner
   .dcj-style-track when it exists, otherwise its sibling chips directly. */
#dcj-customisation .dcj-style-selector .dcj-style-track,
#dcj-customisation .dcj-style-selector > .dcj-style-chip {
	animation: dcj-style-scroll-hint 3.6s cubic-bezier(0.65, 0, 0.35, 1) 1;
}

@keyframes dcj-style-scroll-hint {
	0% {
		transform: translateX(0);
	}
	12% {
		transform: translateX(-16px);
	}
	24% {
		transform: translateX(0);
	}
	36% {
		transform: translateX(-16px);
	}
	48% {
		transform: translateX(0);
	}
	60% {
		transform: translateX(-16px);
	}
	72% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(0);
	}
}

/* =========================================================
36.05 — OPTION TILES
UNIVERSAL SELECTION ELEMENT
EXACT DCJ GLINT + SWEEP LANGUAGE
========================================================= */

#dcj-customisation .dcj-opt {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	margin: 0;
	padding: 7px 12px;
	box-sizing: border-box;
	border: 1px solid rgba(17, 17, 17, 0.13);
	border-radius: 3px;
	background: #FFFFFF;
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.5px;
	line-height: 1.2;
	white-space: nowrap;
	color: #333333;
	cursor: pointer;
	overflow: hidden;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		background 0.2s ease,
		color 0.2s ease,
		opacity 0.2s ease;
}

#dcj-customisation .dcj-opt > * {
	position: relative;
	z-index: 2;
}

#dcj-customisation .dcj-opt:hover {
	border-color: rgba(212, 175, 55, 0.65);
	background: #FBF7F3;
	color: #333333;
}

#dcj-customisation .dcj-opt.is-active {
	border-color: #D4AF37;
	background:
		linear-gradient(
			145deg,
			#FFFFFF 0%,
			#FBF7F3 55%,
			#F0E5DB 100%
		);
	color: #734B00;
	box-shadow:
		0 10px 22px rgba(115, 75, 0, 0.14);
}

/* =========================================================
36.05A — ACTIVE TILE GLINT + SWEEP
========================================================= */

#dcj-customisation .dcj-opt.is-active::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background:
		linear-gradient(
			160deg,
			rgba(255, 255, 255, 0.95) 0%,
			rgba(255, 255, 255, 0) 55%
		);
	background-size: 100% 100%;
	background-position: 0 0;
	animation:
		dcj-gem-glint 0.42s ease-out forwards;
	pointer-events: none;
}

#dcj-customisation .dcj-opt.is-active::after {
	content: "";
	position: absolute;
	top: -60%;
	left: -60%;
	width: 35%;
	height: 240%;
	background:
		linear-gradient(
			100deg,
			transparent 0%,
			rgba(255, 255, 255, 0.8) 50%,
			transparent 100%
		);
	transform: rotate(18deg);
	animation:
		dcj-gem-sweep 0.46s ease-out forwards;
	pointer-events: none;
	z-index: 1;
}

/* =========================================================
36.06 — METAL SWATCHES
GOLD + SILVER — VISUALLY REPRESENTED
========================================================= */

#dcj-customisation .dcj-metal-row {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

#dcj-customisation .dcj-metal-group-row {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

#dcj-customisation .dcj-metal-group-opt {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-height: 38px;
	margin: 0;
	padding: 8px 18px;
	box-sizing: border-box;
	border: 1px solid rgba(17, 17, 17, 0.16);
	border-radius: 999px;
	background: #FFFFFF;
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	line-height: 1.1;
	white-space: nowrap;
	color: #111111;
	cursor: pointer;
	overflow: hidden;
	transition:
		border-color 0.25s ease,
		background 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

#dcj-customisation .dcj-metal-group-opt:hover {
	border-color: rgba(212, 175, 55, 0.65);
	background: #FBF7F3;
	color: #333333;
	transform: translateY(-1px);
}

#dcj-customisation .dcj-metal-group-opt.is-active {
	border-color: #D4AF37;
	background:
		linear-gradient(
			145deg,
			#FFFFFF 0%,
			#FBF7F3 55%,
			#F0E5DB 100%
		);
	color: #734B00;
	box-shadow:
		0 10px 22px rgba(115, 75, 0, 0.14);
}

#dcj-customisation .dcj-metal-sub-row {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

#dcj-customisation .dcj-metal-opt.is-hidden {
	display: none !important;
}

#dcj-customisation .dcj-metal-opt {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 36px;
	padding: 4px 10px;
	border: 1px solid rgba(17, 17, 17, 0.13);
	border-radius: 3px;
	background: #FFFFFF;
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.5px;
	line-height: 1.2;
	color: #333333;
	cursor: pointer;
	overflow: hidden;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		background 0.2s ease,
		color 0.2s ease;
}

#dcj-customisation .dcj-metal-opt > * {
	position: relative;
	z-index: 2;
}

#dcj-customisation .dcj-metal-swatch {
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 1px solid rgba(0, 0, 0, 0.12);
	box-shadow:
		inset 0 2px 4px rgba(255, 255, 255, 0.7),
		0 2px 5px rgba(0, 0, 0, 0.14);
}

#dcj-customisation .dcj-metal-opt[data-metal="18k-yellow-gold"] .dcj-metal-swatch {
	background:
		radial-gradient(
			circle at 32% 30%,
			#FFF3A3 0%,
			#D4AF37 55%,
			#734B00 115%
		);
}

#dcj-customisation .dcj-metal-opt[data-metal="18k-white-gold"] .dcj-metal-swatch {
	background:
		radial-gradient(
			circle at 32% 30%,
			#FFFFFF 0%,
			#E2E4E6 50%,
			#9AA0A6 115%
		);
}

#dcj-customisation .dcj-metal-opt[data-metal="18k-rose-gold"] .dcj-metal-swatch {
	background:
		radial-gradient(
			circle at 32% 30%,
			#FBDCCE 0%,
			#D99A82 55%,
			#8C4E3C 115%
		);
}

#dcj-customisation .dcj-metal-opt[data-metal="925-silver"] .dcj-metal-swatch {
	background:
		radial-gradient(
			circle at 32% 30%,
			#FFFFFF 0%,
			#D7D9DC 50%,
			#7E848C 115%
		);
}

#dcj-customisation .dcj-metal-opt:hover {
	border-color: rgba(212, 175, 55, 0.65);
	background: #FBF7F3;
}

#dcj-customisation .dcj-metal-opt.is-active {
	border-color: #D4AF37;
	background:
		linear-gradient(
			145deg,
			#FFFFFF 0%,
			#FBF7F3 55%,
			#F0E5DB 100%
		);
	color: #734B00;
	box-shadow:
		0 10px 22px rgba(115, 75, 0, 0.14);
}

#dcj-customisation .dcj-metal-opt.is-active::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background:
		linear-gradient(
			160deg,
			rgba(255, 255, 255, 0.95) 0%,
			rgba(255, 255, 255, 0) 55%
		);
	background-size: 100% 100%;
	background-position: 0 0;
	animation:
		dcj-gem-glint 0.42s ease-out forwards;
	pointer-events: none;
}

#dcj-customisation .dcj-metal-opt.is-active::after {
	content: "";
	position: absolute;
	top: -60%;
	left: -60%;
	width: 35%;
	height: 240%;
	background:
		linear-gradient(
			100deg,
			transparent 0%,
			rgba(255, 255, 255, 0.8) 50%,
			transparent 100%
		);
	transform: rotate(18deg);
	animation:
		dcj-gem-sweep 0.46s ease-out forwards;
	pointer-events: none;
	z-index: 1;
}

/* =========================================================
36.07 — SHAPE SELECTOR
VISUAL-FIRST — CSS GEM ICONS
========================================================= */

#dcj-customisation .dcj-shape-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

#dcj-customisation .dcj-shape-opt {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 76px;
	margin: 0;
	padding: 9px 3px 8px 3px;
	box-sizing: border-box;
	border: 1px solid rgba(17, 17, 17, 0.13);
	border-radius: 3px;
	background: #FFFFFF;
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.5px;
	line-height: 1.2;
	color: #555555;
	cursor: pointer;
	overflow: hidden;
	transition:
		border-color 0.25s ease,
		box-shadow 0.25s ease,
		background 0.25s ease,
		color 0.25s ease;
}

#dcj-customisation .dcj-shape-opt > * {
	position: relative;
	z-index: 2;
}

#dcj-customisation .dcj-shape-opt::before {
	content: "";
	display: block;
	/* One uniform icon frame for all 10 shapes. Every silhouette is centred
	   (contain + mask-position: center) inside the same visual area, so no
	   shape's proportions can shift its label. The frame is deliberately
	   large so the artwork fills the button instead of leaving dead space. */
	width: 46px;
	height: 46px;
	margin-bottom: 6px;
	background-image:
		var(--dcj-facet, none),
		radial-gradient(
			120% 120% at 50% 46%,
			rgba(90, 58, 0, 0.30) 0%,
			rgba(90, 58, 0, 0.14) 55%,
			rgba(90, 58, 0, 0) 100%
		),
		linear-gradient(
			135deg,
			#fff8dc 0%,
			#D4AF37 45%,
			#FFF3A3 60%,
			#734B00 100%
		);
	background-repeat: no-repeat, no-repeat, no-repeat;
	background-position: center, center, 15% 15%;
	background-size: contain, 100% 100%, 240% 240%;
	transition:
		background-position 0.6s ease,
		transform 0.25s ease;
}

/* =========================================================
36.07A — GEM SHAPES (10)
Two layers per icon: the solidified silhouette (data-URI mask)
shows the gold gradient body; the ORIGINAL downloaded facet
path is layered on top in white. Both share the same viewBox /
rotation, and both use contain, so the facets stay registered
inside the gold body at every size. Shine/glint/sweep intact.

No per-shape width/height here: every icon is centred inside the
single uniform frame declared on .dcj-shape-opt::before, so the
10 silhouettes share one visual area and the labels align.
========================================================= */

#dcj-customisation .dcj-shape-opt[data-shape]::before {
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

#dcj-customisation
.dcj-shape-opt[data-shape="round"]::before {
	--dcj-facet: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="50.2 50.0 400.9 400.8"><path d="M451.13,250.45h0c.08-27.38-4.82-51.9-15.41-77.17v-.02c-10.35-24.94-24.1-45.46-43.28-64.57h0c-19.22-19.29-39.99-33-65.36-43.14h0s-.07-.03-.1-.04h-.01c-25.42-10.75-49.78-15.67-76.62-15.53h-.02s-.02,0-.02,0c-28.4,.38-52.86,5.49-76.99,16.06h-.01s-.05,.03-.08,.04h-.01c-24.68,10.4-45.04,24.09-64.06,43.08h-.01c-19.29,19.4-33.14,40.25-43.57,65.61v.02h0c-9.93,24.45-14.95,49.15-15.35,75.5,0,.02,0,.04,0,.05,0,.02,0,.03,0,.05,.05,27.42,4.96,51.98,15.45,77.28h0v.03c10.81,25.73,25.19,46.71,45.24,66.01h0l.02,.02h0c18.86,18.34,39.52,31.86,65.02,42.55,.02,0,.03,.01,.05,.02,.01,0,.02,.01,.04,.02,24.23,9.71,48.64,14.43,74.63,14.43h.04c27.22,0,51.57-4.84,76.59-15.23h0l.03-.02h.01c25.06-10.23,45.58-23.79,64.55-42.67h.01v-.02h0c19.58-19.37,33.57-40.22,44.02-65.62v-.02c10.45-25.12,15.28-49.48,15.21-76.66h0v-.04Zm-140.09-3.71l-46.91-.03,95.35-39.68,.62,.62v7.66l-49.06,31.43Zm-19.47,48.7l12.9,58.18-5.94,5.94-40.9-97.31,33.94,33.2Zm-85.12,66.37l39.72-97.03,.21,46.44-31.99,50.58h-7.94Zm1.87-158l-11.43-50.85,6.35-6.35,37.21,89.98-32.13-32.78Zm82.64,.34l-33.31,32.91,38.85-92.97,6.44,6.43-11.98,53.63Zm-38.73,30.32l.36-46.13,28.36-44.5h9.15l-37.87,90.62Zm.39-57.33l.05-33.29h21.17l-21.22,33.29Zm-6,.09l-21.37-33.37h21.42l-.05,33.37Zm-.02,11.09l-.37,46.53-37.63-90.99h9.52l28.47,44.45Zm-.14,134.05l.21,39.43h-25.15l24.95-39.43Zm6,.01l25.38,39.41h-25.18l-.21-39.41Zm-.06-11.17l-.21-46.45,40.78,97.03h-8l-32.58-50.57Zm9.77-70.17l33.03-32.63c17.76-3.89,35.7-7.89,53.72-11.95l5.99,5.99-92.74,38.59Zm40.94-40.51l24.97-24.9,15.82,15.81c-13.66,3.08-27.27,6.11-40.79,9.09Zm-4.23-4.26l9.1-40.73,15.85,15.84-24.95,24.88Zm10.65-47.66l1.38-6.18,47-5.02-29.82,29.74-18.55-18.54Zm-5.03-5.02l-.43-.43,.54-.06-.11,.49Zm-5.29-5.94l14.22-34.03-7.44,33.31-6.78,.72Zm-4.49-4.81l-3.83-4.56,16.66-26.15-12.83,30.71Zm-3.63,5.01h-6.29l2.72-4.26,3.58,4.26Zm-13.41,0h-24.98l.07-45.69,30.7,36.6-5.79,9.09Zm-30.98,.01h-25.27l-4.67-7.28,30.01-37.83-.07,45.11Zm-32.4,.01h-3.33l1.84-2.32,1.49,2.32Zm-9.13-2.34l-13.9-33.62,18.12,28.3-4.22,5.32Zm-5.76,1.77l-6.16-.65-7.02-31.25,13.19,31.89Zm-1.22,5.91l-2.83,2.83-.72-3.21,3.56,.37Zm-7.86,7.86l-17.35,17.35-31.07-31.1,46.43,4.86,2,8.89Zm1.56,6.93l8.51,37.87-23.18-23.21,14.67-14.67Zm4.4,42.25l-38.39-8.27,15.07-15.07,23.32,23.34Zm7.8,7.82l32.63,33.29-90.77-37.42,6.91-6.91,51.24,11.04Zm-61.88,.82l91.69,37.8-45.81-.15-45.89-28.94v-8.71Zm34.62,37.64l-34.62-.03v-21.81l34.62,21.84Zm.21,6l-34.82,22.43v-22.46l34.82,.03Zm11.06,.01l46.18,.15-92.06,38.52v-9.12l45.88-29.56Zm-45.88,45.47v-.29l93.94-39.31-32.38,32.19-56.1,12.87-5.47-5.46Zm53.64,.56l-26.43,26.62-16.74-16.71,43.16-9.91Zm4.33,4.15l-9.46,43.73-17.05-17.03,26.51-26.7Zm7.85-7.89l32.7-32.51-38.96,95.17-5.99-5.98,12.26-56.67Zm-9.96,67.45l-4.69,.31,.89-4.11,3.81,3.8Zm-.75,6.06l-11,26.87,5.74-26.52,5.26-.34Zm6.52-.09l3.72,4.41-15.67,24.77,11.95-29.18Zm13.88-.42h28.98l.22,42.12-31.93-37.8,2.73-4.32Zm34.98-.02h29.01l3.91,6.06-32.69,37.26-.23-43.32Zm36.14-.02h2.11l-1.22,1.39-.89-1.39Zm7.77,2.65l11.38,27.08-14.88-23.1,3.5-3.98Zm5.51-2.38l5.65,.34,6.15,27.73-11.8-28.07Zm2.3-5.87l1.61-1.61,.38,1.74-2-.12Zm6.64-6.64l20.35-20.35,30.52,30.46-49.29-2.97-1.58-7.14Zm-1.54-6.94l-10.05-45.29,27.69,27.64-17.65,17.65Zm-5.8-49.53l45.35,9.98-17.66,17.66-27.69-27.64Zm-7.91-7.89l-33.57-32.84,97.5,40.05-5.63,5.63-58.3-12.83Zm-31.47-38.47l46.73,.03,49.06,30.96v8.36l-95.8-39.35Zm57.95,.01l37.84-.07v23.95l-37.84-23.88Zm-.07-6l37.91-24.29v24.22l-37.91,.07Zm43.91-28.13l3.89-2.49,36.32,30.47-40.2,.07v-28.05Zm.07-13.52l.05-.85,31.92-13.29-27.68,17.74-4.29-3.6Zm.41-7.5l.28-5.19c9.02-2.05,18.06-4.12,27.1-6.21l-27.39,11.4Zm-6.12,1.97l-4.65-4.65c1.66-.38,3.31-.75,4.97-1.13l-.32,5.78Zm-9.67-9.66l-18.5-18.49,31.42-31.34-2.6,47.49c-3.44,.78-6.89,1.56-10.32,2.34Zm-38.54-53.63l13.05-58.43c.17,.07,.33,.14,.5,.21l35.98,52.94-49.53,5.29Zm-25.45-12.79l-31.34-37.37,61.98-10.71-30.64,48.08Zm-73.52,1.78l-31.79-49.63,62.8,10.53-31.01,39.1Zm-26.39,10.75l-48.53-5.08,35.73-51.86,12.8,56.95Zm-18.21,36.66l-17.81,17.81-10.23-2.2-4-47.68,32.04,32.07Zm-22.86,22.86l-4.22,4.22-.44-5.22,4.66,1Zm-10.24,4.15l-32.31-13.32,31.76,6.84,.54,6.48Zm-.59,6.25l-4.99,4-27.72-17.48,32.7,13.48Zm1.16,6.76v1.12l-.78-.49,.78-.63Zm0,8.22v25.59l-42.1-.04,36.36-29.17,5.73,3.62Zm0,31.59v26.33l-8.94,5.76-36.05-32.13,44.99,.04Zm0,33.47v6.6l-4.3-3.83,4.3-2.77Zm-5.25,9.96l-29.14,12.19,24.86-16.01,4.28,3.82Zm4.97,4.43l.18,.16-.43,5.72-30.58,7.02,30.82-12.9Zm9.86,9.72l19.41,19.39-27.31,27.51,3.44-45.87,4.45-1.02Zm23.66,23.63l19.77,19.75-2.07,9.56-49.95,3.27v-.1l32.25-32.48Zm16.38,35.4l-11.15,51.57-35.12-48.54,46.27-3.03Zm-4.57,56.38l30.36-48.01,33.02,39.09-60.27,10.13c-1.04-.39-2.07-.8-3.11-1.21Zm107.74-46.35l30.12,46.76c-.09,.04-.18,.07-.27,.11l-62.64-9.49,32.79-37.37Zm37.03,43.91l-12.03-54.25,49.54,2.98-37.04,51.07c-.16,.07-.32,.13-.47,.2Zm9.63-92.08l20.37-20.36,5.18,1.14,4.24,48.95-29.78-29.72Zm30.65-29.86l29.46,12.1-28.97-6.38-.5-5.72Zm4.31-4.72l3.88-3.6,23.58,14.88-27.45-11.27Zm-4.49-4.02v-4.85l3.11,1.96-3.11,2.89Zm0-11.95v-27.75l42.8-.08-35.14,32.66-7.66-4.83Zm9.17-67.68l50.39-32.28c.11,.28,.23,.55,.34,.83l-12.38,63.62-38.35-32.17Zm-8.07-26.56l2.59-47.33,51.96,34.73c-18.19,4.26-36.4,8.47-54.55,12.6Zm-.06-58l-30.84-45.37c16.6,8.17,31.12,18.42,44.72,31.53l-13.88,13.84Zm-114.26-47.72l.35-18.45c18.88,.15,36.5,3.07,54.31,9l-54.67,9.45Zm-6.14,.02l-54.08-9.07c16.97-5.74,34.55-8.76,54.1-9.33l-.03,18.4Zm-113.86,47.84l-12.93-12.94c13.37-12.95,27.51-23.19,43.54-31.49l-30.61,44.44Zm1.64,58.63l-55.35-11.92,51.31-36.18,4.03,48.1Zm-59.15-4.4l49.69,31.34-38.65,31-11.21-61.92c.05-.14,.11-.28,.17-.42Zm46.62,105.4l-46.46,29.93,10.85-61.67,35.61,31.74Zm-44.17,37.69l57.35-13.16-3.82,51.02-.29,.3-52.77-37.09c-.16-.35-.31-.71-.46-1.07Zm55.78,48.52l31.86,44.05c-16.51-8.42-30.82-18.53-44.12-31.1l12.25-12.95Zm113.34,48.07l.09,16.47c-17.71-.31-34.23-2.88-50.76-7.95l50.68-8.52Zm6.39-.11l53.47,8.11c-17.24,5.49-34.55,8.22-53.26,8.48l-.21-16.58Zm116.11-48.35l11.91,12.52c-13.31,12.88-27.48,23.05-43.67,31.27l31.76-43.79Zm-2.15-60.7l56.29,12.39c-.13,.3-.25,.59-.38,.89l-51.54,37.21-4.37-50.49Zm11.7-24.53l34.68-32.23,12.28,61.86-46.96-29.63Zm60.07-42.03l-19.68,.04,10.58-54.38c5.86,17.65,8.8,35.3,9.1,54.34Zm-20.86-82.53l-46.39-31,14.15-13.72c13.35,13.68,23.83,28.18,32.24,44.72ZM115.5,119.82l12.94,13.12-45.1,31.8c8.43-16.61,18.88-31.18,32.16-44.92Zm-44.3,74.57l9.42,52.02-18.31-.02c.61-18.18,3.49-35.09,8.89-52.01Zm-8.96,58.97h18.57l-9.62,54.67c-5.76-17.74-8.65-35.49-8.95-54.67Zm21.39,84.4l43.16,30.34-12.22,12.31c-12.64-12.97-22.73-26.86-30.94-42.65Zm302.61,43.68l-12.21-12.18,43.88-31.68c-8.31,16.19-18.61,30.44-31.68,43.86Zm43.9-73.13l-10.89-54.87h19.85c-.22,19.26-3.1,37.06-8.96,54.87Z" fill="%23FFFFFF" fill-opacity="0.92"/></svg>');
	-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="50.2 50.0 400.9 400.8"><path d="M451.1,250.4L450.2,230.4L447.4,211.1L442.6,192.1L435.7,173.3L427.3,155.3L417.4,138.8L405.8,123.3L392.4,108.7L377.7,95.2L362.1,83.7L345.3,73.9L327.0,65.5L308.0,58.5L289.2,53.7L270.1,50.8L250.3,50.0L229.7,51.2L210.2,54.2L191.5,59.1L173.3,66.0L155.5,74.5L139.1,84.4L123.7,95.9L109.1,109.2L95.7,124.0L84.0,139.7L74.1,156.5L65.6,174.8L59.0,193.2L54.3,211.8L51.4,230.8L50.2,250.3L51.2,270.5L54.0,289.8L58.8,308.8L65.7,327.7L74.5,346.2L84.8,363.1L106.0,388.8L125.5,406.6L141.0,417.9L157.7,427.7L176.0,436.3L194.3,442.7L212.7,447.2L231.5,449.9L250.7,450.7L270.7,449.8L289.8,447.0L308.6,442.3L327.3,435.5L345.3,427.2L361.9,417.4L377.3,406.0L391.9,392.8L405.6,378.0L417.3,362.3L427.4,345.4L435.9,327.2L442.7,308.4L447.5,289.6L450.3,270.4L451.1,250.4Z"/></svg>');
	mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="50.2 50.0 400.9 400.8"><path d="M451.1,250.4L450.2,230.4L447.4,211.1L442.6,192.1L435.7,173.3L427.3,155.3L417.4,138.8L405.8,123.3L392.4,108.7L377.7,95.2L362.1,83.7L345.3,73.9L327.0,65.5L308.0,58.5L289.2,53.7L270.1,50.8L250.3,50.0L229.7,51.2L210.2,54.2L191.5,59.1L173.3,66.0L155.5,74.5L139.1,84.4L123.7,95.9L109.1,109.2L95.7,124.0L84.0,139.7L74.1,156.5L65.6,174.8L59.0,193.2L54.3,211.8L51.4,230.8L50.2,250.3L51.2,270.5L54.0,289.8L58.8,308.8L65.7,327.7L74.5,346.2L84.8,363.1L106.0,388.8L125.5,406.6L141.0,417.9L157.7,427.7L176.0,436.3L194.3,442.7L212.7,447.2L231.5,449.9L250.7,450.7L270.7,449.8L289.8,447.0L308.6,442.3L327.3,435.5L345.3,427.2L361.9,417.4L377.3,406.0L391.9,392.8L405.6,378.0L417.3,362.3L427.4,345.4L435.9,327.2L442.7,308.4L447.5,289.6L450.3,270.4L451.1,250.4Z"/></svg>');
}

#dcj-customisation
.dcj-shape-opt[data-shape="oval"]::before {
	--dcj-facet: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="83.7 46.0 333.1 410.1"><path d="M416.76,251.61c-.25-27.54-4.58-53.31-13.24-78.77h0v-.03c-9.1-26.32-21.1-47.81-37.76-67.63h0c-15.79-18.94-33.04-32.93-54.31-44.03-.02,0-.03-.01-.05-.02-.02,0-.03-.02-.05-.03-20.62-10.29-40.5-15.12-62.54-15.2-22.83-.09-43.17,4.86-64.02,15.56h-.01l-.03,.02h-.02c-20.81,10.5-37.77,24.42-53.36,43.81h0c-16.03,19.77-27.41,41.05-35.83,66.96h0c-8.04,24.44-11.96,49.15-11.96,75.47,0,.9,0,1.8,.01,2.7h0c.12,27.52,4.44,53.26,13.22,78.7h0c8.56,25.15,20.37,46.77,36.1,66.1h0v.02h.02c16.05,19.89,33.4,34.07,54.57,44.62h0s.08,.04,.12,.06h0c21.3,11.22,41.71,16.41,64.21,16.33h.03s.02,0,.02,0c23.74-.31,44.18-5.53,64.29-16.42h.01s.05-.03,.08-.05h.02c20.43-10.67,37.25-24.71,52.91-44.2h0v-.02c15.78-19.8,27.04-41.08,35.47-66.97h0v-.03c7.97-24.89,11.92-50.04,12.07-76.89v-.03h0v-.05Zm-113.46-2.69l-46.39-.22,81.26-41.16,.09,12.82-34.79,28.37c-.07,.06-.12,.12-.18,.19Zm-26.3,110.46l-23.21-44.68c-.11-.21-.27-.39-.44-.55l-.4-52.31,33.2,97.57-9.15-.03Zm-24.65-175.24l23.05-46.25,8.63,.03-31.28,98.98-.4-52.76Zm-.07-8.83l-.29-37.49,18.94,.06-18.66,37.43Zm-3.99,1.19l-20.59-38.76,20.29,.06,.3,38.69Zm.04,8.61s.02,.02,.02,.03l.4,52.09-34.21-99.52,8.62,.03,25.16,47.38Zm1.03,131.29l-21.96,42.82-10.31-.03,31.85-97.37,.42,54.59Zm.07,8.64l.26,34.25-17.8-.06,17.54-34.19Zm3.98-2.38l19.07,36.71-18.79-.06-.28-36.64Zm84.73-119.89v.3l-80.14,40.59,31.23-39.79,41.3-10.47,7.61,9.37Zm-44.87-4.05l20.44-26.05,14.05,17.31-34.49,8.74Zm-2.23-3.64l6.53-42.29,13.55,16.7-20.08,25.59Zm-5.04,6.42l-29.91,38.12,31.38-99.29,6.71,8.27-8.17,52.9Zm-6.21-71.59h-.42l.17-.35,.24,.35Zm3.84-8.54l15.38-30.86-11.52,36.46-3.86-5.6Zm-8.72,8.52l-22.99-.07-.31-40.84,25.34,36.81-2.04,4.1Zm-26.99-.08l-24.48-.08-2.12-4,26.29-37.58,.32,41.66Zm-29.02-.09h-.38l.21-.31,.16,.31Zm-8.11-2.9l-12.05-35.06,15.79,29.72-3.73,5.34Zm.25,13.05l34.27,99.69-29.35-36-10.7-56.49,5.78-7.21Zm-.38,57.19l-22.92-28.11,14.23-17.76,8.69,45.87Zm-1.69,4.25l-38.65-10.61,14.87-18.56,23.78,29.17Zm4.36,5.34l30.02,36.82-82.03-41.54,6.28-7.84,45.73,12.56Zm31.36,41.99l-46.47-.22-36.89-29.4-.09-12.64,83.45,42.26Zm-52.92-.25l-30.23-.14-.17-24.08,30.4,24.22Zm-.25,4l-29.78,23.8-.17-23.94,29.95,.14Zm6.37,.03l42.7,.2-78.72,41.09-.09-12.43,36.11-28.86Zm45.6,3.2l-29.04,36.78-44.02,12.49-6.34-7.82,79.41-41.45Zm-33.28,42.13l-22.49,28.47-14.56-17.96,37.05-10.51Zm1.74,4.25l-7.68,44.61-13.96-17.21,21.64-27.4Zm5.19-6.57l28.32-35.86-32.13,98.22-5.71-7.04,9.52-55.31Zm2.97,71.76h3.19l-1.37,2.68-1.82-2.68Zm-2.34,10.79l-18.86,36.78,14.25-43.57,4.61,6.79Zm10.02-10.77l21.96,.07,.34,44.05-25.59-37.69,3.3-6.43Zm25.96,.09l22.89,.08,2.36,4.54-24.91,39.17-.34-43.78Zm27.4,.09h.72l-.4,.63-.33-.63Zm8.57,2.56l13.75,40.4-17.73-34.14,3.99-6.27Zm-33.32-110.34l29.8,37.1,9.5,52.12-6.28,7.83-33.02-97.05Zm35.06,43.64l20.4,25.4-12.85,16.03-7.55-41.43Zm1.2-4.89l35.61,9.82-13.84,17.27-21.76-27.1Zm-4.21-5.31s-.04,0-.06,0l-30.06-37.42,79.25,40.95-6.59,8.22-42.54-11.73Zm-27.05-40.34l43.43,.21,33.85,27.11,.09,12.66-77.37-39.98Zm49.87,.24l27.22,.13,.16,21.79-27.38-21.92Zm-1.74-4.01l28.76-23.46,.17,23.59-28.93-.14Zm36.71-29.94l3.72-3.04,30.17,33.32-33.67-.16-.22-30.12Zm-.04-5.13v-2.07l1.07,1.2-1.07,.87Zm2.21-11.53l31.47-15.94-26.41,21.54-5.07-5.6Zm-2.17-3.38l.5-9.67,37.23-9.44-37.73,19.11Zm-9.96-11.15l-17.53-21.59,22.64-28.85-2.56,49.8-2.55,.65Zm-20.11-24.78l-16.97-20.91,.8-5.16,39.01-3.04-22.84,29.1Zm-20.37-25.09l-.49-.61,.59-.05-.1,.65Zm-4.99-8.28l12.26-38.79-5.92,38.3-6.34,.49Zm-9.8-12.05l-24.95-36.24,47.93-9.85-22.97,46.09Zm-63.93,.19l-24.37-45.89,49.81,9.52-25.44,36.37Zm-9.65,11.62l-5.61-.44-6.7-35.39,12.31,35.83Zm-7.44,11.42l-17.44,21.76-23.6-28.95,40.28,3.15,.76,4.04Zm-20,24.96l-18.1,22.59-1.7-.47-4.04-51.38,23.85,29.25Zm-27.06,31.91l-32.9-16.66,32.28,8.86,.61,7.79Zm-1.64,3.65l-4.96,5.73-28.39-22.62,33.35,16.89Zm1.96,9.96v1.3l-.66-.54,.66-.77Zm.05,6.44l.22,30.45-32.07-.15,28.53-32.95,3.33,2.65Zm.25,34.45l.22,30.34-1.77,1.42-30.87-31.91,32.42,.15Zm.25,45.13l-.02,.59-37.03,19.33,31.77-25.39,5.29,5.47Zm-.2,5.2l-.28,7.21-29.65,8.41,29.93-15.62Zm7.85,4.02l.58,.72-.61,.17,.03-.89Zm3.32,4.1l17.86,22.02-23.34,29.56,1.97-50.57,3.52-1Zm20.44,25.2l17.24,21.25-.59,3.41-40.22,5.17,23.56-29.84Zm24.93,31.67l-11.44,34.97,5.9-34.26,5.54-.71Zm10.18,14.25l25.19,37.09-49.57,10.44,24.38-47.53Zm62.93-1.63l25.63,49.35-50.25-10.65,24.61-38.7Zm10.03-12.11l6.06,.81,6.68,36.64-12.74-37.46Zm3.4-7.62l.91-1.14,.24,1.29-1.15-.15Zm4.23-5.27l16.08-20.07,25.25,31.44-40.24-5.39-1.09-5.99Zm18.64-23.26l17.1-21.35,3.22,.89,3.66,50.32-23.98-29.86Zm19.83-24.74l.17-.21,.02,.26-.19-.05Zm7.8-5.57l32.06,16.57-31.49-8.69-.57-7.88Zm.45-4.27l5.59-5.6,29.87,23.92-35.46-18.32Zm-.9-10.42v-.38l.21,.17-.21,.21Zm-.04-5.53l-.2-28.2,33.75,.16-30.46,30.51-3.09-2.47Zm9.48-70.42l36.79-30.01-8.19,61.59-28.6-31.59Zm-9.22-25.8l2.43-47.29,41.44,36.17-43.87,11.12Zm-45.7-56.26l8.2-53.1,29.64,50.16-37.85,2.95Zm-48.02-55.06l-.36-15.79c13.61,.47,26.4,3,39.22,7.8l-38.86,7.99Zm-8,.03l-41.17-7.87c13.21-5.06,26.51-7.65,40.81-7.99l.36,15.86Zm-47.54,54.85l-39.51-3.09,29.3-50.82,10.21,53.91Zm-45.7,57.01l-44.14-12.12,40.34-36.12,3.79,48.24Zm-8.28,24.44l-27.13,31.34-10.31-61.17,37.44,29.84Zm2,78.86l-38.07,30.42,9.14-60.32,28.92,29.9Zm-37.14,37.61l44.58-12.65-1.88,48.4-42.46-35.07c-.08-.23-.16-.45-.24-.68Zm91.86,42.17l-9.97,57.92-29.17-52.88,39.14-5.03Zm47.65,57.73l-.23,17.75c-14.65-.38-28.06-3.21-41.85-8.89l42.08-8.86Zm8-.02l41.68,8.83c-13.17,5.38-26.82,8.26-41.91,8.87l.23-17.7Zm47.41-57.08l38.41,5.14-28.16,51.07-10.25-56.22Zm44.55-55.73l44.82,12.36c-.12,.36-.24,.72-.36,1.07l-40.87,35.92-3.59-49.36Zm8-24.83l28.77-28.82,8.91,58.99-37.68-30.18Zm48.6-41.19l-12.5-.05,6.43-48.33c3.66,15.7,5.66,31.71,6.07,48.38Zm-19.86-89.53l-33.56-29.29,8.76-11.66c9.97,12.55,18.08,25.91,24.8,40.95Zm-30.05-47.29l-8.54,11.38-24.05-40.69c11.99,8.1,22.62,17.68,32.59,29.31Zm-180.31-29.47l-23.38,40.56-8.68-11.16c9.85-11.9,20.31-21.51,32.06-29.4Zm-37.2,35.83l8.86,11.39-32.31,28.92c6.28-14.74,13.94-27.89,23.45-40.31Zm-36.23,80.06l8.3,49.23-13.79-.06c.09-16.96,1.9-33.22,5.49-49.16Zm-5.43,57.16l13.81,.06-7.51,49.54c-3.88-16.09-5.96-32.5-6.3-49.6Zm19.18,88.16l34.54,28.53-10.39,12.46c-9.76-12.64-17.65-26.01-24.15-41Zm29.26,47.36l10.24-12.29,23.75,43.05c-12.46-8.13-23.53-18.17-33.99-30.76Zm181.94,30.06l22.86-41.46,9.25,11.66c-9.95,12.04-20.42,21.78-32.11,29.79Zm37.19-36.25l-9.44-11.91,32.78-28.82c-6.28,14.89-13.91,28.18-23.34,40.73Zm36.12-81.46l-7.06-46.69,12.43,.05c-.33,16.05-2.1,31.48-5.37,46.64Z" fill="%23FFFFFF" fill-opacity="0.92"/></svg>');
	-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="83.7 46.0 333.1 410.1"><path d="M416.8,251.6L415.8,231.3L413.3,211.4L409.2,192.0L403.5,172.8L396.1,153.9L387.5,136.6L369.8,110.2L357.7,96.1L345.1,83.9L331.5,73.3L316.7,64.0L301.1,56.4L285.8,51.0L270.2,47.6L254.3,46.0L237.6,46.3L221.4,48.5L195.2,56.6L179.6,64.2L165.1,73.2L151.8,83.8L139.3,96.0L127.5,110.3L116.8,125.7L107.7,142.0L100.0,159.7L93.6,178.4L88.9,196.8L85.6,215.6L83.9,234.7L83.7,257.3L85.1,277.4L88.1,297.1L92.8,316.4L99.0,335.3L106.5,353.1L115.2,369.8L125.4,385.4L137.0,400.1L149.5,413.3L162.8,424.6L177.2,434.3L198.2,445.0L214.0,450.9L229.9,454.5L246.2,456.2L263.5,455.7L280.1,453.3L295.8,448.9L311.1,442.4L326.2,434.2L340.1,424.5L353.1,413.3L365.2,400.3L376.7,385.5L386.7,369.8L395.2,353.1L402.5,335.0L408.3,316.1L412.5,297.2L415.3,278.0L416.8,251.6Z"/></svg>');
	mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="83.7 46.0 333.1 410.1"><path d="M416.8,251.6L415.8,231.3L413.3,211.4L409.2,192.0L403.5,172.8L396.1,153.9L387.5,136.6L369.8,110.2L357.7,96.1L345.1,83.9L331.5,73.3L316.7,64.0L301.1,56.4L285.8,51.0L270.2,47.6L254.3,46.0L237.6,46.3L221.4,48.5L195.2,56.6L179.6,64.2L165.1,73.2L151.8,83.8L139.3,96.0L127.5,110.3L116.8,125.7L107.7,142.0L100.0,159.7L93.6,178.4L88.9,196.8L85.6,215.6L83.9,234.7L83.7,257.3L85.1,277.4L88.1,297.1L92.8,316.4L99.0,335.3L106.5,353.1L115.2,369.8L125.4,385.4L137.0,400.1L149.5,413.3L162.8,424.6L177.2,434.3L198.2,445.0L214.0,450.9L229.9,454.5L246.2,456.2L263.5,455.7L280.1,453.3L295.8,448.9L311.1,442.4L326.2,434.2L340.1,424.5L353.1,413.3L365.2,400.3L376.7,385.5L386.7,369.8L395.2,353.1L402.5,335.0L408.3,316.1L412.5,297.2L415.3,278.0L416.8,251.6Z"/></svg>');
}

#dcj-customisation
.dcj-shape-opt[data-shape="emerald"]::before {
	--dcj-facet: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="124.6 50.0 250.8 400.1"><g transform="rotate(90 250.0 250.0)"><path d="M448.52,149.69l-20.67-23.11c-1.14-1.27-2.76-2-4.47-2H76.62c-1.71,0-3.33,.73-4.47,2l-20.67,23.11c-.98,1.1-1.53,2.52-1.53,4v192.62c0,1.48,.54,2.9,1.53,4l20.67,23.1c1.14,1.27,2.76,2,4.47,2H423.38c1.71,0,3.33-.73,4.47-2l20.67-23.1c.98-1.1,1.53-2.52,1.53-4V153.69c0-1.48-.54-2.9-1.53-4Zm-26.8,176.01V174.04l16.33-11.52v174.76l-16.33-11.58ZM78.28,174.04v151.58l-16.33,11.69V162.52l16.33,11.52Zm6,4.23l20.61,14.54v113.76l-20.61,14.75V178.27Zm287.79,30.79l17.04-12.02v105.55l-17.04-12.07v-81.46Zm-2.72-5.5h0l-8.99-6.96,.07,.04,16.33-15.18,10.42,9.6-17.82,12.49Zm2.08,1.71s-.07-.09-.11-.13l.11,.09v.05Zm-66.81,46.55l-10.75,1.59h-90.44l-8.06-1.5v-4.89l8.06-1.5h90.44l10.75,1.59v4.7Zm41.75,48.17H153.63l48.41-40.74,.58,.11c.18,.03,.36,.05,.55,.05h90.94l.44-.03,3.04-.45,48.79,41.07Zm-196.17-100.99h199.6l-54.16,40.71-1.1-.16-.44-.03h-90l-53.9-40.52Zm153.04,41.84l53-39.84,7.71,5.97-54.3,35.37c-.43-.4-.97-.68-1.59-.77l-4.83-.71Zm52.35-47.67c-.09-.03-.19-.07-.29-.09-.05-.01-.1-.02-.15-.03-.13-.02-.26-.04-.4-.04-.04,0-.07-.01-.11-.01H144.98l-13.57-12.5h237.78l-13.6,12.66Zm-210.57,8.78l51.55,38.75-4.74,.88c-.38,.07-.73,.22-1.04,.41l-53.29-34.18,7.53-5.86Zm44.36,46.11v2.35l-54.86,35.66v-73.19l54.86,35.18Zm1.06,8.64c.39,.33,.86,.56,1.39,.66l2.97,.55-48.7,40.99h0l-9.36-7.3,53.71-34.91Zm-44.27,49.28c.06,0,.11,.02,.17,.02h207.52l14.67,13.5H131.48l14.68-13.52Zm158.93-48.16l2.97-.44c.47-.07,.9-.26,1.27-.52l54.59,35.19-9.46,7.32-49.37-41.55Zm5.53-7.03v-2.12l55.44-36.11v73.97l-55.44-35.74Zm65.01-76.28H124.9l-17.85-16.44H393.29l-17.66,16.44Zm-252.14,6.73l17.05,15.7c.08,.23,.18,.45,.31,.65l-8.75,6.81c-.34-.15-.7-.24-1.06-.26l-18.35-12.95,10.81-9.97Zm-12.6,15.81l17.42,12.29,.2-.28v80.61l-17.62,12.61v-105.23Zm20.35,97.9l9.77,7.61-17.57,16.18-11.12-10.25,18.92-13.54Zm-6.28,30.56h250.07l17.85,16.44H107.11l17.85-16.44Zm251.53-6.71l-17.06-15.67h0l9.93-7.68,18.27,13.08-11.14,10.27Zm18.61-125.97l20.61-14.54v143.17l-20.61-14.6v-114.03Zm-2.91-5.27l-11.04-10.17,19.46-18.09,12.99,13.25-21.42,15.02Zm7.54-35.47H100.53l-16.82-15.49H416.38l-16.64,15.49Zm-300.24,7.07l19.56,18.01-11.4,10.51-21.36-15.06,13.19-13.45Zm7.85,152.9l11.68,10.76-19.56,18.01-13.33-13.59,21.21-15.18Zm-6.75,35.89H399.4l16.82,15.49H83.78l16.82-15.49Zm299.91-7.08l-19.58-17.99,11.69-10.78,21.21,15.18-13.33,13.59Zm37.22-185.23l-19.13,13.41-13.58-13.84,17.64-16.4,15.06,16.83Zm-360.36-16.86l17.72,16.32-13.74,14.02-19.08-13.46,15.1-16.88Zm-15.13,205.58l18.96-13.57,13.85,14.12-17.72,16.32-15.09-16.87Zm360.43,16.87l-17.74-16.3,13.84-14.12,18.97,13.58-15.07,16.84Z" fill="%23FFFFFF" fill-opacity="0.92"/></g></svg>');
	-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="124.6 50.0 250.8 400.1"><path d="M350.3,448.5L373.7,427.6L375.4,423.8L375.4,76.6L374.7,73.8L350.3,51.5L347.0,50.0L150.9,50.6L126.3,72.4L124.6,76.2L124.6,423.4L125.3,426.2L149.7,448.5L153.0,450.0L346.3,450.0L350.3,448.5Z"/></svg>');
	mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="124.6 50.0 250.8 400.1"><path d="M350.3,448.5L373.7,427.6L375.4,423.8L375.4,76.6L374.7,73.8L350.3,51.5L347.0,50.0L150.9,50.6L126.3,72.4L124.6,76.2L124.6,423.4L125.3,426.2L149.7,448.5L153.0,450.0L346.3,450.0L350.3,448.5Z"/></svg>');
}

#dcj-customisation
.dcj-shape-opt[data-shape="princess"]::before {
	--dcj-facet: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="49.7 49.7 400.7 400.7"><path d="M444.33,49.67H55.67c-3.31,0-6,2.69-6,6V444.33c0,3.31,2.69,6,6,6H444.33c3.31,0,6-2.69,6-6V55.67c0-3.31-2.69-6-6-6Zm-123.7,343.37l-60.34-25,33.35-12.96,38.94,23.79v18.81l-11.95-4.64ZM179.37,106.95l60.35,25-33.35,12.96-38.87-23.74v-18.83l11.87,4.61Zm177.79,225.62l-11.59-14.46,8.58-22.07,22.04,36.53h-19.03Zm22.65,6l54.27,89.95-72.11-89.95h17.84ZM142.84,167.43l11.59,14.46-8.58,22.07-22.04-36.53h19.03Zm-22.65-6l-54.27-89.95,72.11,89.95h-17.84Zm239.51,85.57h-29.43l19.1-31.26,10.33,31.26Zm1.98,6l.45,1.36-11.19,30.55-19.25-31.91h30Zm-13.55-41l-21.38,35h-34.2l47.62-59.08,7.96,24.08Zm-19.95,41l21.43,35.52-8.71,23.77-47.54-59.29h34.81Zm64.86-73.62l-25,60.34-12.96-33.35,23.79-38.95h18.81l-4.64,11.95Zm-10.5-17.95l48.02-78.61-30.54,78.61h-17.48Zm-3.52,0h-17.49l72.22-89.6-54.73,89.6Zm-3.67,6l-21.64,35.43-8.32-21.41,11.3-14.01h18.66Zm-31.21,10.79l-4.19-10.79h12.89l-8.7,10.79Zm-5.09,6.32l-50.35,62.47h-33.58l78.6-78.6,5.33,16.14Zm-190.61,29.53l19.87,32.94h-32.61l12.74-32.94Zm-12.74,38.94h34.03l-20.83,34.1-13.19-34.1Zm36.12-6l-22.01-36.47,8.98-23.2,47.84,59.68h-34.81Zm-21.56,43.63l22.99-37.63h34.2l-48.48,60.14-8.71-22.51Zm60.22-43.63l-50.44-62.91,6.12-15.81,78.72,78.72h-34.4Zm-54.79-68.35l-9-11.22h13.36l-4.36,11.22Zm-11.2,28.84l-13.3,34.23-28.86-74.29h17.99l24.17,40.06Zm-37.53,113.15l25-60.35,12.96,33.34-23.79,38.94h-18.81l4.64-11.94Zm10.51,17.94l-48.02,78.61,30.55-78.61h17.48Zm3.52,0h17.49l-72.22,89.6,54.73-89.6Zm3.67-6l21.64-35.43,8.32,21.41-11.3,14.01h-18.66Zm31.21-10.79l4.19,10.79h-12.89l8.7-10.79Zm4.36-5.41l51.08-63.37h33.58l-78.72,78.72-5.94-15.35Zm129.31-63.37l50.17,62.59-5.9,16.1-78.68-78.68h34.4Zm54.79,68.35l9,11.23h-13.36l4.36-11.23Zm11.2-28.84l13.3-34.23,28.87,74.29h-17.99l-24.17-40.06Zm16.52-42.51l26.73-68.81v137.61l-26.73-68.81Zm-14.36-88.57h-16.99l87.6-87.6-70.61,87.6Zm-26.2,4.97l-80.48,80.48v-34.8l64.44-51.66,16.03,5.99Zm-80.48,41.83v-35.21l37.55-22.66,23.62,8.82-61.17,49.04Zm0-38.71v-33.18l33.96,12.68-33.96,20.49Zm-6-1.02l-32.02-19.56,32.02-12.53v32.09Zm0,3.52v33.81l-57.97-46.73,22.44-8.78,35.53,21.7Zm0,37.66v33.19l-76.52-76.52,15.33-6,61.19,49.32Zm-103.13-48.26L71.41,73.53l87.9,87.9h-17.43Zm-25.19,0h-16.7l-30.21-77.76,46.92,77.76Zm11.27,88.57l-26.73,68.8V181.2l26.73,68.8Zm14.36,88.57h16.99l-87.6,87.6,70.61-87.6Zm25.96-4.73l76.72-76.72v34.01l-60.91,48.83-15.81-6.12Zm76.72-38.87v34.41l-34.47,20.8-23.2-8.98,57.68-46.24Zm0,37.92v30.63l-30.94-11.97,30.94-18.67Zm6,32.14v-35.78c.05-.04,.1-.07,.15-.11l35.95,21.96-35.17,13.6c-.34,0-.67,.12-.94,.33Zm1.05-38.86c-.33-.2-.7-.25-1.05-.19v-35.04l62.14,50.09-22.51,8.71-38.58-23.56Zm-.5-38.64c-.17-.14-.36-.23-.55-.28v-34.14l80.72,80.72-15.35,5.94-64.81-52.25Zm106.57,51.03l70.47,87.91-87.91-87.91h17.43Zm25.19,0h16.7l30.21,77.76-46.92-77.76Zm21.46-172.82l33.55-86.35V420.6l-33.55-86.35V165.75Zm-66.27-6.37v-17.45l87.98-70.53-87.98,87.98Zm-6,.64l-11.15-4.33,11.15-8.94v13.27Zm-165,0v-12.8l10.72,8.64-10.72,4.16Zm-6-.64L73.83,71.71l87.67,70.67v17Zm-66.27,6.38v168.49l-33.55,86.36V79.4l33.55,86.36Zm66.2,174.94v17.43l-87.91,70.47,87.91-87.91Zm6-.74l11.23,4.36-11.23,9v-13.36Zm165.14,0v12.89l-10.79-8.7,10.79-4.19Zm6,.74l87.6,87.6-87.6-70.61v-16.99Zm-.07-202.61v-17.85l90.02-54.31-90.02,72.17Zm-6,4.81l-14.38,11.53-22.07-8.58,36.46-22v19.04Zm-151.06,11.7l-13.94-11.24v-18.68l35.35,21.6-21.41,8.32Zm-19.94-16.07L71.83,66.24l89.67,54.78v17.51Zm-.07,223.45v17.84l-89.95,54.27,89.95-72.11Zm6-4.81l14.45-11.59,22.08,8.58-36.53,22.04v-19.03Zm151.13-11.76l14.01,11.3v18.66l-35.43-21.64,21.41-8.32Zm20.01,16.13l89.6,72.22-89.6-54.73v-17.49Zm-.07-244.8v-16.72l77.83-30.24-77.83,46.96Zm-6,3.62l-39.99,24.13-34.23-13.3,74.22-28.84v18.01Zm-171-2.85l-78.69-48.07,78.69,30.57v17.49Zm-.07,265.81v16.7l-77.76,30.21,77.76-46.92Zm6-3.62l40.06-24.17,34.23,13.3-74.29,28.87v-17.99Zm171.14,2.85l78.61,48.02-78.61-30.54v-17.48ZM250,127.96l-68.1-26.46h136.2l-68.1,26.46Zm0,244.08l68.81,26.73H181.19l68.81-26.73ZM333.54,95.5H166.46L79.4,61.67H420.6l-87.06,33.83ZM165.75,404.77h168.5l86.35,33.55H79.4l86.35-33.55Z" fill="%23FFFFFF" fill-opacity="0.92"/></svg>');
	-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="49.7 49.7 400.7 400.7"><path d="M444.3,49.7L55.7,49.7L51.4,51.4L49.7,55.7L49.7,444.3L51.4,448.6L55.7,450.3L444.3,450.3L448.6,448.6L450.3,444.3L450.3,55.7L448.6,51.4L444.3,49.7Z"/></svg>');
	mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="49.7 49.7 400.7 400.7"><path d="M444.3,49.7L55.7,49.7L51.4,51.4L49.7,55.7L49.7,444.3L51.4,448.6L55.7,450.3L444.3,450.3L448.6,448.6L450.3,444.3L450.3,55.7L448.6,51.4L444.3,49.7Z"/></svg>');
}

#dcj-customisation
.dcj-shape-opt[data-shape="cushion"]::before {
	--dcj-facet: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="44.1 43.6 411.8 412.6"><path d="M452.13,190.45c-6.67-45.43-20.46-78.99-40.97-99.74-20.03-20.27-44.58-33.4-75.04-40.15-25.67-5.68-52.91-6.46-80.9-6.53l-.07-.46h-5.2c-5.44,0-116.89,.58-159.42,45.54-42.91,45.36-46.47,102.93-46.47,162.86,0,4.64,.43,114.05,44.99,157.2,43.25,41.88,96.19,46.36,155.85,46.58l.07,.46h5.19c5.45,0,116.89-.58,159.42-45.54,42.95-45.4,46.46-98.74,46.47-158.71,.08-2.25,.87-28.86-3.93-61.52Zm-13.87,139.52l-23.92-6.87,29.63-55.93c-.32,22.4-1.56,43.26-5.7,62.8Zm-35.23,70.11c-.71,.78-1.41,1.57-2.15,2.35-.32,.34-.65,.67-.98,1l-74.71-6.74,17.32-54.78,64.25-13.23-3.73,71.39Zm-70.41,34.61l-7.55-31.98,68.71,6.2c-15.7,12.49-38.41,20.57-61.16,25.78Zm-77.42,9.07h-5.14c-1.59,0-3.17,0-4.74,0l-59.42-43.71,64.19-27.18s.04-.02,.06-.03c.14-.06,.27-.13,.39-.21,.13,.08,.26,.15,.39,.21,.02,0,.04,.02,.06,.03l64.19,27.18-59.92,44.07-.06-.36Zm-148.29-34.82l69.09-6.23-8.17,34.61c-22.07-4.91-42.48-13.49-60.92-28.37ZM62.33,169.81l23.39,6.72-29.49,55.66c.43-21.89,1.87-42.75,6.09-62.38Zm34.69-70c.74-.82,1.46-1.64,2.23-2.45,.37-.39,.75-.77,1.13-1.15l74.5,6.72-17.32,54.78-64.25,13.22,3.72-71.13Zm70.46-34.7l7.51,31.81-68.46-6.18c15.69-12.41,38.3-20.44,60.95-25.64Zm77.38-9.44l.06,.36h5.15c1.98,0,3.95,0,5.91,.01l59.19,43.54-64.19,27.18s-.04,.03-.07,.04c-.09,.04-.18,.1-.27,.15-.08,.05-.17,.09-.25,.15-.07,.05-.14,.12-.21,.18-.05,.05-.11,.09-.16,.14-.05-.05-.1-.09-.16-.13-.07-.06-.14-.13-.22-.18-.08-.06-.16-.1-.24-.15-.09-.05-.18-.1-.27-.15-.02-.01-.04-.03-.07-.04l-64.19-27.18,59.68-43.9c.1,0,.2,0,.29,0Zm157.76,43.48c.13,.14,.26,.28,.4,.41l3.73,71.38-64.25-13.22-17.32-54.78,74.45-6.72c1.01,.96,2.01,1.92,3,2.93ZM251.16,367.28s-.04,.02-.07,.03c-.1,.04-.19,.08-.28,.13-.08,.04-.17,.08-.25,.13-.01,0-.02,.01-.03,.02,0,0-.02,0-.03-.02-.08-.05-.17-.09-.26-.14-.09-.04-.18-.09-.27-.13-.02,0-.05-.02-.07-.03l-86.69-30.32-33-87.87c-.03-.07-.07-.13-.1-.19-.05-.1-.09-.2-.15-.3,0,0,0-.02-.01-.03l32.26-85.89,86.69-30.32s.05-.03,.08-.04c.13-.05,.26-.11,.38-.18,.04-.02,.08-.04,.12-.07,.15-.09,.29-.19,.42-.31,.02-.02,.04-.04,.06-.06,.02-.02,.04-.04,.06-.06,.02,.02,.04,.04,.06,.06,.02,.02,.04,.04,.06,.06,.13,.12,.27,.22,.42,.31,.04,.02,.08,.04,.12,.07,.12,.07,.25,.13,.39,.18,.03,.01,.05,.03,.08,.04l86.69,30.32,32.73,87.14-32.73,87.14-86.69,30.32Zm84.34-23.14l-16.18,51.16-58.85-24.92,75.03-26.24Zm-237.41,57.07l-3.79-72.52,64.25,13.23,17.32,54.78-75.34,6.8c-.82-.75-1.64-1.51-2.45-2.28Zm28.95-143.47l29.13,77.55-60.68-12.49,31.55-65.06Zm-1-15.85l-31.55-65.06,60.68-12.49-29.13,77.55Zm39.51,102.25l75.03,26.24-58.85,24.92-16.18-51.16Zm-1-188.65l16.18-51.16,58.85,24.92-75.03,26.24Zm209.46,102.25l31.55,65.06-60.68,12.49,29.13-77.55Zm-29.13-93.4l60.68,12.49-31.55,65.06-29.13-77.55Zm-9.39-8.84l-75.03-26.24,58.85-24.92,16.18,51.16Zm-16.19-60.31l-53.09-39.05c21.89,.3,42.27,1.41,61.14,4.94l-8.05,34.11Zm-138.57,0l-7.4-31.36c23.24-4.85,45.88-6.85,60.46-7.68l-53.06,39.03Zm-57.05,155.62s.02,.03,.03,.05l-31.93,65.84-35.72-67.43c0-1.32,0-2.64,.01-3.95l33.91-64.01,33.71,69.5Zm-66.95,18.86l28.53,53.86-20.55,5.9c-4.95-22.7-7.08-44.97-7.98-59.76Zm125,134.79l53.32,39.22c-21.52-.3-42.04-1.45-61.36-5.15l8.04-34.07Zm137.57,0l7.44,31.53c-23.4,4.88-46.19,6.88-60.75,7.69l53.31-39.21Zm57.53-154.64l33.23-68.52,34.06,64.31c0,3.73-.07,5.89-.07,6.04v.22c0,.78,0,1.54,0,2.32l-33.98,64.15-33.23-68.52Zm37.49-73.29l21.86-6.28c5.23,23.49,7.06,46.49,7.66,62.01l-29.52-55.73Zm20.48-12.12l-22.07,6.34-3.33-63.8c12.29,15.85,20.25,36.62,25.4,57.46Zm-41.32-73.66l-68.43,6.18,8.18-34.67c22.24,4.85,42.32,13.43,60.25,28.49ZM90.62,107.41l-3.31,63.34-23.63-6.79c5.03-20.3,13.33-39.23,26.94-56.55Zm-24.55,227.87l22.24-6.39,3.42,65.43c-12.32-15.23-20.38-37.05-25.66-59.05Zm343.35,57.3l3.33-63.68,24.16,6.94c-4.98,20.24-13.39,39.06-27.49,56.74Z" fill="%23FFFFFF" fill-opacity="0.92"/></svg>');
	-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="44.1 43.6 411.8 412.6"><path d="M452.1,190.4L448.2,168.7L440.1,139.9L429.4,115.7L420.9,102.1L411.2,90.7L395.3,76.8L377.6,65.6L357.9,56.8L329.7,49.2L303.3,45.7L255.1,43.6L228.7,44.4L200.6,47.0L166.9,52.9L132.6,63.0L116.7,70.1L102.5,78.8L90.5,89.1L80.6,100.7L72.2,112.8L59.4,138.2L54.8,151.5L48.5,179.0L44.5,222.2L44.1,255.2L45.8,285.2L49.8,316.1L53.2,333.1L63.2,367.1L70.2,382.9L78.8,397.1L89.0,409.2L111.5,427.1L135.4,439.8L147.9,444.4L174.0,450.9L201.5,454.3L245.0,456.2L284.5,454.4L316.0,450.3L333.2,446.9L367.5,436.8L383.4,429.7L397.6,421.0L409.6,410.7L419.5,399.2L435.0,375.2L445.3,349.9L451.6,323.4L455.6,281.4L455.9,232.6L452.1,190.4Z"/></svg>');
	mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="44.1 43.6 411.8 412.6"><path d="M452.1,190.4L448.2,168.7L440.1,139.9L429.4,115.7L420.9,102.1L411.2,90.7L395.3,76.8L377.6,65.6L357.9,56.8L329.7,49.2L303.3,45.7L255.1,43.6L228.7,44.4L200.6,47.0L166.9,52.9L132.6,63.0L116.7,70.1L102.5,78.8L90.5,89.1L80.6,100.7L72.2,112.8L59.4,138.2L54.8,151.5L48.5,179.0L44.5,222.2L44.1,255.2L45.8,285.2L49.8,316.1L53.2,333.1L63.2,367.1L70.2,382.9L78.8,397.1L89.0,409.2L111.5,427.1L135.4,439.8L147.9,444.4L174.0,450.9L201.5,454.3L245.0,456.2L284.5,454.4L316.0,450.3L333.2,446.9L367.5,436.8L383.4,429.7L397.6,421.0L409.6,410.7L419.5,399.2L435.0,375.2L445.3,349.9L451.6,323.4L455.6,281.4L455.9,232.6L452.1,190.4Z"/></svg>');
}

#dcj-customisation
.dcj-shape-opt[data-shape="radiant"]::before {
	--dcj-facet: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="99.7 50.5 300.3 399.1"><path d="M400.04,92.52c0-.05,0-.11,0-.16-.02-.34-.06-.68-.14-1,0-.04-.02-.08-.03-.12-.08-.34-.19-.67-.33-.98-.02-.04-.04-.08-.06-.12-.15-.32-.32-.62-.52-.9-.03-.04-.06-.07-.08-.11-.21-.29-.45-.56-.71-.8-.02-.01-.03-.03-.04-.05l-39.27-36.25s-.04-.03-.06-.04c-.26-.24-.55-.45-.85-.64-.04-.03-.08-.05-.12-.08-.3-.17-.61-.32-.93-.44-.05-.02-.09-.03-.14-.05-.32-.11-.65-.19-.98-.25-.05,0-.1-.02-.15-.02-.27-.04-.55-.06-.83-.06H144.99c-.28,0-.56,.03-.83,.06-.05,0-.1,.01-.15,.02-.34,.06-.67,.14-.98,.25-.05,.02-.09,.03-.13,.05-.33,.12-.64,.27-.93,.44-.04,.02-.08,.05-.12,.07-.31,.19-.59,.41-.86,.65-.02,.02-.04,.03-.06,.04l-39.27,36.25s-.05,.05-.07,.08c-.09,.09-.17,.17-.26,.26-.06,.06-.12,.12-.17,.19-.07,.09-.14,.18-.21,.27-.05,.07-.11,.14-.16,.21-.06,.09-.12,.19-.18,.29-.05,.07-.09,.15-.14,.22-.06,.12-.12,.23-.17,.35-.03,.06-.06,.12-.09,.18-.23,.55-.39,1.13-.45,1.75-.01,.12-.01,.24-.02,.37,0,.08-.01,.16-.01,.24V407.31c0,.11,.01,.21,.02,.32,0,.1,0,.19,.01,.29,.06,.62,.22,1.2,.45,1.75,.03,.06,.06,.12,.09,.18,.06,.12,.11,.24,.17,.35,.04,.08,.09,.15,.14,.23,.06,.09,.11,.19,.17,.28,.05,.08,.11,.15,.17,.22,.07,.09,.13,.18,.21,.26,.06,.07,.12,.13,.18,.2,.08,.09,.16,.17,.25,.25,.03,.03,.05,.05,.08,.08l39.27,36.25s.04,.02,.05,.04c.27,.24,.56,.46,.86,.65,.04,.02,.08,.05,.12,.07,.3,.18,.61,.32,.94,.45,.04,.02,.09,.03,.13,.05,.32,.11,.65,.19,.99,.25,.05,0,.1,.02,.15,.02,.27,.04,.55,.06,.83,.06h209.79c.28,0,.56-.03,.83-.06,.05,0,.1-.01,.15-.02,.34-.06,.67-.14,.99-.25,.04-.02,.09-.03,.13-.05,.33-.12,.64-.27,.94-.45,.04-.02,.08-.05,.12-.07,.31-.19,.59-.41,.86-.65,.02-.02,.04-.03,.06-.04l39.27-36.25s.02-.03,.04-.04c.26-.25,.5-.52,.72-.81,.03-.04,.05-.07,.08-.1,.2-.29,.38-.59,.53-.91,.02-.04,.04-.07,.05-.11,.14-.32,.25-.65,.34-.99,0-.04,.02-.07,.03-.11,.07-.33,.12-.67,.14-1.01,0-.05,0-.1,0-.15,0-.06,0-.11,0-.17V92.69c0-.06,0-.11,0-.17Zm-35.12,287.35V120.13l23.13-18.72V398.59c-7.71-6.24-15.42-12.48-23.13-18.72Zm22.19-285.42l-25.06,20.29-34.82-32.14,24.9-20.16h.3l34.68,32.01Zm-137.22,24.62l-61.09-33.63h122.18l-61.09,33.63Zm68.35-30.77l-7.46,32.79-49.75-1.3,57.21-31.49Zm-79.5,31.49l-49.75,1.3-7.46-32.79,57.21,31.49Zm-49.5,7.3l60.65-1.59,60.65,1.59,16.89,122.92-16.89,122.92-60.65,1.58-60.65-1.58-16.89-122.92,16.89-122.92Zm127.31-.29l41.46-4.64-26.76,111.63-14.7-107Zm.47-6.09l7.4-32.53,30.63,28.28-38.04,4.25Zm4.57-41.25H178.18l-21.01-17.01h185.43l-21.01,17.01Zm-138.83,41.25l-38.04-4.25,30.63-28.28,7.4,32.53Zm.47,6.09l-14.7,107-26.76-111.63,41.46,4.64Zm-16.98,123.21l-25.39,105.92V144.08l25.39,105.92Zm2.28,16.21l14.7,107-41.46,4.63,26.76-111.63Zm14.23,113.09l-7.4,32.53-30.64-28.28,38.04-4.25Zm6.24-.39l49.75,1.3-57.21,31.49,7.46-32.79Zm60.89,2.01l61.09,33.63h-122.18l61.09-33.63Zm11.14-.71l49.75-1.3,7.46,32.79-57.21-31.49Zm55.99-.91l38.04,4.25-30.63,28.28-7.4-32.53Zm-.47-6.09l14.7-107,26.76,111.63-41.46-4.63Zm16.98-123.21l25.39-105.91v211.83l-25.39-105.91ZM147.34,62.44h.3l24.9,20.16-34.82,32.14c-8.35-6.76-16.71-13.53-25.06-20.29l34.68-32.01Zm-35.62,38.97c7.71,6.24,15.42,12.48,23.13,18.72V379.87c-7.71,6.24-15.42,12.48-23.13,18.72V101.41Zm.94,304.14c8.35-6.76,16.71-13.52,25.06-20.29l34.82,32.14-24.9,20.16h-.3l-34.68-32.01Zm44.51,32.01l21.01-17.01h143.4l21.01,17.01H157.17Zm195.26,0h-.3l-24.9-20.16,34.81-32.14c8.35,6.76,16.71,13.53,25.06,20.29l-34.68,32.01Z" fill="%23FFFFFF" fill-opacity="0.92"/></svg>');
	-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="99.7 50.5 300.3 399.1"><path d="M400.0,92.5L398.1,88.3L358.9,52.0L354.9,50.5L144.1,50.5L140.9,52.0L100.8,89.3L99.7,92.7L99.8,408.1L101.5,411.6L141.5,448.4L145.0,449.6L355.7,449.5L358.9,448.0L399.0,410.8L400.1,407.6L400.0,92.5Z"/></svg>');
	mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="99.7 50.5 300.3 399.1"><path d="M400.0,92.5L398.1,88.3L358.9,52.0L354.9,50.5L144.1,50.5L140.9,52.0L100.8,89.3L99.7,92.7L99.8,408.1L101.5,411.6L141.5,448.4L145.0,449.6L355.7,449.5L358.9,448.0L399.0,410.8L400.1,407.6L400.0,92.5Z"/></svg>');
}

#dcj-customisation
.dcj-shape-opt[data-shape="pear"]::before {
	--dcj-facet: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="123.0 50.1 253.8 399.8"><g transform="rotate(180 250.0 250.0)"><path d="M375.91,158.76c0-.06-.02-.12-.03-.18,0-.03,0-.06,0-.1-3.39-22.21-12.15-42.43-26.03-60.09v-.02l-.03-.02c-12.44-15.6-27.9-27.82-45.95-36.32h-.03c-17.11-7.95-35.22-12-53.82-12.03h-.02c-18.6,.03-36.71,4.08-53.82,12.02h-.01l-.03,.02c-18.05,8.5-33.5,20.71-45.94,36.31v.02h-.03c-13.88,17.68-22.64,37.9-26.03,60.11,0,.04,0,.09-.01,.13,0,.05-.02,.09-.02,.14-2.4,23.05-1.26,44.34,3.6,67h0v.06h.01c4.06,19.82,9.61,38.66,16.97,57.61h0v.03h.01c5.86,15.38,12.69,30.63,20.28,45.34h0v.03h.01c8.95,17.55,18.95,34.8,29.73,51.3h0v.02c9.17,13.9,19.84,28.8,30.89,43.1,6.72,8.7,13.43,17.01,19.95,24.68,.04,.04,.08,.08,.11,.12,.07,.08,.14,.15,.21,.22,.08,.08,.16,.15,.24,.22,.04,.03,.07,.07,.11,.1,.03,.02,.05,.04,.08,.06,.09,.08,.19,.15,.28,.22,.06,.05,.13,.09,.19,.13,.09,.06,.19,.12,.29,.18,.07,.04,.15,.09,.22,.12,.09,.05,.18,.09,.27,.13,.09,.04,.17,.08,.26,.11,.08,.03,.17,.06,.25,.09,.1,.03,.19,.07,.29,.1,.08,.02,.16,.04,.24,.06,.1,.03,.21,.05,.31,.07,.08,.02,.16,.03,.24,.04,.1,.02,.21,.03,.31,.04,.09,0,.17,.01,.26,.02,.1,0,.19,0,.29,0,.09,0,.19,0,.28,0,.09,0,.18,0,.27-.02,.1,0,.2-.02,.3-.04,.08-.01,.17-.02,.25-.04,.1-.02,.2-.04,.3-.07,.08-.02,.17-.04,.25-.06,.1-.03,.19-.06,.28-.09,.09-.03,.17-.06,.26-.09,.09-.03,.17-.07,.25-.11,.09-.04,.18-.09,.27-.13,.07-.04,.15-.08,.22-.13,.1-.06,.19-.11,.28-.18,.07-.04,.13-.09,.2-.14,.09-.07,.19-.14,.28-.21,.03-.02,.05-.04,.08-.06,.04-.03,.07-.07,.1-.1,.09-.08,.18-.17,.27-.26,.07-.07,.13-.14,.2-.21,.03-.04,.07-.07,.1-.1,6.54-7.7,13.25-16,19.95-24.68,11.04-14.3,21.72-29.2,30.88-43.1h0v-.02c10.78-16.49,20.78-33.74,29.73-51.29h0v-.02h.01c7.59-14.72,14.42-29.99,20.29-45.37h0c7.36-18.96,12.91-37.8,16.97-57.61h0v-.06h.01c3.23-15.04,4.81-29.47,4.81-44.22,0-7.47-.41-15.03-1.22-22.78Zm-51.27,164.7h0v.02c-.3,.57-.6,1.15-.9,1.72l-59.48,22.08,11.92-48.28,35.6-32.15,13.81,54.73c-.32,.62-.63,1.25-.95,1.87Zm-149.26,.02h0v-.02c-.33-.62-.64-1.25-.96-1.87l13.81-54.73,35.6,32.15,11.92,48.28-59.48-22.08c-.3-.57-.6-1.15-.89-1.72Zm-20.5-153.4l-18.16,39.99c-2.28-15.29-2.73-30.22-1.39-45.93l19.55,5.94Zm4.46-64.46c.12-.15,.24-.29,.35-.43l53.82,2.12-14.52,36-37.28,20.04-3.62-56.1c.41-.54,.81-1.09,1.24-1.63Zm181.34,0c.42,.53,.82,1.08,1.23,1.62l-3.62,56.1-37.28-20.04-14.52-36,53.82-2.12c.12,.15,.24,.29,.36,.44Zm-87.17,229.1l12.62-20.02-7.25,29.38-5.36-9.35Zm-12.36,9.36l-7.25-29.38,12.62,20.02-5.36,9.36Zm8.86-282.39c.09,0,.18,0,.27,0l27.41,41.51-27.68,12.66-27.68-12.66,27.41-41.51c.09,0,.18,0,.27,0Zm20.76,234.39l-20.76,32.95-20.76-32.95-32.15-92.42,7.06-56.31,45.85-24.77,45.85,24.77,7.06,56.31-32.15,92.43Zm-14.03-176.69l23.78-10.87,12.23,30.33-36.01-19.46Zm-13.45,0l-36.01,19.46,12.23-30.33,23.78,10.87Zm-51.45,78.05l-27.87-28.48,33.71-18.12-5.84,46.6Zm28.01,89.88l-30.13-27.2,5.65-43.18,24.48,70.38Zm84.8-70.38l5.65,43.18-30.12,27.2,24.48-70.38Zm3.53-19.5l-5.84-46.6,33.71,18.12-27.87,28.48Zm-50.54-135.47c13.15,.89,26,4.01,38.3,9.32l-14.14,27.27-24.17-36.6Zm-39.44,36.6l-14.14-27.27c12.31-5.32,25.15-8.43,38.3-9.32l-24.17,36.6Zm-79.06,124.84v-.06c-.21-.94-.4-1.88-.59-2.82l21.39-47.1,30.92,31.6-6.67,50.99-44.68-30.87c-.12-.58-.26-1.16-.38-1.74Zm110.86,117.28l6.9,12.03-6.89,63.59-6.9-63.59,6.9-12.03Zm59.13-135.66l30.92-31.6,21.39,47.1c-.19,.94-.38,1.88-.58,2.82v.06c-.13,.58-.26,1.16-.39,1.74l-44.68,30.87-6.67-50.99Zm54.15,5.03l-18.16-39.99,19.55-5.94c1.34,15.71,.9,30.64-1.39,45.93Zm.66-51.97l-19.7,5.98,3.16-48.95c8.35,13.08,13.9,27.48,16.55,42.97Zm-28.64-58.71l-48.16,1.9,14.23-27.45c12.89,6.43,24.26,15,33.93,25.56Zm-136.7-25.56l14.23,27.45-48.16-1.9c9.67-10.55,21.05-19.13,33.93-25.56Zm-46.02,41.3l3.15,48.95-19.7-5.98c2.65-15.49,8.19-29.89,16.55-42.97Zm-11.15,118.65l39.4,27.22-26.61,14.66c-5.2-13.83-9.43-27.65-12.79-41.88Zm14.95,47.54l25.54-14.07-11.63,46.08c-5.07-10.5-9.73-21.22-13.91-32.01Zm24.05,51.83l52.75,19.59-30.25,18.6c-7.99-12.38-15.53-25.17-22.5-38.18Zm25.8,43.2l31.3-19.24,7.84,72.3c-3.49-4.31-7.01-8.75-10.54-13.32-10.17-13.17-20-26.84-28.6-39.74Zm58.91,39.74c-3.52,4.56-7.04,9-10.54,13.31l7.84-72.3,31.3,19.24c-8.6,12.9-18.43,26.57-28.6,39.74Zm31.89-44.76l-30.25-18.6,52.75-19.59c-6.98,13.02-14.52,25.81-22.51,38.18Zm32.65-58.01l-11.63-46.08,25.54,14.07c-4.18,10.79-8.84,21.52-13.91,32.01Zm16.07-37.67l-26.6-14.66,39.4-27.22c-3.36,14.23-7.59,28.05-12.79,41.88Z" fill="%23FFFFFF" fill-opacity="0.92"/></g></svg>');
	-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="123.0 50.1 253.8 399.8"><path d="M124.1,341.2L127.7,357.7L135.5,378.2L146.8,397.1L160.1,412.7L174.9,425.4L191.7,435.7L209.2,443.1L231.6,448.6L250.0,450.0L273.0,447.8L295.2,441.6L312.7,433.4L328.9,422.4L343.3,409.1L356.3,392.5L366.8,373.2L372.3,357.7L375.9,341.5L376.8,307.6L375.2,291.0L371.2,269.2L365.0,245.0L358.8,226.0L340.6,182.3L315.8,136.6L285.3,91.2L264.3,64.0L252.3,50.5L248.7,50.1L245.5,52.0L222.8,80.3L199.4,112.8L174.3,153.7L152.5,197.4L136.4,240.2L126.9,277.9L123.0,311.1L124.1,341.2Z"/></svg>');
	mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="123.0 50.1 253.8 399.8"><path d="M124.1,341.2L127.7,357.7L135.5,378.2L146.8,397.1L160.1,412.7L174.9,425.4L191.7,435.7L209.2,443.1L231.6,448.6L250.0,450.0L273.0,447.8L295.2,441.6L312.7,433.4L328.9,422.4L343.3,409.1L356.3,392.5L366.8,373.2L372.3,357.7L375.9,341.5L376.8,307.6L375.2,291.0L371.2,269.2L365.0,245.0L358.8,226.0L340.6,182.3L315.8,136.6L285.3,91.2L264.3,64.0L252.3,50.5L248.7,50.1L245.5,52.0L222.8,80.3L199.4,112.8L174.3,153.7L152.5,197.4L136.4,240.2L126.9,277.9L123.0,311.1L124.1,341.2Z"/></svg>');
}

#dcj-customisation
.dcj-shape-opt[data-shape="marquise"]::before {
	--dcj-facet: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="140.8 50.2 218.5 399.3"><path d="M359.25,249.99c-.01-6.78-.25-13.55-.75-20.13-.52-6.77-1.32-13.53-2.37-20.07-1.09-6.74-2.48-13.41-4.14-19.84h0c-1.66-6.44-3.67-12.96-5.97-19.38-2.23-6.23-4.8-12.53-7.63-18.72-2.74-6-5.8-12.05-9.08-17.98h0c-9.37-17.01-21.32-33.48-34.56-47.64h-.01c-12.19-13.09-26.48-25.26-41.32-35.19h0c-.17-.11-.33-.22-.51-.31h-.03c-.15-.1-.31-.17-.47-.24-.39-.17-.8-.29-1.21-.37h0c-.15-.03-.31-.05-.47-.07-.04,0-.08-.01-.13-.02-.12-.01-.24-.01-.36-.02-.08,0-.16-.01-.24-.01-.08,0-.16,0-.24,.01-.12,0-.24,0-.36,.02-.04,0-.09,.01-.13,.02-.15,.02-.31,.04-.46,.07h-.02c-.38,.08-.76,.19-1.13,.35-.37,.15-.73,.34-1.07,.57h0c-14.84,9.93-29.13,22.1-41.33,35.19h0c-13.24,14.16-25.19,30.62-34.56,47.63h0c-3.28,5.94-6.34,11.99-9.08,17.99-2.83,6.19-5.39,12.49-7.63,18.72-2.31,6.44-4.31,12.96-5.97,19.38-1.66,6.42-3.05,13.09-4.14,19.84-1.06,6.53-1.85,13.28-2.37,20.07-.5,6.53-.75,13.25-.75,19.97v.16h0v.16c0,6.73,.25,13.45,.75,19.98,.52,6.79,1.32,13.55,2.37,20.07,1.09,6.75,2.49,13.42,4.14,19.84,1.66,6.42,3.66,12.94,5.97,19.38,2.24,6.23,4.8,12.53,7.63,18.72,2.74,5.99,5.79,12.04,9.07,17.97h0c9.37,17.02,21.32,33.49,34.56,47.64h0c12.2,13.09,26.49,25.26,41.33,35.19h.01c.14,.1,.29,.19,.44,.27,.03,.02,.06,.04,.09,.05,.11,.06,.22,.11,.33,.16,.59,.27,1.21,.44,1.83,.51,.03,0,.07,.01,.1,.01,.12,.01,.24,.01,.37,.02,.08,0,.16,.01,.24,.01,.08,0,.16,0,.24-.01,.12,0,.24,0,.37-.02,.03,0,.07-.01,.1-.01,.61-.07,1.22-.24,1.81-.5,.12-.05,.24-.11,.36-.17,.02-.01,.05-.03,.07-.04,.16-.09,.31-.18,.46-.28h.01c14.84-9.94,29.13-22.1,41.32-35.18h.01c13.24-14.17,25.2-30.64,34.56-47.64h0v-.02h0c3.29-5.94,6.34-11.98,9.07-17.97,2.83-6.19,5.4-12.49,7.63-18.72,2.3-6.42,4.31-12.94,5.97-19.38h0c1.66-6.43,3.05-13.11,4.14-19.85,1.06-6.55,1.86-13.3,2.37-20.07,.5-6.51,.75-13.21,.75-19.92v-.22h0Zm-25.68,24.73h0l-13.75,21.38-18.33-46.11,18.33-46.11,13.75,21.38,13.38,20.81c.02,1.23,.03,2.47,.03,3.7,0,.07,.01,.12,0,.22h0c0,1.32-.02,2.62-.04,3.93l-13.37,20.8Zm-15,85.46h0c-1.04,1.9-2.12,3.78-3.22,5.66l-33.88,25.77,.05-49.15,35.11-33.07,1.88,23.81h0l1.87,23.67c-.59,1.11-1.18,2.21-1.79,3.31Zm-68.58,76.22c-.6-.42-1.19-.86-1.78-1.28l-22.38-36.31,24.17-14.74,24.17,14.74-22.38,36.31c-.6,.42-1.19,.86-1.78,1.28Zm-83.57-161.68h0l-13.38-20.81c-.02-1.25-.04-2.51-.04-3.76,0-.05,.02-.1,0-.16h0c0-1.31,0-2.61,.03-3.91l13.39-20.82,13.75-21.38,18.33,46.11-18.33,46.11-13.75-21.37Zm14.99-134.93h0c1.04-1.9,2.12-3.78,3.22-5.66l33.88-25.77-.05,49.15-35.1,33.07-1.88-23.81h0l-1.87-23.67c.59-1.11,1.18-2.21,1.79-3.31ZM250,63.59c.6,.42,1.19,.86,1.78,1.28l22.39,36.31-24.17,14.74-24.17-14.74,22.38-36.31c.6-.42,1.19-.86,1.78-1.28Zm25.59,276.28l-25.59,35.39-25.59-35.39-19.46-89.87,19.46-89.86,25.59-35.39,25.59,35.39,19.46,89.86-19.46,89.87Zm-21.16-219.47l20.91-12.75,.04,41.72-20.95-28.97Zm-29.8,28.97l.04-41.72,20.91,12.75-20.95,28.97Zm-23.68,90.15l-16.5-41.5,32.02-30.16-15.52,71.66Zm15.52,92.62l-32.02-30.16,16.5-41.5,15.52,71.66Zm29.11,47.46l-20.91,12.75-.04-41.72,20.95,28.97Zm29.8-28.97l-.04,41.72-20.91-12.75,20.95-28.97Zm23.68-90.15l16.5,41.5-32.02,30.16,15.52-71.66Zm-15.52-92.62l32.02,30.16-16.5,41.5-15.52-71.66Zm35.03-28.07h0c.61,1.11,1.2,2.22,1.79,3.32l-1.87,23.67h0l-1.88,23.82-35.11-33.07-.05-49.15,33.88,25.77c1.11,1.87,2.18,3.75,3.22,5.64Zm-137.14,220.41h0c-.61-1.11-1.2-2.22-1.79-3.32l1.87-23.66h0l1.88-23.82,35.1,33.07,.05,49.15-33.88-25.77c-1.11-1.87-2.18-3.75-3.22-5.64Zm153.04-185.49c2.18,6.07,4.07,12.23,5.64,18.3h0c1.56,6.07,2.88,12.37,3.91,18.74,1,6.21,1.76,12.62,2.25,19.05,.08,1.07,.15,2.14,.21,3.22l-7.76-12.07-16.41-25.52,2.3-29.16h0l1.07-13.61c.52,1.1,1.04,2.19,1.54,3.29,2.69,5.88,5.12,11.86,7.24,17.76Zm-28.9-55.69l-22.52-17.13,4.92-4.89c6.25,6.88,12.16,14.29,17.6,22.02Zm-21.79-26.5l-4.81,4.78-13.44-21.8c6.42,5.36,12.55,11.08,18.25,17.03Zm-49.32-17.02l-13.44,21.8-4.8-4.77c5.69-5.95,11.83-11.66,18.24-17.02Zm-22.44,21.5l4.92,4.89-22.52,17.13c5.43-7.73,11.35-15.14,17.59-22.02Zm-56.04,114.76c1.03-6.38,2.35-12.68,3.91-18.74,1.56-6.06,3.46-12.22,5.64-18.3,2.12-5.91,4.56-11.89,7.24-17.76,.5-1.09,1.02-2.19,1.54-3.29l1.07,13.59v.02l2.3,29.16-16.41,25.52-7.76,12.07c.07-1.08,.13-2.15,.22-3.22,.49-6.45,1.25-12.86,2.25-19.05Zm9.55,113.54c-2.18-6.08-4.08-12.24-5.64-18.3-1.56-6.06-2.88-12.36-3.91-18.74-1-6.19-1.76-12.6-2.25-19.05-.08-1.06-.15-2.14-.21-3.22l7.76,12.06h0l16.41,25.53-2.3,29.16v.02l-1.07,13.59c-.52-1.1-1.04-2.19-1.54-3.29-2.69-5.88-5.12-11.85-7.24-17.76Zm28.9,55.69l22.52,17.13-4.92,4.89c-6.24-6.88-12.16-14.29-17.59-22.02Zm21.79,26.49l4.8-4.77,13.44,21.8c-6.42-5.36-12.55-11.08-18.24-17.02Zm49.32,17.02l13.44-21.8,4.8,4.77c-5.69,5.95-11.82,11.66-18.24,17.02Zm22.44-21.5l-4.92-4.89,22.52-17.13c-5.43,7.73-11.35,15.14-17.6,22.02Zm56.04-114.76c-1.03,6.37-2.35,12.68-3.91,18.74h0c-1.57,6.08-3.46,12.23-5.64,18.3-2.12,5.91-4.55,11.89-7.24,17.76-.5,1.09-1.02,2.19-1.54,3.29l-1.07-13.61h0l-2.3-29.16,16.41-25.52h0l7.75-12.07c-.07,1.07-.13,2.15-.21,3.21-.49,6.43-1.25,12.84-2.25,19.05Z" fill="%23FFFFFF" fill-opacity="0.92"/></svg>');
	-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="140.8 50.2 218.5 399.3"><path d="M359.2,250.0L357.5,219.7L352.0,190.0L342.4,161.2L329.3,133.9L310.5,105.0L288.5,79.8L271.6,64.5L257.1,53.6L251.7,50.2L247.0,50.8L224.9,67.5L202.0,89.8L183.7,113.0L169.1,136.8L156.3,164.3L147.6,191.6L142.5,219.7L140.8,250.2L142.5,280.3L147.6,308.4L156.3,335.7L169.1,363.1L183.7,387.0L202.0,410.2L224.9,432.5L247.1,449.2L252.2,449.6L260.8,443.8L278.5,429.5L291.6,417.0L313.5,391.0L329.3,366.1L342.4,338.8L352.0,310.0L357.5,280.2L359.2,250.0Z"/></svg>');
	mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="140.8 50.2 218.5 399.3"><path d="M359.2,250.0L357.5,219.7L352.0,190.0L342.4,161.2L329.3,133.9L310.5,105.0L288.5,79.8L271.6,64.5L257.1,53.6L251.7,50.2L247.0,50.8L224.9,67.5L202.0,89.8L183.7,113.0L169.1,136.8L156.3,164.3L147.6,191.6L142.5,219.7L140.8,250.2L142.5,280.3L147.6,308.4L156.3,335.7L169.1,363.1L183.7,387.0L202.0,410.2L224.9,432.5L247.1,449.2L252.2,449.6L260.8,443.8L278.5,429.5L291.6,417.0L313.5,391.0L329.3,366.1L342.4,338.8L352.0,310.0L357.5,280.2L359.2,250.0Z"/></svg>');
}

#dcj-customisation
.dcj-shape-opt[data-shape="asscher"]::before {
	--dcj-facet: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="50.1 49.6 400.8 400.8"><path d="M449.16,131.7l-80.36-80.36c-1.12-1.12-2.65-1.76-4.24-1.76H136.44c-1.59,0-3.12,.63-4.24,1.76L51.84,131.7c-1.12,1.12-1.76,2.65-1.76,4.24v228.12c0,1.59,.63,3.12,1.76,4.24l80.36,80.36c1.12,1.13,2.65,1.76,4.24,1.76h228.12c1.59,0,3.12-.63,4.24-1.76l80.36-80.36c1.13-1.12,1.76-2.65,1.76-4.24V135.94c0-1.59-.63-3.12-1.76-4.24Zm-122.7,159.39v-82.17l33.6-19.71v121.59l-33.6-19.71Zm-142.72,66.77l-20.55-20.56-20.55-20.55,30.66-17.99,30.38,25.11-19.93,33.98Zm174.61-174.61l-33.95,19.92-26.56-27.94,19.41-33.09,41.1,41.11Zm-217.41,127.55v-121.59l30.58,17.94v85.71l-30.58,17.94Zm36.58-100.13l67.05,39.34-67.05,39.34v-78.67Zm1.28-6.21l27.35-24.13,35.94,61.26-63.29-37.13Zm140.29,1.82l-60.18,35.3,35.77-60.97,24.41,25.67Zm-68.59,37.79l-38.42-65.48h76.83l-38.42,65.48Zm-77.15-42.81l-30.7-18.01,41.1-41.11,19.31,32.91-29.7,26.21Zm-41.41-15.59v128.67l-17.79,10.44V175.23l17.79,10.44Zm46.87,109.87l63.27-37.12-35.33,60.22-27.94-23.1Zm71.69-39.61l38.48,65.59h-76.96l38.48-65.59Zm8.41,2.49l60.15,35.29-25.05,24.53-35.09-59.82Zm-2.49-8.41l64.03-37.57v75.13l-64.03-37.57Zm108.85-72.55l-42.22-42.23,11.01-18.76,49.98,49.98-18.77,11.01Zm-72.85-4.86h-83.87l-18.86-32.15h121.59l-18.86,32.15Zm-114.5-37.37l-42.22,42.23-18.77-11.01,49.98-49.98,11.01,18.76Zm-72.79,34.73v160.1l-17.79,10.44V159.51l17.79,10.44Zm30.57,152.6l42.22,42.23-11.01,18.76-49.98-49.98,18.77-11.01Zm72.82,4.9c.2,.04,.41,.07,.62,.07h82.72c.2,0,.39-.02,.59-.06l18.83,32.1h-121.59l18.84-32.11Zm108.71,30.41l-20.12-34.29,27.28-26.72,33.93,19.91-41.1,41.11Zm51.8-43.53V185.67l17.79-10.44v149.54l-17.79-10.44Zm23.01-152.6l-53.3-53.3,11-18.76,61.05,61.05-18.76,11.01Zm-77.23-30.29H186.16l-10.44-17.79h149.56l-10.44,17.79Zm-152.62-23.01l-53.3,53.3-18.76-11.01,61.06-61.05,11,18.76Zm-83.87,45.8v191.54l-16.28,9.55V144.68l16.28,9.55Zm30.57,184.04l53.3,53.3-11,18.76-61.06-61.05,18.76-11.01Zm77.23,30.29h128.68l10.44,17.79H175.72l10.44-17.79Zm136.9-3.78l42.22-42.23,18.77,11.01-49.98,49.98-11.01-18.76Zm72.79-34.73V169.95l17.78-10.43v180.97l-17.78-10.43Zm26.78-175.82l16.29-9.56v210.64l-16.29-9.56V154.24Zm-3.78-8.22l-64.37-64.37,10.23-17.43,71.57,71.57-17.43,10.23Zm-88.29-41.37H170.44l-10.43-17.78h180.98l-10.43,17.78Zm-184.04-23l-64.37,64.36-17.43-10.22,71.57-71.57,10.23,17.43ZM82.14,353.99l64.37,64.36-10.23,17.43-71.57-71.57,17.43-10.22Zm88.3,41.36h160.11l10.43,17.78H160.01l10.43-17.78Zm168.33-3.78l53.3-53.3,18.76,11.01-61.05,61.05-11-18.76Zm7.49-313.7H154.73l-9.56-16.29h210.65l-9.56,16.29ZM154.73,422.13h191.53l9.56,16.29H145.18l9.56-16.29Zm209.98,13.65l-10.23-17.43,64.37-64.37,17.43,10.23-71.57,71.57Z" fill="%23FFFFFF" fill-opacity="0.92"/></svg>');
	-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="50.1 49.6 400.8 400.8"><path d="M449.2,131.7L368.8,51.3L366.1,49.8L136.4,49.6L133.4,50.4L51.8,131.7L50.3,134.4L50.1,364.1L50.9,367.1L132.2,448.7L134.9,450.2L364.6,450.4L367.6,449.6L449.2,368.3L450.7,365.6L450.9,135.9L449.2,131.7Z"/></svg>');
	mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="50.1 49.6 400.8 400.8"><path d="M449.2,131.7L368.8,51.3L366.1,49.8L136.4,49.6L133.4,50.4L51.8,131.7L50.3,134.4L50.1,364.1L50.9,367.1L132.2,448.7L134.9,450.2L364.6,450.4L367.6,449.6L449.2,368.3L450.7,365.6L450.9,135.9L449.2,131.7Z"/></svg>');
}

#dcj-customisation
.dcj-shape-opt[data-shape="heart"]::before {
	--dcj-facet: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="49.9 60.6 400.2 378.8"><path d="M449.85,161.16c-.94-13.42-4.05-25.66-9.5-37.42v-.02c-9.71-20.95-26.33-38.71-46.81-49.98h-.01c-11-6.08-23.43-10.25-35.92-12.05-18.15-2.62-35.21,.25-41.72,1.61h0c-2.95,.61-6.68,1.45-12.02,3.04-5.01,1.49-12,3.77-21.71,8.17-10.17,4.61-17.93,9.15-22.88,12.16-3.73,2.27-6.74,4.22-9.28,5.92-2.53-1.7-5.53-3.65-9.27-5.92-4.95-3.01-12.72-7.55-22.88-12.16-9.71-4.4-16.71-6.68-21.72-8.17-5.33-1.59-9.06-2.43-12.01-3.04h0c-8.07-1.69-24.22-4.14-41.71-1.61-12.5,1.81-24.92,5.97-35.92,12.04h-.01c-20.48,11.28-37.1,29.03-46.8,49.98h0c-5.46,11.78-8.57,24.03-9.51,37.45-1.25,17.85,1.66,32.34,3.96,41.69h0c3.84,15.61,8.68,28.15,17.24,44.73h0c8.26,15.97,17.01,29.63,30.18,47.15,11.94,15.87,24.35,30.56,40.25,47.6h0c12.36,13.24,24.83,25.72,39.23,39.26h0c20.84,19.6,41.57,37.55,65.23,56.48h.01c.25,.2,.51,.37,.77,.53,.06,.04,.12,.07,.19,.1,.25,.13,.51,.25,.77,.34,.02,0,.04,.02,.07,.03,.27,.09,.55,.16,.84,.21,.08,.02,.16,.03,.24,.04,.28,.04,.56,.07,.85,.07h.04c.28,0,.57-.03,.85-.07,.08-.01,.16-.02,.24-.04,.28-.05,.56-.12,.84-.21,.02,0,.04-.02,.06-.03,.26-.09,.52-.21,.77-.34,.06-.03,.12-.07,.19-.1,.27-.15,.53-.32,.77-.52h.01c23.66-18.95,44.39-36.9,65.23-56.49h0c14.41-13.55,26.87-26.03,39.22-39.26h0c15.9-17.05,28.32-31.74,40.25-47.61h0c13.17-17.52,21.92-31.18,30.18-47.14h0c8.57-16.58,13.4-29.13,17.25-44.74h0c2.3-9.36,5.21-23.85,3.96-41.69ZM181.67,75.04h.01c1.44,.3,3.1,.66,5.07,1.16l56.76,46.48-60.53,15.51-50.68-18.11,48.8-45.15c.19,.04,.4,.08,.57,.12Zm131.58,1.16c1.97-.49,3.63-.85,5.07-1.15h.01c.17-.04,.38-.08,.57-.12l48.8,45.15-50.68,18.11-60.53-15.51,56.76-46.48Zm104.74,165.87h0c-.27,.53-.55,1.04-.82,1.56l-60.09,19.09,.14-50.82,36.49-21.18,24.62,50.69c-.11,.22-.22,.43-.34,.66Zm-335.97,0h0c-.11-.22-.22-.44-.33-.66l24.62-50.69,36.48,21.18,.14,50.82-60.09-19.09c-.27-.52-.55-1.04-.82-1.56Zm-17.05-45.48c-1.91-8.5-3.84-20.43-2.84-34.6,.65-9.35,2.51-18.04,5.59-26.38l32.63,49.28-35.38,11.7Zm224.17,90.29l-39.13,28.13-39.13-28.13-62.47-78.22-18.44-46.83,52.99-17.39,66.33,16.11s.03,0,.05,0c.03,0,.07,.02,.1,.02,.18,.03,.37,.06,.56,.06h0c.19,0,.37-.02,.56-.06,.04,0,.07-.01,.1-.02,.02,0,.03,0,.04,0l66.33-16.11,53,17.39-18.44,46.83-62.47,78.23Zm85.74-120.97l15.62,19.74-30.32,17.6,14.7-37.34Zm-3.95-10.11l-44.51-14.61,44.02-15.73,.48,30.33Zm-117.92-1.99v-25.84l51.77,13.27-51.77,12.57Zm-6,0l-51.77-12.57,51.77-13.27v25.84Zm-117.92,1.99l.48-30.33,44.02,15.73-44.51,14.61Zm-3.95,10.11l14.7,37.34-30.32-17.6,15.62-19.74Zm23.8,98.79l-.13-45.94,51.09,63.97-50.96-18.04Zm96.1,54.12l-23.05,18.27-8.66-41.07,31.71,22.8Zm4.98,3.71l26.46,20.97-26.46,80.3-26.46-80.3,26.46-20.97Zm4.98-3.71l31.71-22.8-8.66,41.07-23.05-18.27Zm96.23-100.05l-.13,45.94-50.96,18.04,51.08-63.97Zm86.68-56.78c.99,14.17-.94,26.1-2.84,34.6l-35.38-11.7,32.63-49.28c3.09,8.34,4.94,17.03,5.59,26.38Zm-8.41-33.19s.03,.08,.05,.11l-34.74,52.48-17.8-22.5-.55-34.41,53.05,4.31Zm-306.45,30.1l-17.8,22.5-34.74-52.48s.03-.08,.05-.11l53.04-4.31-.55,34.41Zm-23.82,32.68l-20.9,43.04c-5.45-11.35-9.02-21.04-11.92-32.19l32.82-10.86Zm39.57,76.12l-29.1,17.85c-9.39-12.61-16.41-23.19-22.69-34.31l51.8,16.46Zm4.18,4.48l.18,53.89c-11.26-12.42-20.75-23.78-29.84-35.7l29.66-18.19Zm7.61,61.97h0c-.47-.51-.94-1.01-1.4-1.51l-.21-61.55,57.24,20.26,10.1,47.89-64.4-3.68c-.44-.47-.89-.94-1.33-1.42Zm91.66,85.21c-17.89-14.68-34.27-29.03-50.64-44.33l27.14-27.02,23.51,71.35Zm39.07-71.35l27.13,27.02c-16.37,15.3-32.75,29.64-50.64,44.33l23.51-71.35Zm12.52-56.67l57.24-20.26-.21,61.55c-.47,.51-.93,1.01-1.41,1.52h0c-.44,.47-.89,.94-1.33,1.41l-64.4,3.68,10.1-47.89Zm63.06,34.73l.18-53.89,29.66,18.19c-9.09,11.91-18.58,23.27-29.84,35.69Zm33.47-40.51l-29.11-17.85,51.8-16.46c-6.28,11.12-13.3,21.7-22.69,34.31Zm31.36-50.93l-20.9-43.04,32.82,10.86c-2.89,11.15-6.47,20.83-11.92,32.19Zm4.56-112.1l-48.55-3.95,13.26-32.48c14.56,8.79,27.05,21.71,35.29,36.43Zm-70.37-48.97c10.31,1.49,20.56,4.81,29.79,9.61l-13.45,32.93-45.85-42.42c7.55-1.01,18.32-1.73,29.5-.12Zm-90.37,23.35c5.08-3.09,12.13-7.19,21.6-11.48,4.15-1.88,7.75-3.34,10.9-4.5l-45,36.85v-12.74c.13-.08,.27-.15,.4-.24h.01c3.01-2.09,6.81-4.66,12.1-7.88Zm-31.02,0c5.3,3.23,9.09,5.79,12.09,7.87h.01c.13,.1,.27,.17,.4,.25v12.74l-45-36.85c3.14,1.17,6.75,2.63,10.9,4.51,9.46,4.29,16.51,8.39,21.6,11.48Zm-90.37-23.35c11.17-1.61,21.94-.89,29.49,.12l-45.85,42.42-13.44-32.93c9.24-4.79,19.48-8.12,29.8-9.61Zm-35.08,12.54l13.26,32.48-48.55,3.95c8.24-14.71,20.73-27.64,35.29-36.43Zm48.88,255.82l55.24,3.15-25.96,25.85c-10.53-9.96-20.04-19.38-29.28-29Zm154.87,29l-25.96-25.85,55.24-3.15c-9.23,9.62-18.74,19.04-29.28,29Z" fill="%23FFFFFF" fill-opacity="0.92"/></svg>');
	-webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="49.9 60.6 400.2 378.8"><path d="M449.9,161.2L447.5,144.9L442.9,129.7L437.8,118.6L428.4,104.0L416.9,91.0L403.4,79.9L390.8,72.3L376.1,66.1L363.8,62.8L348.7,60.8L332.4,61.0L315.1,63.5L298.2,68.1L282.2,74.5L266.9,82.2L250.0,92.6L225.0,77.9L201.8,68.1L179.4,62.4L155.2,60.6L136.2,62.8L115.0,69.5L96.6,79.9L79.0,95.1L65.1,113.5L56.0,132.6L51.3,151.3L49.9,173.9L51.3,188.6L54.1,202.9L63.9,232.1L79.9,263.0L101.6,294.7L130.5,329.9L170.6,371.6L218.0,414.7L246.3,438.1L250.2,439.4L253.8,438.1L287.4,410.1L336.1,365.1L373.1,325.9L404.7,286.3L424.5,255.4L434.4,235.8L440.4,221.3L445.9,202.8L448.7,188.6L450.1,173.9L449.9,161.2Z"/></svg>');
	mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="49.9 60.6 400.2 378.8"><path d="M449.9,161.2L447.5,144.9L442.9,129.7L437.8,118.6L428.4,104.0L416.9,91.0L403.4,79.9L390.8,72.3L376.1,66.1L363.8,62.8L348.7,60.8L332.4,61.0L315.1,63.5L298.2,68.1L282.2,74.5L266.9,82.2L250.0,92.6L225.0,77.9L201.8,68.1L179.4,62.4L155.2,60.6L136.2,62.8L115.0,69.5L96.6,79.9L79.0,95.1L65.1,113.5L56.0,132.6L51.3,151.3L49.9,173.9L51.3,188.6L54.1,202.9L63.9,232.1L79.9,263.0L101.6,294.7L130.5,329.9L170.6,371.6L218.0,414.7L246.3,438.1L250.2,439.4L253.8,438.1L287.4,410.1L336.1,365.1L373.1,325.9L404.7,286.3L424.5,255.4L434.4,235.8L440.4,221.3L445.9,202.8L448.7,188.6L450.1,173.9L449.9,161.2Z"/></svg>');
}

#dcj-customisation
.dcj-heart-visual {
	position: absolute;
	left: -9999px;
	top: 0;
	width: 1px;
	height: 1px;
	opacity: 0;
	z-index: -1;
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="49.9 60.6 400.2 378.8"><path d="M449.9,161.2L447.5,144.9L442.9,129.7L437.8,118.6L428.4,104.0L416.9,91.0L403.4,79.9L390.8,72.3L376.1,66.1L363.8,62.8L348.7,60.8L332.4,61.0L315.1,63.5L298.2,68.1L282.2,74.5L266.9,82.2L250.0,92.6L225.0,77.9L201.8,68.1L179.4,62.4L155.2,60.6L136.2,62.8L115.0,69.5L96.6,79.9L79.0,95.1L65.1,113.5L56.0,132.6L51.3,151.3L49.9,173.9L51.3,188.6L54.1,202.9L63.9,232.1L79.9,263.0L101.6,294.7L130.5,329.9L170.6,371.6L218.0,414.7L246.3,438.1L250.2,439.4L253.8,438.1L287.4,410.1L336.1,365.1L373.1,325.9L404.7,286.3L424.5,255.4L434.4,235.8L440.4,221.3L445.9,202.8L448.7,188.6L450.1,173.9L449.9,161.2Z" fill="%23FFFFFF" fill-opacity="0.92"/></svg>');
}

/* =========================================================
36.07B — SHAPE HOVER / ACTIVE
========================================================= */

#dcj-customisation
.dcj-shape-opt:hover {
	border-color:
		rgba(212, 175, 55, 0.65);
	background:
		linear-gradient(
			135deg,
			#FFFFFF 0%,
			#FBF7F3 100%
		);
	color: #734B00;
	box-shadow:
		0 4px 14px rgba(17, 17, 17, 0.08);
}

#dcj-customisation
.dcj-shape-opt:hover::before {
	background-position: center, center, 85% 85%;
	transform: scale(1.05);
}

#dcj-customisation
.dcj-shape-opt.is-active {
	border-color: #D4AF37;
	background:
		linear-gradient(
			135deg,
			#FBF7F3 0%,
			#FFF3A3 100%
		);
	color: #734B00;
	box-shadow:
		0 5px 18px rgba(212, 175, 55, 0.18);
}

#dcj-customisation
.dcj-shape-opt.is-active::before {
	animation:
		dcj-gem-glint 0.42s ease-out forwards;
}

#dcj-customisation
.dcj-shape-opt.is-active::after {
	content: "";
	position: absolute;
	top: 0;
	left: -120%;
	width: 70%;
	height: 100%;
	background:
		linear-gradient(
			90deg,
			transparent,
			rgba(255, 255, 255, 0.55),
			transparent
		);
	transform: skewX(-20deg);
	animation:
		dcj-gem-sweep 0.46s ease-out forwards;
	pointer-events: none;
}

/* =========================================================
36.08 — OPTION ROW
GENERIC WRAPPER FOR SETTING / BAND / QUALITY OPTIONS
========================================================= */

#dcj-customisation .dcj-option-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

/* =========================================================
36.09 — DIAMOND SIZE CONTROL
DATA-DRIVEN — SUPPORTS RANGE GROUPS UP TO 10ct
========================================================= */

#dcj-customisation .dcj-size-row {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

#dcj-customisation .dcj-size-group {
	display: block;
}

#dcj-customisation .dcj-size-group-label {
	display: block;
	margin: 0 0 5px 0;
	font-family: "Montserrat", sans-serif;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: #734B00;
}

#dcj-customisation .dcj-size-options {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

#dcj-customisation .dcj-size-opt {
	min-height: 36px;
	padding: 7px 12px;
	font-size: 9px;
	letter-spacing: 0.5px;
}

#dcj-customisation .dcj-size-group-select-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

#dcj-customisation .dcj-size-group-opt {
	flex: 0 0 auto;
}

#dcj-customisation .dcj-size-options-row {
	display: block;
}

#dcj-customisation .dcj-size-group-block {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

#dcj-customisation .dcj-size-group-block.is-hidden {
	display: none !important;
}

/* =========================================================
36.10 — INVALID STATE
VISIBLE BUT FADED + DEAD + NON-CLICKABLE
========================================================= */

#dcj-customisation .dcj-opt.is-invalid,
#dcj-customisation .dcj-shape-opt.is-invalid,
#dcj-customisation .dcj-metal-opt.is-invalid {
	opacity: 0.32;
	pointer-events: none;
	cursor: default;
	box-shadow: none;
	filter: grayscale(0.85);
}

#dcj-customisation .dcj-opt.is-invalid:hover,
#dcj-customisation .dcj-shape-opt.is-invalid:hover,
#dcj-customisation .dcj-metal-opt.is-invalid:hover {
	transform: none;
	background: #FFFFFF;
	border-color: rgba(17, 17, 17, 0.13);
	color: #333333;
}

#dcj-customisation .dcj-opt.is-invalid::before,
#dcj-customisation .dcj-opt.is-invalid::after,
#dcj-customisation .dcj-shape-opt.is-invalid::before,
#dcj-customisation .dcj-shape-opt.is-invalid::after,
#dcj-customisation .dcj-metal-opt.is-invalid::before,
#dcj-customisation .dcj-metal-opt.is-invalid::after {
	animation: none !important;
}

/* =========================================================
36.11 — SETTING / ENGRAVING TOGGLE GROUP
========================================================= */

#dcj-customisation .dcj-duo-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

#dcj-customisation .dcj-duo-opt {
	min-height: 38px;
}

/* =========================================================
36.12 — ENGRAVING INPUT
MAX 35 CHARACTERS
========================================================= */

#dcj-customisation .dcj-engraving-body {
	display: block;
}

#dcj-customisation .dcj-engraving-mode-opt {
	min-height: 38px;
}

#dcj-customisation .dcj-engraving-input-wrap {
	display: none;
	margin-top: 8px;
}

#dcj-customisation .dcj-engraving-input-wrap.is-active {
	display: block;
}

#dcj-customisation .dcj-engraving-input {
	width: 100%;
	max-width: 300px;
	min-height: 40px;
	padding: 0 12px;
	box-sizing: border-box;
	border:
		1px solid rgba(212, 175, 55, 0.45);
	border-radius: 3px;
	background: #FFFFFF;
	font-family: "Montserrat", sans-serif;
	font-size: 12px;
	letter-spacing: 1.2px;
	color: #111111;
	outline: none;
	transition:
		border-color 0.25s ease,
		box-shadow 0.25s ease;
}

#dcj-customisation .dcj-engraving-input:focus {
	border-color: #D4AF37;
	box-shadow:
		0 0 0 3px rgba(212, 175, 55, 0.15);
}

#dcj-customisation .dcj-engraving-count {
	margin-top: 7px;
	font-family: "Montserrat", sans-serif;
	font-size: 8px;
	font-weight: 600;
	letter-spacing: 1px;
	color: #734B00;
}

/* =========================================================
36.13 — STONE TYPE DUO (NATURAL / LAB-GROWN)
========================================================= */

#dcj-customisation .dcj-stonetype-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

#dcj-customisation .dcj-stonetype-opt {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	margin: 0;
	padding: 8px 18px;
	box-sizing: border-box;
	border: 1px solid rgba(17, 17, 17, 0.16);
	border-radius: 999px;
	background: #FFFFFF;
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	line-height: 1.1;
	white-space: nowrap;
	color: #111111;
	cursor: pointer;
	overflow: hidden;
	transition:
		border-color 0.25s ease,
		box-shadow 0.25s ease,
		background 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease;
}

#dcj-customisation .dcj-stonetype-opt > * {
	position: relative;
	z-index: 2;
}

#dcj-customisation .dcj-stonetype-opt:hover {
	border-color: rgba(212, 175, 55, 0.65);
	background: #FBF7F3;
	color: #333333;
	transform: translateY(-1px);
}

#dcj-customisation .dcj-stonetype-opt.is-active {
	border-color: #D4AF37;
	background:
		linear-gradient(
			145deg,
			#FFFFFF 0%,
			#FBF7F3 55%,
			#F0E5DB 100%
		);
	color: #734B00;
	box-shadow:
		0 10px 22px rgba(115, 75, 0, 0.14);
}

#dcj-customisation .dcj-stonetype-opt.is-active::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background:
		linear-gradient(
			160deg,
			rgba(255, 255, 255, 0.95) 0%,
			rgba(255, 255, 255, 0) 55%
		);
	background-size: 100% 100%;
	background-position: 0 0;
	animation:
		dcj-gem-glint 0.42s ease-out forwards;
	pointer-events: none;
}

#dcj-customisation .dcj-stonetype-opt.is-active::after {
	content: "";
	position: absolute;
	top: -60%;
	left: -60%;
	width: 35%;
	height: 240%;
	background:
		linear-gradient(
			100deg,
			transparent 0%,
			rgba(255, 255, 255, 0.8) 50%,
			transparent 100%
		);
	transform: rotate(18deg);
	animation:
		dcj-gem-sweep 0.46s ease-out forwards;
	pointer-events: none;
	z-index: 1;
}

/* =========================================================
36.14 — COLOUR SCALE (D — L)
LETTERS RENDERED AS TILES
========================================================= */

#dcj-customisation .dcj-colour-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

#dcj-customisation .dcj-colour-opt {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 44px;
	min-height: 36px;
	margin: 0;
	padding: 6px 4px;
	box-sizing: border-box;
	border: 1px solid rgba(17, 17, 17, 0.13);
	border-radius: 3px;
	background: #FFFFFF;
	font-family: "Montserrat", sans-serif;
	cursor: pointer;
	overflow: hidden;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		background 0.2s ease,
		color 0.2s ease;
}

#dcj-customisation .dcj-colour-opt > * {
	position: relative;
	z-index: 2;
}

#dcj-customisation .dcj-colour-letter {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.5px;
	line-height: 1;
	color: #111111;
}

#dcj-customisation .dcj-colour-name {
	margin-top: 5px;
	font-size: 6.5px;
	font-weight: 600;
	letter-spacing: 0.4px;
	line-height: 1.1;
	text-transform: uppercase;
	color: #888888;
}

#dcj-customisation .dcj-colour-opt:hover {
	border-color: rgba(212, 175, 55, 0.65);
	background: #FBF7F3;
}

#dcj-customisation .dcj-colour-opt.is-active {
	border-color: #D4AF37;
	background:
		linear-gradient(
			145deg,
			#FFFFFF 0%,
			#FBF7F3 55%,
			#F0E5DB 100%
		);
	color: #734B00;
	box-shadow:
		0 10px 22px rgba(115, 75, 0, 0.14);
}

#dcj-customisation .dcj-colour-opt.is-active .dcj-colour-letter {
	color: #734B00;
}

#dcj-customisation .dcj-colour-legend {
	flex: 0 0 100%;
	min-height: 24px;
	overflow: hidden;
	font-size: 0;
	color: transparent;
	background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 460 24'><path d='M6 7H142' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><path d='M162 7H350' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><path d='M370 7H454' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><path d='M1.5 7L6 2.5L10.5 7' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><path d='M137.5 7L142 2.5L146.5 7' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><path d='M157.5 7L162 2.5L166.5 7' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><path d='M345.5 7L350 2.5L354.5 7' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><path d='M365.5 7L370 2.5L374.5 7' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><path d='M449.5 7L454 2.5L458.5 7' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><text x='74' y='19' text-anchor='middle' font-family='Montserrat, sans-serif' font-size='9' font-weight='600' letter-spacing='1.2' fill='%23734B00'>COLORLESS</text><text x='256' y='19' text-anchor='middle' font-family='Montserrat, sans-serif' font-size='9' font-weight='600' letter-spacing='1.2' fill='%23734B00'>NEAR COLORLESS</text><text x='412' y='19' text-anchor='middle' font-family='Montserrat, sans-serif' font-size='9' font-weight='600' letter-spacing='1.2' fill='%23734B00'>FAINT</text></svg>");
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 460px 24px;
}

/* =========================================================
36.15 — CLARITY SCALE (FL — SI2)
========================================================= */

#dcj-customisation .dcj-clarity-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

#dcj-customisation .dcj-clarity-opt {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	margin: 0;
	padding: 6px 12px;
	box-sizing: border-box;
	border: 1px solid rgba(17, 17, 17, 0.13);
	border-radius: 3px;
	background: #FFFFFF;
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	line-height: 1;
	color: #333333;
	cursor: pointer;
	overflow: hidden;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		background 0.2s ease,
		color 0.2s ease;
}

#dcj-customisation .dcj-clarity-opt > * {
	position: relative;
	z-index: 2;
}

#dcj-customisation .dcj-clarity-opt:hover {
	border-color: rgba(212, 175, 55, 0.65);
	background: #FBF7F3;
}

#dcj-customisation .dcj-clarity-opt.is-active {
	border-color: #D4AF37;
	background:
		linear-gradient(
			145deg,
			#FFFFFF 0%,
			#FBF7F3 55%,
			#F0E5DB 100%
		);
	color: #734B00;
	box-shadow:
		0 10px 22px rgba(115, 75, 0, 0.14);
}

/* =========================================================
36.16 — RING SIZE
US + EU — COMPACT PREMIUM DROPDOWN
========================================================= */

#dcj-customisation .dcj-ringsize-row {
	display: block;
}

#dcj-customisation .dcj-select {
	position: relative;
	width: 100%;
	box-sizing: border-box;
}

#dcj-customisation .dcj-select-trigger {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 40px;
	margin: 0;
	padding: 8px 13px;
	box-sizing: border-box;
	border: 1px solid rgba(17, 17, 17, 0.13);
	border-radius: 3px;
	background: #FFFFFF;
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.5px;
	line-height: 1.2;
	text-align: left;
	color: #333333;
	cursor: pointer;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		background 0.2s ease,
		color 0.2s ease;
}

#dcj-customisation .dcj-select-trigger:hover {
	border-color: rgba(212, 175, 55, 0.65);
	background: #FBF7F3;
}

#dcj-customisation .dcj-select-trigger.is-active,
#dcj-customisation .dcj-select.is-open .dcj-select-trigger {
	border-color: #D4AF37;
	background:
		linear-gradient(
			145deg,
			#FFFFFF 0%,
			#FBF7F3 55%,
			#F0E5DB 100%
		);
	color: #734B00;
	box-shadow:
		0 10px 22px rgba(115, 75, 0, 0.14);
}

#dcj-customisation .dcj-select-trigger.is-placeholder {
	color: #8B8B8B;
}

#dcj-customisation .dcj-select-value {
	flex: 1 1 auto;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#dcj-customisation .dcj-select-arrow {
	flex: 0 0 auto;
	width: 0;
	height: 0;
	margin-left: 12px;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 6px solid #A88A3A;
	transition:
		transform 0.2s ease,
		border-top-color 0.2s ease;
}

#dcj-customisation .dcj-select.is-open .dcj-select-arrow {
	transform: rotate(180deg);
	border-top-color: #734B00;
}

#dcj-customisation .dcj-select-menu {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	z-index: 80;
	display: none;
	box-sizing: border-box;
	max-height: 264px;
	overflow-y: auto;
	padding: 6px;
	border: 1px solid rgba(212, 175, 55, 0.45);
	border-radius: 3px;
	background: #FFFFFF;
	box-shadow:
		0 18px 40px rgba(17, 17, 17, 0.18);
}

#dcj-customisation .dcj-select.is-open .dcj-select-menu {
	display: block;
}

#dcj-customisation .dcj-ringsize-opt {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	min-height: 36px;
	padding: 7px 12px;
	border-radius: 2px;
	text-align: left;
	font-size: 9px;
	letter-spacing: 0.5px;
}

#dcj-customisation .dcj-ringsize-opt + .dcj-ringsize-opt {
	margin-top: 3px;
}

#dcj-customisation .dcj-ringsize-opt.is-active {
	box-shadow:
		0 8px 18px rgba(115, 75, 0, 0.1);
}

/* =========================================================
36.17 — LENGTH GROUPS (NECKLACE / BRACELET / CHAIN)
========================================================= */

#dcj-customisation .dcj-length-row {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

#dcj-customisation .dcj-length-group-label {
	display: block;
	margin: 0 0 5px 0;
	font-family: "Montserrat", sans-serif;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: #734B00;
}

#dcj-customisation .dcj-length-options {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

/* =========================================================
36.18 — DESIGN NAVIGATION
BACK / CONTINUE ROW
========================================================= */

#dcj-customisation .dcj-design-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 14px 0 0 0;
	padding: 10px 0 0 0;
	border-top:
		1px solid rgba(212, 175, 55, 0.25);
}

#dcj-customisation .dcj-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 20px;
	box-sizing: border-box;
	border: 1px solid #D4AF37;
	border-radius: 2px;
	background: #D4AF37;
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 1.5px;
	line-height: 1;
	text-transform: uppercase;
	color: #FFFFFF;
	cursor: pointer;
	box-shadow:
		0 8px 18px rgba(115, 75, 0, 0.14);
	transition:
		background 0.25s ease,
		border-color 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

#dcj-customisation .dcj-button:hover {
	background: #734B00;
	border-color: #734B00;
	color: #FFFFFF;
	transform: translateY(-2px);
	box-shadow:
		0 12px 24px rgba(115, 75, 0, 0.20);
}

#dcj-customisation .dcj-button:disabled {
	opacity: 0.4;
	cursor: not-allowed;
	transform: none;
}

#dcj-customisation .dcj-button-is-ghost {
	background: transparent;
	color: #734B00;
	box-shadow: none;
}

#dcj-customisation .dcj-button-is-ghost:hover {
	background: transparent;
	border-color: #734B00;
	color: #734B00;
	transform: none;
	box-shadow: none;
}

/* =========================================================
37 — WELCOME BACK MODAL
RESUME OR START NEW
========================================================= */

.dcj-resume-modal {
	position: fixed;
	inset: 0;
	z-index: 2147483100;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px;
	box-sizing: border-box;
	background:
		radial-gradient(
			circle at 50% 35%,
			rgba(212, 175, 55, 0.16),
			rgba(17, 17, 17, 0.55) 70%
		);
	opacity: 0;
	animation:
		dcj-ol-fade-in 0.4s ease forwards;
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
}

.dcj-resume-modal.is-visible {
	display: flex;
}

.dcj-resume-modal.is-hidden {
	display: none;
}

.dcj-resume-modal-backdrop {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.dcj-resume-modal-card {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 440px;
	padding: 44px 34px 36px 34px;
	box-sizing: border-box;
	border:
		1px solid rgba(212, 175, 55, 0.45);
	border-radius: 3px;
	background:
		linear-gradient(
			145deg,
			#FFFFFF 0%,
			#FBF7F3 60%,
			#F0E5DB 100%
		);
	text-align: center;
	box-shadow:
		0 30px 70px rgba(0, 0, 0, 0.28),
		inset 0 1px 0 rgba(255, 255, 255, 0.95);
	animation:
		dcj-modal-rise 0.4s ease forwards;
}

.dcj-resume-modal-mark {
	display: block;
	margin-bottom: 12px;
	font-family: "Montserrat", sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 3px;
	line-height: 1;
	color: #D4AF37;
}

.dcj-resume-modal-category {
	display: block;
	margin: 14px auto 0 auto;
	max-width: 320px;
	font-family: "Montserrat", sans-serif;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: #734B00;
}

.dcj-resume-modal-heading {
	margin: 0;
	font-family: "Cormorant Garamond", serif;
	font-size: 38px;
	font-weight: 500;
	line-height: 1.05;
	color: #111111;
}

.dcj-resume-modal-subheading {
	margin: 12px auto 0 auto;
	max-width: 320px;
	font-family: "Cormorant Garamond", serif;
	font-size: 19px;
	font-style: italic;
	line-height: 1.35;
	color: #555555;
}

.dcj-resume-modal-actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 26px;
}

.dcj-resume-continue {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 26px;
	box-sizing: border-box;
	border: 1px solid #D4AF37;
	border-radius: 2px;
	background: #D4AF37;
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #FFFFFF;
	cursor: pointer;
	box-shadow:
		0 8px 18px rgba(115, 75, 0, 0.16);
	transition:
		background 0.25s ease,
		border-color 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.dcj-resume-continue:hover {
	background: #734B00;
	border-color: #734B00;
	color: #FFFFFF;
	transform: translateY(-2px);
	box-shadow:
		0 12px 24px rgba(115, 75, 0, 0.22);
}

.dcj-resume-new {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 26px;
	box-sizing: border-box;
	border: 1px solid rgba(115, 75, 0, 0.35);
	border-radius: 2px;
	background: transparent;
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #734B00;
	cursor: pointer;
	transition:
		border-color 0.25s ease,
		color 0.25s ease;
}

.dcj-resume-new:hover {
	border-color: #734B00;
	color: #111111;
}

/* =========================================================
38 — PREVIEW JUMP ARROW
SCROLL BACK TO TOP OF MOBILE PREVIEW
========================================================= */

.dcj-preview-jump {
	position: fixed;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2147483000;
	bottom: 96px;
	width: 46px;
	height: 46px;
	display: none;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(212, 175, 55, 0.65);
	border-radius: 50%;
	background:
		linear-gradient(
			145deg,
			#FFFFFF 0%,
			#F0E5DB 100%
		);
	box-shadow:
		0 10px 22px rgba(115, 75, 0, 0.22);
	font-size: 18px;
	line-height: 1;
	color: #734B00;
	text-align: center;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transition:
		opacity 0.3s ease,
		visibility 0.3s ease,
		transform 0.3s ease;
	animation:
		dcj-jump-bob 2.8s ease-in-out infinite;
}

.dcj-preview-jump.is-visible {
	display: flex;
	opacity: 1;
	visibility: visible;
}

.dcj-preview-jump:hover {
	background: #D4AF37;
	color: #FFFFFF;
}

/* =========================================================
39A — JEWELLERY LOOK MAGNIFIER (loupe)
Follows the pointer over the customisation stage; shows a
magnified 2.6x copy of whichever jewellery graphic sits under
the cursor. Desktop pointer only.
========================================================= */

.dcj-loupe {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 190px;
	height: 190px;
	margin: -95px 0 0 -95px;
	z-index: 2147483102;
	pointer-events: none;
	border: 3px solid #D4AF37;
	border-radius: 50%;
	background-color: #FFFFFF;
	background-repeat: no-repeat;
	background-position: center center;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.28), inset 0 0 0 4px rgba(255, 255, 255, 0.85);
	opacity: 0;
	transition: opacity 0.25s ease, transform 0.2s ease;
}

.dcj-loupe.is-visible {
	display: block;
	opacity: 1;
}

/* =========================================================
39 — RING ARCHITECTURE DYNAMIC SECTIONS
Style-specific Variation / Band / Profile / Diamond controllers
built at runtime inside the .dcj-ring-dynamics placeholder.
========================================================= */

#dcj-customisation .dcj-ring-dynamics {
	display: block;
	/* Shared sizing tokens for the packed ring controllers. Declared on this
	   wrapper so the mobile breakpoint can re-size every ring tile in one
	   place (and win) without stacked specificity overrides. */
	--dcj-shape-w: 72px;
	--dcj-colour-w: 34px;
	--dcj-colour-h: 34px;
}

#dcj-customisation .dcj-cc-wrapper {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 8px;
}

#dcj-customisation .dcj-cc-sub-label {
	display: block;
	margin: 0 0 6px 0;
	font-family: "Montserrat", sans-serif;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: #734B00;
}

/* Metal and Diamond Type are rendered as full controller section heads
   (Cormorant + gold accent) inside the hidden "Main Details" section, so
   their spacing follows the section-head rhythm instead of the tiny label. */
#dcj-customisation .dcj-main-details .dcj-section-head {
	margin-top: 12px;
}

#dcj-customisation .dcj-main-details .dcj-section-head:first-child {
	margin-top: 0;
}

/* The ring never shows a "Main Details" title: the customer-facing hierarchy
   begins directly with the Metal and Diamond Type labels. The DOM grouping is
   kept so the existing sync / layout classes keep working unchanged. */
#dcj-customisation .dcj-control-section[data-control="main-details"] > .dcj-section-head {
	display: none;
}

/* The ring Master Diamond block carries its title on the role card itself
   (e.g. "Master Diamond"), so the section head stays hidden and the heading
   is never duplicated. */
#dcj-customisation .dcj-control-section[data-control="ring-diamond"] > .dcj-section-head {
	display: none;
}

/* The selected style's variation choices sit directly under the Style chips.
   An unmarked sub-tier of the parent family: no heading, no divider, no box.
   Each tile is a serif pill one degree softer than its style chip — a smal-
   ler, quieter echo — and enters in a gentle staggered rise so the full set
   of possibilities blooms out of the style it belongs to. */
#dcj-customisation .dcj-ring-var-holder {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
	margin: 10px 0 0 0;
}

#dcj-customisation .dcj-ring-var-holder .dcj-ring-var-opt {
	min-height: 38px;
	padding: 7px 15px;
	border-radius: 999px;
	font-family: "Cormorant Garamond", serif;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.4px;
}

#dcj-customisation .dcj-ring-var-holder.is-entering {
	animation: dcj-var-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
}

#dcj-customisation .dcj-ring-var-holder.is-entering .dcj-ring-var-opt {
	animation: dcj-var-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) both;
}

#dcj-customisation .dcj-ring-var-holder.is-entering .dcj-ring-var-opt:nth-child(2) {
	animation-delay: 0.06s;
}

#dcj-customisation .dcj-ring-var-holder.is-entering .dcj-ring-var-opt:nth-child(3) {
	animation-delay: 0.12s;
}

#dcj-customisation .dcj-ring-var-holder.is-entering .dcj-ring-var-opt:nth-child(4) {
	animation-delay: 0.18s;
}

#dcj-customisation .dcj-ring-var-holder.is-entering .dcj-ring-var-opt:nth-child(5) {
	animation-delay: 0.24s;
}

#dcj-customisation .dcj-ring-var-holder.is-entering .dcj-ring-var-opt:nth-child(6) {
	animation-delay: 0.3s;
}

/* A single whispered line beneath the variation tiles — the jeweller's own
   quiet description of the selected design. It replaces the tile's meaning
   each time the variation changes and fades in with a feather-light rise. */
#dcj-customisation .dcj-var-note {
	margin: 8px 2px 0 2px;
	max-width: 560px;
	font-family: "Cormorant Garamond", serif;
	font-size: 14.5px;
	font-style: italic;
	font-weight: 400;
	letter-spacing: 0.3px;
	line-height: 1.5;
	color: #8A6D1F;
}

#dcj-customisation .dcj-var-note.is-entering {
	animation: dcj-var-note-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* When the parent style changes, the whole Master Diamond block arrives as
   the next beat: a single soft rise, never replayed on variation clicks. */
#dcj-customisation .dcj-ring-dynamics.is-entering {
	animation: dcj-diamond-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes dcj-var-in {
	from {
		opacity: 0;
		transform: translateY(8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes dcj-var-note-in {
	from {
		opacity: 0;
		transform: translateY(4px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes dcj-diamond-in {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

#dcj-customisation .dcj-main-details-group {
	margin-top: 8px;
}

#dcj-customisation .dcj-cc-role {
	display: block;
}

#dcj-customisation .dcj-cc-role > .dcj-cc-wrapper {
	margin-top: 8px;
}

#dcj-customisation .dcj-cc-role-title {
	display: block;
	margin: 0 0 10px 0;
	padding: 0;
	font-family: "Cormorant Garamond", serif;
	font-size: 25px;
	font-weight: 500;
	line-height: 1;
	color: #111111;
}

#dcj-customisation .dcj-cc-role + .dcj-cc-role {
	margin-top: 14px;
}

/* Inside the role card, "Carat Size" is a controller-section heading: it
   sits a beat below the shape row and above the carat blocks. */
#dcj-customisation .dcj-cc-role > .dcj-section-head {
	margin-top: 14px;
}

/* Engine-resolved composition note. Informs the customer how supporting
   diamonds (halo, sides, pair) were proportioned from
   their single master spec — no per-stone controls. */
#dcj-customisation .dcj-resolved-note {
	display: block;
	margin-top: 14px;
	padding: 10px 12px;
	border: 1px solid rgba(212, 175, 55, 0.45);
	border-left: 3px solid #D4AF37;
	border-radius: 4px;
	background: rgba(212, 175, 55, 0.06);
}

#dcj-customisation .dcj-resolved-note-title {
	display: block;
	margin: 0 0 4px 0;
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: #734B00;
}

#dcj-customisation .dcj-resolved-note-text {
	display: block;
	font-family: "Montserrat", sans-serif;
	font-size: 12px;
	line-height: 1.5;
	color: #3A3A3A;
}

#dcj-customisation .dcj-cc-carat {
	display: block;
	margin-top: 10px;
}

#dcj-customisation .dcj-cc-carat:first-of-type {
	margin-top: 0;
}

#dcj-customisation .dcj-cc-sizegroup-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 8px 0;
}

#dcj-customisation .dcj-cc-sizegroup-opt {
	flex: 0 0 auto;
	min-width: 138px;
	min-height: 52px;
	padding: 10px 16px;
}

#dcj-customisation .dcj-cc-size-blocks {
	display: block;
}

#dcj-customisation .dcj-cc-size-block {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

#dcj-customisation .dcj-cc-size-block.is-hidden {
	display: none !important;
}

#dcj-customisation .dcj-cc-size-block > .dcj-cc-size-blocks {
	margin-top: 8px;
}

#dcj-customisation .dcj-cc-sizegroup-name {
	display: block;
	font-family: "Montserrat", sans-serif;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: #734B00;
}

#dcj-customisation .dcj-cc-sizegroup-range {
	display: block;
	margin-top: 4px;
	font-family: "Cormorant Garamond", serif;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.3px;
	color: #8A7440;
	white-space: nowrap;
}

#dcj-customisation .dcj-cc-carat-opt {
	min-height: 30px;
	padding: 5px 9px;
	font-size: 8px;
	letter-spacing: 0.3px;
}

#dcj-customisation .dcj-cc-role .dcj-shape-opt {
	width: var(--dcj-shape-w, 72px);
}

#dcj-customisation .dcj-ring-dynamics .dcj-colour-opt {
	width: var(--dcj-colour-w, 34px);
	min-height: var(--dcj-colour-h, 34px);
	padding: 5px 0;
}

/* =========================================================
40 — ANIMATIONS & KEYFRAMES
========================================================= */

@keyframes dcj-gem-glint {
	0% {
		opacity: 0;
		transform: scale(1.04);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes dcj-gem-sweep {
	0% {
		transform: translateX(-70%) rotate(18deg);
		opacity: 0;
	}
	16% {
		opacity: 1;
	}
	100% {
		transform: translateX(700%) rotate(18deg);
		opacity: 0;
	}
}

@keyframes dcj-gem-sweep-simple {
	0%,
	30% {
		transform: translateX(0) skewX(-20deg);
		opacity: 0;
	}
	38% {
		opacity: 1;
	}
	60%,
	100% {
		transform: translateX(420%) skewX(-20deg);
		opacity: 0;
	}
}

@keyframes dcj-modal-rise {
	from {
		opacity: 0;
		transform: translateY(20px) scale(0.98);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@keyframes dcj-ol-fade-in {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes dcj-jump-bob {
	0%,
	100% {
		transform: translateX(-50%) translateY(0);
	}
	50% {
		transform: translateX(-50%) translateY(-5px);
	}
}

/* =========================================================
40A — RESPECT REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

	#dcj-customisation *,
	#dcj-customisation *::before,
	#dcj-customisation *::after,
	.dcj-resume-modal,
	.dcj-resume-modal-card,
	.dcj-preview-jump {
		animation-duration: 0.001s !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001s !important;
		scroll-behavior: auto !important;
	}
}

/* =========================================================
40B — NEW SECTIONS MOBILE ADAPTATION
========================================================= */

@media (max-width: 767px) {

	#dcj-customisation .dcj-designer {
		width: 100%;
	}

	#dcj-customisation .dcj-control-section {
		margin-bottom: 14px;
	}

	#dcj-customisation .dcj-section-title {
		font-size: 21px;
	}

	#dcj-customisation .dcj-style-chip {
		min-height: 40px;
		padding: 10px 16px;
		font-size: 16px;
	}

	#dcj-customisation .dcj-opt {
		min-height: 38px;
		padding: 8px 12px;
	}

	#dcj-customisation .dcj-shape-opt {
		width: 58px;
		padding: 10px 3px 8px 3px;
	}

	#dcj-customisation .dcj-shape-opt::before {
		/* Same single uniform frame at the smaller breakpoint (scaled down),
		   so all 10 icons stay centred and all labels share one baseline. */
		width: 34px;
		height: 34px;
	}

	#dcj-customisation .dcj-colour-opt {
		width: 42px;
		min-height: 40px;
	}

	#dcj-customisation .dcj-colour-legend {
		background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 442 24'><path d='M6 7H136' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><path d='M156 7H336' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><path d='M356 7H436' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><path d='M1.5 7L6 2.5L10.5 7' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><path d='M131.5 7L136 2.5L140.5 7' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><path d='M151.5 7L156 2.5L160.5 7' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><path d='M331.5 7L336 2.5L340.5 7' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><path d='M351.5 7L356 2.5L360.5 7' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><path d='M431.5 7L436 2.5L440.5 7' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><text x='71' y='19' text-anchor='middle' font-family='Montserrat, sans-serif' font-size='9' font-weight='600' letter-spacing='1.2' fill='%23734B00'>COLORLESS</text><text x='246' y='19' text-anchor='middle' font-family='Montserrat, sans-serif' font-size='9' font-weight='600' letter-spacing='1.2' fill='%23734B00'>NEAR COLORLESS</text><text x='396' y='19' text-anchor='middle' font-family='Montserrat, sans-serif' font-size='9' font-weight='600' letter-spacing='1.2' fill='%23734B00'>FAINT</text></svg>");
		background-size: 442px 24px;
	}

	#dcj-customisation .dcj-metal-opt {
		flex: 1 1 44%;
		justify-content: center;
	}

	#dcj-customisation .dcj-metal-group-opt {
		flex: 1 1 auto;
	}

	#dcj-customisation .dcj-stonetype-opt {
		flex: 0 0 auto;
	}

	#dcj-customisation .dcj-size-group-opt {
		flex: 1 1 auto;
	}

	#dcj-customisation .dcj-engraving-input {
		max-width: 100%;
	}

	#dcj-customisation .dcj-design-nav {
		flex-direction: column;
		align-items: stretch;
	}

	#dcj-customisation .dcj-design-nav .dcj-button {
		width: 100%;
	}

	#dcj-customisation .dcj-add-to-cart-button {
		width: 100%;
	}

	.dcj-resume-modal-card {
		max-width: 360px;
		padding: 38px 22px 30px 22px;
	}

	.dcj-resume-modal-heading {
		font-size: 32px;
	}

	#dcj-customisation .dcj-go-to-cart-button {
		width: 100%;
	}

	#dcj-customisation .dcj-opt.is-active::before,
	#dcj-customisation .dcj-metal-opt.is-active::before,
	#dcj-customisation .dcj-shape-opt.is-active::before,
	#dcj-customisation .dcj-stonetype-opt.is-active::before {
		animation: dcj-gem-glint 0.26s ease-out forwards;
	}

	#dcj-customisation .dcj-opt.is-active::after,
	#dcj-customisation .dcj-metal-opt.is-active::after,
	#dcj-customisation .dcj-shape-opt.is-active::after,
	#dcj-customisation .dcj-stonetype-opt.is-active::after {
		animation: dcj-gem-sweep 0.3s ease-out forwards;
	}

	#dcj-customisation .dcj-ring-var-holder {
		margin-top: 9px;
		gap: 6px;
	}

	#dcj-customisation .dcj-ring-var-holder .dcj-ring-var-opt {
		min-height: 36px;
		padding: 6px 13px;
		font-size: 14px;
	}

	#dcj-customisation .dcj-var-note {
		font-size: 13.5px;
	}

	/* Ring controllers follow the same compact tile sizing as the rest of
	   the mobilizer, driven by the block-39 tokens (same specificity, later
	   in source — so this wins and the packed tiles stay packed). */
	#dcj-customisation .dcj-ring-dynamics {
		--dcj-shape-w: 58px;
		--dcj-colour-w: 42px;
		--dcj-colour-h: 40px;
	}
}

/* =========================================================
40C — NEW SECTIONS SMALL MOBILE
MAX 420px
========================================================= */

@media (max-width: 420px) {

	#dcj-customisation .dcj-section-title {
		font-size: 19px;
	}

	#dcj-customisation .dcj-style-chip {
		font-size: 15px;
		padding: 9px 13px;
	}

	#dcj-customisation .dcj-ring-var-holder .dcj-ring-var-opt {
		min-height: 34px;
		font-size: 13px;
	}

	#dcj-customisation .dcj-var-note {
		font-size: 12.5px;
	}

	#dcj-customisation .dcj-shape-opt {
		width: 54px;
	}

	#dcj-customisation .dcj-metal-opt {
		flex-basis: 100%;
	}

	#dcj-customisation .dcj-colour-opt {
		width: 38px;
		min-height: 38px;
	}

	/* Ring controllers follow the same 420px tile scale (shape 54px,
	   colour 38px). Same token mechanism as the 767px block — same
	   specificity, later in source, so it wins over the desktop tokens. */
	#dcj-customisation .dcj-ring-dynamics {
		--dcj-shape-w: 54px;
		--dcj-colour-w: 38px;
		--dcj-colour-h: 38px;
	}

	#dcj-customisation .dcj-colour-legend {
		background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 406 24'><path d='M6 7H124' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><path d='M144 7H308' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><path d='M328 7H400' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><path d='M1.5 7L6 2.5L10.5 7' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><path d='M119.5 7L124 2.5L128.5 7' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><path d='M139.5 7L144 2.5L148.5 7' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><path d='M303.5 7L308 2.5L312.5 7' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><path d='M323.5 7L328 2.5L332.5 7' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><path d='M395.5 7L400 2.5L404.5 7' stroke='%23D4AF37' stroke-width='1' stroke-opacity='0.6' fill='none'/><text x='65' y='19' text-anchor='middle' font-family='Montserrat, sans-serif' font-size='9' font-weight='600' letter-spacing='1.2' fill='%23734B00'>COLORLESS</text><text x='226' y='19' text-anchor='middle' font-family='Montserrat, sans-serif' font-size='9' font-weight='600' letter-spacing='1.2' fill='%23734B00'>NEAR COLORLESS</text><text x='364' y='19' text-anchor='middle' font-family='Montserrat, sans-serif' font-size='9' font-weight='600' letter-spacing='1.2' fill='%23734B00'>FAINT</text></svg>");
		background-size: 406px 24px;
	}

	#dcj-customisation .dcj-clarity-opt {
		min-height: 36px;
		padding: 7px 10px;
		font-size: 8px;
	}

	.dcj-resume-modal-heading {
		font-size: 29px;
	}

	.dcj-resume-modal-subheading {
		font-size: 17px;
	}
}

/* =========================================================
36 — RING-FIRST REDESIGN
Slim category pills · instant SVG preview · live price bar ·
diamond quality tiers with expert expander
========================================================= */

/* --- jewellery type pills --- */

.dcj-category-pills,
#dcj-customisation .dcj-category-pills {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	max-width: 980px;
	margin: 22px auto 0 auto;
}

#dcj-customisation .dcj-category-pill,
.dcj-category-pill {
	position: relative;
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 10px 20px;
	border: 1px solid rgba(212, 175, 55, 0.42);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.6);
	box-shadow: none;
	font-family: "Montserrat", sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: #734B00;
	cursor: pointer;
	overflow: visible;
	transform: none;
	transition:
		background 0.25s ease,
		border-color 0.25s ease,
		color 0.25s ease,
		box-shadow 0.25s ease;
	-webkit-appearance: none;
	appearance: none;
}

#dcj-customisation .dcj-category-pill::before,
#dcj-customisation .dcj-category-pill::after,
.dcj-category-pill::before,
.dcj-category-pill::after {
	content: none;
	display: none;
}

#dcj-customisation .dcj-category-pill:hover,
.dcj-category-pill:hover {
	transform: none;
	border-color: #D4AF37;
	background: #F8F0E7;
	box-shadow: 0 6px 14px rgba(115, 75, 0, 0.10);
}

#dcj-customisation .dcj-category-pill.is-active,
.dcj-category-pill.is-active {
	transform: none;
	border-color: #D4AF37;
	background: linear-gradient(135deg, #D4AF37 0%, #B08A2B 100%);
	color: #FFFFFF;
	box-shadow: 0 8px 18px rgba(115, 75, 0, 0.18);
}

/* --- design stage heading + ring-first intro --- */

.dcj-design-stage-heading {
	margin-top: 10px;
}

.dcj-design-stage-heading h2 {
	margin-top: 8px;
}

/* --- instant SVG preview --- */

.dcj-svg-preview,
#dcj-customisation .dcj-svg-preview {
	position: absolute;
	inset: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}

.dcj-svg-preview-art,
#dcj-customisation .dcj-svg-preview-art {
	display: block;
	width: 100%;
	height: 100%;
}

#dcj-customisation .dcj-preview-piece.has-image .dcj-svg-preview,
.dcj-preview-piece.has-image .dcj-svg-preview {
	opacity: 0;
	transition: opacity 0.3s ease;
}

#dcj-customisation .dcj-preview-piece:not(.has-image) .dcj-preview-fallback,
.dcj-preview-piece:not(.has-image) .dcj-preview-fallback {
	opacity: 0;
}

.dcj-final-svg-preview,
#dcj-customisation .dcj-final-svg-preview {
	inset: 0;
}

/* --- live price + cart bar --- */

#dcj-customisation .dcj-step-three-preview {
	padding: 0;
	text-align: left;
}

#dcj-customisation .dcj-step-three-preview span {
	font-size: 9px;
	letter-spacing: 1.6px;
}

#dcj-customisation .dcj-price-block,
.dcj-price-block {
	padding: 20px 26px;
}

#dcj-customisation .dcj-price-label,
.dcj-price-label {
	font-size: 9px;
	letter-spacing: 2px;
	color: #B08A2B;
}

#dcj-customisation .dcj-price-value,
.dcj-price-value {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 28px;
	font-weight: 600;
	color: #3B2A12;
}

#dcj-customisation .dcj-price-note,
.dcj-price-note {
	font-size: 9px;
	line-height: 1.55;
	color: #8A6A3A;
}

#dcj-customisation .dcj-price-cta,
.dcj-price-cta {
	padding: 20px 26px;
	border-left: 1px solid rgba(212, 175, 55, 0.22);
}

#dcj-customisation .dcj-price-cta .dcj-add-to-cart-button,
.dcj-price-cta .dcj-add-to-cart-button {
	margin-top: 0;
}

/* --- confirmation price row --- */

.dcj-cart-confirmation-price,
#dcj-customisation .dcj-cart-confirmation-price {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 12px;
	margin: 18px auto 10px auto;
	font-family: "Montserrat", sans-serif;
}

.dcj-cart-confirmation-price-label,
#dcj-customisation .dcj-cart-confirmation-price-label {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #B08A2B;
}

.dcj-final-card-price,
#dcj-customisation .dcj-final-card-price {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 26px;
	font-weight: 600;
	color: #3B2A12;
}

/* --- diamond quality tiers --- */

.dcj-quality-wrap,
#dcj-customisation .dcj-quality-wrap {
	flex-direction: column;
	align-items: stretch;
}

.dcj-quality-row,
#dcj-customisation .dcj-quality-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.dcj-quality-opt,
#dcj-customisation .dcj-quality-opt {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	margin: 0;
	padding: 7px 12px;
	box-sizing: border-box;
	border: 1px solid rgba(17, 17, 17, 0.13);
	border-radius: 3px;
	background: #FFFFFF;
	font-family: "Montserrat", sans-serif;
	cursor: pointer;
	overflow: hidden;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		background 0.2s ease,
		color 0.2s ease;
	-webkit-appearance: none;
	appearance: none;
}

#dcj-customisation .dcj-quality-opt > *,
.dcj-quality-opt > * {
	position: relative;
	z-index: 2;
}

#dcj-customisation .dcj-quality-opt:hover,
.dcj-quality-opt:hover {
	border-color: rgba(212, 175, 55, 0.65);
	background: #FBF7F3;
}

#dcj-customisation .dcj-quality-opt.is-active,
.dcj-quality-opt.is-active {
	border-color: #D4AF37;
	background:
		linear-gradient(
			145deg,
			#FFFFFF 0%,
			#FBF7F3 55%,
			#F0E5DB 100%
		);
	color: #734B00;
	box-shadow:
		0 10px 22px rgba(115, 75, 0, 0.14);
}

#dcj-customisation .dcj-quality-opt.is-active::before,
.dcj-quality-opt.is-active::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background:
		linear-gradient(
			160deg,
			rgba(255, 255, 255, 0.95) 0%,
			rgba(255, 255, 255, 0) 55%
		);
	background-size: 100% 100%;
	background-position: 0 0;
	animation:
		dcj-gem-glint 0.42s ease-out forwards;
	pointer-events: none;
}

#dcj-customisation .dcj-quality-opt.is-active::after,
.dcj-quality-opt.is-active::after {
	content: "";
	position: absolute;
	top: -60%;
	left: -60%;
	width: 35%;
	height: 240%;
	background:
		linear-gradient(
			100deg,
			transparent 0%,
			rgba(255, 255, 255, 0.8) 50%,
			transparent 100%
		);
	transform: rotate(18deg);
	animation:
		dcj-gem-sweep 0.46s ease-out forwards;
	pointer-events: none;
	z-index: 1;
}

.dcj-quality-name,
#dcj-customisation .dcj-quality-name {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	color: #333333;
}

.dcj-quality-grade,
#dcj-customisation .dcj-quality-grade {
	margin-top: 3px;
	font-size: 8px;
	font-weight: 500;
	letter-spacing: 0.5px;
	color: #888888;
}

.dcj-quality-note,
#dcj-customisation .dcj-quality-note {
	margin-top: 12px;
	text-align: center;
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.2px;
	color: #8A6A3A;
}

/* --- expert expander --- */

.dcj-expert-toggle,
#dcj-customisation .dcj-expert-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: center;
	margin: 14px auto 0 auto;
	padding: 8px 16px;
	border: 1px dashed rgba(212, 175, 55, 0.55);
	border-radius: 2px;
	background: transparent;
	font-family: "Montserrat", sans-serif;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #8A6A3A;
	cursor: pointer;
	transition:
		border-color 0.25s ease,
		color 0.25s ease,
		background 0.25s ease;
	-webkit-appearance: none;
	appearance: none;
}

#dcj-customisation .dcj-expert-toggle:hover,
.dcj-expert-toggle:hover {
	border-color: #D4AF37;
	color: #734B00;
	background: #F8F0E7;
}

#dcj-customisation .dcj-expert-toggle.is-active,
.dcj-expert-toggle.is-active {
	border-style: solid;
	background: #F8F0E7;
	color: #734B00;
}

.dcj-expert-wrap,
#dcj-customisation .dcj-expert-wrap {
	display: none;
	margin-top: 16px;
	padding: 16px 14px;
	border: 1px solid rgba(212, 175, 55, 0.25);
	border-radius: 3px;
	background: rgba(255, 255, 255, 0.65);
}

#dcj-customisation .dcj-expert-wrap.is-open,
.dcj-expert-wrap.is-open {
	display: block;
}

.dcj-expert-title,
#dcj-customisation .dcj-expert-title {
	margin: 14px 0 8px 0;
	font-family: "Montserrat", sans-serif;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	color: #B08A2B;
	text-align: center;
}

.dcj-expert-title:first-child,
#dcj-customisation .dcj-expert-title:first-child {
	margin-top: 0;
}

.dcj-expert-close,
#dcj-customisation .dcj-expert-close {
	display: block;
	margin: 16px auto 0 auto;
	padding: 8px 22px;
	border: 1px solid rgba(212, 175, 55, 0.5);
	border-radius: 2px;
	background: #D4AF37;
	font-family: "Montserrat", sans-serif;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #FFFFFF;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

/* --- more shapes toggle --- */

.dcj-shapes-more,
#dcj-customisation .dcj-shapes-more {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px 12px;
	border: 1px dashed rgba(212, 175, 55, 0.55);
	border-radius: 2px;
	background: transparent;
	font-family: "Montserrat", sans-serif;
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: #8A6A3A;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

#dcj-customisation .dcj-shapes-more:hover,
.dcj-shapes-more:hover {
	border-style: solid;
	border-color: #D4AF37;
	color: #734B00;
	background: #F8F0E7;
}

/* --- resize later option --- */

.dcj-ringsizelater-opt,
#dcj-customisation .dcj-ringsizelater-opt {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	margin-top: 10px;
	width: 100%;
}

.dcj-opt-sub,
#dcj-customisation .dcj-opt-sub {
	font-size: 9px;
	font-weight: 500;
	letter-spacing: 0.3px;
	text-transform: none;
	color: #8A6A3A;
}

/* --- mobile --- */

@media (max-width: 767px) {

	#dcj-customisation .dcj-category-pills,
	.dcj-category-pills {
		flex-wrap: wrap;
		justify-content: center;
		gap: 8px;
		padding: 4px 2px 10px 2px;
	}

	#dcj-customisation .dcj-category-pill,
	.dcj-category-pill {
		flex: 1 1 auto;
		padding: 10px 14px;
	}

	#dcj-customisation .dcj-step-three-preview,
	.dcj-step-three-preview {
		flex-direction: column;
		align-items: stretch;
	}

	#dcj-customisation .dcj-price-block,
	.dcj-price-block {
		padding: 18px 18px 10px 18px;
	}

	#dcj-customisation .dcj-price-cta,
	.dcj-price-cta {
		padding: 12px 18px 18px 18px;
		border-left: none;
		border-top: 1px solid rgba(212, 175, 55, 0.22);
		background: transparent;
	}

	#dcj-customisation .dcj-price-value,
	.dcj-price-value {
		font-size: 24px;
	}
}


