/* Registered Cacio PDPs: shared prototype-led presentation around native WooCommerce output. */
body.cacio2-pdp-enabled #content > .ast-container {
	max-width: 1440px;
	padding-inline: clamp(20px, 4vw, 64px);
}

body.cacio2-pdp-enabled .woocommerce-breadcrumb {
	margin: 0 0 10px;
	color: #50604d;
	font-size: 12px;
	letter-spacing: .02em;
}

body.cacio2-pdp-enabled div.product {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 auto;
	overflow: visible;
}

body.cacio2-pdp-enabled .cacio-pdp-main {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(320px, .78fr);
	align-items: start;
	column-gap: clamp(34px, 7vw, 110px);
	row-gap: 0;
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
	overflow: visible;
}

body.cacio2-pdp-enabled .cacio-pdp-gallery,
body.cacio2-pdp-enabled .cacio-pdp-main > .summary {
	box-sizing: border-box;
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	flex: initial !important;
}

body.cacio2-pdp-enabled .cacio-pdp-gallery {
	grid-column: 1;
	grid-row: 1;
}

body.cacio2-pdp-enabled .cacio-pdp-gallery > .images,
body.cacio2-pdp-enabled .cacio-pdp-gallery .woocommerce-product-gallery {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
}

/* Woo's flex slider is restyled as a vertically flowing gallery of all native image slides. */
body.cacio2-pdp-enabled .cacio-pdp-gallery .flex-viewport {
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
}

body.cacio2-pdp-enabled .cacio-pdp-gallery .woocommerce-product-gallery__wrapper {
	display: block !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	transform: none !important;
}

body.cacio2-pdp-enabled .cacio-pdp-gallery .woocommerce-product-gallery__image {
	display: block !important;
	float: none !important;
	width: 100% !important;
	margin: 0 0 24px !important;
	background: var(--cacio-global-warm, #e5dfd1);
}

body.cacio2-pdp-enabled .cacio-pdp-gallery .woocommerce-product-gallery__image a,
body.cacio2-pdp-enabled .cacio-pdp-gallery .woocommerce-product-gallery__image img {
	display: block;
	width: 100% !important;
	height: auto !important;
	max-width: 100%;
}

body.cacio2-pdp-enabled .cacio-pdp-gallery .flex-control-thumbs {
	display: none !important;
}

body.cacio2-pdp-enabled .cacio-pdp-custom-gallery {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
}

body.cacio2-pdp-enabled .cacio-pdp-gallery-frame {
	width: 100%;
	min-height: clamp(360px, 42vw, 680px);
	margin: 0;
	overflow: hidden;
	background: var(--cacio-global-warm, #e5dfd1);
}

body.cacio2-pdp-enabled .cacio-pdp-gallery-frame--portrait {
	aspect-ratio: 3 / 4;
}

body.cacio2-pdp-enabled .cacio-pdp-gallery-frame--landscape {
	aspect-ratio: 3 / 2;
}

body.cacio2-pdp-enabled .cacio-pdp-gallery-frame img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

body.cacio2-pdp-enabled .cacio-pdp-main > .summary {
	display: grid;
	grid-column: 2;
	grid-row: 1;
	align-self: stretch;
	padding: 0;
}

body.cacio2-pdp-enabled .cacio-pdp-info {
	position: sticky;
	top: calc(var(--cacio-smart-adminbar-offset, 0px) + var(--cacio-smart-chrome-height, 115px) + 24px);
	bottom: auto;
	align-self: start;
	box-sizing: border-box;
	max-height: none;
	overflow: visible;
	overscroll-behavior-y: auto;
	padding: 12px 0 0;
	transition: top .26s ease;
}

body.cacio2-pdp-enabled.cacio-smart-header-hidden .cacio-pdp-info {
	top: calc(var(--cacio-smart-adminbar-offset, 0px) + 24px);
}

body.cacio2-pdp-enabled .cacio-pdp-info.cacio-pdp-sticky-disabled {
	position: sticky;
	top: calc(var(--cacio-smart-adminbar-offset, 0px) + var(--cacio-smart-chrome-height, 115px) + 24px);
	bottom: auto;
	align-self: start;
	transition: top .26s ease;
}

body.cacio2-pdp-enabled.cacio-smart-header-hidden .cacio-pdp-info.cacio-pdp-sticky-disabled {
	top: calc(var(--cacio-smart-adminbar-offset, 0px) + 24px);
}

@media (prefers-reduced-motion: reduce) {
	body.cacio2-pdp-enabled .cacio-pdp-info {
		transition: none;
	}
}

body.cacio2-pdp-enabled #content .cacio-pdp-info :is(p, h1, h2, h3, h4, a, summary),
body.cacio2-pdp-enabled #content .cacio-pdp-accordion :is(p, h1, h2, h3, h4, a, summary) {
	line-break: strict;
	overflow-wrap: normal;
}

body.cacio2-pdp-enabled #content .cacio-pdp-info :is(p, h1, h2, h3, h4),
body.cacio2-pdp-enabled #content .cacio-pdp-accordion :is(p, h1, h2, h3, h4) {
	word-break: auto-phrase;
}

body.cacio2-pdp-enabled .cacio-pdp-back {
	display: inline-block;
	margin: 0 0 24px;
	font-size: 15px;
	text-decoration: underline;
	text-underline-offset: 5px;
}

body.cacio2-pdp-enabled .cacio2-pdp-eyebrow {
	margin: 0 0 10px;
	color: var(--cacio-global-green, #50604d);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
}

body.cacio2-pdp-enabled #content h1.product_title:not(.cacio2-editorial-product-title) {
	display: none !important;
}

body.cacio2-pdp-enabled #content .cacio-pdp-info h1.cacio2-editorial-product-title {
	min-width: 0;
	width: 100%;
	max-width: 100%;
	white-space: normal;
	word-break: auto-phrase;
	overflow-wrap: normal;
	line-break: strict;
	text-wrap: balance;
	margin: 0 0 18px;
	font-size: clamp(40px, 3.6vw, 52px);
	line-height: 1.16;
	letter-spacing: -.02em;
}

/* Keep the long Japanese editorial title independently wrappable inside its summary. */
body.cacio2-pdp-enabled #content .cacio-pdp-info h1.cacio2-editorial-product-title {
	min-width: 0;
	max-width: 100%;
	white-space: normal;
	word-break: auto-phrase;
	overflow-wrap: normal;
	line-break: strict;
	text-wrap: balance;
}

body.cacio2-pdp-enabled #content .cacio-pdp-weight {
	margin: 10px 0 22px;
	color: var(--cacio-global-green, #50604d);
	font-size: 25px;
	font-weight: 600;
}

body.cacio2-pdp-enabled #content .summary p.price {
	margin: 0 0 18px;
	color: var(--cacio-global-ink, #1d211d);
	font-size: 34px;
	font-weight: 600;
	line-height: 1.1;
}

