/*
 * Amici — styles theme.json cannot express.
 * Colors come from theme.json presets (light values). Dark mode swaps the
 * same preset variables, so every block that uses a preset follows along.
 */

/* ---------- Dark mode (follows the visitor's device setting) ---------- */

:root {
	color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
	/* Doubled selectors outrank the global-styles preset declarations. */
	html:root,
	html body {
		--wp--preset--color--base: #15100e;
		--wp--preset--color--surface: #221a17;
		--wp--preset--color--base-alt: #1c1513;
		--wp--preset--color--contrast: #f4ece1;
		--wp--preset--color--heading: #ffffff;
		--wp--preset--color--muted: #bfaf9f;
		--wp--preset--color--border: #3a2f2b;
		--wp--preset--color--accent: #f55d05;
		/* Buttons and the Happy Hour band stay burnt orange with white text. */
		--wp--preset--color--primary: #b33f00;
		--wp--preset--color--on-primary: #ffffff;
		--wp--preset--color--link: #f7a26f;
		--wp--preset--color--kicker: #f7a26f;
		--wp--preset--color--night: #0e0a09;
		--wp--preset--color--on-night: #e6dacb;
	}

	/* The logo is black; show it white on the dark header. */
	.site-header__logo img {
		filter: brightness(0) invert(1);
	}
}

/* ---------- Base ---------- */

html {
	scroll-padding-top: 1rem;
}

body {
	-webkit-font-smoothing: antialiased;
}

/* Images never grow past their column (the events calendar's single event
   photo relies on the theme for this). */
img {
	height: auto;
	max-width: 100%;
}

:where(.wp-site-blocks) > * {
	margin-block-start: 0;
}

.has-script-font-family {
	font-weight: 400 !important;
	letter-spacing: 0 !important;
	line-height: 1 !important;
	text-transform: none !important;
}

/* Small uppercase labels above headings. */
.amici-kicker {
	color: var(--wp--preset--color--kicker);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	margin: 0;
	text-transform: uppercase;
}

/* ---------- Top strip ---------- */

.site-topbar {
	font-size: var(--wp--preset--font-size--small);
}

.site-topbar__inner {
	align-items: center;
	display: grid;
	gap: 4px 16px;
	grid-template-columns: 1fr auto 1fr;
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size);
}

.site-topbar__inner > * {
	margin: 0 !important;
}

.site-topbar__hours { justify-self: start; }
.site-topbar__address { justify-self: center; text-align: center; }
.site-topbar__phone { justify-self: end; font-weight: 600; }

.site-topbar a {
	color: inherit;
	text-decoration: none;
}

.site-topbar a:hover,
.site-topbar a:focus-visible {
	text-decoration: underline;
}

@media (max-width: 999px) {
	.site-topbar__inner {
		grid-template-columns: 1fr;
	}

	.site-topbar__hours,
	.site-topbar__phone {
		justify-self: center;
	}
}

/* ---------- Header ---------- */

.site-header__main {
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.site-header__main > .wp-block-group {
	flex-wrap: nowrap !important;
}

.site-header__logo {
	margin: 0;
}

.site-header__logo img {
	display: block;
	width: clamp(120px, 12vw, 150px) !important;
}

.site-nav .wp-block-navigation-item__content {
	text-decoration: none;
	white-space: nowrap;
}

/* Doubled class: core's navigation styles print after the theme's. */
.site-nav .wp-block-navigation-item__content.wp-block-navigation-item__content:hover,
.site-nav .wp-block-navigation-item__content.wp-block-navigation-item__content:focus-visible {
	color: var(--wp--preset--color--link);
}

.site-nav .current-menu-item > .wp-block-navigation-item__content,
.site-nav [aria-current="page"] {
	box-shadow: inset 0 -2px 0 var(--wp--preset--color--link);
}

/* "Order Online" is an ordinary menu item; style it as the call to action. */
.site-nav .wp-block-navigation-item__content.wp-block-navigation-item__content[href*="order.online"] {
	background: var(--wp--preset--color--primary);
	border-radius: 999px;
	color: var(--wp--preset--color--on-primary);
	padding: 0.75rem 1.25rem;
}

.site-nav .wp-block-navigation-item__content.wp-block-navigation-item__content[href*="order.online"]:hover,
.site-nav .wp-block-navigation-item__content.wp-block-navigation-item__content[href*="order.online"]:focus-visible {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

/* Separate "Order Online" button shown beside the hamburger on small screens. */
.site-header .site-header__order {
	display: none !important;
}

/*
 * Core switches to the hamburger only below 600px; the full menu needs
 * about 1000px to sit on one line beside the logo, so keep the hamburger
 * up to there.
 */
@media (max-width: 999px) {
	.site-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.site-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}

	.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		display: flex;
	}

	.site-header .site-header__order {
		display: flex !important;
	}

	.site-nav .wp-block-navigation-item:has(> .wp-block-navigation-item__content[href*="order.online"]) {
		display: none;
	}
}

/* The hero's buttons: the same width as the ordering buttons below them. */
.wp-block-buttons.amici-hero__buttons {
	display: grid !important;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 180px));
}

.amici-hero__buttons > .wp-block-button,
.amici-hero__buttons .wp-block-button__link {
	box-sizing: border-box;
	text-align: center;
	width: 100%;
}

