/**
 * Dynamic Product Page presentation.
 *
 * Every rule is scoped to the server-qualified Product Page body class.
 */

.e-meniu-product-page .wp-block-woocommerce-legacy-template {
	max-width: none;
	width: 100%;
}

body.e-meniu-product-page.woocommerce .woocommerce-notices-wrapper,
body.e-meniu-product-page.woocommerce :is(
	.woocommerce-message,
	.woocommerce-error,
	.woocommerce-info
):not(.woocommerce-notices-wrapper *) {
	width: min(
		calc(100% - (2 * var(--wp--custom--layout--page-padding))),
		var(--wp--custom--layout--wide-width)
	);
	margin-inline: auto;
}

.e-meniu-product-page .e-meniu-product-catalog-back {
	width: min(100%, var(--wp--custom--layout--wide-width));
	margin: var(--wp--preset--spacing--lg) auto 0;
	padding-inline: var(--wp--custom--layout--page-padding);
}

.e-meniu-product-page .e-meniu-product-catalog-back-link {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--xs);
	min-height: var(--wp--custom--interactive--target-min);
	color: var(--wp--preset--color--olive);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 650;
	text-underline-offset: 0.2em;
}

.e-meniu-product-page .e-meniu-product-catalog-back-link:focus-visible {
	outline: 3px solid var(--wp--preset--color--olive);
	outline-offset: 3px;
}

body.e-meniu-product-page div.product {
	display: grid;
	grid-template-areas:
		"intro"
		"gallery"
		"summary"
		"description"
		"benefits"
		"comparison";
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--lg);
	width: min(100%, var(--wp--custom--layout--wide-width));
	margin: 0 auto;
	padding: var(--wp--preset--spacing--xl) var(--wp--custom--layout--page-padding) var(--wp--preset--spacing--2-xl);
}

body.e-meniu-product-page div.product::before,
body.e-meniu-product-page div.product::after {
	content: none;
}

.e-meniu-product-page .e-meniu-product-intro {
	grid-area: intro;
	min-width: 0;
}

.e-meniu-product-page .e-meniu-product-intro .product_title {
	margin: 0;
	font-size: var(--wp--preset--font-size--h2);
	line-height: 1.08;
}

.e-meniu-product-page .e-meniu-variation-description {
	margin-block-start: 0;
	color: var(--wp--preset--color--text-muted);
	font-size: var(--wp--preset--font-size--lead);
	line-height: 1.55;
}

.e-meniu-product-page .e-meniu-variation-description:not(:empty) {
	margin-block-start: var(--wp--preset--spacing--sm);
}

.e-meniu-product-page .e-meniu-variation-description > :first-child,
.e-meniu-product-page .e-meniu-product-description-content > :first-child {
	margin-block-start: 0;
}

.e-meniu-product-page .e-meniu-variation-description > :last-child,
.e-meniu-product-page .e-meniu-product-description-content > :last-child {
	margin-block-end: 0;
}

body.e-meniu-product-page div.product div.images {
	grid-area: gallery;
	float: none;
	min-width: 0;
	width: 100%;
	margin: 0;
}

body.e-meniu-product-page div.product div.images img {
	height: auto;
	border-radius: var(--wp--custom--radius--large);
}

body.e-meniu-product-page div.product div.summary {
	grid-area: summary;
	float: none;
	min-width: 0;
	width: 100%;
	margin: 0;
}

body.e-meniu-product-page div.product form.cart {
	margin: 0;
}

.e-meniu-product-page .e-meniu-package-selector {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--sm);
	width: 100%;
	margin-block-end: var(--wp--preset--spacing--md);
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.e-meniu-product-page .e-meniu-package-option {
	min-width: 0;
	min-height: var(--wp--custom--interactive--target-min);
	border: 1px solid var(--wp--preset--color--border-strong);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--text);
	font: inherit;
	font-weight: 650;
	line-height: 1.2;
	padding: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--md);
	cursor: pointer;
}

.e-meniu-product-page .e-meniu-package-option[aria-checked="true"] {
	border-color: var(--wp--preset--color--olive);
	background: var(--wp--preset--color--olive);
	color: var(--wp--preset--color--surface);
}

.e-meniu-product-page .e-meniu-package-option:disabled {
	color: var(--wp--preset--color--text-muted);
	cursor: not-allowed;
	text-decoration: line-through;
}

.e-meniu-product-page .e-meniu-package-option[aria-checked="true"]:disabled {
	border-color: var(--wp--preset--color--border-strong);
	background: var(--wp--preset--color--surface-soft);
	color: var(--wp--preset--color--text-muted);
}

.e-meniu-product-page .e-meniu-package-option:focus-visible {
	outline: 3px solid var(--wp--preset--color--olive);
	outline-offset: 3px;
}

.e-meniu-product-page .e-meniu-package-enhanced table.variations {
	display: none;
}

body.e-meniu-product-page div.product .single_variation_wrap {
	display: grid;
	gap: var(--wp--preset--spacing--sm);
}