body.cacio2-pdp-enabled .summary p.stock,
body.cacio2-pdp-enabled .summary .stock {
	color: var(--cacio-global-green, #50604d);
}

body.cacio2-pdp-enabled .summary .woocommerce-product-details__short-description {
	display: none !important;
}

body.cacio2-pdp-enabled .cacio-pdp-prototype-copy {
	max-width: 390px;
	margin: 18px 0 0;
	color: #575953;
	font-size: 15px;
	line-height: 1.8;
}

body.cacio2-pdp-enabled .cacio-pdp-prototype-copy > :first-child {
	margin-top: 0;
}

body.cacio2-pdp-enabled .cacio-pdp-prototype-copy > :last-child {
	margin-bottom: 0;
}

body.cacio2-pdp-enabled .cacio-pdp-stock {
	display: inline-block;
	margin: 0 0 22px;
	padding: 5px 10px;
	border: 1px solid var(--cacio-global-clay, #795f49);
	color: var(--cacio-global-clay, #795f49);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .04em;
}

body.cacio2-pdp-enabled .cacio-pdp-shipping-note {
	margin: 0 0 22px;
	border: 0;
	border-left: 3px solid var(--cacio-global-green, #50604d);
	background: #e8e2d6;
	padding: 12px 14px;
	color: #4d514b;
	font-size: 13px;
	line-height: 1.7;
}

body.cacio2-pdp-enabled .cacio-pdp-maturation {
	margin: 18px 0 0;
	color: #575953;
	font-size: 14px;
}

body.cacio2-pdp-enabled .cacio-pdp-maturation span {
	margin-right: 10px;
	color: var(--cacio-global-green, #50604d);
}

body.cacio2-pdp-enabled .summary form.cart {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 26px 0 12px;
}

body.cacio2-pdp-enabled .summary form.cart .quantity {
	margin: 0;
}

body.cacio2-pdp-enabled .summary form.cart .quantity input.qty {
	min-height: 48px;
	border-color: var(--cacio-global-line, #d5d1c6);
	border-radius: 0;
	background: transparent;
}

body.cacio2-pdp-enabled #content .summary form.cart .single_add_to_cart_button {
	flex: 1 1 auto;
	min-height: 48px;
	border-radius: 0;
	border: 1px solid var(--cacio-global-ink, #1d211d);
	background: var(--cacio-global-milk, #fffefa);
	color: var(--cacio-global-ink, #1d211d);
	padding-inline: 26px;
}

body.cacio2-pdp-enabled #content .summary form.cart .single_add_to_cart_button:hover,
body.cacio2-pdp-enabled #content .summary form.cart .single_add_to_cart_button:focus-visible {
	background: var(--cacio-global-ink, #1d211d);
	border-color: var(--cacio-global-ink, #1d211d);
	color: var(--cacio-global-milk, #fffefa);
}

body.cacio2-pdp-enabled .summary .yith-wcwl-add-to-wishlist,
body.cacio2-pdp-enabled .summary .yith-wcwl-add-button,
body.cacio2-pdp-enabled .summary .tinv-wraper,
body.cacio2-pdp-enabled .summary .wcwl_control,
body.cacio2-pdp-enabled .summary .woosw-btn,
body.cacio2-pdp-enabled .summary .woosw-btn-has-icon {
	display: none !important;
}

body.cacio2-pdp-enabled .cacio2-pdp-intensity {
	display: grid;
	grid-template-columns: 1fr;
	gap: 4px;
	margin: 22px 0 8px;
	border-top: 1px solid var(--cacio-global-line, #d5d1c6);
	border-bottom: 1px solid var(--cacio-global-line, #d5d1c6);
	padding: 16px 0;
}

body.cacio2-pdp-enabled .cacio2-pdp-intensity-current {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
}

body.cacio2-pdp-enabled .cacio2-pdp-intensity-current > span {
	color: var(--cacio-global-green, #50604d);
	font-size: 14px;
	letter-spacing: .08em;
}

body.cacio2-pdp-enabled .cacio2-pdp-intensity-dots {
	color: var(--cacio-global-ink, #1d211d);
	font-family: Arial, sans-serif;
	font-size: 22px;
	font-weight: 400;
	letter-spacing: .1em;
	line-height: 1.2;
}

body.cacio2-pdp-enabled .cacio2-pdp-intensity-current small {
	color: #575953;
	font-size: 15px;
}

body.cacio2-pdp-enabled .cacio2-pdp-intensity-guide {
	margin-top: 9px;
	border-top: 1px solid var(--cacio-global-line, #d5d1c6);
	padding-top: 10px;
}

body.cacio2-pdp-enabled .cacio2-pdp-intensity-guide summary {
	color: var(--cacio-global-green, #50604d);
	font-size: 14px;
}

body.cacio2-pdp-enabled .cacio2-pdp-intensity-guide p {
	margin: 10px 0 0;
	color: #575953;
	font-size: 14px;
	line-height: 1.8;
}

body.cacio2-pdp-enabled .cacio-pdp-accordions {
	width: 100%;
	margin: 18px 0 0;
	max-width: none;
	border-top: 1px solid var(--cacio-global-line, #d5d1c6);
}

body.cacio2-pdp-enabled .cacio-pdp-accordion {
	margin: 0;
	border-bottom: 1px solid var(--cacio-global-line, #d5d1c6);
	padding: 0;
}

body.cacio2-pdp-enabled .cacio-pdp-accordion > summary {
	justify-content: space-between;
	padding: 15px 0;
	font-size: 14px;
	font-weight: 500;
}

body.cacio2-pdp-enabled .cacio-pdp-accordion > summary::after {
	content: '+';
	font-size: 22px;
	line-height: 1;
}

body.cacio2-pdp-enabled .cacio-pdp-accordion[open] > summary::after {
	content: '−';
}

body.cacio2-pdp-enabled .cacio-pdp-accordion-content {
	padding: 2px 0 16px;
	color: #575953;
	font-size: 13px;
	line-height: 1.85;
}

body.cacio2-pdp-enabled .cacio-pdp-accordion-content > :first-child {
	margin-top: 0;
}

body.cacio2-pdp-enabled #content details.cacio-pdp-operations-accordion .cacio-pdp-accordion-content p {
	color: #1d211d;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.7;
	margin-bottom: 1.75em;
}

body.cacio2-pdp-enabled #content details.cacio-pdp-operations-accordion .cacio-pdp-accordion-content > p.cacio-pdp-quantity-lead + .row .woocommerce-tabs.tabs-v1.apus-wc-tabs {
	padding-top: 0;
}

body.cacio2-pdp-enabled #content details.cacio-pdp-operations-accordion .cacio-pdp-accordion-content > p.cacio-pdp-quantity-lead + .row #primary.content-area {
	margin-top: 0;
}

body.cacio2-pdp-enabled .cacio-pdp-accordion-content > :last-child {
	margin-bottom: 0;
}

body.cacio2-pdp-enabled .up-sells.products,
body.cacio2-pdp-enabled .related.products {
	width: 100%;
	max-width: 100%;
	margin-top: 60px;
}

body.cacio2-pdp-enabled .related.products {
	border-top: 1px solid var(--cacio-global-line, #d5d1c6);
	padding-top: 36px;
}

body.cacio2-pdp-enabled .related.products > h2,
body.cacio2-pdp-enabled .up-sells.products > h2 {
	margin-bottom: 24px;
	font-size: clamp(28px, 3vw, 40px);
}

@media (max-width: 800px) {
	body.cacio2-pdp-enabled #content > .ast-container {
		padding-inline: 20px;
	}

	body.cacio2-pdp-enabled .woocommerce-breadcrumb {
		margin: 18px 0 22px;
	}

	body.cacio2-pdp-enabled .cacio-pdp-main {
		display: flex;
		flex-direction: column;
		gap: 18px;
	}

	body.cacio2-pdp-enabled .cacio-pdp-gallery,
	body.cacio2-pdp-enabled .cacio-pdp-main > .summary {
		width: 100%;
		max-width: 100%;
	}

	body.cacio2-pdp-enabled .cacio-pdp-gallery {
		order: 1;
	}

	body.cacio2-pdp-enabled .cacio-pdp-main > .summary {
		order: 2;
		align-self: auto;
	}

	body.cacio2-pdp-enabled .cacio-pdp-accordions {
		order: 3;
		grid-column: auto;
		grid-row: auto;
		width: 100%;
		margin-top: 8px;
	}

	body.cacio2-pdp-enabled .cacio-pdp-info {
		position: static;
		top: auto;
		bottom: auto;
		align-self: auto;
		max-height: none;
		overflow: visible;
		overscroll-behavior-y: auto;
		padding-top: 0;
	}

	body.cacio2-pdp-enabled #content .cacio-pdp-info h1.cacio2-editorial-product-title {
		font-size: clamp(34px, 9vw, 44px);
	}

	body.cacio2-pdp-enabled .summary p.price {
		font-size: 30px;
	}

	body.cacio2-pdp-enabled .cacio-pdp-shipping-note {
		margin-top: 14px;
		padding: 13px 14px;
	}

	body.cacio2-pdp-enabled .summary form.cart {
		align-items: stretch;
		gap: 8px;
		margin: 20px 0 12px;
	}

	body.cacio2-pdp-enabled .summary form.cart .quantity {
		align-self: center;
	}

	body.cacio2-pdp-enabled .summary form.cart .quantity input.qty {
		width: 62px;
		min-width: 62px;
	}

	body.cacio2-pdp-enabled .summary form.cart .single_add_to_cart_button {
		min-width: 0;
		white-space: normal;
		line-height: 1.35;
	}

	body.cacio2-pdp-enabled #content .summary form.cart .single_add_to_cart_button {
		padding-inline: 14px;
	}

	body.cacio2-pdp-enabled .cacio-pdp-intensity-guide p {
		font-size: 13px;
	}

	body.cacio2-pdp-enabled .up-sells.products,
	body.cacio2-pdp-enabled .related.products {
		margin-top: 34px;
	}
}

@media (max-width: 480px) {
	body.cacio2-pdp-enabled #content > .ast-container {
		padding-inline: 18px;
	}

	body.cacio2-pdp-enabled .cacio-pdp-gallery .woocommerce-product-gallery__image {
		margin-bottom: 14px !important;
	}

	body.cacio2-pdp-enabled .cacio-pdp-back {
		margin-bottom: 18px;
	}

	body.cacio2-pdp-enabled .cacio-pdp-prototype-copy {
		font-size: 15px;
		line-height: 1.75;
	}
}

/* VERA keeps the shared Cacio PDP structure and uses natural, uncropped product photography. */
body.cacio2-pdp-enabled.cacio2-pdp-vera {
	--cacio-pdp-type-accent: #65704d;
}

body.cacio2-pdp-enabled.cacio2-pdp-vera .cacio-pdp-custom-gallery .cacio-pdp-gallery-frame {
	min-height: 0;
	aspect-ratio: 3 / 2;
	background: #f0eee7;
}

body.cacio2-pdp-enabled.cacio2-pdp-vera .cacio-pdp-custom-gallery .cacio-pdp-gallery-frame img {
	height: 100%;
	object-fit: contain;
	object-position: center;
}

body.cacio2-pdp-enabled.cacio2-pdp-vera #content .cacio-pdp-vera-delivery-note {
	box-sizing: border-box;
	margin: 16px 0 20px;
	padding: 15px 18px;
	border-left: 2px solid var(--cacio-pdp-type-accent);
	background: #f0f0e9;
	color: var(--cacio-pdp-type-ink, #1d211d);
	font-size: 14px;
	line-height: 1.65;
}

body.cacio2-pdp-enabled.cacio2-pdp-vera #content .cacio-pdp-vera-shipping-note {
	box-sizing: border-box;
	display: grid;
	gap: 4px;
	margin: 12px 0 14px;
	padding: 11px 14px;
	border-left: 2px solid var(--cacio-pdp-type-accent);
	background: #f0f0e9;
	color: var(--cacio-pdp-type-ink, #1d211d);
	font-size: 15px;
	line-height: 1.75;
}

body.cacio2-pdp-enabled.cacio2-pdp-vera #content .cacio-pdp-vera-shipping-note strong {
	font-size: 15px;
	font-weight: 600;
}

body.cacio2-pdp-enabled.cacio2-pdp-vera #content .cacio-pdp-vera-shipping-note span {
	font-size: 15px;
	font-weight: 400;
	line-height: 1.75;
}

body.cacio2-pdp-enabled.cacio2-pdp-vera #content .cacio-pdp-vera-delivery-note p {
	margin: 0;
}

body.cacio2-pdp-enabled.cacio2-pdp-vera #content .cacio-pdp-vera-delivery-title {
	margin-bottom: 8px !important;
	color: var(--cacio-pdp-type-accent);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .08em;
}

body.cacio2-pdp-enabled.cacio2-pdp-vera #content .cacio-pdp-vera-delivery-note p + p {
	margin-top: 5px;
}

body.cacio2-pdp-enabled.cacio2-pdp-vera #content .cacio-pdp-vera-delivery-note strong {
	display: inline-block;
	min-width: 5em;
	color: var(--cacio-pdp-type-ink, #1d211d);
	font-weight: 600;
}

body.cacio2-pdp-enabled.cacio2-pdp-vera #content .cacio-pdp-vera-editorial-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 4px 0 0;
	color: var(--cacio-pdp-type-accent);
	font-size: 13px;
	text-decoration: underline;
	text-underline-offset: 4px;
}

body.cacio2-pdp-enabled.cacio2-pdp-vera #content .cacio-pdp-vera-editorial-link:hover {
	color: var(--cacio-global-ink, #1d211d);
}

@media (max-width: 800px) {
	body.cacio2-pdp-enabled.cacio2-pdp-vera .cacio-pdp-custom-gallery .cacio-pdp-gallery-frame {
		min-height: 0;
		aspect-ratio: 3 / 2 !important;
	}
}

@media (max-width: 800px) {
	body.cacio2-pdp-enabled .cacio-pdp-custom-gallery {
		display: flex;
		gap: 0;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		scroll-behavior: smooth;
		overscroll-behavior-x: contain;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	body.cacio2-pdp-enabled .cacio-pdp-custom-gallery::-webkit-scrollbar {
		display: none;
	}

	body.cacio2-pdp-enabled .cacio-pdp-custom-gallery .cacio-pdp-gallery-frame {
		flex: 0 0 100%;
		width: 100%;
		min-height: 0;
		aspect-ratio: 1 / .96;
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}
}

/* Shared desktop visual rules for registered Cacio PDPs, scoped above tablet. */
@media (min-width: 801px) {
	body.cacio2-pdp-enabled #content > .ast-container {
		max-width: 1600px;
		padding-inline: clamp(20px, 2vw, 36px);
	}

	body.cacio2-pdp-enabled .cacio-pdp-main {
		grid-template-columns: minmax(0, 1.5fr) minmax(320px, 1fr);
		column-gap: clamp(24px, 3vw, 44px);
		max-width: none;
	}

	body.cacio2-pdp-enabled .cacio2-pdp-eyebrow {
		margin-bottom: 14px;
	}

	body.cacio2-pdp-enabled .summary h1.cacio2-editorial-product-title {
		margin-bottom: 22px;
	}

	body.cacio2-pdp-enabled #content .cacio-pdp-weight {
		margin: 12px 0 26px;
	}

	body.cacio2-pdp-enabled #content .summary p.price {
		margin-bottom: 22px;
	}

	body.cacio2-pdp-enabled .cacio-pdp-shipping-note {
		margin-bottom: 24px;
	}

	body.cacio2-pdp-enabled .cacio-pdp-prototype-copy {
		max-width: none;
		margin-top: 22px;
		font-size: 16px;
		line-height: 1.9;
	}

	body.cacio2-pdp-enabled .cacio-pdp-maturation {
		margin-top: 22px;
	}

	body.cacio2-pdp-enabled .cacio2-pdp-intensity {
		margin-top: 28px;
		padding-block: 18px;
	}

	body.cacio2-pdp-enabled .summary form.cart {
		gap: 14px;
		margin-top: 30px;
	}

	body.cacio2-pdp-enabled .summary form.cart .quantity input.qty,
	body.cacio2-pdp-enabled #content .summary form.cart .single_add_to_cart_button {
		min-height: 52px;
	}

	body.cacio2-pdp-enabled #content .summary form.cart .single_add_to_cart_button {
		padding-inline: 30px;
	}

	body.cacio2-pdp-enabled .cacio2-pdp-intensity-guide {
		margin-top: 12px;
		padding-top: 12px;
	}

	body.cacio2-pdp-enabled .cacio-pdp-accordions {
		margin-top: 18px;
	}

	body.cacio2-pdp-enabled .cacio-pdp-accordion > summary {
		padding-block: 17px;
	}
}

/* Cacio PDP typography tokens: keep Woo/Astra markup from changing editorial hierarchy. */
body.cacio2-pdp-enabled {
	--cacio-pdp-type-ink: #1d211d;
	--cacio-pdp-type-muted: #575953;
	--cacio-pdp-type-accent: var(--cacio-global-green, #50604d);
}

body.cacio2-pdp-enabled #content .cacio-pdp-accordion > summary,
body.cacio2-pdp-enabled #content .cacio2-pdp-intensity-guide > summary {
	box-sizing: border-box;
	padding-block: 15px;
	color: var(--cacio-pdp-type-ink);
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
}

body.cacio2-pdp-enabled #content .cacio-pdp-accordion > summary::marker,
body.cacio2-pdp-enabled #content .cacio2-pdp-accordion > summary::after,
body.cacio2-pdp-enabled #content .cacio2-pdp-intensity-guide > summary::marker {
	color: currentColor;
}

body.cacio2-pdp-enabled #content .cacio2-pdp-intensity-guide {
	padding-top: 0;
}

