:root {
	--kspp-ink: #050608;
	--kspp-surface: #0b0e12;
	--kspp-panel: #11151b;
	--kspp-panel-soft: #171c24;
	--kspp-ivory: #f7f3ea;
	--kspp-muted: #b9bdc7;
	--kspp-gold: #d8c7a3;
	--kspp-gold-deep: #ad8c57;
	--kspp-line: rgba(216, 199, 163, 0.28);
	--kspp-font: "Poppins", Arial, sans-serif;
}

html:has(body.single-product),
body.single-product {
	overflow-x: hidden;
}

body.single-product,
body.single-product #page,
body.single-product #content,
body.single-product .site-content,
body.single-product .content-top,
body.single-product .product {
	background: var(--kspp-ink) !important;
	color: var(--kspp-ivory) !important;
}

body.single-product #content,
body.single-product #content button,
body.single-product #content input,
body.single-product #content select,
body.single-product #content textarea {
	font-family: var(--kspp-font) !important;
}

body.single-product .content-top {
	display: none !important;
}

body.single-product .woostify-product-navigation,
body.single-product .product-navigation,
body.single-product nav.woocommerce-breadcrumb,
body.single-product .woocommerce-breadcrumb {
	display: none !important;
}

body.single-product .content-top .woostify-container,
body.single-product .site-content > .woostify-container,
body.single-product .product > .woostify-container {
	width: min(100% - 40px, 1580px) !important;
	max-width: 1580px !important;
	margin-inline: auto !important;
}

body.single-product .woostify-breadcrumb,
body.single-product .wc-breadcrumb {
	padding: 20px 0 !important;
	color: var(--kspp-muted) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
}

body.single-product .woostify-breadcrumb a,
body.single-product .wc-breadcrumb a {
	color: var(--kspp-gold) !important;
	text-decoration: none !important;
}

body.single-product .product-page-container {
	padding: 44px 0 92px !important;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.025), transparent 34%),
		var(--kspp-ink) !important;
}

body.single-product .product-page-container > .woostify-container {
	display: grid !important;
	grid-template-columns: minmax(0, 1.32fr) minmax(410px, 0.68fr) !important;
	gap: clamp(46px, 4.5vw, 78px) !important;
	align-items: start !important;
}

body.single-product .product-gallery {
	grid-column: 1 !important;
	position: sticky !important;
	top: 138px !important;
	align-self: start !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	min-width: 0 !important;
}

body.single-product .product-gallery .product-images {
	background:
		radial-gradient(circle at 50% 42%, rgba(216, 199, 163, 0.07), transparent 46%),
		#090b0e !important;
	border: 1px solid var(--kspp-line) !important;
	min-width: 0 !important;
	overflow: hidden !important;
	box-shadow: 0 35px 90px rgba(0, 0, 0, 0.34) !important;
}

body.single-product .product-gallery .product-images > .product-images-container,
body.single-product .product-gallery .product-images > .product-images-container > .flickity-viewport {
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	aspect-ratio: 1 / 1 !important;
	background: #090b0e !important;
}

body.single-product .product-gallery .flickity-slider,
body.single-product .product-gallery .image-item,
body.single-product .product-gallery .image-item a {
	height: 100% !important;
}

body.single-product .product-gallery .image-item {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 !important;
	background: #090b0e !important;
}

body.single-product .product-gallery .image-item img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: contain !important;
	object-position: center !important;
	filter: none !important;
	opacity: 1 !important;
	image-rendering: auto !important;
}

body.single-product .product-gallery .onsale {
	top: 18px !important;
	left: 18px !important;
	min-width: 0 !important;
	min-height: 0 !important;
	padding: 9px 13px !important;
	border-radius: 0 !important;
	background: var(--kspp-gold) !important;
	color: #11151b !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	text-transform: uppercase !important;
}

body.single-product .product-gallery .product-thumbnail-images {
	margin-top: 14px !important;
}

body.single-product .product-gallery .thumbnail-item {
	width: 96px !important;
	height: 96px !important;
	margin: 0 10px 0 0 !important;
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	background: var(--kspp-panel) !important;
	opacity: 0.66 !important;
	transition: border-color 180ms ease, opacity 180ms ease !important;
}

body.single-product .product-gallery .thumbnail-item.is-nav-selected,
body.single-product .product-gallery .thumbnail-item:hover {
	border-color: var(--kspp-gold) !important;
	opacity: 1 !important;
}

body.single-product .product-gallery .thumbnail-item img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

/*
 * Woostify's vertical gallery uses a narrow 80px rail and overlays the
 * previous/next controls at its edges. Keep the controls fully inside a wider
 * rail and reserve enough space for them so they never crop the thumbnails.
 */