/* The header's Order Online button. */
.site-header__order .wp-block-button__link,
.amici-hero__buttons .wp-block-button__link {
	font-size: 0.8125rem;
	letter-spacing: 0.06em;
	padding: 0.7rem 1rem;
	text-transform: uppercase;
	white-space: nowrap;
}

/* Hero buttons: the ordering images' exact shape (400 × 111), slightly larger text. */
.amici-hero__buttons .wp-block-button__link {
	align-items: center;
	aspect-ratio: 400 / 111;
	display: flex;
	font-size: 0.9375rem;
	justify-content: center;
	padding: 0 1rem;
}

@media (max-width: 599px) {
	.amici-hero__buttons .wp-block-button__link {
		font-size: 0.875rem;
		padding-inline: 0.5rem;
	}
}

.site-nav .wp-block-navigation__responsive-container-open {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
	height: 44px;
	justify-content: center;
	width: 44px;
}

/* Mobile overlay menu */
.site-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast) !important;
	padding: 1.5rem;
}

.site-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.site-nav .is-menu-open .wp-block-navigation__container,
.site-nav .is-menu-open .wp-block-navigation-item {
	align-items: flex-start !important;
	text-align: left;
	width: 100%;
}

.site-nav .is-menu-open .wp-block-navigation__container {
	gap: 0 !important;
}

.site-nav .is-menu-open .wp-block-navigation-item__content {
	border-bottom: 1px solid var(--wp--preset--color--border);
	display: block;
	font-size: 0.9375rem;
	padding: 0.9rem 0 !important;
	width: 100%;
}

/* ---------- Footer ---------- */

.site-footer h2 {
	color: var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	margin: 0 0 0.5rem;
	text-transform: uppercase;
}

.site-footer p {
	margin-block: 0;
}

.site-footer a {
	color: #fffdfa;
	text-decoration-color: rgba(255, 253, 250, 0.4);
	text-underline-offset: 0.2em;
}

.site-footer a:hover {
	color: var(--wp--preset--color--accent);
}

.site-footer .wp-block-site-logo img,
.site-footer__logo img {
	filter: brightness(0) invert(1);
}

.site-footer__phone a {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.625rem;
	font-weight: 600;
	text-decoration: none;
}

.site-footer__legal {
	border-top: 1px solid rgba(255, 253, 250, 0.16);
	color: #bfaf9f;
	padding-top: 1.25rem;
}

/* ---------- Buttons ---------- */

.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button.is-style-outline-light > .wp-block-button__link {
	background: transparent;
	border: 2px solid currentColor;
	padding: calc(0.9em - 2px) calc(1.6em - 2px);
}

.wp-block-button.is-style-outline > .wp-block-button__link {
	color: var(--wp--preset--color--contrast);
}

.wp-block-button.is-style-outline-light > .wp-block-button__link {
	color: #ffffff;
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

.wp-block-button.is-style-outline-light > .wp-block-button__link:hover {
	background: #ffffff;
	color: #15100e;
}

/* Solid orange button: the same burnt orange as every other button. */
.wp-block-button.is-style-orange > .wp-block-button__link {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--on-primary);
}

/* ---------- Homepage: spacing between sections ---------- */

.amici-home-section {
	margin-top: 64px !important;
}

.home .site-footer {
	margin-top: 64px !important;
}

@media (max-width: 599px) {
	.amici-home-section,
	.home .site-footer {
		margin-top: 48px !important;
	}
}

/* Welcome line under the hero: light serif, highlights in burnt orange,
   framed by hairlines that sit in the existing spacing (no extra height). */
.amici-home-intro {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 860px;
	position: relative;
	text-align: center;
}

.amici-home-intro::before,
.amici-home-intro::after {
	background:
		radial-gradient(circle, var(--wp--preset--color--accent) 0 3px, transparent 3.5px) center / 8px 8px no-repeat,
		linear-gradient(var(--wp--preset--color--accent), var(--wp--preset--color--accent)) left center / calc(50% - 10px) 1px no-repeat,
		linear-gradient(var(--wp--preset--color--accent), var(--wp--preset--color--accent)) right center / calc(50% - 10px) 1px no-repeat;
	content: "";
	height: 8px;
	left: 50%;
	opacity: 0.75;
	position: absolute;
	transform: translateX(-50%);
	width: 120px;
}

.amici-home-intro::before {
	top: -30px;
}

.amici-home-intro::after {
	bottom: -30px;
}

.amici-home-intro p {
	color: var(--wp--preset--color--heading);
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(1.5rem, 2.8vw, 2.125rem);
	font-weight: 350;
	letter-spacing: -0.005em;
	line-height: 1.32;
	margin: 0;
	text-wrap: balance;
}

.amici-home-intro__hl {
	color: var(--wp--preset--color--link);
	font-weight: 500;
	white-space: nowrap;
}

@media (max-width: 599px) {
	.amici-home-intro::before {
		top: -24px;
	}

	.amici-home-intro::after {
		bottom: -24px;
	}
}

/* ---------- Homepage: hero ---------- */

.wp-block-group.amici-hero {
	color: #ffffff;
	display: flex;
	flex-direction: column;
	isolation: isolate;
	justify-content: flex-end;
	margin-top: 0 !important;
	min-height: 680px;
	overflow: hidden;
	position: relative;
}

