.avs3d-personalization {
	--avs3d-accent: #f59a23;
	--avs3d-ink: #101317;
	--avs3d-line: #ded8cf;
	margin: 1.75rem 0 1.25rem;
	padding: clamp(1.25rem, 2vw, 1.75rem);
	border: 1px solid var(--avs3d-line);
	border-top: 4px solid var(--avs3d-accent);
	border-radius: 18px;
	background: linear-gradient(145deg, #fff 0%, #faf7f2 100%);
	box-shadow: 0 18px 50px rgb(38 26 13 / 8%);
}

.avs3d-personalization h3 {
	margin: 0 0 0.35rem;
	color: var(--avs3d-ink);
	font-size: clamp(1.2rem, 2vw, 1.45rem);
	letter-spacing: -0.025em;
}

.avs3d-personalization__intro,
.avs3d-personalization__help {
	margin: 0;
}

.avs3d-personalization__choice {
	margin: 1rem 0;
	padding: 0;
	border: 0;
}

.avs3d-personalization__choice legend {
	margin-bottom: 0.65rem;
	font-weight: 700;
}

.avs3d-personalization__choice label {
	display: flex;
	gap: 0.55rem;
	align-items: center;
	margin: 0.55rem 0;
	cursor: pointer;
}

.avs3d-personalization[data-photo-layout='two-sided-globe'] .avs3d-personalization__choice label {
	align-items: flex-start;
}

.avs3d-personalization__choice input {
	accent-color: var(--avs3d-accent);
}

.avs3d-personalization__files {
	display: grid;
	gap: 0.75rem;
}

.avs3d-personalization__file {
	display: grid;
	gap: 0.4rem;
	font-weight: 700;
}

.avs3d-personalization__file input[type='file'] {
	width: 100%;
	padding: 0.85rem;
	border: 1px dashed #c7b8a5;
	border-radius: 12px;
	background: #fff;
	font-weight: 400;
}

.avs3d-personalization__file input[type='file']:focus-visible {
	outline: 3px solid rgb(245 154 35 / 30%);
	outline-offset: 2px;
}

.avs3d-personalization__help {
	margin-top: 0.8rem;
	color: #5f6873;
	font-size: 0.875rem;
}

.avs3d-personalization__warning {
	margin: 0;
	color: #9f1d1d;
	font-weight: 700;
}

.avs3d-personalization__options-warning {
	margin: 0.9rem 0 0;
	padding: 0.85rem 1rem;
	border: 1px solid #d49a43;
	border-radius: 10px;
	background: #fff4dc;
	color: #704200;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.5;
}

.avs3d-personalization__options-warning[hidden] {
	display: none;
}

form.variations_form .avs3d-variation-required select,
form.variations_form .avs3d-variation-required .avs3d-product-color-swatches {
	outline: 2px solid #b77716;
	outline-offset: 3px;
	border-radius: 10px;
}

/* Premium product presentation. This stylesheet loads only for personalized products. */
body.single-product {
	background: #f5f2ed;
	color: var(--avs3d-ink);
}

body.single-product #header [data-row='middle'] {
	border-bottom: 1px solid rgb(255 255 255 / 12%);
	background: #101820;
}

body.single-product #header [data-row='middle'] > .ct-container {
	min-height: 86px;
	height: 86px;
}

body.single-product #header .site-title a {
	background: linear-gradient(90deg, #fff 0 58%, #f7931e 58%);
	background-clip: text;
	color: transparent;
	font-size: 26px;
	font-weight: 900;
	letter-spacing: -0.05em;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

body.single-product #header .ct-menu-link {
	color: rgb(255 255 255 / 82%);
	font-size: 12px;
	font-weight: 700;
}

body.single-product #header .ct-menu-link:hover {
	color: #f7931e;
}

body.single-product #header .ct-header-search .ct-icon,
body.single-product #header .ct-header-trigger .ct-icon {
	color: #fff;
	fill: #fff;
}

body.single-product main#main {
	background:
		radial-gradient(circle at 15% 5%, rgb(247 147 30 / 11%), transparent 28rem),
		linear-gradient(180deg, #f8f6f2 0%, #fff 42rem);
}