@media (min-width: 768px) {
	body.single-product .product-gallery.vertical-style.has-product-thumbnails .product-thumbnail-images {
		width: 112px !important;
		min-width: 112px !important;
		margin: 0 18px 0 0 !important;
		overflow: visible !important;
	}

	body.single-product .product-gallery.vertical-style.has-product-thumbnails .product-thumbnail-images-container {
		width: 112px !important;
		height: 100% !important;
		padding: 54px 8px !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	body.single-product .product-gallery.vertical-style.has-product-thumbnails .product-thumbnail-images-container > .flickity-viewport {
		width: 96px !important;
		height: 100% !important;
		min-height: 0 !important;
		overflow: hidden !important;
	}

	body.single-product .product-gallery.vertical-style.has-product-thumbnails .product-thumbnail-images-container.has-buttons .thumbnail-item:first-child,
	body.single-product .product-gallery.vertical-style.has-product-thumbnails .product-thumbnail-images-container.has-buttons .thumbnail-item:last-child {
		margin-top: 0 !important;
		margin-bottom: 10px !important;
	}

	body.single-product .product-gallery.vertical-style.has-product-thumbnails .thumb-btn {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		left: 50% !important;
		width: 46px !important;
		height: 46px !important;
		min-width: 46px !important;
		min-height: 46px !important;
		padding: 0 !important;
		border: 1px solid rgba(216, 199, 163, 0.72) !important;
		border-radius: 0 !important;
		background: #f7f3ea !important;
		color: #11151b !important;
		transform: translateX(-50%) !important;
		z-index: 12 !important;
		overflow: visible !important;
	}

	body.single-product .product-gallery.vertical-style.has-product-thumbnails .thumb-btn.prev {
		top: 4px !important;
	}

	body.single-product .product-gallery.vertical-style.has-product-thumbnails .thumb-btn.next {
		bottom: 4px !important;
	}

	body.single-product .product-gallery.vertical-style.has-product-thumbnails .thumb-btn .woostify-svg-icon,
	body.single-product .product-gallery.vertical-style.has-product-thumbnails .thumb-btn svg {
		position: static !important;
		display: block !important;
		width: 18px !important;
		height: 18px !important;
		transform: none !important;
		color: #11151b !important;
		fill: currentColor !important;
	}
}

body.single-product .product-summary {
	grid-column: 2 !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	min-width: 0 !important;
}

body.single-product .product-summary > .summary {
	position: sticky !important;
	top: 152px !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: clamp(34px, 3.4vw, 56px) !important;
	border: 1px solid var(--kspp-line) !important;
	background:
		linear-gradient(145deg, rgba(216, 199, 163, 0.09), transparent 38%),
		var(--kspp-surface) !important;
	box-shadow: 0 35px 95px rgba(0, 0, 0, 0.34) !important;
}

body.single-product .kspp-eyebrow {
	margin: 0 0 13px !important;
	color: var(--kspp-gold) !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	line-height: 1.5 !important;
	letter-spacing: 0 !important;
	text-transform: uppercase !important;
	text-align: center !important;
}

body.single-product .product_title,
body.single-product .product_title a {
	margin: 0 0 18px !important;
	color: var(--kspp-ivory) !important;
	font-family: var(--kspp-font) !important;
	font-size: clamp(28px, 2.2vw, 42px) !important;
	font-weight: 600 !important;
	line-height: 1.12 !important;
	letter-spacing: 0 !important;
	text-decoration: none !important;
	text-align: center !important;
}

body.single-product .summary .woocommerce-product-rating {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 10px !important;
	margin: 0 0 18px !important;
	justify-content: center !important;
}

body.single-product .star-rating,
body.post-type-archive-product .star-rating {
	position: relative !important;
	display: inline-block !important;
	width: 100px !important;
	height: 18px !important;
	overflow: hidden !important;
	background: #4f535c !important;
	color: transparent !important;
	font-size: 0 !important;
	line-height: 0 !important;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 1.8l3.09 6.26 6.91 1-5 4.87 1.18 6.88L12 17.56 5.82 20.81 7 13.93 2 9.06l6.91-1L12 1.8z'/%3E%3C/svg%3E") !important;
	-webkit-mask-position: left center !important;
	-webkit-mask-repeat: repeat-x !important;
	-webkit-mask-size: 20px 18px !important;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 1.8l3.09 6.26 6.91 1-5 4.87 1.18 6.88L12 17.56 5.82 20.81 7 13.93 2 9.06l6.91-1L12 1.8z'/%3E%3C/svg%3E") !important;
	mask-position: left center !important;
	mask-repeat: repeat-x !important;
	mask-size: 20px 18px !important;
}

body.single-product .star-rating::before,
body.post-type-archive-product .star-rating::before {
	display: none !important;
	content: none !important;
}

body.single-product .star-rating span,
body.post-type-archive-product .star-rating span {
	position: absolute !important;
	inset: 0 auto auto 0 !important;
	height: 18px !important;
	overflow: hidden !important;
	padding: 0 !important;
	background: #e0c58e !important;
	color: transparent !important;
	font-size: 0 !important;
	line-height: 0 !important;
}

body.single-product .star-rating span::before,
body.post-type-archive-product .star-rating span::before {
	display: none !important;
	content: none !important;
}

body.single-product .summary .woocommerce-review-link {
	color: var(--kspp-muted) !important;
	font-size: 12px !important;
	text-decoration: underline !important;
	text-underline-offset: 4px !important;
}

body.single-product .summary .price {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: baseline !important;
	gap: 12px !important;
	margin: 0 0 24px !important;
	color: var(--kspp-ivory) !important;
	font-size: clamp(26px, 2.3vw, 38px) !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	justify-content: center !important;
	text-align: center !important;
}

body.single-product .summary .price del {
	color: #7f8490 !important;
	font-size: 0.62em !important;
	font-weight: 500 !important;
	opacity: 1 !important;
}

body.single-product .summary .price ins {
	color: var(--kspp-ivory) !important;
	text-decoration: none !important;
}

body.single-product .woocommerce-product-details__short-description {
	margin: 0 0 28px !important;
	padding-bottom: 26px !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body.single-product .woocommerce-product-details__short-description,
body.single-product .woocommerce-product-details__short-description p {
	color: var(--kspp-muted) !important;
	font-size: 15px !important;
	line-height: 1.8 !important;
	text-align: center !important;
}

body.single-product form.cart,
body.single-product form.variations_form,
body.single-product table.variations {
	width: 100% !important;
	margin: 0 !important;
}

body.single-product table.variations,
body.single-product table.variations tbody,
body.single-product table.variations tr,
body.single-product table.variations th,
body.single-product table.variations td {
	display: block !important;
	width: 100% !important;
	padding: 0 !important;
	border: 0 !important;
}

body.single-product table.variations tr {
	margin-bottom: 24px !important;
}

body.single-product table.variations label,
body.single-product .variations label {
	display: block !important;
	margin: 0 0 11px !important;
	color: var(--kspp-ivory) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
	letter-spacing: 0 !important;
	text-transform: uppercase !important;
	opacity: 1 !important;
	text-align: center !important;
}

body.single-product .woo-selected-variation-item-name {
	display: inline !important;
	margin: 0 0 0 5px !important;
	color: var(--kspp-gold) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
	opacity: 1 !important;
	text-align: center !important;
}

body.single-product .variable-items-wrapper {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 9px !important;
	margin: 0 !important;
}

body.single-product .variable-item:not(.radio-variable-item),
body.single-product .button-variable-item {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 46px !important;
	height: auto !important;
	margin: 0 !important;
	padding: 11px 15px !important;
	border: 1px solid rgba(216, 199, 163, 0.36) !important;
	border-radius: 0 !important;
	background: #0a0d11 !important;
	box-shadow: none !important;
	color: var(--kspp-ivory) !important;
	opacity: 1 !important;
}

body.single-product .variable-item:not(.radio-variable-item) span,
body.single-product .button-variable-item span,
body.single-product .variable-item .variable-item-span,
body.single-product .button-variable-item .variable-item-span {
	color: var(--kspp-ivory) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	opacity: 1 !important;
	text-align: center !important;
}

body.single-product .variable-item:not(.radio-variable-item):hover,
body.single-product .variable-item:not(.radio-variable-item).selected,
body.single-product .button-variable-item:hover,
body.single-product .button-variable-item.selected {
	border-color: var(--kspp-gold) !important;
	background: var(--kspp-gold) !important;
	color: #11151b !important;
}

body.single-product .variable-item:not(.radio-variable-item):hover span,
body.single-product .variable-item:not(.radio-variable-item).selected span,
body.single-product .button-variable-item:hover span,
body.single-product .button-variable-item.selected span,
body.single-product .variable-item.selected .variable-item-span,
body.single-product .button-variable-item.selected .variable-item-span {
	color: #11151b !important;
}

body.single-product .reset_variations {
	display: inline-block !important;
	margin-top: 10px !important;
	color: var(--kspp-gold) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	text-decoration: underline !important;
	text-underline-offset: 4px !important;
	opacity: 1 !important;
}

body.single-product .woocommerce-variation-availability,
body.single-product .stock {
	color: var(--kspp-muted) !important;
	font-size: 13px !important;
	text-align: center !important;
}

body.single-product .woostify-single-product-stock {
	margin: 18px 0 !important;
	text-align: center !important;
}

body.single-product .woostify-single-product-stock-label {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 34px !important;
	padding: 7px 12px !important;
	border: 1px solid rgba(216, 199, 163, 0.28) !important;
	color: var(--kspp-muted) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	text-align: center !important;
}

body.single-product .woostify-product-stock-progress {
	display: none !important;
}

body.single-product .alg-product-input-fields-table,
body.single-product .alg-product-input-fields-table tbody,
body.single-product .alg-product-input-fields-table tr,
body.single-product .alg-product-input-fields-table td {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

body.single-product .alg-product-input-fields-table {
	grid-column: 1 / -1 !important;
	margin: 6px 0 20px !important;
	padding: 20px !important;
	border: 1px solid var(--kspp-line) !important;
	background:
		linear-gradient(135deg, rgba(216, 199, 163, 0.08), transparent 60%),
		#090b0e !important;
}

body.single-product .alg-product-input-fields-table label {
	display: block !important;
	margin: 0 0 9px !important;
	color: var(--kspp-ivory) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	text-align: center !important;
}

body.single-product .alg-product-input-fields-table input {
	width: 100% !important;
	min-height: 62px !important;
	padding: 16px 18px !important;
	border: 1px solid var(--kspp-line) !important;
	border-radius: 0 !important;
	background: #090b0e !important;
	color: var(--kspp-ivory) !important;
	box-shadow: none !important;
	font-size: 15px !important;
	text-align: center !important;
}

body.single-product .woocommerce-variation-add-to-cart,
body.single-product form.cart:not(.variations_form) {
	display: grid !important;
	grid-template-columns: 116px minmax(0, 1fr) !important;
	gap: 12px !important;
	align-items: stretch !important;
	margin-top: 24px !important;
}

body.single-product .quantity {
	display: grid !important;
	grid-template-columns: 36px minmax(36px, 1fr) 36px !important;
	width: 116px !important;
	min-width: 116px !important;
	height: 56px !important;
	margin: 0 !important;
	border: 1px solid var(--kspp-line) !important;
	background: #090b0e !important;
}

body.single-product .quantity input,
body.single-product .quantity button {
	height: 54px !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--kspp-ivory) !important;
}

body.single-product .single_add_to_cart_button {
	width: 100% !important;
	min-height: 56px !important;
	margin: 0 !important;
	padding: 15px 24px !important;
	border: 1px solid var(--kspp-gold) !important;
	border-radius: 0 !important;
	background: linear-gradient(135deg, #fffdf7, #e7dcc4) !important;
	color: #11151b !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
	transition: background 180ms ease, color 180ms ease !important;
}

body.single-product .single_add_to_cart_button:hover,
body.single-product .single_add_to_cart_button:focus-visible {
	background: var(--kspp-gold) !important;
	color: #050608 !important;
}

body.single-product .single_add_to_cart_button:focus-visible,
body.single-product .variable-item:focus-visible,
body.single-product .kspp-concierge a:focus-visible,
body.single-product .kspp-care-grid summary:focus-visible {
	outline: 2px solid var(--kspp-ivory) !important;
	outline-offset: 3px !important;
}

body.single-product .kspp-reassurance {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 0 !important;
	margin: 28px 0 0 !important;
	border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body.single-product .kspp-reassurance > div {
	display: grid !important;
	grid-template-columns: minmax(145px, 0.75fr) minmax(0, 1.25fr) !important;
	gap: 18px !important;
	padding: 15px 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
	text-align: center !important;
}

body.single-product .kspp-reassurance strong {
	color: var(--kspp-ivory) !important;
	font-size: 12px !important;
	line-height: 1.55 !important;
	text-align: center !important;
}

body.single-product .kspp-reassurance span {
	color: var(--kspp-muted) !important;
	font-size: 11px !important;
	line-height: 1.65 !important;
	text-align: center !important;
}

body.single-product .tinv-wishlist,
body.single-product .tinvwl_add_to_wishlist_button {
	color: var(--kspp-ivory) !important;
}

body.single-product .product_meta {
	display: block !important;
	margin-top: 24px !important;
	padding-top: 20px !important;
	border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
	text-align: center !important;
}

body.single-product .product_meta > span {
	display: block !important;
	margin: 5px 0 !important;
	color: var(--kspp-muted) !important;
}

body.single-product .product_meta a {
	color: var(--kspp-gold) !important;
	text-decoration: none !important;
}

body.single-product .product_meta a:hover {
	color: var(--kspp-ivory) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
}

html body.single-product #content .product_meta > .tagged_as,
html body.single-product #content .product_meta > .posted_in,
html body.single-product #content .nta-woo-products-button {
	display: none !important;
}

body.single-product .product_meta > .sku_wrapper {
	display: block !important;
	color: var(--kspp-muted) !important;
	font-size: 12px !important;
}

body.single-product .kspp-concierge {
	margin-top: 24px !important;
	padding: 20px !important;
	border-left: 2px solid var(--kspp-gold) !important;
	background: rgba(216, 199, 163, 0.06) !important;
	text-align: center !important;
}

body.single-product .kspp-concierge__label {
	margin: 0 0 6px !important;
	color: var(--kspp-ivory) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	text-align: center !important;
}

body.single-product .kspp-concierge > p:not(.kspp-concierge__label) {
	margin: 0 !important;
	color: var(--kspp-muted) !important;
	font-size: 12px !important;
	line-height: 1.65 !important;
	text-align: center !important;
}

body.single-product .kspp-concierge__actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 16px !important;
	margin-top: 13px !important;
	justify-content: center !important;
}

body.single-product .kspp-concierge a {
	color: var(--kspp-gold) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	text-decoration: underline !important;
	text-underline-offset: 4px !important;
	text-transform: uppercase !important;
}

body.single-product .woocommerce-tabs {
	margin: 0 !important;
	padding: 88px 0 74px !important;
	border-top: 1px solid var(--kspp-line) !important;
}

body.single-product .woocommerce-tabs .tabs {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	gap: 34px !important;
	margin: 0 0 48px !important;
	padding: 0 !important;
	border: 0 !important;
}

body.single-product .woocommerce-tabs .tabs li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

body.single-product .woocommerce-tabs .tabs li a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 48px !important;
	padding: 11px 20px !important;
	border: 1px solid var(--kspp-line) !important;
	background: #090b0e !important;
	color: var(--kspp-muted) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	text-transform: uppercase !important;
}

body.single-product .woocommerce-tabs .tabs li.active a,
body.single-product .woocommerce-tabs .tabs li a:hover {
	border-color: var(--kspp-gold) !important;
	background: var(--kspp-gold) !important;
	color: #11151b !important;
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
	width: min(100%, 960px) !important;
	margin: 0 auto !important;
	padding: 0 !important;
	color: var(--kspp-muted) !important;
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel p,
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel li {
	color: var(--kspp-muted) !important;
	font-size: 15px !important;
	line-height: 1.9 !important;
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2,
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel h3 {
	margin: 0 0 22px !important;
	color: var(--kspp-ivory) !important;
	font-size: clamp(24px, 3vw, 38px) !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
}

body.single-product .woocommerce-tabs table,
body.single-product .woocommerce-tabs th,
body.single-product .woocommerce-tabs td {
	border-color: rgba(255, 255, 255, 0.12) !important;
	color: var(--kspp-muted) !important;
}

body.single-product .woocommerce-tabs th,
body.single-product .woocommerce-tabs th *,
body.single-product .woocommerce-product-attributes-item__label {
	background: var(--kspp-surface) !important;
	color: var(--kspp-gold) !important;
	font-weight: 700 !important;
	opacity: 1 !important;
}

body.single-product .woocommerce-tabs td,
body.single-product .woocommerce-tabs td *,
body.single-product .woocommerce-product-attributes-item__value,
body.single-product .woocommerce-product-attributes-item__value * {
	background: #090b0e !important;
	color: var(--kspp-ivory) !important;
	opacity: 1 !important;
}

body.single-product #reviews .commentlist,
body.single-product #reviews .commentlist li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body.single-product #reviews .comment_container {
	display: grid !important;
	grid-template-columns: 72px minmax(0, 1fr) !important;
	gap: 22px !important;
	margin: 0 !important;
	padding: 26px 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body.single-product #reviews .comment_container img.avatar {
	width: 72px !important;
	height: 72px !important;
	margin: 0 !important;
	border-radius: 50% !important;
	object-fit: cover !important;
}

body.single-product #reviews .comment-text,
body.single-product #reviews .comment-text p,
body.single-product #reviews .description,
body.single-product #reviews .description p {
	margin: 0 !important;
	color: var(--kspp-muted) !important;
}

body.single-product #reviews .meta,
body.single-product #reviews .meta * {
	color: var(--kspp-muted) !important;
	opacity: 1 !important;
}