/* The photo is an ordinary image block stretched behind the content. */
.amici-hero > .amici-hero__bg {
	inset: 0;
	margin: 0 !important;
	position: absolute;
	z-index: -2;
}

.amici-hero > .amici-hero__bg img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.amici-hero::before {
	background: rgba(21, 16, 14, 0.6);
	content: "";
	inset: 0;
	position: absolute;
	z-index: -1;
}

.amici-hero > * {
	margin-block: 0 !important;
}

.amici-hero__content > * + * {
	margin-top: 12px;
}

/* Online ordering: the platforms' own "Order online with …" buttons. */
/* Two per row on every screen, left-aligned under the hero buttons. */
.amici-order-logos {
	display: grid !important;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 180px));
}

.amici-order-logos > .amici-order-logo {
	margin: 0 !important;
}

.amici-order-logo a {
	border-radius: 999px;
	display: block;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.amici-order-logo img {
	display: block;
	height: auto;
	max-width: 100%;
}

/* Grubhub's image has no pill of its own. */
.amici-order-logo--pill a {
	background: #ffffff;
}

.amici-order-logo a:hover,
.amici-order-logo a:focus-visible {
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.85);
}

/* Image that fills its column height (menus section). */
.amici-fill,
.amici-fill img {
	height: 100%;
	margin: 0;
}

.amici-fill img {
	min-height: 420px;
	object-fit: cover;
	width: 100%;
}

.amici-hero__content {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size);
	padding: 80px 24px 64px;
	width: 100%;
}

.amici-hero h1 {
	color: #ffffff;
	max-width: 880px;
}

/* Break after "of" on wider screens only; phones wrap naturally. */
@media (max-width: 599px) {
	.amici-hero__break {
		display: none;
	}
}

.amici-hero .has-script-font-family {
	color: #f55d05;
}

.amici-infobar {
	background: rgba(21, 16, 14, 0.88);
	border-top: 1px solid rgba(244, 236, 225, 0.14);
	color: #f4ecE1;
}

.amici-infobar__inner {
	display: grid;
	gap: 0 24px;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size);
	padding: 0 24px;
}

.amici-infobar__inner > * {
	margin: 0 !important;
	padding: 20px 0;
}

.amici-infobar .amici-kicker {
	color: #f7a26f;
}

.amici-infobar p {
	margin: 4px 0 0;
}

.amici-infobar a {
	color: #f7a26f;
}

/* ---------- Homepage: menu cards ---------- */

.amici-menu-cards {
	display: grid !important;
	gap: 14px !important;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.amici-menu-cards .wp-block-button {
	width: 100%;
}

.amici-menu-cards .wp-block-button__link {
	align-items: center;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 14px;
	box-sizing: border-box;
	color: var(--wp--preset--color--heading);
	display: flex;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.3rem;
	font-weight: 600;
	gap: 16px;
	justify-content: space-between;
	letter-spacing: -0.01em;
	line-height: 1.2;
	min-height: 92px;
	padding: 18px 20px 18px 22px;
	position: relative;
	text-align: left;
	width: 100%;
}

/* Short orange rule above the name. */
.amici-menu-cards .wp-block-button__link::before {
	background: var(--wp--preset--color--accent);
	content: "";
	height: 2px;
	left: 22px;
	position: absolute;
	top: 20px;
	width: 22px;
}

/* Arrow in a circle on the right. */
.amici-menu-cards .wp-block-button__link::after {
	align-items: center;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 50%;
	color: var(--wp--preset--color--link);
	content: "→";
	display: inline-flex;
	flex: 0 0 34px;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1rem;
	height: 34px;
	justify-content: center;
	width: 34px;
}

.amici-menu-cards .wp-block-button__link:hover {
	background: var(--wp--preset--color--surface);
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--heading);
}

.amici-rounded img,
img.amici-rounded {
	border-radius: 20px;
}

/* ---------- Homepage: live music ---------- */

.amici-events {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
}

.amici-events__featured {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 20px;
	color: inherit;
	display: flex;
	flex: 3 1 520px;
	flex-wrap: wrap;
	min-width: 0;
	overflow: hidden;
	text-decoration: none;
}

.amici-events__featured-img {
	background: var(--wp--preset--color--base-alt);
	display: block;
	flex: 1 1 300px;
	height: 360px;
	min-width: 0;
	object-fit: cover;
}

.amici-events__featured-body {
	display: flex;
	flex: 1 1 260px;
	flex-direction: column;
	justify-content: center;
	padding: 30px;
}

.amici-events__title {
	color: var(--wp--preset--color--heading);
	display: block;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	line-height: 1.1;
}

.amici-events__featured .amici-events__title {
	font-size: 2.5rem;
	margin-top: 8px;
}

.amici-events__excerpt {
	color: var(--wp--preset--color--muted);
	display: block;
	margin-top: 12px;
	overflow-wrap: anywhere;
}

/* The text beside each small event photo may shrink below its longest word or link. */
.amici-events__item a > span {
	min-width: 0;
}

/* Long links in page text (e.g. Promote's social links) wrap instead of
   pushing the page sideways on phones. */
.wp-block-post-content a {
	overflow-wrap: anywhere;
}

.amici-events__more {
	color: var(--wp--preset--color--link);
	display: block;
	font-weight: 600;
	margin-top: 18px;
}