body.cacio2-pdp-enabled #content .cacio-pdp-accordion-content,
body.cacio2-pdp-enabled #content .cacio2-pdp-intensity-guide > p {
	color: var(--cacio-pdp-type-ink);
	font-family: inherit;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.7;
}

body.cacio2-pdp-enabled #content .cacio-pdp-accordion-content :is(p, li, dt, dd, blockquote),
body.cacio2-pdp-enabled #content .cacio2-pdp-intensity-guide > p {
	color: var(--cacio-pdp-type-ink);
	font-family: inherit;
	font-size: 15px;
	line-height: 1.7;
}

body.cacio2-pdp-enabled #content .cacio-pdp-operations-accordion .cacio-pdp-accordion-content p {
	font-weight: 400;
}

body.cacio2-pdp-enabled #content .cacio-pdp-maturation {
	color: var(--cacio-pdp-type-muted);
	font-family: inherit;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6;
}

body.cacio2-pdp-enabled #content .cacio-pdp-maturation > span,
body.cacio2-pdp-enabled #content .cacio2-pdp-intensity-current > span {
	color: var(--cacio-pdp-type-accent);
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .04em;
}

body.cacio2-pdp-enabled #content .cacio2-pdp-intensity-current small {
	color: var(--cacio-pdp-type-muted);
	font-family: inherit;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6;
}

