/*
 * DENVAS universal premium single-product page v3.
 * Scope: classic WooCommerce single-product pages in the DENVAS Blocksy child theme.
 * Important: FlexSlider owns its wrapper widths, transforms and slide positioning.
 */

body.single-product.denvas-theme {
	--denvas-product-ink: #1d1a17;
	--denvas-product-copy: #625c55;
	--denvas-product-muted: #837b72;
	--denvas-product-line: #ded5ca;
	--denvas-product-surface: #ffffff;
	--denvas-product-page: #f6f2ec;
	--denvas-product-accent: #bc7a3f;
	--denvas-product-accent-dark: #995f2d;
	--denvas-product-accent-soft: #f7eadb;
	--denvas-product-accent-wash: #fcf7f1;
	background: var(--denvas-product-page);
}

body.single-product .denvas-shop-shell {
	width: min(calc(100% - 48px), 1520px) !important;
	max-width: none !important;
	padding: 34px 0 0 !important;
}

body.single-product .denvas-shop-default,
body.single-product .denvas-shop-default > .woocommerce,
body.single-product .denvas-shop-default > .woocommerce > div.product {
	width: 100% !important;
	max-width: none !important;
}

body.single-product .denvas-shop-default > .woocommerce,
body.single-product .denvas-shop-shell div.product {
	display: block !important;
}

body.single-product .woocommerce-notices-wrapper:empty {
	display: none;
}

body.single-product .woocommerce-breadcrumb {
	margin: 0 0 24px !important;
	color: #777068;
	font-family: var(--denvas-sans, Arial, sans-serif);
	font-size: 10px !important;
	font-weight: 600;
	letter-spacing: 0.09em;
	line-height: 1.5;
	text-transform: uppercase;
}

body.single-product .woocommerce-breadcrumb a {
	color: inherit;
}

body.single-product .woocommerce-breadcrumb a:hover {
	color: var(--denvas-product-accent-dark);
}

/* Blocksy inserts product-entry-wrapper around the native gallery and summary. */
body.single-product .denvas-shop-shell div.product {
	width: 100% !important;
	margin: 0 !important;
}

body.single-product .denvas-shop-shell div.product::before,
body.single-product .denvas-shop-shell div.product::after,
body.single-product .denvas-shop-shell div.product > .product-entry-wrapper::before,
body.single-product .denvas-shop-shell div.product > .product-entry-wrapper::after {
	display: none !important;
}

body.single-product .denvas-shop-shell div.product > .product-entry-wrapper,
body.single-product .denvas-shop-shell div.product > .product-entry-wrapper.is-width-constrained {
	display: grid !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	align-items: start;
	grid-template-columns: minmax(0, 1.32fr) minmax(500px, 0.88fr) !important;
	column-gap: clamp(28px, 3vw, 46px) !important;
	row-gap: 0 !important;
}

/*
 * Gallery.
 * We never override FlexSlider's wrapper width, transform, float or slide width.
 * That makes the same template safe for one image, many images and all ratios.
 */
body.single-product .denvas-shop-shell div.product div.woocommerce-product-gallery {
	position: relative !important;
	top: auto !important;
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	overflow: visible;
	border: 1px solid var(--denvas-product-line);
	border-radius: 16px;
	background: var(--denvas-product-surface);
	box-shadow: 0 18px 46px rgba(57, 43, 29, 0.06);
	opacity: 1 !important;
	visibility: visible !important;
}

body.single-product .denvas-shop-shell div.product div.woocommerce-product-gallery::before {
	position: absolute;
	top: -1px;
	left: 22px;
	z-index: 7;
	width: clamp(78px, 11vw, 132px);
	height: 4px;
	border-radius: 0 0 999px 999px;
	background: linear-gradient(90deg, var(--denvas-product-accent), #d8a16d);
	content: "";
	pointer-events: none;
}

body.single-product .woocommerce-product-gallery .flex-viewport,
body.single-product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
	min-width: 0;
	border-radius: 15px 15px 0 0;
	background: #ffffff;
}

body.single-product .woocommerce-product-gallery__wrapper {
	margin: 0 !important;
}

body.single-product .woocommerce-product-gallery__image > a {
	display: flex !important;
	width: 100% !important;
	min-width: 0;
	aspect-ratio: 4 / 3;
	align-items: center;
	justify-content: center;
	background: #ffffff;
}

body.single-product .woocommerce-product-gallery__image img,
body.single-product .woocommerce-product-gallery__wrapper img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 0;
	margin: 0 !important;
	padding: clamp(28px, 4vw, 64px) !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	object-fit: contain !important;
	object-position: center !important;
	transform: none !important;
	transition: none !important;
}

/* WooCommerce Zoom creates a second absolute image on pointer hover. */
body.single-product .woocommerce-product-gallery__image img.zoomImg,
body.single-product .woocommerce-product-gallery__wrapper img.zoomImg {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

/* Graceful no-script/no-slider fallback: show the first product image, never a blank panel. */
body.single-product .woocommerce-product-gallery:not(:has(.flex-viewport))
	.woocommerce-product-gallery__image:not(:first-child) {
	display: none;
}

body.single-product .woocommerce-product-gallery ol.flex-control-thumbs {
	display: grid !important;
	width: auto !important;
	margin: 0 !important;
	padding: 12px !important;
	position: static !important;
	grid-auto-columns: 76px;
	grid-auto-flow: column;
	justify-content: start;
	gap: 9px;
	overflow-x: auto;
	border-top: 1px solid var(--denvas-product-line);
	background: #fff;
	list-style: none;
	scrollbar-width: thin;
}

body.single-product .woocommerce-product-gallery ol.flex-control-thumbs:empty {
	display: none !important;
}

body.single-product .woocommerce-product-gallery ol.flex-control-thumbs li {
	display: block !important;
	width: 76px !important;
	height: 76px !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	overflow: hidden;
	border: 1px solid var(--denvas-product-line);
	border-radius: 9px;
	background: #fff;
}

body.single-product .woocommerce-product-gallery ol.flex-control-thumbs img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 6px !important;
	border: 0 !important;
	background: #fff !important;
	box-shadow: inset 0 0 0 2px transparent;
	opacity: 0.65;
	object-fit: contain !important;
	transition: opacity 180ms ease, box-shadow 180ms ease;
}

body.single-product .woocommerce-product-gallery ol.flex-control-thumbs img:hover,
body.single-product .woocommerce-product-gallery ol.flex-control-thumbs img.flex-active {
	box-shadow: inset 0 0 0 2px var(--denvas-product-accent);
	opacity: 1;
}

body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	top: 17px !important;
	right: 17px !important;
	z-index: 9;
	display: grid !important;
	width: 46px !important;
	height: 46px !important;
	padding: 0 !important;
	place-items: center;
	border: 1px solid var(--denvas-product-line);
	border-radius: 50%;
	color: var(--denvas-product-ink);
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 9px 24px rgba(45, 33, 22, 0.08);
}

body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger:hover {
	border-color: var(--denvas-product-accent);
	color: var(--denvas-product-accent-dark);
}

body.single-product .denvas-shop-shell span.onsale {
	top: 17px !important;
	left: 17px !important;
	z-index: 8;
	min-width: 0;
	min-height: 0;
	padding: 8px 12px;
	border: 1px solid #dfc2a4;
	border-radius: 999px;
	color: #75471f;
	background: #fbecdc;
	font-family: var(--denvas-sans, Arial, sans-serif);
	font-size: 10px;
	font-weight: 750;
	line-height: 1;
	text-transform: none;
}

/* Purchase panel. */
body.single-product .denvas-shop-shell div.product div.summary {
	position: relative !important;
	top: auto !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
	padding: clamp(31px, 2.75vw, 43px) !important;
	float: none !important;
	overflow: hidden;
	border: 1px solid var(--denvas-product-line);
	border-radius: 16px;
	background: var(--denvas-product-surface);
	box-shadow: 0 18px 46px rgba(57, 43, 29, 0.07);
}

body.single-product .denvas-shop-shell div.product div.summary::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 5px;
	background: linear-gradient(90deg, var(--denvas-product-accent) 0, #dda974 34%, rgba(221, 169, 116, 0) 82%);
	content: "";
}

body.single-product .denvas-single-product__eyebrow {
	margin: 0 62px 10px 0 !important;
	color: var(--denvas-product-accent-dark);
	font-family: var(--denvas-sans, Arial, sans-serif);
	font-size: 10px;
	font-weight: 750;
	letter-spacing: 0.15em;
	line-height: 1.4;
	text-transform: uppercase;
}

body.single-product .denvas-single-product__eyebrow a {
	color: inherit;
}

body.single-product .denvas-single-product__eyebrow a:hover {
	text-decoration: underline;
	text-underline-offset: 4px;
}

body.single-product .denvas-single-product__favourite {
	position: absolute;
	top: clamp(25px, 2.5vw, 36px);
	right: clamp(25px, 2.5vw, 36px);
	z-index: 2;
	display: grid;
	width: 46px;
	height: 46px;
	margin: 0;
	padding: 0;
	place-items: center;
	border: 1px solid var(--denvas-product-line);
	border-radius: 50%;
	color: var(--denvas-product-ink);
	background: #fff;
	box-shadow: 0 8px 22px rgba(44, 35, 25, 0.055);
	transition: border-color 180ms ease, color 180ms ease, transform 180ms ease, background-color 180ms ease;
}