.amici-events__list {
	display: flex;
	flex: 2 1 340px;
	flex-direction: column;
	list-style: none;
	margin: 0;
	min-width: 0;
	padding: 0;
}

.amici-events__item a {
	align-items: center;
	border-bottom: 1px solid var(--wp--preset--color--border);
	color: inherit;
	display: flex;
	gap: 18px;
	padding: 16px 0;
	text-decoration: none;
}

.amici-events__thumb {
	background: var(--wp--preset--color--base-alt);
	display: block;
	border-radius: 12px;
	flex: 0 0 92px;
	height: 92px;
	object-fit: cover;
	width: 92px;
}

.amici-events__item .amici-events__title {
	font-size: 1.375rem;
}

.amici-events__item .amici-events__excerpt {
	font-size: 0.875rem;
	line-height: 1.45;
	margin-top: 2px;
}

.amici-events__empty {
	color: var(--wp--preset--color--muted);
}

/* ---------- Homepage: happy hour band ---------- */

.amici-happy {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--on-primary);
}

.amici-happy :where(h2, h3, p, .amici-kicker) {
	color: var(--wp--preset--color--on-primary);
}

/* The tiles sit side by side: no stacked-block spacing above the 2nd, 3rd, 4th. */
.amici-happy__prices > * {
	margin: 0 !important;
}

.amici-happy__prices {
	display: grid !important;
	gap: 20px !important;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.amici-happy__price {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 2.625rem;
	font-weight: 600;
	line-height: 1;
	margin: 0;
}

.amici-happy__what {
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	margin: 6px 0 0;
}

/* ---------- Homepage: order band ---------- */

.amici-order-band {
	background: #48302c;
	border: 1px solid #48302c;
	border-radius: 24px;
	color: #fffdfa;
}

@media (prefers-color-scheme: dark) {
	.amici-order-band {
		background: #221a17;
		border-color: #3a2f2b;
	}
}

.amici-order-band h2 {
	color: #fffdfa;
}

.amici-order-band p {
	color: #e9dfd0;
}

.amici-order-band a:not(.wp-block-button__link) {
	color: #fffdfa;
}

.amici-order-band .wp-block-button:not(.is-style-outline-light) > .wp-block-button__link {
	background: #fffdfa;
	color: #2d1e1c;
}

/* ---------- Menu pages ---------- */

.amici-menu-tabs {
	border-bottom: 1px solid var(--wp--preset--color--border);
	display: flex;
	flex-wrap: wrap;
	font-size: 0.9375rem;
	font-weight: 600;
	gap: 0 26px;
	list-style: none;
	margin: 0 auto;
	max-width: var(--wp--style--global--wide-size);
	padding: 0;
}

.amici-menu-tabs a {
	color: var(--wp--preset--color--muted);
	display: block;
	padding: 12px 0;
	text-decoration: none;
}

.amici-menu-tabs a:hover,
.amici-menu-tabs a:focus-visible {
	box-shadow: inset 0 -1px 0 var(--wp--preset--color--link);
	color: var(--wp--preset--color--link);
}

.amici-menu-tabs a[aria-current="page"] {
	box-shadow: inset 0 -3px 0 var(--wp--preset--color--accent);
	color: var(--wp--preset--color--heading);
}

.amici-menu-tabs a[aria-current="page"]:hover {
	color: var(--wp--preset--color--link);
}

@media (prefers-reduced-motion: no-preference) {
	.amici-menu-tabs a {
		transition: color 0.15s ease, box-shadow 0.15s ease;
	}
}

.amici-menu-jump {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 10px;
}

.amici-menu-jump__label {
	color: var(--wp--preset--color--kicker);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	margin-right: 4px;
	text-transform: uppercase;
}

.amici-menu-jump a {
	align-items: center;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	box-sizing: border-box;
	color: var(--wp--preset--color--contrast);
	display: inline-flex;
	font-size: 0.8125rem;
	font-weight: 600;
	gap: 6px;
	letter-spacing: 0.04em;
	min-height: 40px;
	padding: 8px 14px;
	text-decoration: none;
}

.amici-menu-jump a::after {
	content: "⌄";
	line-height: 0.6;
}

.amici-menu-jump a:hover {
	border-color: var(--wp--preset--color--accent);
}

.amici-menu-intro {
	text-align: center;
}

.amici-menu-intro :where(h2, h3) {
	font-size: var(--wp--preset--font-size--large);
	letter-spacing: 0.02em;
}

.amici-menu-section {
	padding-top: 44px;
	scroll-margin-top: 16px;
}

.amici-menu-section > h2 {
	margin: 0;
}

.amici-menu-section__sub {
	color: var(--wp--preset--color--heading);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.625rem;
	font-weight: 600;
	line-height: 1.2;
	margin: 6px 0 0 !important;
}

.amici-menu-grid {
	display: grid !important;
	gap: 0 56px !important;
	grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr));
	margin-top: 18px !important;
}

/* Menu item: group.is-style-menu-item > [p.menu-item__label] group.menu-item__row(h3, p.menu-item__price) [p.menu-item__description] */
.wp-block-group.is-style-menu-item {
	border-bottom: 1px solid var(--wp--preset--color--border);
	margin: 0 !important;
	padding: 16px 0;
}