body.single-product #reviews .woocommerce-review__author,
body.single-product #reviews strong.woocommerce-review__author {
	color: var(--kspp-ivory) !important;
	font-weight: 700 !important;
}

body.single-product #reviews .woocommerce-review__published-date {
	color: var(--kspp-muted) !important;
	font-weight: 400 !important;
}

body.single-product .kspp-editorial {
	width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	padding: clamp(90px, 9vw, 150px) max(24px, calc((100vw - 1480px) / 2)) !important;
	border-top: 1px solid var(--kspp-line) !important;
	border-bottom: 1px solid var(--kspp-line) !important;
	background:
		linear-gradient(120deg, rgba(216, 199, 163, 0.06), transparent 35%),
		var(--kspp-panel) !important;
}

body.single-product .kspp-editorial__intro {
	display: block !important;
	max-width: 980px !important;
	margin-inline: auto !important;
	text-align: center !important;
	margin-bottom: clamp(60px, 7vw, 100px) !important;
}

body.single-product .kspp-editorial__intro .kspp-eyebrow {
	grid-column: 1 / -1 !important;
}

body.single-product .kspp-editorial__intro h2 {
	margin: 0 auto 26px !important;
	max-width: 900px !important;
	color: var(--kspp-ivory) !important;
	font-size: clamp(34px, 4vw, 60px) !important;
	font-weight: 500 !important;
	line-height: 1.08 !important;
	text-align: center !important;
}