body.single-product .denvas-single-product__favourite:hover,
body.single-product .denvas-single-product__favourite[aria-pressed="true"] {
	border-color: var(--denvas-product-accent);
	color: var(--denvas-product-accent-dark);
	background: var(--denvas-product-accent-wash);
}

body.single-product .denvas-single-product__favourite:hover {
	transform: translateY(-1px);
}

body.single-product .denvas-single-product__favourite svg {
	width: 21px;
	height: 21px;
	fill: transparent;
	stroke: currentColor;
	stroke-width: 1.5;
}

body.single-product .denvas-single-product__favourite[aria-pressed="true"] svg {
	fill: currentColor;
}

body.single-product .summary .product_title {
	max-width: 25ch;
	margin: 0 62px 13px 0 !important;
	color: var(--denvas-product-ink);
	font-family: var(--denvas-serif, Georgia, serif);
	font-size: clamp(36px, 2.55vw, 46px) !important;
	font-weight: 500;
	letter-spacing: -0.035em;
	line-height: 1.01;
	text-wrap: balance;
	overflow-wrap: anywhere;
}

body.single-product .summary .product_title.is-denvas-title-long {
	font-size: clamp(33px, 2.2vw, 41px) !important;
	line-height: 1.03;
}

body.single-product .summary .product_title.is-denvas-title-very-long {
	font-size: clamp(29px, 1.95vw, 36px) !important;
	line-height: 1.06;
}

body.single-product .denvas-single-product__stock {
	display: inline-flex;
	min-height: 29px;
	margin: 0 0 16px !important;
	padding: 6px 11px;
	align-items: center;
	gap: 7px;
	border: 1px solid #d9e5dc;
	border-radius: 999px;
	color: #4c7358;
	background: #f6faf7;
	font-family: var(--denvas-sans, Arial, sans-serif);
	font-size: 10px;
	font-weight: 650;
	line-height: 1;
}

body.single-product .denvas-single-product__stock-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
}

body.single-product .denvas-single-product__stock.is-backorder {
	border-color: #e7d8c9;
	color: #88633d;
	background: #fcf7f1;
}

body.single-product .denvas-single-product__stock.is-unavailable {
	border-color: #ead6d6;
	color: #985151;
	background: #fdf7f7;
}

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

body.single-product .summary .woocommerce-product-rating .star-rating {
	color: var(--denvas-product-accent);
}

body.single-product .summary .woocommerce-review-link {
	color: #746d65;
	font-size: 11px;
}

body.single-product .summary > .price {
	margin: 0 0 18px !important;
	color: var(--denvas-product-ink) !important;
	font-family: var(--denvas-serif, Georgia, serif);
	font-size: clamp(30px, 2.1vw, 37px) !important;
	font-weight: 500 !important;
	letter-spacing: -0.025em;
	line-height: 1.1;
}

body.single-product .summary > .price del {
	margin-right: 7px;
	color: #8d867f;
	font-size: 0.62em;
	opacity: 1;
}

body.single-product .summary > .price ins {
	text-decoration: none;
}

body.single-product .summary .woocommerce-product-details__short-description {
	margin: 0 0 19px !important;
	color: var(--denvas-product-copy);
	font-family: var(--denvas-sans, Arial, sans-serif);
	font-size: 13px !important;
	font-weight: 400;
	line-height: 1.65;
}

body.single-product .summary .woocommerce-product-details__short-description > :last-child {
	margin-bottom: 0;
}