body.cacio2-pdp-enabled #content .summary .stock,
body.cacio2-pdp-enabled #content .cacio-pdp-stock {
	color: var(--cacio-pdp-type-accent);
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: .04em;
}

@media (min-width: 801px) {
	body.cacio2-pdp-enabled #content .cacio-pdp-accordion > summary,
	body.cacio2-pdp-enabled #content .cacio2-pdp-intensity-guide > summary {
		padding-block: 17px;
	}
}

/* Optional editorial awards; no container is rendered when a product has none. */
body.cacio2-pdp-enabled #content .cacio-pdp-awards {
	display: grid;
	gap: 12px;
	margin: 0 0 12px;
	min-width: 0;
}

body.cacio2-pdp-enabled #content .cacio-pdp-award {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

body.cacio2-pdp-enabled #content .cacio-pdp-award-mark {
	display: flex;
	flex: 0 0 50px;
	align-items: center;
	justify-content: center;
	width: 50px;
	min-height: 48px;
}

body.cacio2-pdp-enabled #content .cacio-pdp-award-image {
	display: block;
	width: 50px;
	max-height: 62px;
	object-fit: contain;
}

body.cacio2-pdp-enabled #content .cacio-pdp-award-copy {
	display: grid;
	gap: 3px;
	min-width: 0;
}

body.cacio2-pdp-enabled #content .cacio-pdp-award-competition {
	color: var(--cacio-pdp-type-muted, #575953);
	font-family: inherit;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: .06em;
	overflow-wrap: anywhere;
}

body.cacio2-pdp-enabled #content .cacio-pdp-award-result {
	color: var(--cacio-pdp-type-ink, #1d211d);
	font-family: inherit;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
}

body.cacio2-pdp-enabled #content .cacio-pdp-prototype-copy.is-clamped {
	max-height: var(--cacio-pdp-copy-clamp-height);
	overflow: hidden;
}

body.cacio2-pdp-enabled #content .cacio-pdp-copy-toggle {
	display: inline-flex;
	align-items: baseline;
	gap: 4px;
	margin: 7px 0 0;
	border: 0;
	background: transparent;
	color: var(--cacio-pdp-type-accent, #50604d);
	font-family: inherit;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.5;
	padding: 0;
	text-align: left;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.cacio2-pdp-enabled #content .cacio-pdp-copy-toggle[hidden] {
	display: none !important;
}

body.cacio2-pdp-enabled #content .cacio-pdp-copy-toggle:focus-visible {
	outline: 2px solid var(--cacio-pdp-type-accent, #50604d);
	outline-offset: 3px;
}

@media (max-width: 480px) {
	body.cacio2-pdp-enabled #content .cacio-pdp-award-mark {
		flex-basis: 48px;
		width: 48px;
	}

	body.cacio2-pdp-enabled #content .cacio-pdp-award-image {
		width: 48px;
		max-height: 59px;
	}
}

/* Robiola Fresca (product 93) desktop layout test: 40% gallery / 60% information. */
@media (min-width: 801px) {
	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio-pdp-main {
		grid-template-columns: minmax(0, 2fr) minmax(320px, 3fr);
	}
}

/* Robiola Fresca (product 93) controlled presentation refinements. */
@media (min-width: 1600px) {
	body.cacio2-pdp-enabled.cacio2-pdp-product-93 #content > .ast-container {
		max-width: 1720px;
	}
}

@media (min-width: 801px) {
	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .summary form.cart {
		width: min(100%, 420px);
		margin-left: 0;
		justify-content: flex-start;
		transition: none;
	}
}

@media (min-width: 1280px) and (max-width: 1599px) {
	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio-pdp-maturation {
		display: inline-block;
		box-sizing: border-box;
		width: calc(50% - 10px);
		margin: 22px 16px 8px 0;
		vertical-align: top;
	}

	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio2-pdp-intensity {
		display: inline-grid;
		box-sizing: border-box;
		width: calc(50% - 10px);
		margin: 28px 0 8px;
		vertical-align: top;
	}

	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio2-pdp-intensity-current {
		flex-direction: row;
		align-items: center;
		flex-wrap: nowrap;
		gap: 8px;
	}
}

body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio2-pdp-intensity {
	border-bottom: 0;
}

@media (max-width: 800px) {
	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio-pdp-info {
		display: flex;
		flex-direction: column;
	}

	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio2-editorial-product-title { order: 1; }
	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio-pdp-weight { order: 2; }
	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .summary p.price { order: 3; }
	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio-pdp-shipping-note { order: 4; }
	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio-pdp-copy-expander { order: 5; }
	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio-pdp-maturation,
	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio2-pdp-intensity { order: 6; }
	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .summary form.cart { order: 7; }
	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio2-pdp-intensity-guide { order: 8; }
	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio-pdp-accordions { order: 9; }
}

/* Robiola Fresca (product 93) refinement 3: balanced desktop columns. */
@media (min-width: 1400px) {
	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio-pdp-main {
		grid-template-columns: minmax(0, 1fr) minmax(320px, 1fr);
	}
}