body.single-product .kspp-editorial__intro > p:last-child {
	margin: 0 auto !important;
	max-width: 780px !important;
	color: var(--kspp-muted) !important;
	font-size: 16px !important;
	line-height: 1.9 !important;
	text-align: center !important;
}

body.single-product .kspp-editorial__principles {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 1px !important;
	margin-bottom: clamp(72px, 8vw, 120px) !important;
	background: var(--kspp-line) !important;
	border: 1px solid var(--kspp-line) !important;
}

body.single-product .kspp-editorial__principles article {
	min-height: 300px !important;
	padding: clamp(28px, 3.5vw, 48px) !important;
	background: var(--kspp-surface) !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
}

body.single-product .kspp-editorial__principles h3 {
	margin: 0 0 14px !important;
	color: var(--kspp-ivory) !important;
	font-size: 20px !important;
	font-weight: 600 !important;
	text-align: center !important;
}

body.single-product .kspp-editorial__principles p {
	margin: 0 !important;
	color: var(--kspp-muted) !important;
	font-size: 13px !important;
	line-height: 1.8 !important;
	text-align: center !important;
}

body.single-product .kspp-specifications {
	display: grid !important;
	grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.3fr) !important;
	gap: clamp(40px, 8vw, 130px) !important;
	align-items: start !important;
}