body.single-product .denvas-single-product__facts {
	display: grid;
	margin: 0 0 18px;
	padding: 0;
	border-top: 1px solid var(--denvas-product-line);
	border-bottom: 1px solid var(--denvas-product-line);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.single-product .denvas-single-product__facts > div {
	min-width: 0;
	padding: 12px 11px;
}

body.single-product .denvas-single-product__facts > div:first-child {
	padding-left: 0;
}

body.single-product .denvas-single-product__facts > div + div {
	border-left: 1px solid var(--denvas-product-line);
}

body.single-product .denvas-single-product__facts dt {
	margin: 0 0 4px;
	color: var(--denvas-product-muted);
	font-family: var(--denvas-sans, Arial, sans-serif);
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.09em;
	line-height: 1.25;
	text-transform: uppercase;
}

body.single-product .denvas-single-product__facts dd {
	margin: 0;
	color: var(--denvas-product-ink);
	font-family: var(--denvas-sans, Arial, sans-serif);
	font-size: 12px;
	font-weight: 750;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

/* Native stock is replaced by the consistent DENVAS badge above. */
body.single-product .summary .stock:not(.denvas-single-product__stock),
body.single-product .summary form.cart .stock,
body.single-product .summary .woocommerce-variation-availability,
body.single-product .summary .ct-product-add-to-cart .stock,
body.single-product .summary .ct-variation-add-to-cart .stock {
	display: none !important;
}

body.single-product .summary form.cart {
	width: 100%;
	margin: 0 !important;
}

body.single-product .summary form.cart:not(.variations_form):not(.grouped_form),
body.single-product .summary .woocommerce-variation-add-to-cart {
	display: grid !important;
	align-items: stretch;
	grid-template-columns: 106px minmax(0, 1fr);
	gap: 10px;
}

body.single-product .product-type-external .summary form.cart {
	grid-template-columns: minmax(0, 1fr) !important;
}

body.single-product .summary form.cart .quantity {
	display: grid;
	width: 106px;
	min-width: 106px;
	height: 56px;
	margin: 0 !important;
	align-items: stretch;
	border: 1px solid #d7cec4;
	border-radius: 7px;
	background: #fff;
	grid-template-columns: 31px minmax(0, 1fr) 31px;
}

/* Blocksy outputs its own controls; DENVAS uses the accessible buttons below. */
body.single-product .summary form.cart .quantity > .ct-increase,
body.single-product .summary form.cart .quantity > .ct-decrease {
	display: none !important;
}

body.single-product .summary form.cart .quantity:not(.is-denvas-enhanced) {
	grid-template-columns: 1fr;
}

body.single-product .summary form.cart .quantity .qty {
	width: 100% !important;
	min-width: 0 !important;
	height: 54px !important;
	min-height: 54px !important;
	margin: 0 !important;
	padding: 0 2px !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: var(--denvas-product-ink);
	background: transparent !important;
	box-shadow: none !important;
	font-family: var(--denvas-sans, Arial, sans-serif);
	font-size: 13px !important;
	font-weight: 750;
	line-height: 54px;
	text-align: center;
	-moz-appearance: textfield;
}

body.single-product .summary form.cart .quantity .qty::-webkit-outer-spin-button,
body.single-product .summary form.cart .quantity .qty::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

body.single-product .denvas-quantity-control {
	-webkit-appearance: none !important;
	appearance: none !important;
	display: grid;
	width: 31px;
	height: 54px;
	margin: 0;
	padding: 0;
	place-items: center;
	border: 0 !important;
	border-radius: 0 !important;
	color: #554f48 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 17px;
	font-weight: 400;
	line-height: 1;
	outline: 0 !important;
	transform: none !important;
	-webkit-tap-highlight-color: transparent;
}

body.single-product .denvas-quantity-control:hover,
body.single-product .denvas-quantity-control:focus,
body.single-product .denvas-quantity-control:focus-visible,
body.single-product .denvas-quantity-control:active {
	border: 0 !important;
	color: var(--denvas-product-accent-dark) !important;
	background: transparent !important;
	box-shadow: none !important;
	outline: 0 !important;
	transform: none !important;
}

body.single-product .summary .single_add_to_cart_button {
	display: inline-flex !important;
	width: 100% !important;
	min-height: 56px !important;
	margin: 0 !important;
	padding: 0 23px !important;
	align-items: center;
	justify-content: space-between;
	border: 1px solid var(--denvas-product-accent) !important;
	border-radius: 7px !important;
	color: #fff !important;
	background: var(--denvas-product-accent) !important;
	box-shadow: 0 10px 22px rgba(153, 95, 45, 0.16) !important;
	font-family: var(--denvas-sans, Arial, sans-serif) !important;
	font-size: 12px !important;
	font-weight: 750 !important;
	letter-spacing: 0.01em;
	line-height: 1.2 !important;
	text-transform: none !important;
	transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

body.single-product .summary .single_add_to_cart_button::after {
	margin-left: 16px;
	content: "→";
	font-size: 18px;
	font-weight: 400;
	transition: transform 180ms ease;
}

body.single-product .summary .single_add_to_cart_button:hover {
	border-color: var(--denvas-product-accent-dark) !important;
	background: var(--denvas-product-accent-dark) !important;
	box-shadow: 0 13px 27px rgba(153, 95, 45, 0.2) !important;
	transform: translateY(-1px);
}

body.single-product .summary .single_add_to_cart_button:hover::after {
	transform: translateX(4px);
}

body.single-product .summary .single_add_to_cart_button.disabled,
body.single-product .summary .single_add_to_cart_button:disabled {
	cursor: not-allowed;
	opacity: 0.52;
	transform: none;
}

/* Variable, grouped and external products retain their native WooCommerce behavior. */
body.single-product .summary form.variations_form table.variations {
	width: 100%;
	margin: 0 0 16px;
	border: 0;
	border-collapse: collapse;
}

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

body.single-product .summary form.variations_form table.variations tr + tr {
	margin-top: 12px;
}

body.single-product .summary form.variations_form table.variations label {
	display: block;
	margin-bottom: 6px;
	color: #625c55;
	font-size: 11px;
	font-weight: 700;
}

body.single-product .summary form.variations_form table.variations select {
	width: 100%;
	min-height: 50px;
	padding: 9px 42px 9px 13px;
	border: 1px solid #d7cec4;
	border-radius: 7px;
	background-color: #fff;
}

body.single-product .summary .reset_variations {
	display: inline-block;
	margin-top: 7px;
	color: #7b746c;
	font-size: 10px;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.single-product .summary .woocommerce-variation-price {
	margin: 4px 0 14px;
}

body.single-product .summary .woocommerce-variation-price .price {
	color: var(--denvas-product-ink);
	font-family: var(--denvas-serif, Georgia, serif);
	font-size: 30px;
	font-weight: 500;
}

body.single-product .summary form.grouped_form table.group_table {
	width: 100%;
	margin-bottom: 16px;
	border: 0;
}

body.single-product .summary form.grouped_form table.group_table td {
	padding: 10px 7px;
	border-bottom: 1px solid var(--denvas-product-line);
}

body.single-product .summary form.grouped_form .quantity {
	width: 88px;
	min-width: 88px;
}

/* One dark DENVAS conversion accent instead of many competing cards. */
body.single-product .denvas-single-product__benefits {
	--denvas-product-benefit-divider: rgba(255, 255, 255, 0.13);
	position: relative;
	margin: 20px 0 0;
	padding: 15px 16px 16px;
	overflow: hidden;
	border: 1px solid rgba(188, 122, 63, 0.34);
	border-radius: 10px;
	background: linear-gradient(135deg, #171614 0%, #211c18 100%);
	box-shadow: 0 14px 32px rgba(32, 25, 19, 0.14);
}

body.single-product .denvas-single-product__benefits::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 4px;
	height: 100%;
	background: var(--denvas-product-accent);
	content: "";
}

body.single-product .denvas-single-product__benefits-label {
	margin: 0 0 11px !important;
	color: #d49a63;
	font-family: var(--denvas-sans, Arial, sans-serif);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.13em;
	line-height: 1.3;
	text-transform: uppercase;
}

body.single-product .denvas-single-product__benefits-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.single-product .denvas-single-product__benefits-grid > div {
	display: grid;
	min-width: 0;
	min-height: 45px;
	padding: 0 11px;
	align-items: center;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 9px;
}

body.single-product .denvas-single-product__benefits-grid > div:first-child {
	padding-left: 0;
}

body.single-product .denvas-single-product__benefits-grid > div + div {
	border-left: 1px solid var(--denvas-product-benefit-divider);
}

body.single-product .denvas-single-product__benefit-icon {
	display: grid;
	width: 34px;
	height: 34px;
	place-items: center;
	border: 1px solid rgba(212, 154, 99, 0.46);
	border-radius: 50%;
	color: #dba56f;
	background: rgba(255, 255, 255, 0.045);
}

body.single-product .denvas-single-product__benefit-icon svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.55;
}

body.single-product .denvas-single-product__benefits strong {
	display: block;
	color: #fffaf4;
	font-family: var(--denvas-sans, Arial, sans-serif);
	font-size: 10.5px;
	font-weight: 750;
	line-height: 1.32;
}

body.single-product .denvas-single-product__policy-links {
	display: grid;
	margin-top: 14px;
	grid-template-columns: 1fr;
	gap: 0;
	overflow: hidden;
	border: 1px solid var(--denvas-product-line);
	border-radius: 10px;
	background: #ffffff;
	box-shadow: 0 10px 24px rgba(37, 29, 22, 0.04);
}

body.single-product .denvas-single-product__policy-links > a {
	display: grid;
	min-width: 0;
	min-height: 52px;
	padding: 0 14px;
	align-items: center;
	grid-template-columns: minmax(0, 1fr) 18px;
	gap: 12px;
	border: 0;
	border-radius: 0;
	color: #292622;
	background: transparent;
	box-shadow: none;
	font-family: var(--denvas-sans, Arial, sans-serif);
	font-size: 11.5px;
	font-weight: 700;
	line-height: 1.35;
	text-decoration: none;
	transition: background-color 180ms ease, color 180ms ease;
}

body.single-product .denvas-single-product__policy-links > a + a {
	border-top: 1px solid var(--denvas-product-line);
}

body.single-product .denvas-single-product__policy-links > a > span:first-child {
	display: grid;
	min-width: 0;
	width: 100%;
	align-items: center;
	grid-template-columns: 24px minmax(0, 1fr);
	gap: 10px;
	text-align: left;
}

body.single-product .denvas-single-product__policy-links svg {
	width: 17px;
	height: 17px;
	fill: none;
	stroke: var(--denvas-product-accent-dark);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.45;
	transition: stroke 180ms ease;
}

body.single-product .denvas-single-product__policy-links > a > span:last-child {
	color: var(--denvas-product-accent-dark);
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
	transition: color 180ms ease, transform 180ms ease;
}

body.single-product .denvas-single-product__policy-links > a:hover,
body.single-product .denvas-single-product__policy-links > a:focus-visible {
	color: #fffaf4;
	background: #191714;
	box-shadow: none;
}

body.single-product .denvas-single-product__policy-links > a:hover svg,
body.single-product .denvas-single-product__policy-links > a:focus-visible svg {
	stroke: #d49a63;
}

body.single-product .denvas-single-product__policy-links > a:hover > span:last-child,
body.single-product .denvas-single-product__policy-links > a:focus-visible > span:last-child {
	color: #d49a63;
	transform: translateX(4px);
}

body.single-product .denvas-single-product__policy-links > a:focus-visible {
	outline: 0;
	box-shadow: inset 0 0 0 2px var(--denvas-product-accent);
}

/* Hide only Blocksy's redundant divider placed directly after these cards. */
body.single-product .denvas-single-product__policy-links + .ct-product-divider {
	display: none !important;
}

body.single-product .summary .product_meta,
body.single-product .summary .sku_wrapper {
	display: none !important;
}

/* Product tabs and factual content. */
body.single-product .denvas-shop-shell div.product .woocommerce-tabs,
body.single-product .denvas-shop-shell div.product .up-sells,
body.single-product .denvas-shop-shell div.product .related,
body.single-product .denvas-single-product__faq {
	width: 100%;
	min-width: 0;
}

body.single-product .denvas-shop-shell div.product .woocommerce-tabs {
	margin-top: 50px;
	padding: 0;
	border-top: 1px solid var(--denvas-product-line);
}

body.single-product .denvas-mobile-tab-toggle {
	display: none;
}

body.single-product .denvas-editorial-feature__marker {
	display: none;
}

body.single-product .denvas-editorial-feature__content {
	display: contents;
}

body.single-product .denvas-shop-shell div.product .woocommerce-tabs ul.tabs {
	display: flex !important;
	min-height: 62px;
	margin: 0 !important;
	padding: 0 !important;
	align-items: stretch;
	justify-content: center;
	border: 0 !important;
	border-bottom: 1px solid var(--denvas-product-line) !important;
	background: transparent !important;
	gap: clamp(24px, 3.5vw, 50px);
}

body.single-product .denvas-shop-shell div.product .woocommerce-tabs ul.tabs::before,
body.single-product .denvas-shop-shell div.product .woocommerce-tabs ul.tabs li::before,
body.single-product .denvas-shop-shell div.product .woocommerce-tabs ul.tabs li::after {
	display: none !important;
}

body.single-product .denvas-shop-shell div.product .woocommerce-tabs ul.tabs li,
body.single-product .denvas-shop-shell div.product .woocommerce-tabs ul.tabs li.active,
body.single-product .denvas-shop-shell div.product .woocommerce-tabs ul.tabs li:focus,
body.single-product .denvas-shop-shell div.product .woocommerce-tabs ul.tabs li:focus-within {
	display: flex !important;
	margin: 0 !important;
	padding: 0 !important;
	align-items: stretch;
	border: 0 !important;
	border-radius: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.single-product .denvas-shop-shell div.product .woocommerce-tabs ul.tabs li a {
	display: flex !important;
	padding: 0 !important;
	align-items: center;
	border: 0 !important;
	border-bottom: 2px solid transparent !important;
	border-radius: 0 !important;
	outline: 0 !important;
	color: #766f67 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-family: var(--denvas-sans, Arial, sans-serif);
	font-size: 11px;
	font-weight: 700 !important;
	line-height: 1.2;
}

body.single-product .denvas-shop-shell div.product .woocommerce-tabs ul.tabs li a:focus:not(:focus-visible) {
	outline: 0 !important;
	box-shadow: none !important;
}

body.single-product .denvas-shop-shell div.product .woocommerce-tabs ul.tabs li a:focus-visible {
	outline: 2px solid var(--denvas-product-accent) !important;
	outline-offset: 5px;
}

body.single-product .denvas-shop-shell div.product .woocommerce-tabs ul.tabs li.active a {
	border-bottom-color: var(--denvas-product-accent) !important;
	color: var(--denvas-product-ink) !important;
}

body.single-product .denvas-shop-shell div.product .woocommerce-tabs .panel {
	width: min(100%, 1080px);
	margin: 36px auto !important;
	padding: clamp(28px, 4vw, 48px) !important;
	border: 1px solid var(--denvas-product-line);
	border-radius: 14px;
	color: var(--denvas-product-copy);
	background: rgba(255, 255, 255, 0.76);
	font-family: var(--denvas-sans, Arial, sans-serif);
	font-size: 14px;
	line-height: 1.76;
}

body.single-product .denvas-shop-shell div.product .woocommerce-tabs .panel > h2:first-child {
	position: relative;
	margin: 0 0 22px;
	padding-left: 18px;
	color: var(--denvas-product-ink);
	font-family: var(--denvas-serif, Georgia, serif);
	font-size: clamp(29px, 3vw, 40px);
	font-weight: 500;
	line-height: 1.06;
}

body.single-product .denvas-shop-shell div.product .woocommerce-tabs .panel > h2:first-child::before {
	position: absolute;
	top: 0.12em;
	bottom: 0.1em;
	left: 0;
	width: 3px;
	border-radius: 999px;
	background: var(--denvas-product-accent);
	content: "";
}

body.single-product .woocommerce-tabs #tab-description > :not(table) {
	max-width: 78ch;
}

body.single-product .woocommerce-tabs .woocommerce-product-attributes {
	width: 100%;
	margin: 0 auto;
	border: 0;
	border-collapse: collapse;
	background: transparent;
}

body.single-product .woocommerce-tabs .woocommerce-product-attributes tr {
	border-bottom: 1px solid var(--denvas-product-line);
}

body.single-product .woocommerce-tabs .woocommerce-product-attributes tr:first-child {
	border-top: 1px solid var(--denvas-product-line);
}

body.single-product .woocommerce-tabs .woocommerce-product-attributes th,
body.single-product .woocommerce-tabs .woocommerce-product-attributes td {
	padding: 16px 9px !important;
	border: 0 !important;
	background: transparent !important;
	font-family: var(--denvas-sans, Arial, sans-serif);
	font-size: 12px;
	font-style: normal;
	text-align: left;
}

body.single-product .woocommerce-tabs .woocommerce-product-attributes th {
	width: 38%;
	color: #777068;
	font-weight: 550;
}

body.single-product .woocommerce-tabs .woocommerce-product-attributes td {
	color: var(--denvas-product-ink);
	font-weight: 700;
}

body.single-product .woocommerce-tabs .woocommerce-product-attributes td p {
	margin: 0;
	padding: 0;
}

body.single-product .denvas-single-product__delivery-tab {
	display: grid;
	width: 100%;
	margin: 0 auto;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

body.single-product .denvas-single-product__delivery-tab > div {
	position: relative;
	padding: 29px;
	overflow: hidden;
	border: 1px solid var(--denvas-product-line);
	border-radius: 11px;
	background: #fff;
}

body.single-product .denvas-single-product__delivery-tab > div::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 76px;
	height: 3px;
	background: var(--denvas-product-accent);
	content: "";
}

body.single-product .denvas-single-product__delivery-tab svg {
	width: 23px;
	height: 23px;
	margin-bottom: 18px;
	fill: none;
	stroke: var(--denvas-product-accent-dark);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.35;
}

body.single-product .denvas-single-product__delivery-tab h3 {
	margin: 0 0 7px;
	color: var(--denvas-product-ink);
	font-family: var(--denvas-serif, Georgia, serif);
	font-size: 25px;
	font-weight: 500;
}

body.single-product .denvas-single-product__delivery-tab p {
	margin: 0;
	color: #6f6860;
	font-size: 12px;
	line-height: 1.65;
}

/* Reviews remain compact until the customer chooses to write one. */
body.single-product #reviews {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(340px, 1.15fr);
	gap: clamp(28px, 5vw, 70px);
}

body.single-product #reviews #comments,
body.single-product #reviews #review_form_wrapper {
	width: 100%;
}

body.single-product #reviews .commentlist {
	margin: 0;
	padding: 0;
}