/* Preserve a little more room for information on intermediate/Surface widths. */
@media (min-width: 801px) and (max-width: 1399px) {
	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio-pdp-main {
		grid-template-columns: minmax(0, 9fr) minmax(320px, 11fr);
	}
}

/* Desktop-only progressive enhancement: keep the original native details if JS is unavailable. */
@media (min-width: 801px) {
	body.cacio2-pdp-enabled.cacio2-pdp-drawer-ready .cacio-pdp-info > .cacio2-pdp-intensity-guide,
	body.cacio2-pdp-enabled.cacio2-pdp-drawer-ready .cacio-pdp-info > .cacio-pdp-accordions > .cacio-pdp-operations-accordion {
		display: none;
	}

	body.cacio2-pdp-enabled .cacio2-pdp-drawer-trigger {
		display: inline-flex;
		align-items: center;
		gap: 4px;
		width: auto;
		max-width: 100%;
		margin: 12px 0 0;
		padding: 0;
		border: 0;
		background: transparent;
		color: var(--cacio-pdp-type-accent, #50604d);
		font: inherit;
		font-size: 13px;
		line-height: 1.5;
		text-align: left;
		text-decoration: underline;
		text-underline-offset: 3px;
		cursor: pointer;
	}

	body.cacio2-pdp-enabled .cacio2-pdp-drawer-trigger:focus-visible,
	body.cacio2-pdp-enabled .cacio2-pdp-info-drawer-close:focus-visible {
		outline: 2px solid var(--cacio-pdp-type-accent, #50604d);
		outline-offset: 4px;
	}

	body.cacio2-pdp-enabled .cacio2-pdp-info-drawer {
		position: fixed;
		inset: 0 0 0 auto;
		box-sizing: border-box;
		width: min(480px, 92vw);
		max-width: calc(100vw - 20px);
		height: 100vh;
		height: 100dvh;
		max-height: none;
		margin: 0;
		padding: 0;
		border: 0;
		border-left: 1px solid var(--cacio-global-line, #d5d1c6);
		background: var(--cacio-global-milk, #fffefa);
		color: var(--cacio-global-ink, #1d211d);
		overflow: hidden;
	}

	body.cacio2-pdp-enabled .cacio2-pdp-info-drawer[open] {
		animation: cacio2-pdp-drawer-in .22s ease-out both;
	}

	body.cacio2-pdp-enabled .cacio2-pdp-info-drawer::backdrop {
		background: rgb(29 33 29 / 32%);
	}

	body.cacio2-pdp-enabled .cacio2-pdp-info-drawer-shell {
		display: flex;
		flex-direction: column;
		width: 100%;
		height: 100%;
	}

	body.cacio2-pdp-enabled .cacio2-pdp-info-drawer-header {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		gap: 20px;
		padding: 24px clamp(20px, 4vw, 36px) 16px;
		border-bottom: 1px solid var(--cacio-global-line, #d5d1c6);
	}

	body.cacio2-pdp-enabled .cacio2-pdp-info-drawer-header h2 {
		margin: 0;
		color: var(--cacio-global-ink, #1d211d);
		font: inherit;
		font-size: 20px;
		line-height: 1.5;
	}

	body.cacio2-pdp-enabled .cacio2-pdp-info-drawer-close {
		flex: 0 0 auto;
		width: 40px;
		height: 40px;
		margin: -6px -8px 0 0;
		padding: 0;
		border: 0;
		background: transparent;
		color: var(--cacio-global-ink, #1d211d);
		font: inherit;
		font-size: 30px;
		line-height: 1;
		cursor: pointer;
	}

	body.cacio2-pdp-enabled .cacio2-pdp-info-drawer-body {
		flex: 1 1 auto;
		min-height: 0;
		padding: 22px clamp(20px, 4vw, 36px) 40px;
		overflow-y: auto;
		overscroll-behavior: contain;
		color: var(--cacio-pdp-type-ink, #1d211d);
		font-size: 15px;
		line-height: 1.7;
	}

	body.cacio2-pdp-enabled .cacio2-pdp-info-drawer-body > :first-child {
		margin-top: 0;
	}

	body.cacio2-pdp-enabled .cacio2-pdp-info-drawer details > summary {
		display: none;
	}
}

@keyframes cacio2-pdp-drawer-in {
	from { transform: translateX(24px); opacity: 0; }
	to { transform: translateX(0); opacity: 1; }
}

@media (min-width: 801px) {

	/* Drawer-only intensity guide; native PDP summary remains unchanged outside the dialog. */
	body.cacio2-pdp-enabled .cacio2-pdp-info-drawer .cacio2-pdp-intensity-drawer-active > p {
		display: none;
	}

	body.cacio2-pdp-enabled .cacio2-pdp-info-drawer .cacio2-pdp-intensity-drawer-intro {
		margin: 0 0 20px;
		color: #575953;
		font-size: 14px;
		line-height: 1.8;
		white-space: pre-line;
	}

	body.cacio2-pdp-enabled .cacio2-pdp-intensity-legend {
		display: grid;
		gap: 14px;
		margin: 0;
	}

	body.cacio2-pdp-enabled .cacio2-pdp-intensity-legend-row {
		display: grid;
		grid-template-columns: minmax(102px, max-content) minmax(0, 1fr);
		align-items: start;
		column-gap: 14px;
		min-width: 0;
	}

	body.cacio2-pdp-enabled .cacio2-pdp-intensity-legend-heading {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		white-space: nowrap;
	}

	body.cacio2-pdp-enabled .cacio2-pdp-intensity-legend-dots {
		display: grid;
		grid-template-columns: repeat(4, 8px);
		gap: 4px;
		flex: 0 0 auto;
		width: max-content;
	}

	body.cacio2-pdp-enabled .cacio2-pdp-intensity-legend-dot {
		display: block;
		box-sizing: border-box;
		width: 8px;
		height: 8px;
		border: 1px solid var(--cacio-pdp-type-accent, #50604d);
		border-radius: 50%;
	}

	body.cacio2-pdp-enabled .cacio2-pdp-intensity-legend-dot.is-filled {
		background: var(--cacio-pdp-type-accent, #50604d);
	}

	body.cacio2-pdp-enabled .cacio2-pdp-intensity-legend-label {
		font-weight: 600;
		white-space: nowrap;
	}

	body.cacio2-pdp-enabled .cacio2-pdp-intensity-legend-description {
		min-width: 0;
		color: #575953;
		white-space: pre-line;
	}

	body.cacio2-pdp-enabled .cacio2-pdp-intensity-drawer-note {
		margin: 20px 0 0;
		color: #575953;
		font-size: 13px;
		white-space: pre-line;
	}

	body.cacio2-pdp-enabled .cacio2-pdp-info-drawer details.cacio2-pdp-drawer-content.cacio-pdp-operations-accordion .cacio-pdp-accordion-content p {
		color: #1d211d;
		font-size: 15px;
		font-weight: 400;
		line-height: 1.7;
		margin-bottom: 1.75em;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.cacio2-pdp-enabled .cacio2-pdp-info-drawer[open] {
		animation: none;
	}
}

/* Robiola 93: compact information strip for Surface-sized desktop viewports. */
@media (min-width: 801px) and (max-width: 1399px) {
	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio2-pdp-robiola-surface-strip {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) auto;
		align-items: start;
		column-gap: clamp(8px, 1.2vw, 16px);
		width: 100%;
		margin: 18px 0 0;
	}

	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio2-pdp-robiola-surface-strip > .cacio-pdp-maturation {
		display: flex;
		flex-direction: column;
		gap: 4px;
		width: auto;
		margin: 0;
	}

	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio2-pdp-robiola-surface-strip > .cacio-pdp-maturation span {
		margin-right: 0;
	}

	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio2-pdp-robiola-surface-strip > .cacio2-pdp-intensity {
		display: block;
		width: auto;
		margin: 0;
		border: 0;
		padding: 0;
	}

	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio2-pdp-robiola-surface-strip .cacio2-pdp-intensity-current {
		flex-direction: column;
		align-items: flex-start;
		flex-wrap: nowrap;
		gap: 4px;
	}

	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio2-pdp-robiola-surface-strip .cacio2-pdp-drawer-trigger {
		align-self: start;
		margin: 0;
		white-space: nowrap;
	}

	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio2-pdp-robiola-operations-trigger-row {
		width: 100%;
		margin-top: 8px;
	}

	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio2-pdp-robiola-operations-trigger-row .cacio2-pdp-drawer-trigger {
		margin: 0;
		white-space: nowrap;
	}
}

/* Robiola 93: keep the native quantity and purchase form, with a narrower desktop CTA. */
@media (min-width: 801px) {
	body.cacio2-pdp-enabled.cacio2-pdp-product-93 #content .summary form.cart .single_add_to_cart_button {
		flex: 0 1 240px;
		width: 240px;
		min-width: 0;
		padding-inline: 12px;
		white-space: normal;
	}
}

/* Robiola 93: stable first paint, desktop label, and drawer separators. */
@media (min-width: 801px) {
	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .summary form.cart .quantity input.qty {
		width: 3.631em;
		min-width: 3.631em;
		transition: none;
	}

	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio2-pdp-info-drawer details.cacio2-pdp-intensity-guide {
		border-top: 0;
	}

	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio2-pdp-info-drawer details.cacio-pdp-operations-accordion {
		position: relative;
		border-bottom: 0;
	}

	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .cacio2-pdp-info-drawer details.cacio-pdp-operations-accordion::after {
		position: absolute;
		right: calc(-1 * clamp(20px, 4vw, 36px));
		bottom: 0;
		left: calc(-1 * clamp(20px, 4vw, 36px));
		border-top: 1px solid var(--cacio-global-line, #d5d1c6);
		content: "";
		pointer-events: none;
	}
}
/* Robiola 93: match Astra/Woo loaded cart geometry from first render. */
@media (min-width: 801px) {
	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .summary form.cart::before,
	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .summary form.cart::after {
		display: table;
		content: " ";
	}

	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .summary form.cart .quantity {
		margin: 0 1em 1em 0;
	}

	body.cacio2-pdp-enabled.cacio2-pdp-product-93 .summary form.cart .single_add_to_cart_button {
		margin-bottom: 1em;
	}
}
/* Shared Robiola reference layout for compatible Cacio PDPs; leave VERA and product 93 refinements isolated. */
@media (min-width: 801px) and (max-width: 1399px) {
	body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93) .cacio-pdp-main {
		grid-template-columns: minmax(0, 9fr) minmax(320px, 11fr);
	}
}

@media (min-width: 1400px) {
	body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93) .cacio-pdp-main {
		grid-template-columns: minmax(0, 1fr) minmax(320px, 1fr);
	}
}

@media (min-width: 1600px) {
	body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera) #content > .ast-container {
		max-width: 1720px;
	}
}

@media (min-width: 1280px) and (max-width: 1599px) {
	body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera) .cacio2-pdp-surface-strip > .cacio-pdp-maturation {
		display: flex;
		flex-direction: column;
		gap: 4px;
		box-sizing: border-box;
		width: auto;
		margin: 0;
	}

	body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera) .cacio2-pdp-surface-strip > .cacio2-pdp-intensity {
		display: block;
		box-sizing: border-box;
		width: auto;
		margin: 0;
		border: 0;
		padding: 0;
	}

	body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera) .cacio2-pdp-surface-strip > .cacio-pdp-maturation span {
		margin-right: 0;
	}

	body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera) .cacio2-pdp-surface-strip .cacio2-pdp-intensity-current {
		flex-direction: column;
		align-items: flex-start;
		flex-wrap: nowrap;
		gap: 4px;
	}
}

@media (min-width: 801px) and (max-width: 1399px) {
	body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera) .cacio2-pdp-surface-strip > .cacio-pdp-maturation {
		display: flex;
		flex-direction: column;
		gap: 4px;
		width: auto;
		margin: 0;
	}

	body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera) .cacio2-pdp-surface-strip > .cacio-pdp-maturation span {
		margin-right: 0;
	}

	body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera) .cacio2-pdp-surface-strip > .cacio2-pdp-intensity {
		display: block;
		width: auto;
		margin: 0;
		border: 0;
		padding: 0;
	}

	body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera) .cacio2-pdp-surface-strip .cacio2-pdp-intensity-current {
		flex-direction: column;
		align-items: flex-start;
		flex-wrap: nowrap;
		gap: 4px;
	}
}

