.menu-header {
	padding: 2.5rem 0 1.5rem;
}

.wrapper {
	background-color: transparent !important;
}

/* ── Immagine di sfondo listino ── */
.pl-bg-layer {
	position: fixed;
	inset: 0;
	z-index: -1;
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
}

body:has(.pl-bg-layer) #booking-header {
	background: rgba(var(--ct-body-bg-rgb), 0.75);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: 0 0 var(--radius) var(--radius);
	padding-bottom: .5rem;
}

/* Compensa lo spazio lasciato dall'header quando passa a position: fixed,
   evitando lo scatto verso l'alto dei contenuti sottostanti */
body:has(#booking-header.price-list-sticky-header) {
	padding-top: calc(var(--sticky-header-h, 270px) + var(--tenant-topbar-h, 0px));
}

#booking-header {
	margin-bottom: 1.25rem;
}

.price-list-sticky-header {
	position: fixed;
	top: var(--tenant-topbar-h, 0px);
	left: 0;
	right: 0;
	max-width: none !important;
	z-index: 20;
	border-bottom: var(--border-style);
	background: var(--ct-body-bg);
	box-shadow: 0 25px 30px -21px rgba(0, 0, 0, .1);
	transition: all .2s ease-out;

	& .company-excerpt {
		display: none;
	}
	
	& .company_logo img {
		max-height: 60px;
		max-width: 120px;
	}

	& #category-nav-track:before,
	& #category-nav-track:after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		width: 2rem;
		pointer-events: none;
	}

	& #category-nav-track:after {
		right: 0;
		background: linear-gradient(to right, rgba(var(--ct-body-bg-rgb), 0) 0%, var(--ct-body-bg) 100%);
	}

	& #category-nav-track:before {
		left: 0;
		background: linear-gradient(to left, rgba(var(--ct-body-bg-rgb), 0) 0%, var(--ct-body-bg) 100%);
	}
}

#category-nav-track {
	display: flex;
	gap: .5rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	justify-content: center;
	padding: .5rem;
}

#category-nav-track::-webkit-scrollbar {
	display: none;
}