body.single-product #reviews .commentlist li {
	margin-bottom: 18px !important;
	padding-bottom: 18px !important;
	border-bottom: 1px solid var(--denvas-product-line);
}

body.single-product #reviews #respond {
	padding: 26px;
	border: 1px solid var(--denvas-product-line);
	border-radius: 10px;
	background: #fff;
}

body.single-product #reviews #reply-title {
	color: var(--denvas-product-ink);
	font-family: var(--denvas-serif, Georgia, serif);
	font-size: 25px;
	font-weight: 500;
	line-height: 1.25;
}

body.single-product #reviews input,
body.single-product #reviews textarea {
	border-radius: 6px;
}

body.single-product #reviews .form-submit input {
	min-height: 46px;
	padding: 0 19px;
	border: 1px solid var(--denvas-product-accent);
	border-radius: 6px;
	color: #fff;
	background: var(--denvas-product-accent);
	font-weight: 700;
}

body.single-product #reviews.denvas-reviews--empty {
	display: block;
	width: min(100%, 760px);
	margin: 0 auto;
}

body.single-product #reviews.denvas-reviews--empty #comments {
	padding: 28px;
	border: 1px solid var(--denvas-product-line);
	border-radius: 10px;
	background: #fff;
}

body.single-product #reviews.denvas-reviews--empty #comments > h2 {
	margin: 0 0 8px;
	color: var(--denvas-product-ink);
	font-family: var(--denvas-serif, Georgia, serif);
	font-size: 30px;
	font-weight: 500;
	line-height: 1.15;
}

body.single-product #reviews.denvas-reviews--empty .woocommerce-noreviews {
	margin: 0 0 18px;
	color: #6f6860;
	font-size: 12px;
}

body.single-product #reviews #review_form_wrapper[hidden],
body.single-product .denvas-review-toggle[hidden] {
	display: none !important;
}

body.single-product #reviews:not(.is-review-form-open):has(.woocommerce-noreviews) #review_form_wrapper {
	display: none !important;
}

body.single-product .denvas-review-toggle {
	display: inline-flex;
	width: min(100%, 270px);
	min-height: 48px;
	margin: 0;
	padding: 0 17px;
	align-items: center;
	justify-content: space-between;
	border: 1px solid var(--denvas-product-accent);
	border-radius: 6px;
	color: var(--denvas-product-ink);
	background: #fff;
	font-family: var(--denvas-sans, Arial, sans-serif);
	font-size: 12px;
	font-weight: 700;
}

body.single-product .denvas-review-toggle:hover {
	color: #fff;
	background: var(--denvas-product-accent);
}

body.single-product #reviews.denvas-reviews--empty.is-review-form-open #review_form_wrapper {
	margin-top: 16px;
}

/* FAQ. */
body.single-product .denvas-single-product__faq {
	display: grid;
	width: min(100%, 1220px);
	margin: 0 auto;
	padding: 52px 0 58px;
	border-top: 1px solid var(--denvas-product-line);
	grid-template-columns: minmax(250px, 0.74fr) minmax(0, 1.26fr);
	gap: clamp(38px, 7vw, 92px);
}

body.single-product .denvas-single-product__section-heading > p {
	margin: 0 0 9px;
	color: var(--denvas-product-accent-dark);
	font-family: var(--denvas-sans, Arial, sans-serif);
	font-size: 10px;
	font-weight: 750;
	letter-spacing: 0.15em;
	line-height: 1.4;
	text-transform: uppercase;
}

body.single-product .denvas-single-product__section-heading h2 {
	margin: 0;
	color: var(--denvas-product-ink);
	font-family: var(--denvas-serif, Georgia, serif);
	font-size: clamp(35px, 3.7vw, 49px);
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1;
}

body.single-product .denvas-single-product__faq-list {
	border-top: 1px solid var(--denvas-product-line);
}

body.single-product .denvas-single-product__faq-list details {
	margin: 0;
	border-bottom: 1px solid var(--denvas-product-line);
}

body.single-product .denvas-single-product__faq-list summary {
	display: flex;
	min-height: 58px;
	padding: 0;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	color: #292622;
	font-family: var(--denvas-sans, Arial, sans-serif);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	list-style: none;
	cursor: pointer;
}

body.single-product .denvas-single-product__faq-list summary::-webkit-details-marker {
	display: none;
}

body.single-product .denvas-single-product__faq-list summary::after {
	content: "+";
	flex: 0 0 auto;
	color: var(--denvas-product-accent-dark);
	font-size: 21px;
	font-weight: 400;
	line-height: 1;
}

body.single-product .denvas-single-product__faq-list details[open] summary::after {
	content: "−";
}

body.single-product .denvas-single-product__faq-list details > p {
	max-width: 62ch;
	margin: -2px 42px 18px 0;
	color: #6f6860;
	font-size: 12px;
	line-height: 1.65;
}

/* Related products reuse the established DENVAS catalogue cards. */
body.single-product .denvas-shop-shell div.product .up-sells,
body.single-product .denvas-shop-shell div.product .related {
	margin: 0;
	padding: 54px 0;
	border-top: 1px solid var(--denvas-product-line);
}

body.single-product .denvas-shop-shell div.product .up-sells > h2,
body.single-product .denvas-shop-shell div.product .related > h2 {
	max-width: 22ch;
	margin: 0 0 27px;
	color: var(--denvas-product-ink);
	font-family: var(--denvas-serif, Georgia, serif);
	font-size: clamp(34px, 3.7vw, 46px);
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1;
	text-wrap: balance;
}

