.clars-menu {
	color: #232323;
	font-family: "Sulphur Point", sans-serif;
}

.clars-menu-crossnav,
.clars-menu-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 28px;
}

.clars-menu-crossnav a,
.clars-menu-nav a {
	align-items: center;
	border: 1px solid #d5d0be;
	color: #232323;
	display: inline-flex;
	font-size: 15px;
	justify-content: center;
	line-height: 1.2;
	min-height: 38px;
	padding: 9px 14px;
	text-decoration: none;
	text-transform: uppercase;
}

.clars-menu-crossnav a {
	background: #232323;
	border-color: #232323;
	color: #fff;
}

.clars-scroll-hint-label {
	display: none;
}

.clars-menu-section {
	scroll-margin-top: 110px;
}

.clars-menu-section + .clars-menu-section {
	margin-top: 44px;
}

.clars-menu-section h2 {
	color: #232323;
	font-size: 56px;
	font-weight: 300;
	line-height: 1;
	margin: 0 0 20px;
	text-transform: uppercase;
}

.clars-menu-section-description {
	color: #646970;
	font-size: 15px;
	line-height: 1.35;
	margin: -8px 0 18px;
	max-width: 760px;
}

.clars-menu-items {
	display: grid;
	gap: 10px;
}

.clars-menu-item-public {
	align-items: start;
	border-bottom: 1px solid #d5d0be;
	display: grid;
	gap: 16px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: 0 0 12px;
}

.clars-menu-item-public h3 {
	color: #232323;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.25;
	margin: 0 0 4px;
	text-transform: none;
}

.clars-menu-description,
.clars-menu-allergens {
	color: #0c476d;
	font-size: 16px;
	line-height: 1.35;
	margin: 0;
}

.clars-menu-allergens {
	color: #646970;
	font-size: 13px;
	margin-top: 4px;
}

.clars-menu-price {
	color: #232323;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.25;
	white-space: nowrap;
}

.clars-menu-allergen-legend {
	border-top: 1px solid #d5d0be;
	margin-top: 44px;
	padding-top: 18px;
}

.clars-menu-allergen-legend h2 {
	color: #646970;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	margin: 0 0 10px;
	text-transform: uppercase;
}

.clars-menu-allergen-legend ol {
	display: grid;
	gap: 5px 16px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.clars-menu-allergen-legend li {
	color: #646970;
	font-size: 12px;
	line-height: 1.25;
	margin: 0;
}

.clars-menu-allergen-legend span {
	color: #232323;
	display: inline-block;
	font-weight: 600;
	min-width: 22px;
}

@media (max-width: 767px) {
	.clars-menu-crossnav,
	.clars-menu-nav {
		animation: clars-nav-swipe-hint 1.25s ease-out .35s 2;
		flex-wrap: nowrap;
		gap: 6px;
		margin-left: -16px;
		margin-right: -16px;
		overflow-x: auto;
		padding: 0 16px 10px;
		position: relative;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
	}

	.clars-scroll-hint-label {
		align-items: center;
		animation: clars-arrow-hint 1.25s ease-out .35s 2;
		background: transparent;
		color: #232323;
		display: flex;
		font-size: 12px;
		font-weight: 600;
		letter-spacing: 1px;
		line-height: 1;
		margin: 0 0 6px auto;
		padding: 0;
		position: relative;
		right: calc((100vw - 100%) / -2 + 4px);
		text-transform: uppercase;
		width: max-content;
	}

	.clars-scroll-hint-label b {
		font-size: 15px;
		line-height: .8;
		margin-right: 7px;
	}

	.clars-menu-crossnav:after,
	.clars-menu-nav:after {
		content: "";
		flex: 0 0 18px;
	}

	.clars-menu-crossnav::-webkit-scrollbar,
	.clars-menu-nav::-webkit-scrollbar {
		display: none;
	}

	.clars-menu-crossnav a,
	.clars-menu-nav a {
		flex: 0 0 auto;
		font-size: 13px;
		min-height: 34px;
		padding: 8px 12px;
		scroll-snap-align: start;
		white-space: nowrap;
	}

	.clars-menu-item-public {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.clars-menu-item-public h3,
	.clars-menu-price {
		font-size: 18px;
	}

	.clars-menu-description {
		font-size: 15px;
	}

	.clars-menu-section h2 {
		font-size: 34px;
	}

	.clars-menu-allergen-legend ol {
		grid-template-columns: 1fr;
	}
}

@keyframes clars-nav-swipe-hint {
	0%, 100% {
		transform: translateX(0);
	}

	28% {
		transform: translateX(-18px);
	}

	58% {
		transform: translateX(10px);
	}
}

@keyframes clars-arrow-hint {
	0%, 100% {
		transform: translateX(0);
	}

	30% {
		transform: translateX(-8px);
	}

	60% {
		transform: translateX(6px);
	}
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
	.clars-menu-crossnav,
	.clars-menu-nav,
	.clars-scroll-hint-label {
		animation: none;
	}
}