@media (min-width: 801px) and (max-width: 1399px) {
	body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera) .cacio2-pdp-surface-strip {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) auto;
		align-items: start;
		column-gap: clamp(8px, 1.2vw, 16px);
		width: 100%;
		margin: 18px 0 0;
	}

	body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera) .cacio2-pdp-surface-strip .cacio2-pdp-drawer-trigger {
		align-self: start;
		margin: 0;
		white-space: nowrap;
	}

	body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera) .cacio2-pdp-operations-trigger-row {
		width: 100%;
		margin-top: 8px;
	}

	body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera) .cacio2-pdp-operations-trigger-row .cacio2-pdp-drawer-trigger {
		margin: 0;
		white-space: nowrap;
	}
}

@media (min-width: 801px) {
	body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera) .product.product-type-simple .summary form.cart {
		width: min(100%, 420px);
		margin-left: 0;
		justify-content: flex-start;
		transition: none;
	}

	body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera) #content .product.product-type-simple .summary form.cart .single_add_to_cart_button {
		flex: 0 1 240px;
		width: 240px;
		min-width: 0;
		padding-inline: 12px;
		white-space: normal;
	}

	body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera) .product.product-type-simple .summary form.cart::before,
	body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera) .product.product-type-simple .summary form.cart::after {
		display: table;
		content: " ";
	}

	body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera) .product.product-type-simple .summary form.cart .quantity {
		margin: 0 1em 1em 0;
	}

	body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera) .product.product-type-simple .summary form.cart .quantity input.qty {
		width: 3.631em;
		min-width: 3.631em;
		transition: none;
	}

	body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera) .product.product-type-simple .summary form.cart .single_add_to_cart_button {
		margin-bottom: 1em;
	}
}
/* VERA 2137: shared desktop proportions and compact native simple-product form; shipment guidance stays inline. */
@media (min-width: 801px) and (max-width: 1399px) {
	body.cacio2-pdp-enabled.cacio2-pdp-vera .cacio-pdp-main {
		grid-template-columns: minmax(0, 9fr) minmax(320px, 11fr);
	}
}
@media (min-width: 1400px) {
	body.cacio2-pdp-enabled.cacio2-pdp-vera .cacio-pdp-main {
		grid-template-columns: minmax(0, 1fr) minmax(320px, 1fr);
	}
}
@media (min-width: 801px) {
	body.cacio2-pdp-enabled.cacio2-pdp-vera .product.product-type-simple .summary form.cart {
		box-sizing: border-box;
		width: min(100%, 420px);
		margin-left: 0;
		justify-content: flex-start;
		transition: none;
	}

	body.cacio2-pdp-enabled.cacio2-pdp-vera #content .product.product-type-simple .summary form.cart .single_add_to_cart_button {
		box-sizing: border-box;
		flex: 0 1 240px;
		width: 240px;
		min-width: 0;
		padding-inline: 12px;
		white-space: normal;
	}

	body.cacio2-pdp-enabled.cacio2-pdp-vera .product.product-type-simple .summary form.cart::before,
	body.cacio2-pdp-enabled.cacio2-pdp-vera .product.product-type-simple .summary form.cart::after {
		display: table;
		content: " ";
	}

	body.cacio2-pdp-enabled.cacio2-pdp-vera .product.product-type-simple .summary form.cart .quantity {
		margin: 0 1em 1em 0;
	}

	body.cacio2-pdp-enabled.cacio2-pdp-vera .product.product-type-simple .summary form.cart .quantity input.qty {
		width: 3.631em;
		min-width: 3.631em;
		transition: none;
	}

	body.cacio2-pdp-enabled.cacio2-pdp-vera .product.product-type-simple .summary form.cart .single_add_to_cart_button {
		margin-bottom: 1em;
	}
}