body.single-product .ct-breadcrumbs {
	padding-top: 1.25rem;
	color: #766c61;
	font-size: 11px;
	font-weight: 750;
	letter-spacing: 0.045em;
	text-transform: uppercase;
}

body.single-product .product-entry-wrapper {
	gap: clamp(2rem, 5vw, 5rem);
	padding-top: clamp(1.75rem, 4vw, 3.5rem);
	padding-bottom: clamp(3rem, 7vw, 6rem);
}

body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image,
body.single-product .woocommerce-product-gallery .flex-viewport {
	overflow: hidden;
	border-radius: 22px;
	background: #17191d;
	box-shadow: 0 28px 70px rgb(31 20 8 / 20%);
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs img {
	border-radius: 10px;
	opacity: 0.72;
	transition: opacity 180ms ease, transform 180ms ease;
}

body.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover,
body.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
	opacity: 1;
	transform: translateY(-2px);
}

body.single-product .onsale {
	border-radius: 999px;
	background: #f7931e;
	box-shadow: 0 8px 24px rgb(247 147 30 / 32%);
	color: #141414;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.06em;
}

body.single-product .entry-summary .product_title {
	margin-bottom: 0.65rem;
	color: #12161b;
	font-size: clamp(2rem, 3.6vw, 3.45rem);
	font-weight: 850;
	letter-spacing: -0.045em;
	line-height: 1.02;
}

body.single-product .entry-summary .price {
	margin-bottom: 1.25rem;
	color: #d96e00;
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	font-weight: 850;
}

body.single-product .woocommerce-product-details__short-description {
	max-width: 38rem;
	color: #5f625f;
	font-size: 1.02rem;
	line-height: 1.75;
}

body.single-product table.variations {
	margin: 1.5rem 0 0;
	padding-top: 1.25rem;
	border-top: 1px solid #ddd5ca;
}

body.single-product table.variations th,
body.single-product table.variations td {
	display: block;
	width: 100%;
	padding: 0 0 0.55rem;
	text-align: left;
}

body.single-product table.variations label {
	color: #20242a;
	font-size: 0.85rem;
	font-weight: 800;
	letter-spacing: 0.025em;
}

body.single-product table.variations select {
	min-height: 52px;
	border: 1px solid #d6cec3;
	border-radius: 12px;
	background-color: #fff;
}

body.single-product .quantity input[type='number'] {
	min-height: 50px;
	border-radius: 12px;
}

body.single-product .single_add_to_cart_button {
	min-height: 52px;
	border-radius: 12px;
	background: #f7931e;
	box-shadow: 0 12px 30px rgb(247 147 30 / 28%);
	color: #131313;
	font-weight: 850;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

body.single-product .single_add_to_cart_button:hover {
	background: #ffab42;
	box-shadow: 0 16px 34px rgb(247 147 30 / 36%);
	transform: translateY(-2px);
}

body.single-product .product_meta {
	color: #77716a;
	font-size: 0.78rem;
	line-height: 1.75;
}

body.single-product .woocommerce-tabs {
	margin-bottom: 5rem;
	border-top: 1px solid #e2ddd6;
}

body.single-product .woocommerce-tabs .tabs {
	gap: 1.6rem;
}

body.single-product .woocommerce-tabs .tabs a {
	font-weight: 800;
}

body.single-product .woocommerce-Tabs-panel {
	max-width: 850px;
	color: #4f524f;
	font-size: 1rem;
	line-height: 1.75;
}

body.single-product footer.ct-footer {
	background: #101820;
	color: rgb(255 255 255 / 70%);
}

@media (min-width: 700px) {
	.avs3d-personalization__files {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 689px) {
	body.single-product #header [data-row='middle'] > .ct-container {
		min-height: 70px;
		height: 70px;
	}

	body.single-product .ct-breadcrumbs {
		padding-top: 0.75rem;
	}

	body.single-product .product-entry-wrapper {
		gap: 1.75rem;
		padding-top: 1.25rem;
	}

	body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image,
	body.single-product .woocommerce-product-gallery .flex-viewport {
		border-radius: 16px;
	}

	body.single-product .entry-summary .product_title {
		font-size: 2.25rem;
	}

	.avs3d-personalization {
		border-radius: 15px;
	}

	body.single-product .single_add_to_cart_button {
		width: 100%;
	}
}