body.e-meniu-product-page div.product .single_variation {
	margin: 0;
}

body.e-meniu-product-page div.product .woocommerce-variation-price {
	margin-block-end: var(--wp--preset--spacing--xs);
}

body.e-meniu-product-page div.product .woocommerce-variation-price .price {
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--h3);
	font-weight: 700;
	line-height: 1.15;
}

body.e-meniu-product-page div.product .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--sm);
	align-items: stretch;
}

body.e-meniu-product-page div.product .single_add_to_cart_button {
	min-height: var(--wp--custom--interactive--target-min);
	border: 1px solid var(--wp--preset--color--olive);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--olive);
	color: var(--wp--preset--color--surface);
	font: inherit;
	font-weight: 700;
	padding: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--lg);
}

body.e-meniu-product-page div.product .single_add_to_cart_button:hover {
	border-color: var(--wp--preset--color--text);
	background: var(--wp--preset--color--text);
	color: var(--wp--preset--color--surface);
}

.e-meniu-product-page .e-meniu-product-reassurance {
	flex-basis: 100%;
	margin: var(--wp--preset--spacing--2-xs) 0 0;
	color: var(--wp--preset--color--text-muted);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.45;
}

.e-meniu-product-page .e-meniu-product-description,
.e-meniu-product-page .e-meniu-product-benefits,
.e-meniu-product-page .e-meniu-product-comparison {
	min-width: 0;
	margin-block-start: var(--wp--preset--spacing--xl);
}

.e-meniu-product-page .e-meniu-product-description {
	grid-area: description;
}

.e-meniu-product-page .e-meniu-product-reading-column {
	width: min(100%, 52rem);
}

.e-meniu-product-page .e-meniu-product-description h2,
.e-meniu-product-page .e-meniu-product-benefits h2,
.e-meniu-product-page .e-meniu-product-comparison h2 {
	margin-block: 0 var(--wp--preset--spacing--lg);
	font-size: var(--wp--preset--font-size--h2);
	line-height: 1.15;
	text-align: left;
}

.e-meniu-product-page .e-meniu-product-description-content {
	line-height: 1.75;
}

.e-meniu-product-page .e-meniu-product-benefits {
	grid-area: benefits;
}

.e-meniu-product-page .e-meniu-product-benefit-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--sm);
}

.e-meniu-product-page .e-meniu-product-benefit-card {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--xs);
	min-width: 0;
	min-height: 8rem;
	border: 1px solid var(--wp--preset--color--border-subtle);
	border-radius: var(--wp--custom--radius--medium);
	background: var(--wp--preset--color--surface);
	box-shadow: var(--wp--custom--shadow--card);
	padding: var(--wp--preset--spacing--sm);
}

.e-meniu-product-page .e-meniu-product-benefit-marker {
	display: inline-grid;
	place-items: center;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--surface-soft);
	color: var(--wp--preset--color--olive);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
}

.e-meniu-product-page .e-meniu-product-benefit-card p {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	line-height: 1.45;
}

.e-meniu-product-page .e-meniu-product-comparison {
	grid-area: comparison;
}

.e-meniu-product-page .e-meniu-comparison-desktop {
	display: none;
}

.e-meniu-product-page .e-meniu-comparison-mobile {
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border-subtle);
	border-radius: var(--wp--custom--radius--medium);
	background: var(--wp--preset--color--surface);
}

.e-meniu-product-page .e-meniu-product-comparison table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	color: var(--wp--preset--color--text);
}

.e-meniu-product-page .e-meniu-comparison-mobile table {
	table-layout: fixed;
}

.e-meniu-product-page .e-meniu-product-comparison th,
.e-meniu-product-page .e-meniu-product-comparison td {
	border: 0;
	border-block-end: 1px solid var(--wp--preset--color--border-subtle);
	padding: var(--wp--preset--spacing--sm);
	text-align: left;
	vertical-align: top;
}

.e-meniu-product-page .e-meniu-product-comparison thead th {
	background: var(--wp--preset--color--surface-soft);
	color: var(--wp--preset--color--olive);
	font-weight: 750;
}

.e-meniu-product-page .e-meniu-product-comparison tr:last-child > * {
	border-block-end: 0;
}

.e-meniu-product-page .e-meniu-comparison-mobile th + th,
.e-meniu-product-page .e-meniu-comparison-mobile td + td {
	border-inline-start: 1px solid var(--wp--preset--color--border-subtle);
}

.e-meniu-product-page .e-meniu-comparison-mobile thead th {
	padding-block: 0.3rem;
}

.e-meniu-product-page .e-meniu-comparison-mobile td {
	padding-block: 0.55rem;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.4;
	vertical-align: middle;
	overflow-wrap: anywhere;
}

.e-meniu-product-page .e-meniu-comparison-mobile-label {
	font-weight: 650;
}