.is-style-menu-item > * {
	margin: 0 !important;
}

.is-style-menu-item .menu-item__row {
	align-items: baseline;
	display: flex;
	gap: 20px;
	justify-content: space-between;
}

.is-style-menu-item .menu-item__row > h3 {
	color: var(--wp--preset--color--heading);
	font-family: var(--wp--preset--font-family--body);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.35;
	margin: 0;
	min-width: 0;
}

.is-style-menu-item .menu-item__price {
	color: var(--wp--preset--color--link);
	font-weight: 700;
	margin: 0;
	white-space: nowrap;
}

.is-style-menu-item .menu-item__description {
	color: var(--wp--preset--color--muted);
	font-size: 0.9375rem;
	line-height: 1.5;
	margin-top: 3px !important;
}

.is-style-menu-item .menu-item__label {
	color: var(--wp--preset--color--kicker);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-bottom: 2px !important;
}

/* Notes that apply to a whole section (styled like the Pizza crust line). */
.amici-menu-section__note {
	color: var(--wp--preset--color--heading);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.625rem;
	font-weight: 600;
	line-height: 1.2;
	margin: 6px 0 0 !important;
}

/* A longer note after some of the items: full width, a step smaller. */
.amici-menu-section__note--after {
	border-bottom: 1px solid var(--wp--preset--color--border);
	font-size: 1.25rem;
	line-height: 1.35;
	padding: 18px 0;
}

.amici-menu-section > .amici-menu-grid + .amici-menu-grid,
.amici-menu-section__note--after + .amici-menu-grid {
	margin-top: 0 !important;
}

/* Additions (salad, pasta): full width, the extras in two columns. */
.amici-menu-grid > .menu-item--additions {
	grid-column: 1 / -1;
}

.is-style-menu-item .menu-item__lead {
	color: var(--wp--preset--color--muted);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-top: 6px !important;
}

.amici-additions {
	display: grid !important;
	gap: 0 56px !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 599px) {
	.amici-additions {
		grid-template-columns: 1fr;
	}
}

.amici-addition {
	align-items: baseline;
	border-bottom: 1px dashed var(--wp--preset--color--border);
	display: flex;
	gap: 20px;
	justify-content: space-between;
	margin: 0 !important;
	padding: 8px 0;
}

.amici-additions > .amici-addition {
	margin: 0 !important;
}

.amici-addition > p {
	margin: 0;
}