.category-nav-pill {
	display: inline-block;
	white-space: nowrap;
	flex-shrink: 0;
	padding: .5rem 1rem;
	border-radius: var(--radius);
	font-size: clamp(1em, 4vw, 1.3em);
	font-weight: 600;
	letter-spacing: .02em;
	/* text-transform: uppercase; */
	text-decoration: none;
	color: color-mix(var(--ct-body-color), #fff 40%);
	background: rgba(0, 0, 0, .05);
	/* border: var(--border-style); */
	transition: background .2s, color .2s, border-color .2s;
}

.category-nav-pill:hover {
	border-color: var(--ct-primary);
	color: var(--ct-primary);
	background: rgba(0, 0, 0, .05);
}

.category-nav-pill.active {
	background: var(--ct-primary);
	border-color: var(--ct-primary);
	color: var(--ct-primary-contrast, #fff);
}

.menu-header .company-logo img {
	max-height: 80px;
}

#book-button {
	position: sticky;
	top: 10px;
	z-index: 10;
	text-align: center;
}

.menu-category-title {
	/* padding-top: 2rem; */
	/* border-bottom: var(--border-style); */
	font-weight: 100;
	font-style: normal;
	color: var(--ct-secondary);
	scroll-margin-top: calc(var(--category-nav-h, 100px) + 8px);
	font-size: clamp(2em,4vw,2.8em);
}

.menu-category-desc {
	color: rgba(var(--ct-body-color-rgb), 0.65);
	margin-top: -.35rem;
	margin-bottom: 2rem;
	font-size: clamp(.95rem, 4vw, 1.25rem);
	font-weight: 200;
}

.menu-item {
	/* display: flex; */
	/* justify-content: space-between; */
	/* align-items: flex-start; */
	/* gap: 1rem; */
	padding: .75rem 0;
	margin-bottom: clamp(0rem,2vw,1rem);
	/* border-bottom: 1px dashed rgba(0, 0, 0, .1); */
}

.menu-item:last-child{
	margin-bottom: 0;
}

/* .menu-item:last-child {
	border-bottom: none;
} */

.menu-item-header {
	display: flex;
	justify-content: space-between;
	align-items: start;
	gap: 1rem;
	width: 100%;
}

.menu-item-header b {
	border-bottom: 2px dotted color-mix(var(--ct-body-color), #fff 80%);
	flex-grow: 1;
	flex-shrink: 1;
	padding-top: 1rem;
}

.menu-item-name {
	margin: 0;
	font-size: clamp(1.2em,4vw,1.5em);
	font-weight: 700;
	color: color-mix(var(--ct-body-color), #fff 40%);
}

.menu-item-subtitle {
	font-weight: 700;
	font-size: .8em;
	color: color-mix(var(--ct-body-color), #fff 40%);
}

.menu-item-desc {
	margin-bottom: .15rem;
	color: rgba(var(--ct-body-color-rgb), 0.65);
	font-size: clamp(1em, 4vw,1.3em);
	font-weight: 100;
}

.menu-item-notes {
	font-size: 1em;
	font-style: italic;
	color: color-mix(var(--ct-secondary), #fff 40%);
}

.menu-item-price {
	white-space: nowrap;
	font-weight: 700;
	font-size: clamp(1.2em, 4vw, 1.5em);
	color: var(--ct-primary);
	text-align: right;
}

.menu-item-price-cut {
	font-weight: 400;
	font-size: 0.8em;
	color: color-mix(var(--ct-body-color), #fff 60%) !important;
	display: block;
}

.menu-item-price-tag {
	display: block;
	font-size: .8rem;
	font-weight: 400;
	color: rgba(var(--ct-body-color-rgb), 0.65);
}

.menu-list-notes {
	background: rgba(0, 0, 0, .03);
	border-left: 3px solid var(--ct-primary);
	padding: .6rem 1rem;
	border-radius: 0 var(--radius) var(--radius) 0;
	font-size: .8rem;
	color: rgba(var(--ct-body-color-rgb), 0.65);
	margin-bottom: 1.5rem;
}

.menu-section {
	padding: clamp(1rem, 3.5vw, 4rem);
	background: rgba(var(--ct-body-bg-rgb), 0.7);
	box-shadow: 0 10px 10px -9px rgba(0,0,0, 0.1);
	border: var(--border-style);
	border-radius: var(--radius);
	margin-bottom: 2rem;
	backdrop-filter: blur(6px);
}

.menu-uncategorized .menu-category-title {
	color: rgba(var(--ct-body-color-rgb), 0.5);
	border-color: rgba(0, 0, 0, .08);
}

.back-link {
	font-size: .85rem;
}

.back-link a {
	color: rgba(var(--ct-body-color-rgb), 0.65);
	text-decoration: none;
	transition: color .15s;
}

.back-link a:hover {
	color: var(--ct-primary);
}

/* ── Varianti di prezzo (es. calice / bottiglia) ── */

.menu-item-variants {
	margin-top: .5rem;
	display: flex;
	flex-direction: column;
	gap: .15rem;
}

.menu-item-variant {
	display: flex;
	align-items: baseline;
	gap: .6rem;
}

.menu-item-variant-label {
	font-size: clamp(.9em, 3.5vw, 1.15em);
	color: rgba(var(--ct-body-color-rgb), 0.72);
	white-space: nowrap;
}

.menu-item-variant-dots {
	border-bottom: 2px dotted color-mix(in srgb, var(--ct-body-color) 25%, transparent);
	flex-grow: 1;
	flex-shrink: 1;
	min-width: 1rem;
	margin-bottom: .2em;
}

.menu-item-variant-price {
	white-space: nowrap;
	font-weight: 700;
	font-size: clamp(1em, 3.5vw, 1.25em);
	color: var(--ct-primary);
}

@media (max-width: 767px) {

	#category-nav-track {
		justify-content: start;
	}

}