body.single-product .kspp-specifications__heading h2 {
	margin: 0 !important;
	color: var(--kspp-ivory) !important;
	font-size: clamp(32px, 4vw, 58px) !important;
	font-weight: 500 !important;
	line-height: 1.1 !important;
}

body.single-product .kspp-specifications dl {
	margin: 0 !important;
	border-top: 1px solid var(--kspp-line) !important;
}

body.single-product .kspp-specifications dl > div {
	display: grid !important;
	grid-template-columns: minmax(140px, 0.7fr) minmax(0, 1.3fr) !important;
	gap: 24px !important;
	padding: 18px 0 !important;
	border-bottom: 1px solid var(--kspp-line) !important;
}

body.single-product .kspp-specifications dt {
	color: var(--kspp-gold) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
}

body.single-product .kspp-specifications dd,
body.single-product .kspp-specifications dd a {
	margin: 0 !important;
	color: var(--kspp-ivory) !important;
	font-size: 13px !important;
	line-height: 1.65 !important;
	text-decoration: none !important;
}

body.single-product .kspp-care-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 18px !important;
	margin-top: clamp(62px, 7vw, 100px) !important;
}

body.single-product .kspp-care-grid details {
	padding: 22px !important;
	border: 1px solid var(--kspp-line) !important;
	background: rgba(5, 6, 8, 0.38) !important;
}