body.single-product .denvas-shop-shell div.product .up-sells ul.products,
body.single-product .denvas-shop-shell div.product .related ul.products {
	display: grid !important;
	margin: 0 !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 16px !important;
}

body.single-product .denvas-shop-shell div.product .up-sells ul.products li.product,
body.single-product .denvas-shop-shell div.product .related ul.products li.product {
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	float: none !important;
}

/* Contextual recommendations sit between the information tabs and FAQ. */
body.single-product .denvas-shop-shell div.product .denvas-related-products {
	margin: 0;
	padding: 54px 0;
	border-top: 1px solid var(--denvas-product-line);
}

body.single-product .denvas-related-products__heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 26px;
}

body.single-product .denvas-related-products__heading > div:first-child > span {
	display: block;
	margin-bottom: 9px;
	color: var(--denvas-product-accent-dark);
	font-family: var(--denvas-sans, Arial, sans-serif);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
}

body.single-product .denvas-related-products__heading h2 {
	margin: 0;
	color: var(--denvas-product-ink);
	font-family: var(--denvas-serif, Georgia, serif);
	font-size: clamp(34px, 3.7vw, 46px);
	font-weight: 500;
	letter-spacing: -.03em;
	line-height: 1;
}

body.single-product .denvas-related-products__controls {
	display: flex;
	gap: 8px;
	flex: 0 0 auto;
}

body.single-product .denvas-related-products__controls[hidden] {
	display: none !important;
}

body.single-product .denvas-related-products__controls button {
	display: grid;
	place-items: center;
	width: 43px;
	height: 43px;
	padding: 0;
	border: 1px solid var(--denvas-product-line);
	border-radius: 50%;
	background: #fff;
	color: var(--denvas-product-ink);
	font-size: 19px;
	cursor: pointer;
}

body.single-product .denvas-related-products__controls button:hover,
body.single-product .denvas-related-products__controls button:focus-visible {
	border-color: var(--denvas-product-accent-dark);
	color: var(--denvas-product-accent-dark);
}

body.single-product .denvas-related-products__controls button:disabled {
	cursor: default;
	opacity: .42;
}

body.single-product .denvas-shop-shell div.product .denvas-related-products ul.products {
	display: flex !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 0 12px !important;
	flex-wrap: nowrap !important;
	gap: 16px !important;
	overflow-x: auto !important;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-color: #c6baae transparent;
	scrollbar-width: thin;
}

body.single-product .denvas-related-products ul.products::before,
body.single-product .denvas-related-products ul.products::after {
	display: none !important;
}

body.single-product .denvas-shop-shell div.product .denvas-related-products ul.products li.product {
	width: calc((100% - 64px) / 5) !important;
	flex: 0 0 calc((100% - 64px) / 5) !important;
	min-width: 0;
	max-width: none !important;
	margin: 0 !important;
	float: none !important;
	scroll-snap-align: start;
}

@media (max-width: 1020px) {
	body.single-product .denvas-shop-shell div.product .denvas-related-products ul.products li.product {
		width: calc((100% - 32px) / 3) !important;
		flex-basis: calc((100% - 32px) / 3) !important;
	}
}

@media (max-width: 700px) {
	body.single-product .denvas-shop-shell div.product .denvas-related-products {
		padding: 38px 0;
	}

	body.single-product .denvas-related-products__heading {
		margin-bottom: 19px;
	}

	body.single-product .denvas-related-products__heading h2 {
		font-size: 30px;
	}

	body.single-product .denvas-related-products__controls button {
		width: 36px;
		height: 36px;
	}

	body.single-product .denvas-shop-shell div.product .denvas-related-products ul.products {
		gap: 10px !important;
	}

	body.single-product .denvas-shop-shell div.product .denvas-related-products ul.products li.product {
		width: calc((100% - 10px) / 2) !important;
		flex-basis: calc((100% - 10px) / 2) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.single-product .denvas-shop-shell div.product .denvas-related-products ul.products {
		scroll-behavior: auto;
	}
}

/* Old experimental blocks stay disabled if stale markup is cached. */
body.single-product .denvas-single-product__assurance,
body.single-product .denvas-single-product__purchase-note {
	display: none !important;
}

@media (max-width: 1280px) {
	body.single-product .denvas-shop-shell div.product > .product-entry-wrapper,
	body.single-product .denvas-shop-shell div.product > .product-entry-wrapper.is-width-constrained {
		grid-template-columns: minmax(0, 1fr) minmax(445px, 0.82fr) !important;
		column-gap: 28px !important;
	}

	body.single-product .denvas-shop-shell div.product div.summary {
		padding: 31px !important;
	}

	body.single-product .summary .product_title {
		font-size: 38px !important;
	}

	body.single-product .summary .product_title.is-denvas-title-long {
		font-size: 34px !important;
	}

	body.single-product .summary .product_title.is-denvas-title-very-long {
		font-size: 30px !important;
	}

	body.single-product .denvas-single-product__benefits-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	body.single-product .denvas-single-product__benefits-grid > div,
	body.single-product .denvas-single-product__benefits-grid > div:first-child {
		min-height: 44px;
		padding: 5px 0;
	}

	body.single-product .denvas-single-product__benefits-grid > div + div {
		border-top: 1px solid var(--denvas-product-benefit-divider);
		border-left: 0;
	}

}

@media (max-width: 1020px) {
	body.single-product .denvas-shop-shell {
		width: min(calc(100% - 36px), 880px) !important;
		padding-top: 28px !important;
	}

	body.single-product .denvas-shop-shell div.product > .product-entry-wrapper,
	body.single-product .denvas-shop-shell div.product > .product-entry-wrapper.is-width-constrained {
		grid-template-columns: minmax(0, 1fr) !important;
		row-gap: 22px !important;
	}

	body.single-product .denvas-shop-shell div.product div.summary {
		padding: clamp(28px, 5vw, 42px) !important;
	}

	body.single-product .denvas-single-product__benefits-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	body.single-product .denvas-single-product__benefits-grid > div,
	body.single-product .denvas-single-product__benefits-grid > div:first-child {
		min-height: 45px;
		padding: 0 11px;
	}

	body.single-product .denvas-single-product__benefits-grid > div:first-child {
		padding-left: 0;
	}

	body.single-product .denvas-single-product__benefits-grid > div + div {
		border-top: 0;
		border-left: 1px solid var(--denvas-product-benefit-divider);
	}

	body.single-product .denvas-shop-shell div.product .woocommerce-tabs {
		margin-top: 42px;
	}

	body.single-product .denvas-single-product__faq {
		grid-template-columns: 1fr;
		gap: 27px;
	}

	body.single-product #reviews {
		grid-template-columns: 1fr;
	}

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

@media (max-width: 700px) {
	body.single-product .denvas-shop-shell {
		width: calc(100% - 22px) !important;
		padding-top: 20px !important;
	}

	body.single-product .woocommerce-breadcrumb {
		margin-bottom: 18px !important;
		font-size: 9px !important;
	}

	body.single-product .woocommerce-product-gallery__image > a {
		height: clamp(270px, 76vw, 315px);
		aspect-ratio: auto;
	}

	body.single-product .woocommerce-product-gallery__image img,
	body.single-product .woocommerce-product-gallery__wrapper img {
		padding: clamp(16px, 5.2vw, 26px) !important;
	}

	body.single-product .woocommerce-product-gallery ol.flex-control-thumbs {
		padding: 9px !important;
		grid-auto-columns: 68px;
		gap: 7px;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}

	body.single-product .woocommerce-product-gallery ol.flex-control-thumbs::-webkit-scrollbar {
		display: none;
		width: 0;
		height: 0;
	}

	body.single-product .woocommerce-product-gallery ol.flex-control-thumbs li {
		width: 68px !important;
		height: 68px !important;
	}

	body.single-product .denvas-shop-shell div.product div.summary {
		padding: 25px 19px !important;
	}

	body.single-product .summary .product_title,
	body.single-product .summary .product_title.is-denvas-title-long,
	body.single-product .summary .product_title.is-denvas-title-very-long {
		max-width: none;
		margin-right: 48px !important;
		font-size: clamp(27px, 7.75vw, 31px) !important;
		letter-spacing: -0.032em;
		line-height: 1.035;
	}

	body.single-product .denvas-single-product__favourite {
		top: 18px;
		right: 17px;
		width: 42px;
		height: 42px;
	}

	body.single-product .denvas-single-product__facts {
		grid-template-columns: 1fr;
	}

	body.single-product .denvas-single-product__facts > div,
	body.single-product .denvas-single-product__facts > div:first-child {
		padding: 10px 0;
	}

	body.single-product .denvas-single-product__facts > div + div {
		border-top: 1px solid var(--denvas-product-line);
		border-left: 0;
	}

	body.single-product .denvas-single-product__benefits {
		padding: 14px 15px;
	}

	body.single-product .denvas-single-product__benefits-grid {
		grid-template-columns: 1fr;
	}

	body.single-product .denvas-single-product__benefits-grid > div,
	body.single-product .denvas-single-product__benefits-grid > div:first-child {
		min-height: 44px;
		padding: 5px 0;
	}

	body.single-product .denvas-single-product__benefits-grid > div + div {
		border-top: 1px solid var(--denvas-product-benefit-divider);
		border-left: 0;
	}

	body.single-product .denvas-single-product__benefits strong {
		font-size: 11px;
	}

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

	body.single-product .summary form.cart .quantity {
		width: 94px;
		min-width: 94px;
	}

	body.single-product .denvas-shop-shell div.product .woocommerce-tabs ul.tabs {
		overflow-x: auto;
		justify-content: flex-start;
		gap: 23px;
		scrollbar-width: none;
	}

	body.single-product .denvas-shop-shell div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar {
		display: none;
	}

	body.single-product .denvas-shop-shell div.product .woocommerce-tabs ul.tabs li {
		flex: 0 0 auto;
	}

	body.single-product .denvas-shop-shell div.product .woocommerce-tabs .panel {
		margin: 24px auto !important;
		padding: 24px 20px !important;
	}

	body.single-product .denvas-shop-shell div.product .woocommerce-tabs.is-denvas-mobile-accordion-ready {
		margin-top: 34px;
		overflow: hidden;
		border: 1px solid var(--denvas-product-line);
		border-radius: 12px;
		background: rgba(255, 255, 255, 0.72);
		box-shadow: 0 12px 28px rgba(47, 35, 24, 0.045);
	}

	body.single-product .denvas-shop-shell div.product .woocommerce-tabs.is-denvas-mobile-accordion-ready ul.tabs {
		display: none !important;
	}

	body.single-product .woocommerce-tabs.is-denvas-mobile-accordion-ready .denvas-mobile-tab-toggle {
		display: grid !important;
		width: 100%;
		min-height: 56px;
		margin: 0 !important;
		padding: 0 14px !important;
		appearance: none;
		align-items: center;
		grid-template-columns: minmax(0, 1fr) 28px;
		gap: 13px;
		border: 0 !important;
		border-top: 1px solid var(--denvas-product-line) !important;
		border-radius: 0 !important;
		outline: 0 !important;
		color: var(--denvas-product-ink) !important;
		background: rgba(255, 255, 255, 0.82) !important;
		box-shadow: none !important;
		font-family: var(--denvas-sans, Arial, sans-serif);
		font-size: 11.5px;
		font-weight: 750;
		line-height: 1.3;
		text-align: left;
		text-transform: none;
		transition: color 180ms ease, background-color 180ms ease;
	}

	body.single-product .woocommerce-tabs.is-denvas-mobile-accordion-ready ul.tabs + .denvas-mobile-tab-toggle {
		border-top: 0 !important;
	}

	body.single-product .woocommerce-tabs.is-denvas-mobile-accordion-ready .denvas-mobile-tab-toggle:hover,
	body.single-product .woocommerce-tabs.is-denvas-mobile-accordion-ready .denvas-mobile-tab-toggle:focus-visible,
	body.single-product .woocommerce-tabs.is-denvas-mobile-accordion-ready .denvas-mobile-tab-toggle[aria-expanded="true"] {
		color: var(--denvas-product-ink) !important;
		background: var(--denvas-product-accent-wash) !important;
	}

	body.single-product .woocommerce-tabs.is-denvas-mobile-accordion-ready .denvas-mobile-tab-toggle:focus-visible {
		box-shadow: inset 0 0 0 2px var(--denvas-product-accent) !important;
	}

	body.single-product .denvas-mobile-tab-toggle__indicator {
		display: grid;
		width: 28px;
		height: 28px;
		place-items: center;
		border: 1px solid #e1c8af;
		border-radius: 50%;
		color: var(--denvas-product-accent-dark);
		background: #fff;
		font-size: 17px;
		font-weight: 450;
		line-height: 1;
	}

	body.single-product .denvas-mobile-tab-toggle__indicator::before {
		content: "+";
	}

	body.single-product .denvas-mobile-tab-toggle[aria-expanded="true"] .denvas-mobile-tab-toggle__indicator::before {
		content: "−";
	}

	body.single-product .denvas-shop-shell div.product .woocommerce-tabs.is-denvas-mobile-accordion-ready .panel {
		display: none !important;
		width: 100%;
		margin: 0 !important;
		padding: 22px 18px !important;
		border: 0 !important;
		border-top: 1px solid var(--denvas-product-line) !important;
		border-radius: 0;
		background: #fff;
	}

	body.single-product .denvas-shop-shell div.product .woocommerce-tabs.is-denvas-mobile-accordion-ready .panel.is-denvas-mobile-open {
		display: block !important;
	}

	body.single-product .woocommerce-tabs.is-denvas-mobile-accordion-ready .panel > h2:first-child {
		font-size: 26px;
	}

	body.single-product #wpconsent-container::part(wpconsent-settings-button) {
		right: 8px !important;
		bottom: max(8px, env(safe-area-inset-bottom)) !important;
		left: auto !important;
		width: 36px !important;
		height: 36px !important;
		min-width: 36px !important;
		min-height: 36px !important;
		padding: 6px !important;
		border-radius: 8px !important;
		opacity: 0.88;
		box-shadow: 0 7px 18px rgba(4, 25, 78, 0.2) !important;
	}

	body.single-product .denvas-single-product__delivery-tab {
		grid-template-columns: 1fr;
	}

	body.single-product .denvas-single-product__faq {
		padding: 42px 0;
	}

	body.single-product #reviews.denvas-reviews--empty #comments,
	body.single-product #reviews #respond {
		padding: 21px;
	}

	body.single-product .denvas-shop-shell div.product .up-sells,
	body.single-product .denvas-shop-shell div.product .related {
		padding: 42px 0;
	}

	body.single-product .denvas-shop-shell div.product .up-sells ul.products,
	body.single-product .denvas-shop-shell div.product .related ul.products {
		gap: 10px !important;
	}
}