.amici-addition__name {
	color: var(--wp--preset--color--heading);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.amici-addition .menu-item__price {
	color: var(--wp--preset--color--link);
	font-weight: 700;
	white-space: nowrap;
}

/* Beer lists (On Tap, Bottles): cards with one beer per line. */
.wp-block-group.menu-item--list {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 16px;
	margin-bottom: 24px !important;
	padding: 20px 24px;
}

.menu-item--list .menu-item__row > h3 {
	font-size: 1.0625rem;
}

.is-style-menu-item .menu-item__list {
	color: var(--wp--preset--color--contrast);
	font-size: 1rem;
	line-height: 1.8;
	margin-top: 10px !important;
}

.amici-fine-print {
	background: var(--wp--preset--color--base-alt);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 16px;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.55;
	margin-top: 64px !important;
	padding: 22px 26px;
}

.amici-fine-print p {
	margin: 0 0 8px;
}

.amici-fine-print p:last-child {
	margin-bottom: 0;
}

/* ---------- Catering + Parties ---------- */

/* Shorter photo banner; the photo and overlay work like the homepage hero. */
.wp-block-group.amici-page-hero {
	color: #ffffff;
	display: flex;
	flex-direction: column;
	isolation: isolate;
	justify-content: flex-end;
	margin-top: 0 !important;
	min-height: 380px;
	overflow: hidden;
	position: relative;
}

.amici-page-hero > .amici-hero__bg {
	inset: 0;
	margin: 0 !important;
	position: absolute;
	z-index: -2;
}

.amici-page-hero > .amici-hero__bg img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.amici-page-hero::before {
	background: linear-gradient(180deg, rgba(21, 16, 14, 0.35), rgba(21, 16, 14, 0.75));
	content: "";
	inset: 0;
	position: absolute;
	z-index: -1;
}

.amici-page-hero__content {
	box-sizing: border-box;
	margin: 0 auto !important;
	max-width: var(--wp--style--global--wide-size);
	padding: 64px 24px 48px;
	width: 100%;
}

.amici-page-hero__content > * {
	margin: 0;
}

.amici-page-hero h1 {
	color: #ffffff;
	margin-top: 8px;
}

.amici-page-intro {
	margin: 64px auto 0 !important;
	max-width: 760px;
	text-align: center;
}

.amici-page-intro h2 {
	margin: 0;
}

.amici-page-intro p {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.6;
	margin: 12px 0 0;
}

.amici-page-intro__cta {
	margin-top: 28px !important;
}

.amici-page-intro .amici-page-intro__cta p {
	color: var(--wp--preset--color--heading);
	font-size: var(--wp--preset--font-size--medium);
}

.amici-page-intro__cta .wp-block-buttons {
	justify-content: center;
	margin-top: 16px;
}

.amici-room {
	border-top: 1px solid var(--wp--preset--color--border);
	margin-top: 64px !important;
	padding-top: 56px;
	scroll-margin-top: 16px;
}

.amici-room .wp-block-columns {
	gap: 24px 56px !important;
}

.amici-room__text > * {
	margin: 0;
}

.amici-room__text h2 {
	margin-top: 6px;
}

.amici-room__text p:not(.amici-kicker) {
	color: var(--wp--preset--color--muted);
	line-height: 1.65;
	margin-top: 16px;
}

.amici-room__text .wp-block-buttons {
	margin-top: 24px;
}

/* Floor plans: white cards, readable in dark mode too; tap to enlarge. */
.wp-block-gallery.amici-floorplans {
	gap: 16px !important;
	margin: 0;
}

.amici-floorplans .wp-block-image {
	background: #ffffff;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 14px;
	overflow: hidden;
	padding: 10px;
}

/* Keep every plan the same size (the gallery would stretch a lone last one). */
.wp-block-gallery.amici-floorplans.columns-2 > .wp-block-image {
	flex-grow: 0 !important;
	width: calc(50% - 8px) !important;
}

.wp-block-gallery.amici-floorplans--single > .wp-block-image:not(#individual-image) {
	max-width: 520px !important;
}

@media (max-width: 599px) {
	.wp-block-gallery.amici-floorplans.columns-2 > .wp-block-image {
		width: 100% !important;
	}
}

.amici-floorplans .wp-block-image img {
	display: block;
	height: auto !important;
	object-fit: contain !important;
}

.amici-order-band.amici-offsite {
	margin-top: 80px !important;
	padding: 48px;
	text-align: center;
}

.amici-offsite > * {
	margin: 0 auto;
	max-width: 640px;
}

.amici-offsite h2 {
	margin-top: 6px;
}

.amici-offsite p:not(.amici-kicker) {
	margin-top: 10px;
}

.amici-order-band .amici-kicker {
	color: #f7a26f;
}

@media (max-width: 781px) {
	.amici-room .wp-block-column {
		flex-basis: 100% !important;
	}

	.amici-order-band.amici-offsite {
		padding: 36px 24px;
	}
}

/* ---------- Party Menus ---------- */

.amici-page-hero .amici-kicker {
	color: #f7a26f;
}

.amici-packages {
	display: grid !important;
	gap: 24px !important;
	grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
	margin-top: 18px !important;
}

.amici-package {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 20px;
	margin: 0 !important;
	padding: 32px 28px;
}

.amici-package > *,
.amici-package__head > * {
	margin: 0;
}

/* Name and prices stay centered as the card's header; the courses read left-aligned. */
.amici-package__head {
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding-bottom: 24px;
	text-align: center;
}

.amici-package__name {
	font-size: var(--wp--preset--font-size--x-large);
}

.amici-package__prices {
	color: var(--wp--preset--color--muted);
	font-size: 0.9375rem;
	line-height: 1.5;
	margin-top: 12px !important;
}

.amici-package__prices strong {
	color: var(--wp--preset--color--link);
	display: inline-block;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.75rem;
	font-weight: 600;
	line-height: 1.2;
	margin-top: 8px;
}

/* Footnote mark after a price: small, raised, muted. */
.amici-mark {
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.5em;
	font-weight: 600;
	margin-left: 1px;
	vertical-align: super;
}

.amici-package > .amici-kicker {
	margin-top: 24px !important;
}

.amici-package__tag {
	background: var(--wp--preset--color--base-alt);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	color: var(--wp--preset--color--heading);
	display: inline-block;
	font-size: 0.8125rem;
	font-weight: 600;
	margin-top: 12px !important;
	padding: 6px 14px;
}

.amici-package__course {
	margin-top: 24px !important;
}

.amici-package__course > * {
	margin: 0;
}

.amici-package__label {
	color: var(--wp--preset--color--heading);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.1875rem;
	font-weight: 600;
	line-height: 1.3;
}

.amici-package__course > .amici-kicker {
	margin-top: 14px !important;
}

.amici-package__dishes {
	list-style: none;
	margin: 6px 0 0 !important;
	padding: 0;
}

.amici-package__dishes li {
	border-bottom: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--contrast);
	font-size: 0.9375rem;
	line-height: 1.45;
	padding: 8px 0;
}

.amici-package__dishes li:last-child {
	border-bottom: 0;
}

.amici-packages__note {
	color: var(--wp--preset--color--muted);
	margin-top: 24px !important;
	text-align: center;
}

.amici-beverage__list {
	margin-top: 6px !important;
}

.amici-beverage__list > .amici-addition:last-child {
	border-bottom: 0;
}

/* ---------- Party Trays To Go ---------- */

/* Two columns of sections on wide screens, like the printed order form. */
.amici-trays {
	display: grid !important;
	gap: 0 56px !important;
	grid-template-columns: repeat(auto-fit, minmax(min(460px, 100%), 1fr));
}

.amici-trays > .amici-trays__section {
	margin: 0 !important;
}

.amici-trays__labels,
.amici-tray .menu-item__row {
	display: grid !important;
	gap: 12px !important;
	grid-template-columns: 1fr 76px 76px;
}

.amici-trays__labels {
	border-bottom: 1px solid var(--wp--preset--color--border);
	margin-top: 14px !important;
	padding-bottom: 6px;
}

.amici-trays__labels > :first-child {
	grid-column: 2;
}