body.single-product .kspp-care-grid summary {
	position: relative !important;
	padding-right: 28px !important;
	color: var(--kspp-ivory) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	list-style: none !important;
}

body.single-product .kspp-care-grid summary::-webkit-details-marker {
	display: none !important;
}

body.single-product .kspp-care-grid summary::after {
	content: "+" !important;
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	color: var(--kspp-gold) !important;
	font-size: 18px !important;
	font-weight: 400 !important;
}

body.single-product .kspp-care-grid details[open] summary::after {
	content: "−" !important;
}

body.single-product .kspp-care-grid p {
	margin: 18px 0 0 !important;
	color: var(--kspp-muted) !important;
	font-size: 12px !important;
	line-height: 1.75 !important;
}

body.single-product .related.products {
	padding: clamp(80px, 8vw, 120px) 0 !important;
}

body.single-product .related.products > h2 {
	margin: 0 0 48px !important;
	color: var(--kspp-ivory) !important;
	font-size: clamp(32px, 4vw, 58px) !important;
	font-weight: 500 !important;
	line-height: 1.1 !important;
	text-align: center !important;
}

body.single-product .related.products ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 18px !important;
	margin: 0 !important;
}

body.single-product .related.products li.product {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 0 24px !important;
	border: 1px solid var(--kspp-line) !important;
	background: var(--kspp-surface) !important;
}

body.single-product .related.products li.product img {
	width: 100% !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: cover !important;
}

body.single-product .related.products .woocommerce-loop-product__title,
body.single-product .related.products .price,
body.single-product .related.products .star-rating,
body.single-product .related.products .button {
	margin-left: 20px !important;
	margin-right: 20px !important;
	text-align: center !important;
}

body.single-product .related.products .woocommerce-loop-product__title {
	display: block !important;
	min-height: 0 !important;
	height: auto !important;
	max-height: none !important;
	margin-top: 22px !important;
	overflow: visible !important;
	color: var(--kspp-ivory) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.45 !important;
	white-space: normal !important;
	text-overflow: clip !important;
	-webkit-box-orient: initial !important;
	-webkit-line-clamp: unset !important;
}

body.single-product .related.products .price {
	color: var(--kspp-gold) !important;
	justify-content: center !important;
	text-align: center !important;
}

body.single-product .related.products .star-rating {
	display: block !important;
	margin: 14px auto 0 !important;
}

body.single-product .related.products .button {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 46px !important;
	margin-top: 18px !important;
	border: 1px solid var(--kspp-line) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--kspp-ivory) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
}

body.single-product .grecaptcha-badge,
body.single-product iframe[src*="recaptcha"],
body.post-type-archive-product .grecaptcha-badge,
body.post-type-archive-product iframe[src*="recaptcha"] {
	display: none !important;
	visibility: hidden !important;
}

body.post-type-archive-product ul.products li.product {
	text-align: center !important;
}

body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title {
	display: block !important;
	min-height: 0 !important;
	height: auto !important;
	max-height: none !important;
	margin-inline: auto !important;
	overflow: visible !important;
	color: inherit !important;
	font-family: var(--kspp-font) !important;
	font-size: clamp(15px, 1.4vw, 18px) !important;
	font-weight: 600 !important;
	line-height: 1.5 !important;
	text-align: center !important;
	white-space: normal !important;
	text-overflow: clip !important;
	-webkit-box-orient: initial !important;
	-webkit-line-clamp: unset !important;
}

/*
 * Shop and product-card titles must always show the complete saved title.
 * These selectors also neutralize title-clamping rules from the theme.
 */
body.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.woocommerce ul.products li.product .woocommerce-loop-product__title a,
body.woocommerce ul.products li.product .product-loop-title,
body.woocommerce ul.products li.product .product-loop-title a {
	display: block !important;
	min-height: 0 !important;
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
	white-space: normal !important;
	overflow-wrap: anywhere !important;
	text-overflow: clip !important;
	-webkit-box-orient: initial !important;
	-webkit-line-clamp: unset !important;
	line-clamp: unset !important;
}