/* Compact only an awards block immediately followed by its editorial product weight. */
@media (min-width: 801px) {
	body.cacio2-pdp-enabled #content #product-129 .cacio-pdp-awards:has(+ .cacio-pdp-weight) {
		margin-bottom: 4px;
	}

	body.cacio2-pdp-enabled #content #product-129 .cacio-pdp-awards + .cacio-pdp-weight {
		margin-top: 0;
	}
}

/* Surface PDPs: give live stock status a clear gap after the operations drawer trigger. */
@media (min-width: 801px) and (max-width: 1399px) {
	body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera) .product.product-type-simple:not(.post-1099):not(.post-1100):not(.post-1101) .cacio-pdp-info p.stock {
		margin-top: 14px;
	}
}

/* Shared desktop purchase placement. Preserve source order and all mobile rules. */
@media (min-width: 801px) {
  body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera):not(.postid-1099):not(.postid-1100):not(.postid-1101) .product.product-type-simple .cacio-pdp-main > .summary > .cacio-pdp-info { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); reading-flow: grid-rows; align-content: start; top: min(24px, calc(100dvh - var(--cacio-shared-panel-height, 0px) - 24px)); }
  body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera):not(.postid-1099):not(.postid-1100):not(.postid-1101) .product.product-type-simple .cacio-pdp-main > .summary > .cacio-pdp-info > .cacio-pdp-back { grid-row: 1; min-width: 0; grid-column: 1 / -1; }
  body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera):not(.postid-1099):not(.postid-1100):not(.postid-1101) .product.product-type-simple .cacio-pdp-main > .summary > .cacio-pdp-info > .cacio2-pdp-eyebrow { grid-row: 2; min-width: 0; grid-column: 1 / -1; }
  body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera):not(.postid-1099):not(.postid-1100):not(.postid-1101) .product.product-type-simple .cacio-pdp-main > .summary > .cacio-pdp-info > .cacio2-editorial-product-title { grid-row: 3; min-width: 0; grid-column: 1 / -1; }
  body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera):not(.postid-1099):not(.postid-1100):not(.postid-1101) .product.product-type-simple .cacio-pdp-main > .summary > .cacio-pdp-info > .cacio-pdp-awards { grid-row: 4; min-width: 0; grid-column: 1 / -1; }
  body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera):not(.postid-1099):not(.postid-1100):not(.postid-1101) .product.product-type-simple .cacio-pdp-main > .summary > .cacio-pdp-info > .cacio-pdp-weight { grid-row: 5; min-width: 0; grid-column: 1 / -1; }
  body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera):not(.postid-1099):not(.postid-1100):not(.postid-1101) .product.product-type-simple .cacio-pdp-main > .summary > .cacio-pdp-info > p.price { grid-row: 6; min-width: 0; grid-column: 1 / -1; }
  body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera):not(.postid-1099):not(.postid-1100):not(.postid-1101) .product.product-type-simple .cacio-pdp-main > .summary > .cacio-pdp-info > .cacio-pdp-shipping-note { grid-row: 7; min-width: 0; grid-column: 1 / -1; }
  body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera):not(.postid-1099):not(.postid-1100):not(.postid-1101) .product.product-type-simple .cacio-pdp-main > .summary > .cacio-pdp-info > p.stock { grid-row: 8; min-width: 0; grid-column: 1 / -1; }
  body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera):not(.postid-1099):not(.postid-1100):not(.postid-1101) .product.product-type-simple .cacio-pdp-main > .summary > .cacio-pdp-info > form.cart { grid-row: 9; min-width: 0; grid-column: 1 / -1; }
  body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera):not(.postid-1099):not(.postid-1100):not(.postid-1101) .product.product-type-simple .cacio-pdp-main > .summary > .cacio-pdp-info > .cacio-pdp-copy-expander { grid-row: 10; min-width: 0; grid-column: 1 / -1; }
  body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera):not(.postid-1099):not(.postid-1100):not(.postid-1101) .product.product-type-simple .cacio-pdp-main > .summary > .cacio-pdp-info > .cacio2-pdp-surface-strip { grid-row: 11; min-width: 0; grid-column: 1 / -1; }
  body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera):not(.postid-1099):not(.postid-1100):not(.postid-1101) .product.product-type-simple .cacio-pdp-main > .summary > .cacio-pdp-info > .cacio-pdp-maturation { grid-row: 11; min-width: 0; grid-column: 1; width: auto; display: flex; flex-direction: column; gap: 4px; }
  body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera):not(.postid-1099):not(.postid-1100):not(.postid-1101) .product.product-type-simple .cacio-pdp-main > .summary > .cacio-pdp-info > .cacio2-pdp-intensity { grid-row: 11; min-width: 0; grid-column: 2; width: auto; }
  body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera):not(.postid-1099):not(.postid-1100):not(.postid-1101) .product.product-type-simple .cacio-pdp-main > .summary > .cacio-pdp-info > .cacio2-pdp-operations-trigger-row { grid-row: 13; min-width: 0; grid-column: 1 / -1; }
  body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera):not(.postid-1099):not(.postid-1100):not(.postid-1101) .product.product-type-simple .cacio-pdp-main > .summary > .cacio-pdp-info > .cacio2-pdp-intensity-guide { grid-row: 14; min-width: 0; grid-column: 1 / -1; }
  body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera):not(.postid-1099):not(.postid-1100):not(.postid-1101) .product.product-type-simple .cacio-pdp-main > .summary > .cacio-pdp-info > .cacio-pdp-accordions { grid-row: 15; min-width: 0; grid-column: 1 / -1; }
  body.cacio2-pdp-enabled .cacio2-pdp-info-drawer-body .cacio-pdp-accordion-content :is(.row, #main-content, #primary, #content, .clearfix, .details-product, .woocommerce-tabs, .tab-content, #tabs-list-description, .tabs-list-description) { background: transparent; padding: 0; margin: 0; border: 0; min-width: 0; max-width: 100%; }
}

/* Wide shared PDP: place the direct drawer trigger explicitly; keep Surface/mobile untouched. */
@media (min-width: 1400px) {
  body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera):not(.postid-1099):not(.postid-1100):not(.postid-1101) .product.product-type-simple.instock.purchasable .cacio-pdp-main > .summary > .cacio-pdp-info { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) auto; }
  body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera):not(.postid-1099):not(.postid-1100):not(.postid-1101) .product.product-type-simple.instock.purchasable .cacio-pdp-main > .summary > .cacio-pdp-info > .cacio-pdp-maturation { display: flex; flex-direction: column; gap: 4px; margin: 22px 0 0; padding: 0; align-self: start; }
  body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera):not(.postid-1099):not(.postid-1100):not(.postid-1101) .product.product-type-simple.instock.purchasable .cacio-pdp-main > .summary > .cacio-pdp-info > .cacio-pdp-maturation span { margin-right: 0; }
  body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera):not(.postid-1099):not(.postid-1100):not(.postid-1101) .product.product-type-simple.instock.purchasable .cacio-pdp-main > .summary > .cacio-pdp-info > .cacio2-pdp-intensity { display: block; margin: 22px 0 0; padding: 0; border: 0; align-self: start; }
  body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera):not(.postid-1099):not(.postid-1100):not(.postid-1101) .product.product-type-simple.instock.purchasable .cacio-pdp-main > .summary > .cacio-pdp-info > .cacio2-pdp-intensity .cacio2-pdp-intensity-current { flex-direction: column; align-items: flex-start; flex-wrap: nowrap; gap: 4px; }
  body.cacio2-pdp-enabled:not(.cacio2-pdp-product-93):not(.cacio2-pdp-vera):not(.postid-1099):not(.postid-1100):not(.postid-1101) .product.product-type-simple.instock.purchasable .cacio-pdp-main > .summary > .cacio-pdp-info > .cacio2-pdp-drawer-trigger { grid-row: 11; grid-column: 3; display: inline-flex; width: auto; margin: 22px 0 0; align-self: start; white-space: nowrap; }
}