.amici-trays__label {
	color: var(--wp--preset--color--kicker);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin: 0 !important;
	text-align: right;
	text-transform: uppercase;
}

.amici-trays__list > .amici-tray {
	margin: 0 !important;
	padding: 10px 0;
}

.amici-tray .menu-item__row > * {
	margin: 0 !important;
}

.amici-tray .menu-item__price {
	text-align: right;
}

.amici-tray--sub h3 {
	color: var(--wp--preset--color--muted) !important;
	font-weight: 500 !important;
	padding-left: 16px;
}

.amici-trays__section .amici-menu-section__note {
	color: var(--wp--preset--color--muted);
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.875rem;
	font-weight: 500;
}

.amici-trays__call {
	margin-top: 14px !important;
}

.amici-page-intro .wp-block-buttons {
	justify-content: center;
	margin-top: 16px;
}

@media (max-width: 599px) {
	.amici-trays__labels,
	.amici-tray .menu-item__row {
		grid-template-columns: 1fr 58px 58px;
	}
}

/* ---------- Contact ---------- */

/* Info on the left, the message form beside it as the page's main card. */
.amici-contact {
	align-items: flex-start !important;
	margin-top: 8px !important;
}

.amici-contact__main > * {
	margin: 0;
}

.amici-contact__phone {
	font-size: clamp(2rem, 5vw, 3rem);
	margin-top: 8px !important;
}

.amici-contact__phone a {
	color: var(--wp--preset--color--heading);
	text-decoration: none;
}

.amici-contact__phone a:hover {
	color: var(--wp--preset--color--accent);
}

.amici-contact__main > p:not(.amici-kicker) {
	color: var(--wp--preset--color--muted);
	line-height: 1.65;
	margin-top: 18px;
}

/* Address + directions and Follow us, side by side under the text. */
.amici-contact__details {
	border-top: 1px solid var(--wp--preset--color--border);
	display: grid !important;
	gap: 24px 32px;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	margin-top: 32px !important;
	padding-top: 28px;
}

.amici-contact__details > * {
	margin: 0 !important;
}

.amici-contact__address {
	color: var(--wp--preset--color--heading);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.1875rem;
	font-weight: 600;
	line-height: 1.4;
	margin: 0;
}

.amici-contact__visit .wp-block-buttons {
	margin-top: 16px;
}

.amici-contact__follow > * {
	margin: 0;
}

.amici-contact__follow .amici-social {
	gap: 12px;
	margin-top: 12px;
}

.amici-social.wp-block-social-links .wp-social-link {
	background: var(--wp--preset--color--surface) !important;
	border: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--heading) !important;
}

.amici-social.wp-block-social-links .wp-social-link a {
	padding: 10px;
}

.amici-social.wp-block-social-links .wp-social-link:hover {
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent) !important;
}

/* Form switched off (Appearance → Amici settings): text left, address card right. */
.amici-contact--no-form > .wp-block-column:first-child {
	flex-basis: 58% !important;
}

.amici-contact--no-form > .wp-block-column:last-child {
	flex-basis: 42% !important;
}

.amici-contact__visit-card .wp-block-buttons {
	margin-top: 24px;
}

.amici-contact__visit-card .amici-contact__address {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.35;
}

.amici-contact__card {
	background: var(--wp--preset--color--base-alt);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 20px;
	padding: 36px;
}

.amici-contact__form h3 {
	font-size: var(--wp--preset--font-size--x-large);
	margin: 0 0 20px;
}

@media (max-width: 599px) {
	.amici-contact__card {
		padding: 28px 22px;
	}

	.amici-contact__form h3 {
		font-size: var(--wp--preset--font-size--large);
	}
}

/* ---------- Generic pages ---------- */

.page-banner .wp-block-post-title {
	margin: 0;
	text-wrap: balance;
}

/* ---------- The Events Calendar ---------- */