/*
 * Recently Viewed Products: show the complete product photograph without
 * distortion, remove the redundant small product title, and retain pricing.
 */
body.post-type-archive-product .widget_recently_viewed_products ul.product_list_widget,
body.post-type-archive-product .woocommerce.widget_recently_viewed_products ul.product_list_widget {
	margin: 0 !important;
	padding: 0 !important;
}

body.post-type-archive-product .widget_recently_viewed_products ul.product_list_widget li,
body.post-type-archive-product .woocommerce.widget_recently_viewed_products ul.product_list_widget li {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 18px 0 22px !important;
	border-bottom: 1px solid rgba(216, 199, 163, 0.42) !important;
	text-align: center !important;
	overflow: visible !important;
}

body.post-type-archive-product .widget_recently_viewed_products ul.product_list_widget li > a,
body.post-type-archive-product .woocommerce.widget_recently_viewed_products ul.product_list_widget li > a {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0 !important;
	line-height: 0 !important;
	position: static !important;
	overflow: visible !important;
	flex: none !important;
}

body.post-type-archive-product #secondary .widget_recently_viewed_products ul.product_list_widget li > a > img,
body.post-type-archive-product #secondary .woocommerce.widget_recently_viewed_products ul.product_list_widget li > a > img,
body.post-type-archive-product .widget-area .widget_recently_viewed_products ul.product_list_widget li > a > img,
body.post-type-archive-product .widget-area .woocommerce.widget_recently_viewed_products ul.product_list_widget li > a > img,
body.post-type-archive-product .widget_recently_viewed_products ul.product_list_widget li > a > img,
body.post-type-archive-product .woocommerce.widget_recently_viewed_products ul.product_list_widget li > a > img {
	float: none !important;
	display: block !important;
	width: 100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
	height: clamp(220px, 18vw, 290px) !important;
	min-height: 220px !important;
	margin: 0 auto 14px !important;
	padding: 8px !important;
	border: 1px solid rgba(216, 199, 163, 0.24) !important;
	background: #0b0d10 !important;
	object-fit: contain !important;
	object-position: center !important;
	position: static !important;
	inset: auto !important;
	transform: none !important;
	flex: none !important;
}

body.post-type-archive-product .widget_recently_viewed_products .product-title,
body.post-type-archive-product .woocommerce.widget_recently_viewed_products .product-title {
	display: none !important;
}

body.post-type-archive-product .widget_recently_viewed_products ul.product_list_widget li .price,
body.post-type-archive-product .woocommerce.widget_recently_viewed_products ul.product_list_widget li .price,
body.post-type-archive-product .widget_recently_viewed_products ul.product_list_widget li > del,
body.post-type-archive-product .widget_recently_viewed_products ul.product_list_widget li > ins,
body.post-type-archive-product .woocommerce.widget_recently_viewed_products ul.product_list_widget li > del,
body.post-type-archive-product .woocommerce.widget_recently_viewed_products ul.product_list_widget li > ins {
	display: inline-block !important;
	margin: 2px 5px 0 !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	float: none !important;
	position: static !important;
}

@media (max-width: 991px) {
	body.post-type-archive-product .widget_recently_viewed_products ul.product_list_widget li > a > img,
	body.post-type-archive-product .woocommerce.widget_recently_viewed_products ul.product_list_widget li > a > img {
		height: clamp(230px, 52vw, 340px) !important;
		min-height: 230px !important;
	}
}

body.post-type-archive-product ul.products li.product .star-rating {
	display: block !important;
	margin: 12px auto !important;
}

body.post-type-archive-product ul.products li.product .price {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	gap: 8px !important;
	text-align: center !important;
}

body.post-type-archive-product ul.products li.product .button {
	margin-inline: auto !important;
}

@media (max-width: 1100px) {
	body.single-product .product-page-container > .woostify-container {
		grid-template-columns: minmax(0, 1fr) minmax(350px, 0.9fr) !important;
		gap: 34px !important;
	}

	body.single-product .product-gallery .product-images > .product-images-container,
	body.single-product .product-gallery .product-images > .product-images-container > .flickity-viewport {
		height: 560px !important;
		min-height: 560px !important;
	}

	body.single-product .related.products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 860px) {
	body.single-product .content-top .woostify-container,
	body.single-product .site-content > .woostify-container,
	body.single-product .product > .woostify-container {
		width: min(100% - 28px, 760px) !important;
	}

	body.single-product .product-page-container {
		padding: 24px 0 54px !important;
	}

	body.single-product .product-page-container > .woostify-container {
		display: flex !important;
		flex-direction: column !important;
		gap: 28px !important;
	}

	body.single-product .product-gallery,
	body.single-product .product-summary {
		width: 100% !important;
	}

	body.single-product .product-gallery {
		position: static !important;
	}

	body.single-product .product-gallery .product-images > .product-images-container,
	body.single-product .product-gallery .product-images > .product-images-container > .flickity-viewport {
		height: min(78vw, 620px) !important;
		min-height: min(78vw, 620px) !important;
	}

	body.single-product .product-gallery:not(.vertical-style) .product-thumbnail-images,
	body.single-product .product-gallery:not(.vertical-style) .product-thumbnail-images-container,
	body.single-product .product-gallery:not(.vertical-style) .product-thumbnail-images-container > .flickity-viewport {
		height: 90px !important;
		min-height: 0 !important;
	}

	body.single-product .product-gallery.vertical-style.has-product-thumbnails .product-thumbnail-images {
		height: min(78vw, 620px) !important;
		min-height: min(78vw, 620px) !important;
	}

	body.single-product .product-summary > .summary {
		position: static !important;
		padding: clamp(24px, 5vw, 38px) !important;
	}

	body.single-product .kspp-editorial__intro,
	body.single-product .kspp-specifications {
		grid-template-columns: 1fr !important;
		gap: 28px !important;
	}

	body.single-product .kspp-editorial__principles,
	body.single-product .kspp-care-grid {
		grid-template-columns: 1fr !important;
	}

	body.single-product .kspp-editorial__principles article {
		min-height: 0 !important;
	}

}