/* Cheese-only desktop characteristics; preserve mobile and excluded products. */
@media (min-width: 801px) {
  body.cacio2-pdp-enabled.cacio2-pdp-cheese-final-ready #content .cacio-pdp-info > .cacio2-pdp-surface-strip { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) auto; align-items: start; column-gap: clamp(8px, 1.2vw, 16px); width: 100%; margin: 18px 0 0; border: 0; padding: 0; }
  body.cacio2-pdp-enabled.cacio2-pdp-cheese-final-ready #content .cacio-pdp-info > .cacio2-pdp-surface-strip > .cacio-pdp-maturation { grid-column: 1; display: flex; flex-direction: column; gap: 4px; width: auto; margin: 0; padding: 0; border: 0; align-self: start; }
  body.cacio2-pdp-enabled.cacio2-pdp-cheese-final-ready #content .cacio-pdp-info > .cacio2-pdp-surface-strip > .cacio-pdp-maturation span { margin-right: 0; }
  body.cacio2-pdp-enabled.cacio2-pdp-cheese-final-ready #content .cacio-pdp-info > .cacio2-pdp-surface-strip > .cacio2-pdp-intensity { grid-column: 2; display: block; width: auto; margin: 0; padding: 0; border: 0; align-self: start; }
  body.cacio2-pdp-enabled.cacio2-pdp-cheese-final-ready #content .cacio-pdp-info > .cacio2-pdp-surface-strip .cacio2-pdp-intensity-current { flex-direction: column; align-items: flex-start; flex-wrap: nowrap; gap: 4px; }
  body.cacio2-pdp-enabled.cacio2-pdp-cheese-final-ready #content .cacio-pdp-info > .cacio2-pdp-surface-strip > .cacio2-pdp-drawer-trigger { grid-column: 3; align-self: start; width: auto; margin: 0; white-space: nowrap; }
  body.cacio2-pdp-enabled.cacio2-pdp-cheese-final-ready #content .cacio-pdp-info > .cacio2-pdp-operations-trigger-row { width: 100%; margin-top: 8px; border: 0; }
  body.cacio2-pdp-enabled.cacio2-pdp-cheese-final-ready #content .cacio-pdp-info > .cacio2-pdp-operations-trigger-row > .cacio2-pdp-drawer-trigger { margin: 0; white-space: nowrap; }
  body.cacio2-pdp-enabled.cacio2-pdp-cheese-final-ready #content .cacio-pdp-info > .cacio-pdp-accordions { border-top: 0; }
}

/* Gift/set desktop characteristics: reuse the approved strip without changing intensity data. */
@media (min-width: 801px) {
  body.cacio2-pdp-enabled.cacio2-pdp-gift-final-ready #content .cacio-pdp-info > .cacio2-pdp-surface-strip { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) auto; align-items: start; column-gap: clamp(8px, 1.2vw, 16px); width: 100%; margin: 18px 0 0; border: 0; padding: 0; }
  body.cacio2-pdp-enabled.cacio2-pdp-gift-final-ready #content .cacio-pdp-info > .cacio2-pdp-surface-strip > .cacio-pdp-maturation { grid-column: 1; display: flex; flex-direction: column; gap: 4px; width: auto; margin: 0; padding: 0; border: 0; align-self: start; }
  body.cacio2-pdp-enabled.cacio2-pdp-gift-final-ready #content .cacio-pdp-info > .cacio2-pdp-surface-strip > .cacio-pdp-maturation span { margin-right: 0; }
  body.cacio2-pdp-enabled.cacio2-pdp-gift-final-ready #content .cacio-pdp-info > .cacio2-pdp-surface-strip > .cacio2-pdp-intensity { grid-column: 2; display: block; width: auto; margin: 0; padding: 0; border: 0; align-self: start; }
  body.cacio2-pdp-enabled.cacio2-pdp-gift-final-ready #content .cacio-pdp-info > .cacio2-pdp-surface-strip .cacio2-pdp-intensity-current { flex-direction: column; align-items: flex-start; flex-wrap: nowrap; gap: 4px; }
  body.cacio2-pdp-enabled.cacio2-pdp-gift-final-ready #content .cacio-pdp-info > .cacio2-pdp-surface-strip > .cacio2-pdp-drawer-trigger { grid-column: 3; align-self: start; width: auto; margin: 0; white-space: nowrap; }
  body.cacio2-pdp-enabled.cacio2-pdp-gift-final-ready #content .cacio-pdp-info > .cacio2-pdp-operations-trigger-row { width: 100%; margin-top: 8px; border: 0; }
  body.cacio2-pdp-enabled.cacio2-pdp-gift-final-ready #content .cacio-pdp-info > .cacio2-pdp-operations-trigger-row > .cacio2-pdp-drawer-trigger { margin: 0; white-space: nowrap; }
  body.cacio2-pdp-enabled.cacio2-pdp-gift-final-ready #content .cacio-pdp-info > .cacio-pdp-accordions { border-top: 0; }
  body.cacio2-pdp-enabled.cacio2-pdp-gift-final-ready #content .cacio-pdp-info > .cacio2-pdp-surface-strip.cacio2-pdp-gift-single-characteristic { grid-template-columns: minmax(0, 1fr) auto; }
  body.cacio2-pdp-enabled.cacio2-pdp-gift-final-ready #content .cacio-pdp-info > .cacio2-pdp-surface-strip.cacio2-pdp-gift-single-characteristic > .cacio2-pdp-intensity { grid-column: 1; }
  body.cacio2-pdp-enabled.cacio2-pdp-gift-final-ready #content .cacio-pdp-info > .cacio2-pdp-surface-strip.cacio2-pdp-gift-single-characteristic > .cacio2-pdp-drawer-trigger { grid-column: 2; }
}


/* P01: use the existing gallery-to-summary gap; reserve no layout space. */
@media (max-width: 800px) {
	body.cacio2-pdp-enabled .cacio-pdp-main > .cacio-pdp-gallery-progress {
		position: absolute;
		width: 72px;
		height: 2px;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 1px;
		background: rgba(36, 39, 32, .22);
		z-index: 2;
		pointer-events: none;
	}
	body.cacio2-pdp-enabled .cacio-pdp-gallery-progress__thumb {
		display: block;
		height: 100%;
		border-radius: inherit;
		background: var(--cacio-global-ink, #242720);
	}
}


@media (min-width: 801px) {
	body.cacio2-pdp-vera #content .cacio-pdp-vera-allergen-note {
		margin: 0;
	}
}
/* Remove only paragraph end margins in the existing allergy tail. Keep its DOM/text. */
@media (max-width: 800px) {
	body.cacio2-pdp-vera #content [data-cacio-copy] .p-product-explain__body p,
	body.cacio2-pdp-vera #content [data-cacio-copy] > .p-product-explain__body + p {
		margin-bottom: 0;
	}
}

/* VERA: expanding editorial copy must not reposition the purchase panel. */
@media (min-width: 801px) {
	body.cacio2-pdp-vera .cacio-pdp-info {
		position: static;
	}
}