body {
	--tec-color-accent-primary: var(--wp--preset--color--primary);
	--tec-color-accent-primary-hover: var(--wp--preset--color--contrast);
	--tec-color-accent-primary-active: var(--wp--preset--color--contrast);
	--tec-color-button-primary: var(--wp--preset--color--primary);
	--tec-color-link-accent: var(--wp--preset--color--link);
	--tec-color-link-accent-hover: var(--wp--preset--color--contrast);
	--tec-color-text-primary: var(--wp--preset--color--contrast);
	--tec-color-text-secondary: var(--wp--preset--color--muted);
	--tec-color-text-event-date: var(--wp--preset--color--kicker);
	--tec-color-border-default: var(--wp--preset--color--border);
	--tec-color-background: var(--wp--preset--color--base);
	--tec-color-background-events-bar-submit-button: var(--wp--preset--color--primary);
	--tec-color-background-events-bar-submit-button-hover: var(--wp--preset--color--accent);
	--tec-color-background-events-bar-submit-button-active: var(--wp--preset--color--accent);
	--tec-color-text-events-bar-submit-button: var(--wp--preset--color--on-primary);
	--tec-color-text-events-bar-submit-button-hover: var(--wp--preset--color--on-primary);
	--tec-color-text-events-bar-submit-button-active: var(--wp--preset--color--on-primary);
	--tec-color-button-primary-hover: var(--wp--preset--color--accent);
	--tec-color-button-primary-active: var(--wp--preset--color--accent);
	--tec-color-button-primary-background: transparent;
	--tec-color-button-secondary: var(--wp--preset--color--contrast);
	--tec-color-accent-secondary: var(--wp--preset--color--contrast);
	--tec-color-link-primary: var(--wp--preset--color--contrast);

	/* Event titles and dates (Pro's photo, map and week views use these too). */
	--tec-color-text-event-title: var(--wp--preset--color--heading);
	--tec-color-text-event-title-list: var(--wp--preset--color--heading);
	--tec-color-text-events-title: var(--wp--preset--color--heading);
	--tec-color-text-events-title-day: var(--wp--preset--color--heading);
	--tec-color-text-events-title-latest-past: var(--wp--preset--color--heading);
	--tec-color-text-events-title-month-multiday: var(--wp--preset--color--heading);
	--tec-color-text-events-title-widget-list: var(--wp--preset--color--heading);
	--tec-color-text-primary-light: var(--wp--preset--color--muted);
	--tec-color-text-secondary-event-date: var(--wp--preset--color--muted);
	--tec-color-text-secondary-event-date-month: var(--wp--preset--color--muted);
	--tec-color-text-secondary-event-date-month-mobile: var(--wp--preset--color--muted);
	--tec-color-text-day-of-week-month: var(--wp--preset--color--muted);
	--tec-color-text-day-of-week-week: var(--wp--preset--color--muted);
	--tec-color-day-marker-month: var(--wp--preset--color--contrast);
	--tec-color-day-marker-current-month: var(--wp--preset--color--contrast);
	--tec-color-day-marker-past-month: var(--wp--preset--color--muted);
	--tec-color-category-text: var(--wp--preset--color--contrast);

	/* Search bar, view picker, tooltips. */
	--tec-color-background-events-bar: var(--wp--preset--color--base);
	--tec-color-background-search-container: var(--wp--preset--color--base);
	--tec-color-background-secondary: var(--wp--preset--color--base-alt);
	--tec-color-background-secondary-hover: var(--wp--preset--color--surface);
	--tec-color-background-secondary-datepicker: var(--wp--preset--color--base-alt);
	--tec-color-background-subscribe-list-item-hover: var(--wp--preset--color--base-alt);
	--tec-color-background-tooltip: var(--wp--preset--color--surface);
	--tec-color-background-transparent: transparent;
	--tec-color-background-view-selector: var(--wp--preset--color--surface);
	--tec-color-background-view-selector-tabs: var(--wp--preset--color--surface);
	--tec-color-background-view-selector-list-item-hover: var(--wp--preset--color--base-alt);
	--tec-color-text-view-selector-list-item: var(--wp--preset--color--contrast);
	--tec-color-text-view-selector-list-item-hover: var(--wp--preset--color--accent);
	--tec-color-text-events-bar-input: var(--wp--preset--color--contrast);
	--tec-color-text-events-bar-input-placeholder: var(--wp--preset--color--muted);
	--tec-color-border-events-bar: var(--wp--preset--color--border);
	--tec-color-border-secondary: var(--wp--preset--color--border);
	--tec-color-border-secondary-month-grid: var(--wp--preset--color--border);
	--tec-color-border-tertiary: var(--wp--preset--color--muted);
	--tec-color-border-hover: var(--wp--preset--color--muted);
	--tec-color-border-active: var(--wp--preset--color--contrast);

	/* Icons. */
	--tec-color-icon-primary: var(--wp--preset--color--muted);
	--tec-color-icon-primary-alt: var(--wp--preset--color--muted);
	--tec-color-icon-active: var(--wp--preset--color--contrast);
	--tec-color-icon-focus: var(--wp--preset--color--accent);
	--tec-color-icon-events-bar: var(--wp--preset--color--muted);
	--tec-color-icon-events-bar-active: var(--wp--preset--color--contrast);
	--tec-color-event-icon: var(--wp--preset--color--muted);
	--tec-color-event-icon-hover: var(--wp--preset--color--accent);
	--tec-color-recurring-icon-photo: var(--wp--preset--color--muted);
	--tec-color-recurring-icon-list: var(--wp--preset--color--muted);
	--tec-color-recurring-icon-month: var(--wp--preset--color--muted);
	--tec-color-recurring-icon-day: var(--wp--preset--color--muted);
	--tec-font-family-sans-serif: var(--wp--preset--font-family--body);
	--tec-font-family-base: var(--wp--preset--font-family--body);
}

.tribe-events .tribe-events-calendar-list__event-title,
.tribe-events .tribe-events-calendar-list__month-separator-text,
.tribe-events-single-event-title,
.tribe-events .tribe-events-calendar-day__event-title,
.tribe-events .tribe-events-calendar-month__header-column-title {
	font-family: var(--wp--preset--font-family--heading) !important;
}

.tribe-events .tribe-events-calendar-list__event-title-link {
	color: var(--wp--preset--color--heading);
}

.tec-block__single-event #tribe-events-pg-template {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: 1000px;
	padding: var(--wp--preset--spacing--50) 24px var(--wp--preset--spacing--60);
}

/* ---------- Motion ---------- */

@media (prefers-reduced-motion: no-preference) {
	a,
	.wp-element-button,
	.wp-block-button__link {
		transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
	}
}