@media (max-width: 580px) {
	body.single-product .content-top .woostify-container,
	body.single-product .site-content > .woostify-container,
	body.single-product .product > .woostify-container {
		width: calc(100% - 24px) !important;
	}

	body.single-product .woostify-breadcrumb,
	body.single-product .wc-breadcrumb {
		overflow: hidden !important;
		white-space: nowrap !important;
		text-overflow: ellipsis !important;
	}

	body.single-product .product-gallery .product-images > .product-images-container,
	body.single-product .product-gallery .product-images > .product-images-container > .flickity-viewport {
		height: calc(100vw - 24px) !important;
		min-height: calc(100vw - 24px) !important;
	}

	body.single-product .product-gallery:not(.vertical-style) .product-thumbnail-images,
	body.single-product .product-gallery:not(.vertical-style) .product-thumbnail-images-container,
	body.single-product .product-gallery:not(.vertical-style) .product-thumbnail-images-container > .flickity-viewport {
		height: 72px !important;
	}

	body.single-product .product-gallery .image-item {
		padding: 8px !important;
	}

	body.single-product .product-gallery .thumbnail-item {
		width: 70px !important;
		height: 70px !important;
	}

	body.single-product .product_title,
	body.single-product .product_title a {
		font-size: clamp(25px, 8vw, 34px) !important;
	}

	body.single-product .variable-items-wrapper {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 8px !important;
	}

	body.single-product .variable-item:not(.radio-variable-item),
	body.single-product .button-variable-item {
		width: 100% !important;
		padding-inline: 8px !important;
	}

	body.single-product .variable-item:not(.radio-variable-item) span,
	body.single-product .button-variable-item span {
		font-size: 11px !important;
		text-align: center !important;
	}

	body.single-product .woocommerce-variation-add-to-cart,
	body.single-product form.cart:not(.variations_form) {
		grid-template-columns: 96px minmax(0, 1fr) !important;
	}

	body.single-product .quantity {
		grid-template-columns: 30px minmax(30px, 1fr) 30px !important;
		width: 96px !important;
		min-width: 96px !important;
	}

	body.single-product .single_add_to_cart_button {
		padding-inline: 12px !important;
		font-size: 12px !important;
	}

	body.single-product .kspp-reassurance > div {
		grid-template-columns: 1fr !important;
		gap: 5px !important;
	}

	body.single-product .woocommerce-tabs {
		padding: 62px 0 54px !important;
	}

	body.single-product .woocommerce-tabs .tabs {
		justify-content: flex-start !important;
		gap: 20px !important;
		overflow-x: auto !important;
		white-space: nowrap !important;
	}

	body.single-product .kspp-editorial {
		padding: 68px 18px !important;
	}

	body.single-product .kspp-editorial__intro h2,
	body.single-product .kspp-specifications__heading h2 {
		font-size: 36px !important;
	}

	body.single-product .kspp-specifications dl > div {
		grid-template-columns: 1fr !important;
		gap: 7px !important;
	}

	body.single-product .related.products ul.products {
		grid-template-columns: 1fr !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.single-product *,
	body.single-product *::before,
	body.single-product *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* Keep the WooCommerce quantity value visible between Woostify's controls. */
body.single-product form.cart .quantity {
	display: block !important;
	position: relative !important;
}

body.single-product form.cart .quantity input.qty {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 100% !important;
	min-width: 0 !important;
	height: 54px !important;
	margin: 0 !important;
	padding: 0 40px !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--kspp-ivory) !important;
	-webkit-text-fill-color: var(--kspp-ivory) !important;
	font-family: var(--kspp-font) !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	line-height: 54px !important;
	text-align: center !important;
	appearance: textfield !important;
	-moz-appearance: textfield !important;
}

body.single-product form.cart .quantity .product-qty {
	z-index: 2 !important;
	color: var(--kspp-ivory) !important;
}

body.single-product form.cart .quantity .product-qty svg,
body.single-product form.cart .quantity .product-qty svg path {
	fill: currentColor !important;
}

@media (max-width: 600px) {
	body.single-product form.cart .quantity input.qty {
		padding-inline: 30px !important;
		font-size: 16px !important;
	}
}
