/* Design badge */
.cmp-design-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 0.85em;
	padding: 6px 12px;
	border-radius: 4px;
	margin-bottom: 10px;
}
.cmp-badge-bespoke {
	background: #fdecec;
	color: #a4262c;
}
.cmp-badge-non-bespoke {
	background: #e9f7ef;
	color: #1e7e42;
}

/* Colour swatches */
.cmp-hidden-select {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}
.cmp-swatch-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 6px 0 12px;
}
.cmp-swatch {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 2px solid #ddd;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: border-color 0.15s ease, transform 0.15s ease;
}
.cmp-swatch:hover {
	transform: scale(1.08);
}
.cmp-swatch i {
	color: #fff;
	font-size: 12px;
	opacity: 0;
	text-shadow: 0 0 2px rgba(0,0,0,.6);
}
.cmp-swatch-active {
	border-color: #7f54b3;
}
.cmp-swatch-active i {
	opacity: 1;
}

/* Custom cake CTA */
.cmp-custom-cake-cta {
	margin: 16px 0;
	padding: 14px;
	border: 1px dashed #cbb6e5;
	border-radius: 6px;
	background: #faf7fd;
}
.cmp-request-custom i {
	margin-right: 6px;
}
.cmp-custom-from {
	margin-left: 10px;
	font-weight: 600;
}
.cmp-custom-note {
	margin-top: 8px;
	font-size: 0.85em;
	color: #666;
}
.cmp-custom-note i {
	margin-right: 4px;
}
.cmp-custom-form-wrap {
	margin-top: 14px;
}
.cmp-custom-form .form-row {
	margin-bottom: 10px;
}
.cmp-custom-form label i {
	width: 16px;
	margin-right: 4px;
	color: #7f54b3;
}
.cmp-custom-form input,
.cmp-custom-form textarea {
	width: 100%;
	max-width: 420px;
	display: block;
	margin-top: 4px;
}