/* Desktop editorial product information. Mobile keeps the compact accordion. */
@media (min-width: 701px) {
	body.single-product .denvas-shop-shell div.product .woocommerce-tabs {
		width: min(100%, 1220px) !important;
		margin: clamp(42px, 4vw, 50px) auto 0 !important;
		padding: 10px !important;
		border: 1px solid var(--denvas-product-line);
		border-radius: 18px;
		background: #f1ebe4;
		box-shadow: 0 18px 42px rgba(47, 35, 24, 0.055);
	}

	body.single-product .denvas-shop-shell div.product .woocommerce-tabs > article {
		width: 100%;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.single-product .denvas-shop-shell div.product .woocommerce-tabs ul.tabs {
		display: grid !important;
		width: 100%;
		min-height: 58px;
		margin: 0 !important;
		padding: 5px !important;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		align-items: stretch;
		border: 1px solid rgba(188, 122, 63, 0.28) !important;
		border-radius: 12px !important;
		background: #fff !important;
		gap: 5px;
	}

	body.single-product .denvas-shop-shell div.product .woocommerce-tabs ul.tabs li,
	body.single-product .denvas-shop-shell div.product .woocommerce-tabs ul.tabs li.active {
		display: flex !important;
		width: 100%;
		min-width: 0;
	}

	body.single-product .denvas-shop-shell div.product .woocommerce-tabs ul.tabs li a {
		position: relative;
		display: flex !important;
		width: 100%;
		min-height: 48px;
		padding: 0 clamp(12px, 2vw, 24px) !important;
		align-items: center;
		justify-content: center;
		border: 0 !important;
		border-radius: 8px !important;
		color: #726a62 !important;
		background: transparent !important;
		font-size: 10.5px;
		letter-spacing: 0.055em;
		text-align: center;
		text-transform: uppercase;
		transition: color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
	}

	body.single-product .denvas-shop-shell div.product .woocommerce-tabs ul.tabs li:not(.active) a:hover {
		color: var(--denvas-product-ink) !important;
		background: var(--denvas-product-accent-wash) !important;
	}

	body.single-product .denvas-shop-shell div.product .woocommerce-tabs ul.tabs li.active a {
		border: 0 !important;
		color: #fff !important;
		background: var(--denvas-product-ink) !important;
		box-shadow: 0 8px 18px rgba(29, 26, 23, 0.14) !important;
	}

	body.single-product .denvas-shop-shell div.product .woocommerce-tabs ul.tabs li.active a::after {
		position: absolute;
		bottom: 0;
		left: 50%;
		width: 44px;
		height: 2px;
		border-radius: 999px 999px 0 0;
		background: #d49a63;
		content: "";
		transform: translateX(-50%);
	}

	body.single-product .denvas-shop-shell div.product .woocommerce-tabs ul.tabs li a:focus-visible {
		outline: 0 !important;
		box-shadow: inset 0 0 0 2px #d49a63 !important;
	}

	body.single-product .denvas-shop-shell div.product .woocommerce-tabs ul.tabs li.active a:focus-visible {
		box-shadow: inset 0 0 0 2px #d49a63, 0 8px 18px rgba(29, 26, 23, 0.14) !important;
	}

	body.single-product .denvas-shop-shell div.product .woocommerce-tabs .panel {
		width: 100%;
		max-width: none;
		margin: 10px 0 0 !important;
		padding: clamp(36px, 4.2vw, 56px) !important;
		border: 0 !important;
		border-radius: 12px;
		background: #fff;
		box-shadow: none;
	}

	body.single-product .woocommerce-tabs #tab-description::before,
	body.single-product .woocommerce-tabs #tab-additional_information::before,
	body.single-product .woocommerce-tabs #tab-denvas_delivery::before,
	body.single-product .woocommerce-tabs #tab-reviews::before {
		display: block;
		max-width: none;
		margin: 0 0 23px;
		color: var(--denvas-product-accent-dark);
		font-family: var(--denvas-sans, Arial, sans-serif);
		font-size: 9.5px;
		font-weight: 750;
		letter-spacing: 0.16em;
		line-height: 1.2;
		text-transform: uppercase;
	}

	body.single-product .woocommerce-tabs #tab-description::before {
		content: "O produkcie";
	}

	body.single-product .woocommerce-tabs #tab-additional_information::before {
		content: "Dane techniczne";
	}

	body.single-product .woocommerce-tabs #tab-denvas_delivery::before {
		content: "Realizacja zamówienia";
	}

	body.single-product .woocommerce-tabs #tab-reviews::before {
		content: "Opinie klientów";
	}

	body.single-product .woocommerce-tabs #tab-description.has-denvas-editorial-features > :not(table),
	body.single-product .woocommerce-tabs #tab-description .denvas-editorial-section-host {
		width: 100%;
		max-width: none !important;
	}

	body.single-product .woocommerce-tabs #tab-description .denvas-editorial-intro {
		width: 100%;
		max-width: 88ch !important;
		margin: 0 0 28px !important;
		padding: 0 0 25px;
		border-bottom: 1px solid var(--denvas-product-line);
		font-size: 13.5px;
		line-height: 1.82;
	}

	body.single-product .woocommerce-tabs #tab-description .denvas-editorial-section-title {
		max-width: none !important;
		margin: 27px 0 12px !important;
		color: var(--denvas-product-accent-dark);
		font-family: var(--denvas-sans, Arial, sans-serif);
		font-size: 10px;
		font-weight: 750;
		letter-spacing: 0.14em;
		line-height: 1.4;
		text-transform: uppercase;
	}

	body.single-product .woocommerce-tabs #tab-description .denvas-editorial-intro + .denvas-editorial-section-title {
		margin-top: 0 !important;
	}

	body.single-product .woocommerce-tabs #tab-description .denvas-editorial-section-title strong,
	body.single-product .woocommerce-tabs #tab-description .denvas-editorial-section-title b {
		color: inherit;
		font: inherit;
		letter-spacing: inherit;
	}

	body.single-product .woocommerce-tabs #tab-description .denvas-editorial-features {
		display: grid;
		width: 100%;
		max-width: none !important;
		margin: 0 0 28px !important;
		padding: 0 !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 11px;
		list-style: none !important;
	}

	body.single-product .woocommerce-tabs #tab-description .denvas-editorial-features > .denvas-editorial-feature {
		display: grid;
		min-width: 0;
		margin: 0 !important;
		padding: 18px 19px !important;
		align-items: start;
		grid-template-columns: 34px minmax(0, 1fr);
		gap: 13px;
		border: 1px solid #eadfd4;
		border-radius: 10px;
		color: var(--denvas-product-copy);
		background: #fbf8f4;
		font-size: 12.5px;
		line-height: 1.62;
		list-style: none !important;
	}

	body.single-product .woocommerce-tabs #tab-description .denvas-editorial-features > .denvas-editorial-feature:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	body.single-product .woocommerce-tabs #tab-description .denvas-editorial-features > .denvas-editorial-feature::marker {
		content: "";
	}

	body.single-product .denvas-editorial-feature__marker {
		display: grid;
		width: 34px;
		height: 34px;
		place-items: center;
		border: 1px solid rgba(188, 122, 63, 0.5);
		border-radius: 50%;
		color: var(--denvas-product-accent-dark);
		background: #fff;
		font-family: var(--denvas-sans, Arial, sans-serif);
		font-size: 15px;
		font-weight: 700;
		line-height: 1;
	}

	body.single-product .denvas-editorial-feature__marker::before {
		content: "✓";
	}

	body.single-product .denvas-editorial-feature__source-marker {
		display: none;
	}

	body.single-product .denvas-editorial-feature__content {
		display: block;
		min-width: 0;
	}

	body.single-product .denvas-editorial-feature__content > :first-child {
		margin-top: 0;
	}

	body.single-product .denvas-editorial-feature__content > :last-child {
		margin-bottom: 0;
	}

	body.single-product .denvas-editorial-feature__content strong {
		color: var(--denvas-product-ink);
		font-size: 12px;
		font-weight: 750;
		letter-spacing: 0.015em;
	}

	body.single-product .woocommerce-tabs #tab-description > p {
		max-width: 84ch;
		margin: 0 auto !important;
		padding-top: 29px;
		border-top: 1px solid var(--denvas-product-line);
		font-size: 13.5px;
		line-height: 1.82;
	}

	body.single-product .woocommerce-tabs #tab-additional_information .woocommerce-product-attributes,
	body.single-product .woocommerce-tabs #tab-additional_information .woocommerce-product-attributes tbody {
		display: block !important;
		width: 100%;
	}

	body.single-product .woocommerce-tabs #tab-additional_information .woocommerce-product-attributes tbody {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	body.single-product .woocommerce-tabs #tab-additional_information .woocommerce-product-attributes tr,
	body.single-product .woocommerce-tabs #tab-additional_information .woocommerce-product-attributes tr:first-child {
		display: flex !important;
		min-width: 0;
		min-height: 94px;
		margin: 0;
		padding: 17px 18px;
		flex-direction: column;
		justify-content: center;
		border: 1px solid #eadfd4 !important;
		border-radius: 10px;
		background: #fbf8f4;
	}

	body.single-product .woocommerce-tabs #tab-additional_information .woocommerce-product-attributes th,
	body.single-product .woocommerce-tabs #tab-additional_information .woocommerce-product-attributes td {
		display: block !important;
		width: 100% !important;
		padding: 0 !important;
	}

	body.single-product .woocommerce-tabs #tab-additional_information .woocommerce-product-attributes th {
		color: #837a71;
		font-size: 9px;
		font-weight: 700;
		letter-spacing: 0.105em;
		line-height: 1.35;
		text-transform: uppercase;
	}

	body.single-product .woocommerce-tabs #tab-additional_information .woocommerce-product-attributes td {
		margin-top: 7px;
		color: var(--denvas-product-ink);
		font-size: 14px;
		font-weight: 750;
		line-height: 1.45;
	}

	body.single-product .denvas-single-product__delivery-tab {
		gap: 14px;
	}

	body.single-product .denvas-single-product__delivery-tab > div {
		min-height: 184px;
		padding: 30px;
		background: linear-gradient(180deg, #fff 0%, #fbf8f4 100%);
		box-shadow: 0 10px 24px rgba(47, 35, 24, 0.04);
	}

	body.single-product .denvas-single-product__delivery-tab > div::after {
		width: 54px;
		height: 2px;
	}

	body.single-product .denvas-single-product__delivery-tab svg {
		width: 44px;
		height: 44px;
		margin-bottom: 17px;
		padding: 10px;
		border: 1px solid rgba(188, 122, 63, 0.38);
		border-radius: 50%;
		background: #fff;
	}

	body.single-product .denvas-single-product__delivery-tab h3 {
		font-size: 27px;
	}

	body.single-product #reviews.denvas-reviews--empty {
		width: 100%;
		max-width: none;
	}

	body.single-product #reviews.denvas-reviews--empty #comments {
		display: grid;
		padding: 34px 36px;
		grid-template-columns: minmax(0, 1fr) minmax(240px, 300px);
		grid-template-rows: auto auto;
		align-items: center;
		gap: 7px 36px;
		border-color: #eadfd4;
		background: #fbf8f4;
	}

	body.single-product #reviews.denvas-reviews--empty #comments > h2,
	body.single-product #reviews.denvas-reviews--empty .woocommerce-noreviews {
		grid-column: 1;
	}

	body.single-product #reviews.denvas-reviews--empty #comments > h2 {
		font-size: 32px;
	}

	body.single-product #reviews.denvas-reviews--empty .woocommerce-noreviews {
		margin: 0;
	}

	body.single-product #reviews.denvas-reviews--empty .denvas-review-toggle {
		width: 100%;
		min-height: 52px;
		grid-column: 2;
		grid-row: 1 / span 2;
		border-color: var(--denvas-product-ink);
		background: #fff;
	}

	body.single-product #reviews.denvas-reviews--empty .denvas-review-toggle:hover,
	body.single-product #reviews.denvas-reviews--empty .denvas-review-toggle:focus-visible {
		border-color: var(--denvas-product-ink);
		color: #fff;
		background: var(--denvas-product-ink);
	}

	body.single-product #reviews.denvas-reviews--empty.is-review-form-open #comments {
		display: block;
	}

	body.single-product .denvas-single-product__faq {
		padding: 44px 0 52px;
		grid-template-columns: minmax(230px, 0.66fr) minmax(0, 1.34fr);
		gap: clamp(42px, 6vw, 78px);
	}

	body.single-product .denvas-single-product__faq h2 {
		font-size: clamp(35px, 3.3vw, 44px);
	}

	body.single-product .denvas-single-product__faq-list summary {
		min-height: 56px;
	}
}