.e-meniu-product-page .e-meniu-comparison-mobile-separator {
	color: var(--wp--preset--color--text-muted);
}

.e-meniu-product-page .e-meniu-comparison-symbol {
	color: var(--wp--preset--color--text-muted);
	font-size: 1.15em;
	font-weight: 700;
}

.e-meniu-product-page .e-meniu-comparison-symbol--included {
	color: var(--wp--preset--color--success);
}

.e-meniu-product-page .e-meniu-comparison-mobile .e-meniu-comparison-symbol {
	display: block;
	width: 100%;
	text-align: center;
}

.e-meniu-product-page .e-meniu-comparison-mobile tr[data-comparison-row-id="how_it_helps"] > td {
	vertical-align: top;
}

.e-meniu-product-page .e-meniu-product-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

@media (max-width: 47.99rem) {
	/* Round 2 diagnostic: opt out of mobile Product Page scroll anchoring. */
	body.e-meniu-product-page {
		overflow-anchor: none;
	}

	.e-meniu-product-page .e-meniu-product-catalog-back {
		margin-top: 0.375rem;
	}

	body.e-meniu-product-page div.product {
		padding-top: var(--wp--preset--spacing--xs);
		gap: var(--wp--preset--spacing--sm);
	}

	.e-meniu-product-page .e-meniu-product-description,
	.e-meniu-product-page .e-meniu-product-benefits,
	.e-meniu-product-page .e-meniu-product-comparison {
		margin-block-start: var(--wp--preset--spacing--sm);
	}

	.e-meniu-product-page .e-meniu-variation-description {
		font-size: var(--wp--preset--font-size--body);
		line-height: 1.5;
	}

	body.e-meniu-product-page div.product div.images {
		width: 92%;
		margin-inline: auto;
	}
}

@media (max-width: 21.99rem) {
	.e-meniu-product-page .e-meniu-product-benefit-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (min-width: 48rem) {
	.e-meniu-product-page .e-meniu-product-benefit-card {
		padding: var(--wp--preset--spacing--md);
	}
}

@media (min-width: 48rem) and (max-width: 69.999rem) {
	body.e-meniu-product-page div.product {
		grid-template-areas:
			"gallery intro"
			"gallery summary"
			"description description"
			"benefits benefits"
			"comparison comparison";
		grid-template-columns:
			minmax(0, 0.9fr)
			minmax(18rem, 1.1fr);
		grid-template-rows:
			max-content
			minmax(0, 1fr)
			auto
			auto
			auto;
		column-gap: var(--wp--preset--spacing--lg);
		row-gap: var(--wp--preset--spacing--md);
		align-items: start;
	}

	body.e-meniu-product-page div.product div.images {
		width: 100%;
		margin: 0;
		align-self: start;
	}
}

@media (min-width: 70rem) {
	.e-meniu-product-page .e-meniu-product-catalog-back {
		margin-top: -0.125rem;
	}

	body.e-meniu-product-page div.product {
		grid-template-areas:
			"gallery intro"
			"gallery summary"
			"description description"
			"benefits benefits"
			"comparison comparison";
		grid-template-columns: minmax(0, 0.85fr) minmax(20rem, 1.15fr);
		grid-template-rows: max-content minmax(0, 1fr) auto auto auto;
		column-gap: var(--wp--preset--spacing--xl);
		row-gap: var(--wp--preset--spacing--md);
		align-items: start;
		padding-top: var(--wp--preset--spacing--xs);
	}

	body.e-meniu-product-page div.product div.images {
		align-self: start;
	}

	.e-meniu-product-page .e-meniu-product-benefit-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: var(--wp--preset--spacing--md);
	}

	.e-meniu-product-page .e-meniu-product-benefit-card {
		min-height: 9rem;
	}
}

@media (min-width: 80rem) {
	.e-meniu-product-page .e-meniu-comparison-mobile {
		display: none;
	}

	.e-meniu-product-page .e-meniu-comparison-desktop {
		display: block;
		max-width: 100%;
		border: 1px solid var(--wp--preset--color--border-subtle);
		border-radius: var(--wp--custom--radius--medium);
		background: var(--wp--preset--color--surface);
	}

	.e-meniu-product-page .e-meniu-comparison-desktop table {
		width: 100%;
		min-width: 0;
		table-layout: fixed;
	}

	.e-meniu-product-page .e-meniu-comparison-desktop th,
	.e-meniu-product-page .e-meniu-comparison-desktop td {
		min-width: 0;
		max-width: none;
		font-size: 0.875rem;
		line-height: 1.3;
		text-align: center;
		vertical-align: middle;
		white-space: normal;
		overflow-wrap: anywhere;
	}

	.e-meniu-product-page .e-meniu-comparison-desktop th:first-child {
		width: 7rem;
		background: var(--wp--preset--color--surface-soft);
		text-align: left;
	}

	.e-meniu-product-page .e-meniu-comparison-desktop tbody th:first-child {
		background: var(--wp--preset--color--surface);
	}
}