@media (min-width: 1120px) {
	body.single-product .woocommerce-tabs #tab-additional_information .woocommerce-product-attributes tbody {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 420px) {
	body.single-product .summary form.cart:not(.variations_form):not(.grouped_form),
	body.single-product .summary .woocommerce-variation-add-to-cart {
		grid-template-columns: 88px minmax(0, 1fr);
	}

	body.single-product .summary form.cart .quantity {
		width: 88px;
		min-width: 88px;
		grid-template-columns: 27px minmax(0, 1fr) 27px;
	}

	body.single-product .denvas-quantity-control {
		width: 27px;
	}

	body.single-product .summary .single_add_to_cart_button {
		padding: 0 15px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.single-product .denvas-single-product__favourite,
	body.single-product .summary .single_add_to_cart_button,
	body.single-product .summary .single_add_to_cart_button::after,
	body.single-product .denvas-single-product__policy-links > a,
	body.single-product .denvas-single-product__policy-links svg,
	body.single-product .denvas-single-product__policy-links > a > span:last-child,
	body.single-product .denvas-mobile-tab-toggle,
	body.single-product .woocommerce-product-gallery ol.flex-control-thumbs img {
		transition: none;
	}
}

/* ==========================================================================
 * DENVAS audit remediation — 2026-09-17
 * Keep WooCommerce clearfix pseudo-elements out of CSS Grid and raise
 * meaningful microcopy to a readable minimum without changing body copy.
 * ========================================================================== */
body.single-product .summary form.cart:not(.variations_form):not(.grouped_form)::before,
body.single-product .summary form.cart:not(.variations_form):not(.grouped_form)::after,
body.single-product .summary .woocommerce-variation-add-to-cart::before,
body.single-product .summary .woocommerce-variation-add-to-cart::after {
	content: none !important;
	display: none !important;
}

body.single-product .woocommerce-breadcrumb,
body.single-product .denvas-single-product__eyebrow,
body.single-product .denvas-single-product__stock,
body.single-product .denvas-single-product__facts dt,
body.single-product .summary .reset_variations,
body.single-product .denvas-single-product__benefits-label,
body.single-product .denvas-single-product__section-heading > p,
body.single-product .woocommerce-tabs #tab-additional_information::before,
body.single-product .woocommerce-tabs #tab-denvas_delivery::before,
body.single-product .woocommerce-tabs #tab-reviews::before,
body.single-product .woocommerce-tabs #tab-description .denvas-editorial-section-title,
body.single-product .woocommerce-tabs #tab-additional_information .woocommerce-product-attributes th {
	font-size: 11px !important;
}

/* ==========================================================================
 * DENVAS product add-to-cart notice — 2026-09-22
 * Scope: only the WooCommerce success notice shown after add-to-cart on products.
 * ========================================================================== */
html body.single-product.denvas-theme .woocommerce-notices-wrapper > .woocommerce-message {
	position: relative;
	overflow: hidden;
	margin: 0 0 30px !important;
	padding: 0 24px !important;
	border: 1px solid rgba(153, 95, 45, .24) !important;
	border-top: 3px solid var(--denvas-product-accent, #bc7a3f) !important;
	border-radius: 16px !important;
	background: rgba(255, 255, 255, .96) !important;
	color: var(--denvas-product-ink, #1d1a17) !important;
	box-shadow: 0 12px 30px rgba(42, 32, 22, .08) !important;
	list-style: none !important;
	text-align: left;
}

html body.single-product.denvas-theme .woocommerce-notices-wrapper > .woocommerce-message::before {
	content: none !important;
	display: none !important;
}

html body.single-product.denvas-theme .denvas-cart-notice {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px;
	margin: 0 -24px;
	padding: 18px 24px;
}

html body.single-product.denvas-theme .denvas-cart-notice__icon {
	position: relative;
	display: block;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(153, 95, 45, .24);
	border-radius: 50%;
	background: var(--denvas-product-accent-soft, #f7eadb);
}

html body.single-product.denvas-theme .denvas-cart-notice__icon::after {
	content: "";
	position: absolute;
	left: 15px;
	top: 10px;
	width: 9px;
	height: 16px;
	border-right: 2px solid var(--denvas-product-accent-dark, #995f2d);
	border-bottom: 2px solid var(--denvas-product-accent-dark, #995f2d);
	transform: rotate(45deg);
}

html body.single-product.denvas-theme .denvas-cart-notice__copy {
	min-width: 0;
}

html body.single-product.denvas-theme .denvas-cart-notice__title {
	display: block;
	margin: 0 0 4px;
	color: var(--denvas-product-ink, #1d1a17);
	font-family: var(--denvas-sans, Arial, sans-serif);
	font-size: 14px;
	font-weight: 750;
	letter-spacing: -.01em;
	line-height: 1.3;
}

html body.single-product.denvas-theme .denvas-cart-notice__products {
	display: grid;
	gap: 2px;
}

html body.single-product.denvas-theme .denvas-cart-notice__product {
	display: block;
	color: var(--denvas-product-copy, #625c55);
	font-family: var(--denvas-sans, Arial, sans-serif);
	font-size: 12.5px;
	font-weight: 500;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

html body.single-product.denvas-theme .woocommerce-message a.button.denvas-cart-notice__button {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	float: none !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-width: 164px;
	min-height: 48px;
	margin: 0 !important;
	padding: 12px 20px !important;
	border: 1px solid var(--denvas-product-accent-dark, #995f2d) !important;
	border-radius: 0 !important;
	background-color: var(--denvas-product-accent, #bc7a3f) !important;
	background-image: linear-gradient(
		to right,
		var(--denvas-product-ink, #1d1a17) 0 50%,
		var(--denvas-product-accent, #bc7a3f) 50% 100%
	) !important;
	background-position: 100% 0 !important;
	background-size: 200% 100% !important;
	color: #fff !important;
	box-shadow: none !important;
	font-family: var(--denvas-sans, Arial, sans-serif);
	font-size: 12.5px !important;
	font-weight: 700 !important;
	letter-spacing: .015em;
	line-height: 1.2 !important;
	text-decoration: none !important;
	white-space: nowrap;
	transition:
		background-position .28s cubic-bezier(.2, .7, .2, 1),
		border-color .28s ease,
		color .28s ease !important;
}

/* Keep the native WooCommerce fallback button consistent with the DENVAS CTA. */
html body.single-product.denvas-theme .woocommerce-message a.button.wc-forward:not(.denvas-cart-notice__button)::after {
	content: "→";
	display: inline-block;
	margin-left: 12px;
	font-size: 17px;
	font-weight: 400;
	line-height: 1;
	vertical-align: -.05em;
	transition: transform .24s cubic-bezier(.2, .7, .2, 1);
}

html body.single-product.denvas-theme .woocommerce-message a.button.wc-forward:not(.denvas-cart-notice__button):hover::after,
html body.single-product.denvas-theme .woocommerce-message a.button.wc-forward:not(.denvas-cart-notice__button):focus-visible::after {
	transform: translateX(4px);
}

html body.single-product.denvas-theme .woocommerce-message a.button.denvas-cart-notice__button:hover,
html body.single-product.denvas-theme .woocommerce-message a.button.denvas-cart-notice__button:focus-visible {
	border-color: var(--denvas-product-ink, #1d1a17) !important;
	background-position: 0 0 !important;
	color: #fff !important;
}

html body.single-product.denvas-theme .denvas-cart-notice__arrow {
	display: inline-block;
	font-size: 17px;
	font-weight: 400;
	line-height: 1;
	transition: transform .24s cubic-bezier(.2, .7, .2, 1);
}

html body.single-product.denvas-theme .woocommerce-message a.button.denvas-cart-notice__button:hover .denvas-cart-notice__arrow,
html body.single-product.denvas-theme .woocommerce-message a.button.denvas-cart-notice__button:focus-visible .denvas-cart-notice__arrow {
	transform: translateX(4px);
}

html body.single-product.denvas-theme .woocommerce-message a.button.denvas-cart-notice__button:focus-visible {
	outline: 2px solid var(--denvas-product-ink, #1d1a17);
	outline-offset: 3px;
}

@media (max-width: 767px) {
	html body.single-product.denvas-theme .woocommerce-notices-wrapper > .woocommerce-message {
		margin-bottom: 24px !important;
		padding: 14px 16px 16px !important;
		border-radius: 14px !important;
	}

	html body.single-product.denvas-theme .denvas-cart-notice {
		grid-template-columns: 38px minmax(0, 1fr);
		gap: 12px;
		margin: -14px -16px -16px;
		padding: 16px;
	}

	html body.single-product.denvas-theme .denvas-cart-notice__icon {
		width: 38px;
		height: 38px;
	}

	html body.single-product.denvas-theme .denvas-cart-notice__icon::after {
		left: 13px;
		top: 9px;
		width: 8px;
		height: 14px;
	}

	html body.single-product.denvas-theme .woocommerce-message a.button.denvas-cart-notice__button {
		grid-column: 1 / -1;
		width: 100%;
		min-width: 0;
		margin-top: 4px !important;
	}

	/* Native WooCommerce fallback: full-width CTA below the message copy. */
	html body.single-product.denvas-theme .woocommerce-message a.button.wc-forward:not(.denvas-cart-notice__button) {
		box-sizing: border-box;
		float: none !important;
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-width: 0;
		min-height: 48px;
		margin: 12px 0 0 !important;
		padding: 12px 18px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html body.single-product.denvas-theme .woocommerce-message a.button.denvas-cart-notice__button,
	html body.single-product.denvas-theme .denvas-cart-notice__arrow,
	html body.single-product.denvas-theme .woocommerce-message a.button.wc-forward:not(.denvas-cart-notice__button)::after {
		transition: none !important;
	}
}
