/*
Theme Name: Sapore Trattoria
Theme URI: https://saporetrattoria.com/
Description: Tema hijo de Divi diseñado para Sapore Trattoria.
Author: Sapore Trattoria
Version: 2026.07.29
Template: Divi
Text Domain: sapore
Update URI: https://saporetrattoria.com/tema-sapore
*/

:root {
	--sapore-red: #9b1f24;
	--sapore-red-dark: #641317;
	--sapore-green: #0f5d3a;
	--sapore-green-dark: #083c28;
	--sapore-cream: #f5efe3;
	--sapore-cream-deep: #e9dfcc;
	--sapore-paper: #fbf8f1;
	--sapore-ink: #211b17;
	--sapore-muted: #6f655d;
	--sapore-gold: #c8a66b;
	--sapore-line: rgba(33, 27, 23, .15);
	--sapore-serif: "Cormorant Garamond", Georgia, serif;
	--sapore-sans: "DM Sans", Arial, sans-serif;
	--sapore-shadow: 0 22px 70px rgba(44, 27, 15, .14);
}

html {
	scroll-behavior: smooth;
}

body.sapore-site {
	margin: 0;
	background: var(--sapore-paper);
	color: var(--sapore-ink);
	font-family: var(--sapore-sans);
	font-size: 16px;
	line-height: 1.7;
	overflow-x: hidden;
}

.sapore-site *,
.sapore-site *::before,
.sapore-site *::after {
	box-sizing: border-box;
}

.sapore-site img {
	display: block;
	max-width: 100%;
	height: auto;
}

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

.sapore-site button,
.sapore-site input,
.sapore-site textarea,
.sapore-site select {
	font: inherit;
}

.sapore-site h1,
.sapore-site h2,
.sapore-site h3,
.sapore-site h4,
.sapore-site p {
	margin-top: 0;
}

.sapore-site :focus-visible {
	outline: 3px solid var(--sapore-gold);
	outline-offset: 4px;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.sapore-skip-link {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 10000;
	padding: 12px 18px;
	background: var(--sapore-ink);
	color: #fff;
	transform: translateY(-150%);
}

.sapore-skip-link:focus {
	transform: translateY(0);
}

.sapore-container {
	width: min(1180px, calc(100% - 48px));
	margin-inline: auto;
}

.sapore-section {
	padding: 112px 0;
}

.sapore-section--compact {
	padding: 82px 0;
}

.sapore-display {
	font-family: var(--sapore-serif);
	font-size: clamp(3rem, 6vw, 5.3rem);
	font-weight: 600;
	letter-spacing: -.045em;
	line-height: .98;
}

.sapore-eyebrow {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 18px;
	color: var(--sapore-red);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .2em;
	line-height: 1.3;
	text-transform: uppercase;
}

.sapore-eyebrow::before {
	width: 30px;
	height: 1px;
	background: currentColor;
	content: "";
}

.sapore-eyebrow--light {
	color: #f2d9ae;
}

.sapore-lead {
	font-family: var(--sapore-serif);
	font-size: clamp(1.55rem, 2.5vw, 2.1rem);
	line-height: 1.35;
}

.sapore-button {
	display: inline-flex;
	min-height: 52px;
	align-items: center;
	justify-content: center;
	padding: 13px 25px;
	border: 1px solid var(--sapore-red);
	background: var(--sapore-red);
	color: #fff !important;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .11em;
	line-height: 1.2;
	text-transform: uppercase;
	transition: background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
}

.sapore-button:hover {
	border-color: var(--sapore-red-dark);
	background: var(--sapore-red-dark);
	transform: translateY(-2px);
}

.sapore-button--small {
	min-height: 44px;
	padding: 10px 20px;
	font-size: .69rem;
}

.sapore-button--dark {
	border-color: var(--sapore-ink);
	background: var(--sapore-ink);
}

.sapore-button--dark:hover {
	border-color: var(--sapore-green);
	background: var(--sapore-green);
}

.sapore-button--ghost {
	border-color: rgba(255, 255, 255, .72);
	background: transparent;
}

.sapore-button--ghost:hover {
	border-color: #fff;
	background: #fff;
	color: var(--sapore-ink) !important;
}

.sapore-button--whatsapp {
	border-color: #207d4e;
	background: #207d4e;
}

.sapore-button-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
}

.sapore-text-link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding-bottom: 4px;
	border-bottom: 1px solid var(--sapore-ink);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.sapore-text-link span {
	transition: transform .2s ease;
}

.sapore-text-link:hover span {
	transform: translateX(4px);
}

.sapore-text-link--light {
	border-color: rgba(255, 255, 255, .6);
	color: #fff;
}

.sapore-center {
	margin-top: 48px;
	text-align: center;
}

/* Header */
.sapore-topbar {
	position: relative;
	z-index: 50;
	background: var(--sapore-green-dark);
	color: rgba(255, 255, 255, .82);
	font-size: .69rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.sapore-topbar__inner {
	display: flex;
	min-height: 34px;
	align-items: center;
	justify-content: center;
	gap: 14px;
}

.sapore-topbar a:hover {
	color: #fff;
}

.sapore-topbar__phone {
	position: absolute;
	right: 0;
}

.sapore-header {
	position: sticky;
	top: 0;
	z-index: 45;
	border-bottom: 1px solid rgba(33, 27, 23, .1);
	background: rgba(251, 248, 241, .96);
	box-shadow: 0 8px 30px rgba(37, 24, 15, .04);
	backdrop-filter: blur(12px);
}

.admin-bar .sapore-header {
	top: 32px;
}

.sapore-header__inner {
	display: grid;
	min-height: 96px;
	align-items: center;
	grid-template-columns: 180px 1fr 180px;
	transition: min-height .25s ease;
}

.sapore-header.is-scrolled .sapore-header__inner {
	min-height: 74px;
}

.sapore-brand {
	display: inline-flex;
	width: fit-content;
	align-items: center;
}

.sapore-brand img {
	width: 126px;
	height: 76px;
	object-fit: contain;
	mix-blend-mode: multiply;
	transition: height .25s ease, width .25s ease;
}

.sapore-header.is-scrolled .sapore-brand img {
	width: 106px;
	height: 62px;
}

.sapore-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(20px, 3vw, 42px);
}

.sapore-nav a {
	position: relative;
	padding: 12px 0;
	font-size: .73rem;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.sapore-nav a::after {
	position: absolute;
	right: 0;
	bottom: 4px;
	left: 0;
	height: 1px;
	background: var(--sapore-red);
	content: "";
	transform: scaleX(0);
	transition: transform .2s ease;
}

.sapore-nav a:hover::after,
.sapore-nav a[aria-current="page"]::after {
	transform: scaleX(1);
}

.sapore-header__cta {
	justify-self: end;
}

.sapore-menu-toggle,
.sapore-mobile-nav {
	display: none;
}

/* Home hero */
.sapore-hero {
	position: relative;
	display: flex;
	min-height: min(810px, calc(100vh - 130px));
	align-items: center;
	isolation: isolate;
	background: var(--sapore-ink) var(--hero-image) center 47% / cover no-repeat;
	color: #fff;
}

.sapore-hero__overlay {
	position: absolute;
	z-index: -1;
	inset: 0;
	background: linear-gradient(90deg, rgba(18, 12, 9, .93) 0%, rgba(18, 12, 9, .7) 42%, rgba(18, 12, 9, .12) 77%, rgba(18, 12, 9, .18) 100%);
}

.sapore-hero__content {
	padding-top: 72px;
	padding-bottom: 92px;
}

.sapore-hero h1 {
	max-width: 790px;
	margin-bottom: 28px;
	font-family: var(--sapore-serif);
	font-size: clamp(4.7rem, 8.5vw, 8.1rem);
	font-weight: 600;
	letter-spacing: -.055em;
	line-height: .82;
	color: #fff;
}

.sapore-hero h1 em {
	color: #ebc989;
	font-weight: 500;
}

.sapore-hero__lead {
	max-width: 620px;
	margin-bottom: 36px;
	color: rgba(255, 255, 255, .86);
	font-size: 1.08rem;
	line-height: 1.75;
}

.sapore-hero__seal {
	position: absolute;
	right: clamp(24px, 6vw, 96px);
	bottom: 48px;
	display: grid;
	width: 128px;
	height: 128px;
	place-content: center;
	border: 1px solid rgba(255, 255, 255, .58);
	border-radius: 50%;
	background: rgba(20, 14, 10, .28);
	text-align: center;
	transform: rotate(-8deg);
}

.sapore-hero__seal span {
	font-family: var(--sapore-serif);
	font-size: .92rem;
	font-style: italic;
}

.sapore-hero__seal strong {
	color: #ebc989;
	font-family: var(--sapore-serif);
	font-size: 1.7rem;
	line-height: .8;
}

/* Intro */
.sapore-intro {
	background: var(--sapore-paper);
}

.sapore-intro__grid {
	display: grid;
	align-items: start;
	grid-template-columns: .9fr 1.1fr;
	gap: clamp(50px, 9vw, 140px);
}

.sapore-intro__copy {
	padding-top: 26px;
}

.sapore-intro__copy .sapore-lead {
	margin-bottom: 34px;
}

.sapore-values-strip {
	display: grid;
	margin-top: 90px;
	border-top: 1px solid var(--sapore-line);
	border-bottom: 1px solid var(--sapore-line);
	grid-template-columns: repeat(4, 1fr);
}

.sapore-values-strip div {
	display: flex;
	min-height: 112px;
	flex-direction: column;
	justify-content: center;
	padding: 24px 30px;
	border-right: 1px solid var(--sapore-line);
}

.sapore-values-strip div:last-child {
	border-right: 0;
}

.sapore-values-strip strong {
	font-family: var(--sapore-serif);
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.1;
}

.sapore-values-strip span {
	color: var(--sapore-muted);
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* Dishes */
.sapore-dishes {
	background: var(--sapore-cream);
}

.sapore-section-heading {
	max-width: 810px;
	margin-bottom: 56px;
}

.sapore-section-heading--center {
	margin-inline: auto;
	text-align: center;
}

.sapore-section-heading--center .sapore-eyebrow {
	justify-content: center;
}

.sapore-section-heading > p:last-child {
	max-width: 610px;
	color: var(--sapore-muted);
}

.sapore-section-heading--center > p:last-child {
	margin-inline: auto;
}

.sapore-dish-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}

.sapore-dish-card {
	position: relative;
	min-height: 520px;
	overflow: hidden;
	background: #1b1714;
	box-shadow: var(--sapore-shadow);
}

.sapore-dish-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .7s ease;
}

.sapore-dish-card::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 38%, rgba(14, 10, 8, .88) 100%);
	content: "";
}

.sapore-dish-card:hover img {
	transform: scale(1.035);
}

.sapore-dish-card > div {
	position: absolute;
	z-index: 2;
	right: 0;
	bottom: 0;
	left: 0;
	padding: 34px;
	color: #fff;
}

.sapore-dish-card span {
	color: #e6c681;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.sapore-dish-card h3 {
	margin-bottom: 6px;
	font-family: var(--sapore-serif);
	font-size: 2.35rem;
	font-weight: 600;
	line-height: 1.05;
	color: #fff;
}

.sapore-dish-card p {
	margin: 0;
	color: rgba(255, 255, 255, .77);
	font-size: .86rem;
	line-height: 1.55;
}

/* Story band */
.sapore-story-band {
	display: grid;
	min-height: 700px;
	background: var(--sapore-red-dark);
	grid-template-columns: 1.05fr .95fr;
}

.sapore-story-band__image {
	min-height: 600px;
	overflow: hidden;
}

.sapore-story-band__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sapore-story-band__content {
	display: flex;
	max-width: 640px;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: 90px clamp(48px, 7vw, 120px);
	color: #fff;
}

.sapore-story-band__content h2 {
	margin-bottom: 30px;
	font-family: var(--sapore-serif);
	font-size: clamp(3.2rem, 5vw, 5.3rem);
	font-weight: 600;
	letter-spacing: -.045em;
	line-height: .94;
	color: #fff;
}

.sapore-story-band__content > p:not(.sapore-eyebrow) {
	margin-bottom: 32px;
	color: rgba(255, 255, 255, .8);
}

/* Locations */
.sapore-locations-preview {
	background: var(--sapore-paper);
}

.sapore-location-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.sapore-location-card {
	position: relative;
	display: grid;
	min-height: 480px;
	overflow: hidden;
	padding: 48px;
	background: var(--sapore-red-dark);
	color: #fff;
	grid-template-columns: 1fr;
}

.sapore-location-card--green {
	background: var(--sapore-green-dark);
}

.sapore-location-card--upcoming {
	background: linear-gradient(145deg, #765728, #352715);
}

.sapore-location-card__number {
	margin-bottom: 30px;
	color: rgba(255, 255, 255, .16);
	font-family: var(--sapore-serif);
	font-size: 4rem;
	line-height: 1;
}

.sapore-location-card h3 {
	margin-bottom: 18px;
	font-family: var(--sapore-serif);
	font-size: clamp(3.1rem, 4.6vw, 4.2rem);
	font-weight: 600;
	line-height: .95;
	color: #fff;
}

.sapore-location-card p {
	color: rgba(255, 255, 255, .78);
}

.sapore-location-card .sapore-eyebrow {
	color: #efcf96;
}

.sapore-hours {
	margin: 28px 0;
	padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, .18);
	font-size: .88rem;
}

.sapore-hours strong {
	display: inline-block;
	min-width: 75px;
	color: #fff;
}

.sapore-hours span {
	display: inline-block;
	margin-top: 8px;
	color: rgba(255, 255, 255, .65);
}

.sapore-card-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 28px;
}

.sapore-card-actions a {
	border-bottom: 1px solid rgba(255, 255, 255, .45);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

/* Accolades */
.sapore-accolades {
	padding: 94px 0;
	background: var(--sapore-ink);
	color: #fff;
	text-align: center;
}

.sapore-accolades .sapore-eyebrow {
	justify-content: center;
}

.sapore-accolades h2 {
	max-width: 760px;
	margin: 0 auto 22px;
	font-family: var(--sapore-serif);
	font-size: clamp(2.6rem, 4.5vw, 4.2rem);
	font-weight: 600;
	line-height: 1;
	color: #fff;
}

.sapore-accolades__intro {
	max-width: 700px;
	margin: 0 auto 50px;
	color: rgba(255, 255, 255, .68);
}

.sapore-tripadvisor {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 18px;
	text-align: left;
}

.sapore-tripadvisor > * {
	min-width: 0;
}

.sapore-tripadvisor__featured,
.sapore-tripadvisor__reviews,
.sapore-tripadvisor__summary,
.sapore-tripadvisor__write {
	padding: 30px;
	border: 1px solid rgba(255, 255, 255, .14);
	background: rgba(255, 255, 255, .045);
}

.sapore-tripadvisor__featured {
	display: flex;
	grid-column: span 4;
	grid-row: span 2;
	flex-direction: column;
	justify-content: space-between;
}

.sapore-tripadvisor__reviews {
	grid-column: span 8;
}

.sapore-tripadvisor__summary {
	display: grid;
	align-items: center;
	grid-column: span 8;
	grid-template-columns: 1.2fr .8fr;
	gap: 24px;
}

.sapore-tripadvisor__summary > *,
.sapore-tripadvisor__badges,
.sapore-tripadvisor__write > * {
	min-width: 0;
}

.sapore-tripadvisor__write {
	display: flex;
	align-items: center;
	justify-content: space-between;
	grid-column: 1 / -1;
	gap: 28px;
}

.sapore-tripadvisor__label {
	margin-bottom: 16px;
	color: var(--sapore-gold);
	font-size: .67rem;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.sapore-tripadvisor__featured > p:last-child {
	margin: 20px 0 0;
	color: rgba(255, 255, 255, .63);
	font-family: var(--sapore-serif);
	font-size: 1.32rem;
	line-height: 1.25;
}

.sapore-tripadvisor__write h3 {
	max-width: 560px;
	margin-bottom: 0;
	color: #fff;
	font-family: var(--sapore-serif);
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	font-weight: 600;
	line-height: 1.05;
}

.sapore-tripadvisor__badges {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 18px;
}

.sapore-tripadvisor__widget {
	width: 100%;
	min-width: 0;
	max-width: 100%;
	overflow-x: auto;
	color: var(--sapore-ink);
	-webkit-overflow-scrolling: touch;
}

.sapore-tripadvisor__widget > div {
	margin-inline: auto;
}

.sapore-tripadvisor__widget ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sapore-tripadvisor__widget img {
	display: inline-block;
	max-width: 100%;
	height: auto;
}

.sapore-tripadvisor__widget iframe {
	max-width: 100% !important;
}

.sapore-tripadvisor__widget--award {
	display: grid;
	min-height: 245px;
	place-items: center;
	padding: 18px;
	background: #fff;
}

.sapore-tripadvisor__widget--reviews {
	display: grid;
	min-height: 250px;
	place-items: center;
	padding: 10px;
	background: #fff;
}

.sapore-accolades__grid {
	display: grid;
	border-top: 1px solid rgba(255, 255, 255, .15);
	border-bottom: 1px solid rgba(255, 255, 255, .15);
	grid-template-columns: repeat(3, 1fr);
}

.sapore-accolades__grid a {
	display: flex;
	min-height: 130px;
	flex-direction: column;
	justify-content: center;
	padding: 24px;
	border-right: 1px solid rgba(255, 255, 255, .15);
	transition: background .2s ease;
}

.sapore-accolades__grid a:last-child {
	border-right: 0;
}

.sapore-accolades__grid a:hover {
	background: rgba(255, 255, 255, .06);
}

.sapore-accolades__grid span {
	color: var(--sapore-gold);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.sapore-accolades__grid strong {
	font-family: var(--sapore-serif);
	font-size: 1.65rem;
	font-weight: 600;
}

.sapore-reserve-cta {
	padding: 82px 0;
	background: var(--sapore-gold);
}

.sapore-reserve-cta__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 48px;
}

.sapore-reserve-cta .sapore-display {
	max-width: 820px;
	margin-bottom: 0;
	font-size: clamp(2.8rem, 5vw, 4.8rem);
}

/* Page heroes */
.sapore-page-hero {
	position: relative;
	display: flex;
	min-height: 520px;
	align-items: flex-end;
	isolation: isolate;
	background: var(--sapore-ink) var(--hero-image) center 48% / cover no-repeat;
	color: #fff;
}

.sapore-page-hero--about {
	min-height: 610px;
	background-position: center 45%;
}

.sapore-page-hero__overlay {
	position: absolute;
	z-index: -1;
	inset: 0;
	background: linear-gradient(90deg, rgba(20, 13, 10, .9), rgba(20, 13, 10, .25) 75%);
}

.sapore-page-hero__content {
	padding-top: 90px;
	padding-bottom: 75px;
}

.sapore-page-hero h1 {
	max-width: 900px;
	margin-bottom: 12px;
	font-family: var(--sapore-serif);
	font-size: clamp(4.5rem, 9vw, 8rem);
	font-weight: 600;
	letter-spacing: -.05em;
	line-height: .86;
	color: #fff;
}

.sapore-page-hero--about h1 {
	font-size: clamp(4.2rem, 8vw, 7rem);
}

.sapore-page-hero__content > p:last-child {
	max-width: 570px;
	color: rgba(255, 255, 255, .82);
	font-size: 1.02rem;
}

.sapore-simple-hero {
	padding: 116px 0 92px;
	background: var(--sapore-cream);
	text-align: center;
}

.sapore-simple-hero .sapore-eyebrow {
	justify-content: center;
}

.sapore-simple-hero .sapore-display {
	margin-bottom: 18px;
	font-size: clamp(4.2rem, 9vw, 8rem);
}

.sapore-simple-hero > .sapore-container > p:last-child {
	color: var(--sapore-muted);
	font-size: 1.05rem;
}

.sapore-simple-hero--small {
	padding: 90px 0 70px;
}

.sapore-simple-hero--small .sapore-display {
	font-size: clamp(3.5rem, 7vw, 6rem);
}

.sapore-simple-hero--404 {
	display: grid;
	min-height: 65vh;
	place-content: center;
}

/* Menu */
.sapore-menu-jump {
	position: sticky;
	top: 96px;
	z-index: 35;
	overflow-x: auto;
	border-bottom: 1px solid var(--sapore-line);
	background: rgba(251, 248, 241, .97);
	white-space: nowrap;
	backdrop-filter: blur(12px);
}

.admin-bar .sapore-menu-jump {
	top: 128px;
}

.sapore-menu-jump .sapore-container {
	display: flex;
	min-height: 62px;
	align-items: center;
	justify-content: center;
	gap: 34px;
}

.sapore-menu-jump a {
	padding: 20px 0 17px;
	border-bottom: 2px solid transparent;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.sapore-menu-jump a:hover {
	border-color: var(--sapore-red);
	color: var(--sapore-red);
}

.sapore-menu-intro__grid {
	display: grid;
	align-items: end;
	grid-template-columns: 1fr .8fr;
	gap: 80px;
}

.sapore-menu-intro__grid .sapore-display {
	margin-bottom: 0;
}

.sapore-menu-intro__grid > p {
	margin-bottom: 0;
	color: var(--sapore-muted);
}

.sapore-menu-category {
	padding: 96px 0;
	scroll-margin-top: 170px;
}

.sapore-menu-category--tint {
	background: var(--sapore-cream);
}

.sapore-menu-category__header {
	display: flex;
	align-items: end;
	justify-content: space-between;
	margin-bottom: 58px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--sapore-line);
	gap: 30px;
}

.sapore-menu-category__header > div {
	display: flex;
	align-items: baseline;
	gap: 20px;
}

.sapore-menu-category__header span {
	color: var(--sapore-red);
	font-size: .72rem;
	font-weight: 700;
}

.sapore-menu-category__header h2 {
	margin-bottom: 0;
	font-family: var(--sapore-serif);
	font-size: clamp(3.2rem, 6vw, 5.3rem);
	font-weight: 600;
	letter-spacing: -.04em;
	line-height: .9;
}

.sapore-menu-category__header p {
	margin-bottom: 3px;
	color: var(--sapore-muted);
	font-family: var(--sapore-serif);
	font-size: 1.35rem;
	font-style: italic;
}

.sapore-menu-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 80px;
	row-gap: 42px;
}

.sapore-menu-item__top {
	display: grid;
	align-items: baseline;
	grid-template-columns: auto 1fr auto;
	gap: 12px;
}

.sapore-menu-item h3 {
	margin-bottom: 7px;
	font-family: var(--sapore-serif);
	font-size: 1.42rem;
	font-weight: 700;
	line-height: 1.15;
}

.sapore-menu-item__top span {
	border-bottom: 1px dotted rgba(33, 27, 23, .28);
}

.sapore-menu-item__top strong {
	color: var(--sapore-red);
	font-size: .82rem;
	white-space: nowrap;
}

.sapore-menu-item p {
	max-width: 530px;
	margin-bottom: 0;
	color: var(--sapore-muted);
	font-size: .84rem;
	line-height: 1.55;
}

.sapore-menu-note {
	padding: 100px 0;
	background: var(--sapore-green-dark);
	color: #fff;
}

.sapore-menu-note__inner {
	display: grid;
	align-items: center;
	grid-template-columns: 1fr .8fr;
	gap: 80px;
}

.sapore-menu-note img {
	width: 100%;
	height: 450px;
	object-fit: cover;
	box-shadow: var(--sapore-shadow);
}

.sapore-menu-note h2 {
	margin-bottom: 22px;
	font-family: var(--sapore-serif);
	font-size: clamp(3rem, 5vw, 4.8rem);
	font-weight: 600;
	letter-spacing: -.04em;
	line-height: .95;
	color: #fff;
}

.sapore-menu-note__inner > div > p:not(.sapore-eyebrow) {
	margin-bottom: 30px;
	color: rgba(255, 255, 255, .75);
}

/* About */
.sapore-about-lead__grid {
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	gap: clamp(50px, 9vw, 140px);
}

.sapore-about-lead__grid > div:last-child > p:last-child {
	color: var(--sapore-muted);
}

.sapore-about-image-band {
	position: relative;
	height: min(70vw, 780px);
	min-height: 520px;
	overflow: hidden;
}

.sapore-about-image-band::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(20, 13, 10, .72), rgba(20, 13, 10, .08) 70%);
	content: "";
}

.sapore-about-image-band img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sapore-about-image-band blockquote {
	position: absolute;
	z-index: 2;
	top: 50%;
	left: max(24px, calc((100vw - 1180px) / 2));
	max-width: 650px;
	margin: 0;
	color: #fff;
	font-family: var(--sapore-serif);
	font-size: clamp(2.8rem, 5vw, 5.1rem);
	font-style: italic;
	font-weight: 500;
	letter-spacing: -.04em;
	line-height: 1;
	transform: translateY(-50%);
}

.sapore-pillars {
	background: var(--sapore-cream);
}

.sapore-pillars__grid {
	display: grid;
	border-top: 1px solid var(--sapore-line);
	border-bottom: 1px solid var(--sapore-line);
	grid-template-columns: repeat(3, 1fr);
}

.sapore-pillars__grid article {
	min-height: 310px;
	padding: 46px;
	border-right: 1px solid var(--sapore-line);
}

.sapore-pillars__grid article:last-child {
	border-right: 0;
}

.sapore-pillars__grid span {
	color: var(--sapore-red);
	font-size: .72rem;
	font-weight: 700;
}

.sapore-pillars__grid h3 {
	margin: 44px 0 14px;
	font-family: var(--sapore-serif);
	font-size: 2.7rem;
	font-weight: 600;
}

.sapore-pillars__grid p {
	color: var(--sapore-muted);
	font-size: .9rem;
}

.sapore-gallery-grid {
	display: grid;
	height: 570px;
	grid-template-columns: 1.3fr .7fr 1fr;
}

.sapore-gallery-grid img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Full locations */
.sapore-locations-full {
	padding-top: 100px;
}

.sapore-location-full {
	display: grid;
	align-items: stretch;
	margin-bottom: 100px;
	grid-template-columns: .8fr 1.2fr;
	box-shadow: var(--sapore-shadow);
}

.sapore-location-full--reverse {
	grid-template-columns: 1.2fr .8fr;
}

.sapore-location-full--reverse .sapore-location-full__visual {
	order: 2;
}

.sapore-location-full__visual {
	display: flex;
	min-height: 620px;
	flex-direction: column;
	justify-content: flex-end;
	padding: 50px;
	color: #fff;
}

.sapore-location-full__visual--red {
	background: linear-gradient(145deg, var(--sapore-red), var(--sapore-red-dark));
}

.sapore-location-full__visual--green {
	background: linear-gradient(145deg, var(--sapore-green), var(--sapore-green-dark));
}

.sapore-location-full__visual--gold {
	background: linear-gradient(145deg, #a17a3f, #4e381d);
}

.sapore-location-full--upcoming .sapore-location-full__content {
	background: linear-gradient(135deg, #fff, #f4ecdc);
}

.sapore-opening-note {
	color: var(--sapore-muted);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.sapore-location-full__visual span {
	margin-bottom: auto;
	color: rgba(255, 255, 255, .25);
	font-family: var(--sapore-serif);
	font-size: 6rem;
}

.sapore-location-full__visual strong {
	font-family: var(--sapore-serif);
	font-size: clamp(3.5rem, 6vw, 5.3rem);
	font-weight: 600;
	line-height: .9;
}

.sapore-location-full__visual small {
	margin-top: 12px;
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.sapore-location-full__content {
	padding: clamp(48px, 7vw, 88px);
	background: #fff;
}

.sapore-location-full__content > h2 {
	margin-bottom: 38px;
	font-family: var(--sapore-serif);
	font-size: clamp(3rem, 5vw, 4.7rem);
	font-weight: 600;
	letter-spacing: -.04em;
	line-height: .95;
}

.sapore-location-details {
	display: grid;
	margin-bottom: 38px;
	border-top: 1px solid var(--sapore-line);
	border-bottom: 1px solid var(--sapore-line);
	grid-template-columns: repeat(3, 1fr);
}

.sapore-location-details > div {
	padding: 28px 22px 28px 0;
	border-right: 1px solid var(--sapore-line);
}

.sapore-location-details > div:not(:first-child) {
	padding-left: 22px;
}

.sapore-location-details > div:last-child {
	border-right: 0;
}

.sapore-location-details h3 {
	margin-bottom: 10px;
	color: var(--sapore-red);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.sapore-location-details p {
	margin-bottom: 0;
	color: var(--sapore-muted);
	font-size: .82rem;
}

.sapore-location-details a {
	text-decoration: underline;
	text-decoration-color: rgba(33, 27, 23, .25);
	text-underline-offset: 3px;
}

/* Reservations */
.sapore-reservation-hero {
	position: relative;
	display: grid;
	min-height: 560px;
	place-items: center;
	isolation: isolate;
	background: var(--sapore-ink) var(--hero-image) center / cover no-repeat;
	color: #fff;
	text-align: center;
}

.sapore-reservation-hero__overlay {
	position: absolute;
	z-index: -1;
	inset: 0;
	background: rgba(18, 12, 9, .76);
}

.sapore-reservation-hero__content {
	padding: 80px 0;
}

.sapore-reservation-hero .sapore-eyebrow {
	justify-content: center;
}

.sapore-reservation-hero h1 {
	margin-bottom: 20px;
	font-family: var(--sapore-serif);
	font-size: clamp(4.6rem, 9vw, 8rem);
	font-weight: 600;
	letter-spacing: -.055em;
	line-height: .85;
	color: #fff;
}

.sapore-reservation-hero p:last-child {
	max-width: 620px;
	margin: 0 auto;
	color: rgba(255, 255, 255, .8);
}

.sapore-reservation-section {
	background: var(--sapore-cream);
}

.sapore-reservation-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.sapore-reservation-card {
	position: relative;
	display: flex;
	min-height: 520px;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	padding: clamp(34px, 4vw, 52px);
	overflow: hidden;
	background: var(--sapore-red-dark);
	color: #fff;
}

.sapore-reservation-card--green {
	background: var(--sapore-green-dark);
}

.sapore-reservation-card--upcoming {
	background: linear-gradient(145deg, #765728, #352715);
}

.sapore-reservation-card__number {
	position: absolute;
	top: 20px;
	right: 34px;
	color: rgba(255, 255, 255, .12);
	font-family: var(--sapore-serif);
	font-size: 11rem;
	line-height: 1;
}

.sapore-reservation-card .sapore-eyebrow {
	color: var(--sapore-gold);
}

.sapore-reservation-card h2 {
	margin-bottom: 18px;
	font-family: var(--sapore-serif);
	font-size: clamp(3.2rem, 4.8vw, 4.8rem);
	font-weight: 600;
	line-height: .85;
	color: #fff;
}

.sapore-reservation-card > p:not(.sapore-eyebrow) {
	max-width: 470px;
	margin-bottom: 28px;
	color: rgba(255, 255, 255, .75);
}

.sapore-reservation-card > a:last-child {
	margin-top: 18px;
	border-bottom: 1px solid rgba(255, 255, 255, .45);
	font-size: .72rem;
}

.sapore-opening-pill {
	display: inline-flex;
	min-height: 42px;
	align-items: center;
	padding: 9px 18px;
	border: 1px solid rgba(255, 255, 255, .45);
	color: #fff;
	font-size: .69rem;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.sapore-opentable {
	display: grid;
	align-items: center;
	margin-top: 70px;
	padding: clamp(36px, 6vw, 70px);
	background: #fff;
	box-shadow: var(--sapore-shadow);
	grid-template-columns: 1fr minmax(300px, .72fr);
	gap: clamp(40px, 7vw, 90px);
}

.sapore-opentable__copy h2 {
	margin-bottom: 20px;
	font-family: var(--sapore-serif);
	font-size: clamp(2.8rem, 5vw, 4.5rem);
	font-weight: 600;
	letter-spacing: -.04em;
	line-height: .95;
}

.sapore-opentable__copy > p:last-child {
	max-width: 590px;
	margin-bottom: 0;
	color: var(--sapore-muted);
}

.sapore-opentable__widget {
	display: grid;
	min-height: 310px;
	place-items: center;
	padding: 26px;
	border: 1px solid var(--sapore-line);
	background: var(--sapore-paper);
	overflow: hidden;
}

.sapore-opentable__widget iframe {
	max-width: 100%;
}

.sapore-reservation-tips {
	display: grid;
	margin-top: 70px;
	padding: 48px;
	border: 1px solid var(--sapore-line);
	background: rgba(255, 255, 255, .4);
	grid-template-columns: .7fr 1.3fr;
	gap: 50px;
}

.sapore-reservation-tips h2 {
	font-family: var(--sapore-serif);
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1;
}

.sapore-reservation-tips ul {
	display: grid;
	margin: 0;
	padding: 0;
	list-style: none;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px 40px;
}

.sapore-reservation-tips li {
	position: relative;
	padding-left: 22px;
	color: var(--sapore-muted);
	font-size: .88rem;
}

.sapore-reservation-tips li::before {
	position: absolute;
	top: 8px;
	left: 0;
	width: 8px;
	height: 8px;
	background: var(--sapore-red);
	content: "";
	transform: rotate(45deg);
}

/* Legal and prose */
.sapore-prose {
	max-width: 840px;
}

.sapore-prose h2 {
	margin: 52px 0 16px;
	font-family: var(--sapore-serif);
	font-size: 2.3rem;
	font-weight: 600;
}

.sapore-prose p,
.sapore-prose li {
	color: var(--sapore-muted);
}

.sapore-prose a {
	color: var(--sapore-red);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Footer */
.sapore-footer {
	position: relative;
	padding: 84px 0 0;
	background: #171411;
	color: #fff;
}

.sapore-footer__pattern {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 9px;
	background: repeating-linear-gradient(90deg, var(--sapore-red) 0 42px, #f1e8d7 42px 84px, var(--sapore-green) 84px 126px);
}

.sapore-footer__grid {
	display: grid;
	grid-template-columns: 1.25fr .65fr 1fr 1fr .8fr;
	gap: clamp(26px, 3.5vw, 52px);
}

.sapore-footer__upcoming {
	color: var(--sapore-gold) !important;
	font-size: .69rem !important;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.sapore-footer__brand img {
	width: 142px;
	height: 96px;
	margin-bottom: 20px;
	object-fit: contain;
	filter: brightness(0) invert(1);
	mix-blend-mode: screen;
}

.sapore-footer__brand p,
.sapore-footer__grid > div > p {
	color: rgba(255, 255, 255, .58);
	font-size: .82rem;
}

.sapore-footer h2 {
	margin-bottom: 20px;
	color: var(--sapore-gold);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.sapore-footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.sapore-footer li {
	margin-bottom: 8px;
}

.sapore-footer a:hover {
	color: var(--sapore-gold);
}

.sapore-socials {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
}

.sapore-socials a,
.sapore-footer__grid li a {
	font-size: .74rem;
	font-weight: 600;
}

.sapore-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 68px;
	padding: 22px 0;
	border-top: 1px solid rgba(255, 255, 255, .1);
	color: rgba(255, 255, 255, .44);
	font-size: .68rem;
}

.sapore-footer__bottom p {
	margin-bottom: 0;
}

.sapore-floating-reserve {
	position: fixed;
	z-index: 42;
	right: 18px;
	bottom: 18px;
	display: none;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 20px;
	border-radius: 30px;
	background: var(--sapore-red);
	box-shadow: 0 12px 35px rgba(83, 15, 18, .35);
	color: #fff;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* Tablet */
@media (max-width: 1050px) {
	.sapore-header__inner {
		grid-template-columns: 140px 1fr 150px;
	}
	.sapore-nav {
		gap: 20px;
	}
	.sapore-story-band__content {
		padding: 70px 50px;
	}
	.sapore-location-card {
		padding: 36px;
		grid-template-columns: 1fr;
	}
	.sapore-location-card__number {
		margin-bottom: 30px;
	}
	.sapore-location-grid,
	.sapore-reservation-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.sapore-location-card--upcoming,
	.sapore-reservation-card--upcoming {
		grid-column: 1 / -1;
	}
	.sapore-footer__grid {
		grid-template-columns: repeat(3, 1fr);
	}
	.sapore-footer__brand {
		grid-column: span 2;
	}
	.sapore-location-details {
		grid-template-columns: 1fr;
	}
	.sapore-location-details > div,
	.sapore-location-details > div:not(:first-child) {
		padding: 20px 0;
		border-right: 0;
		border-bottom: 1px solid var(--sapore-line);
	}
	.sapore-location-details > div:last-child {
		border-bottom: 0;
	}
}

/* Mobile navigation and layout */
@media (max-width: 820px) {
	.sapore-container {
		width: min(100% - 32px, 680px);
	}
	.sapore-section {
		padding: 78px 0;
	}
	.sapore-display {
		font-size: clamp(2.9rem, 13vw, 4.4rem);
	}
	.sapore-topbar__inner {
		justify-content: flex-start;
		overflow: hidden;
		white-space: nowrap;
	}
	.sapore-topbar__phone {
		display: none;
	}
	.sapore-header__inner,
	.sapore-header.is-scrolled .sapore-header__inner {
		min-height: 74px;
		grid-template-columns: 1fr auto;
	}
	.sapore-brand img,
	.sapore-header.is-scrolled .sapore-brand img {
		width: 100px;
		height: 60px;
	}
	.sapore-nav,
	.sapore-header__cta {
		display: none;
	}
	.sapore-menu-toggle {
		display: grid;
		width: 44px;
		height: 44px;
		place-content: center;
		border: 0;
		background: transparent;
		cursor: pointer;
		gap: 5px;
	}
	.sapore-menu-toggle span:not(.screen-reader-text) {
		display: block;
		width: 23px;
		height: 2px;
		background: var(--sapore-ink);
		transition: transform .2s ease, opacity .2s ease;
	}
	.sapore-menu-toggle[aria-expanded="true"] span:nth-child(2) {
		transform: translateY(7px) rotate(45deg);
	}
	.sapore-menu-toggle[aria-expanded="true"] span:nth-child(3) {
		opacity: 0;
	}
	.sapore-menu-toggle[aria-expanded="true"] span:nth-child(4) {
		transform: translateY(-7px) rotate(-45deg);
	}
	.sapore-mobile-nav {
		display: flex;
		flex-direction: column;
		padding: 22px 16px 28px;
		border-top: 1px solid var(--sapore-line);
		background: var(--sapore-paper);
	}
	.sapore-mobile-nav[hidden] {
		display: none;
	}
	.sapore-mobile-nav > a:not(.sapore-button) {
		padding: 13px 8px;
		border-bottom: 1px solid var(--sapore-line);
		font-size: .82rem;
		font-weight: 700;
		letter-spacing: .08em;
		text-transform: uppercase;
	}
	.sapore-mobile-nav .sapore-button {
		margin-top: 18px;
	}
	.sapore-hero {
		min-height: 690px;
		align-items: flex-end;
		background-position: 61% center;
	}
	.sapore-hero__overlay {
		background: linear-gradient(180deg, rgba(18, 12, 9, .23), rgba(18, 12, 9, .94) 75%);
	}
	.sapore-hero__content {
		padding-top: 150px;
		padding-bottom: 70px;
	}
	.sapore-hero h1 {
		font-size: clamp(4rem, 19vw, 6.4rem);
		line-height: .84;
	}
	.sapore-hero__seal {
		display: none;
	}
	.sapore-intro__grid,
	.sapore-menu-intro__grid,
	.sapore-about-lead__grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}
	.sapore-intro__copy {
		padding-top: 0;
	}
	.sapore-values-strip {
		margin-top: 60px;
		grid-template-columns: repeat(2, 1fr);
	}
	.sapore-values-strip div:nth-child(2) {
		border-right: 0;
	}
	.sapore-values-strip div:nth-child(-n+2) {
		border-bottom: 1px solid var(--sapore-line);
	}
	.sapore-dish-grid {
		grid-template-columns: 1fr;
	}
	.sapore-dish-card {
		min-height: 480px;
	}
	.sapore-story-band {
		grid-template-columns: 1fr;
	}
	.sapore-story-band__image {
		min-height: 390px;
	}
	.sapore-story-band__content {
		padding: 70px 24px;
	}
	.sapore-location-grid,
	.sapore-reservation-grid {
		grid-template-columns: 1fr;
	}
	.sapore-location-card--upcoming,
	.sapore-reservation-card--upcoming,
	.sapore-footer__brand {
		grid-column: auto;
	}
	.sapore-location-card {
		min-height: auto;
	}
	.sapore-accolades__grid {
		grid-template-columns: 1fr;
	}
	.sapore-tripadvisor {
		grid-template-columns: 1fr;
	}
	.sapore-tripadvisor__featured,
	.sapore-tripadvisor__reviews,
	.sapore-tripadvisor__summary,
	.sapore-tripadvisor__write {
		width: 100%;
		min-width: 0;
		grid-column: auto;
		grid-row: auto;
	}
	.sapore-tripadvisor__summary {
		grid-template-columns: 1fr;
	}
	.sapore-tripadvisor__summary > *,
	.sapore-tripadvisor__badges {
		width: 100%;
		min-width: 0;
	}
	.sapore-tripadvisor__badges {
		justify-content: flex-start;
	}
	.sapore-tripadvisor__write {
		align-items: flex-start;
		flex-direction: column;
	}
	.sapore-accolades__grid a {
		min-height: 104px;
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, .15);
	}
	.sapore-accolades__grid a:last-child {
		border-bottom: 0;
	}
	.sapore-reserve-cta__inner {
		align-items: flex-start;
		flex-direction: column;
	}
	.sapore-page-hero {
		min-height: 470px;
	}
	.sapore-page-hero h1 {
		font-size: clamp(4rem, 18vw, 6.3rem);
	}
	.sapore-menu-jump {
		top: 74px;
	}
	.admin-bar .sapore-menu-jump {
		top: 120px;
	}
	.sapore-menu-jump .sapore-container {
		width: max-content;
		min-width: 100%;
		justify-content: flex-start;
		padding: 0 18px;
		gap: 24px;
	}
	.sapore-menu-category {
		padding: 72px 0;
		scroll-margin-top: 145px;
	}
	.sapore-menu-category__header {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
	}
	.sapore-menu-grid {
		grid-template-columns: 1fr;
		row-gap: 34px;
	}
	.sapore-menu-note__inner {
		grid-template-columns: 1fr;
		gap: 42px;
	}
	.sapore-menu-note img {
		height: 330px;
	}
	.sapore-about-image-band {
		min-height: 610px;
	}
	.sapore-about-image-band img {
		object-position: 62% center;
	}
	.sapore-about-image-band blockquote {
		right: 24px;
		left: 24px;
	}
	.sapore-pillars__grid {
		grid-template-columns: 1fr;
	}
	.sapore-pillars__grid article {
		min-height: auto;
		border-right: 0;
		border-bottom: 1px solid var(--sapore-line);
	}
	.sapore-pillars__grid article:last-child {
		border-bottom: 0;
	}
	.sapore-gallery-grid {
		height: auto;
		grid-template-columns: 1fr 1fr;
	}
	.sapore-gallery-grid img {
		height: 300px;
	}
	.sapore-gallery-grid img:first-child {
		grid-column: 1 / -1;
	}
	.sapore-location-full,
	.sapore-location-full--reverse {
		grid-template-columns: 1fr;
	}
	.sapore-location-full--reverse .sapore-location-full__visual {
		order: 0;
	}
	.sapore-location-full__visual {
		min-height: 390px;
	}
	.sapore-reservation-card {
		min-height: 470px;
	}
	.sapore-reservation-tips {
		grid-template-columns: 1fr;
		gap: 22px;
	}
	.sapore-opentable {
		grid-template-columns: 1fr;
		gap: 34px;
	}
	.sapore-reservation-tips ul {
		grid-template-columns: 1fr;
	}
	.sapore-footer__grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.sapore-floating-reserve {
		display: inline-flex;
		opacity: 0;
		pointer-events: none;
		transform: translateY(140%);
		transition: opacity .25s ease, transform .25s ease;
	}
	.sapore-floating-reserve.is-visible {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}
}

@media (max-width: 520px) {
	.sapore-topbar__inner span:nth-child(2),
	.sapore-topbar__inner a {
		display: none;
	}
	.sapore-button-row {
		align-items: stretch;
		flex-direction: column;
	}
	.sapore-button-row .sapore-button {
		width: 100%;
	}
	.sapore-hero__lead {
		font-size: .96rem;
	}
	.sapore-values-strip div {
		padding: 20px;
	}
	.sapore-values-strip strong {
		font-size: 1.6rem;
	}
	.sapore-dish-card {
		min-height: 420px;
	}
	.sapore-dish-card > div {
		padding: 26px;
	}
	.sapore-location-card {
		padding: 30px 24px;
	}
	.sapore-location-card h3 {
		font-size: 3.6rem;
	}
	.sapore-menu-item__top {
		grid-template-columns: 1fr auto;
	}
	.sapore-menu-item__top span {
		display: none;
	}
	.sapore-menu-item h3 {
		font-size: 1.25rem;
	}
	.sapore-menu-note img {
		height: 270px;
	}
	.sapore-location-full__visual,
	.sapore-location-full__content {
		padding: 34px 26px;
	}
	.sapore-location-full__visual {
		min-height: 330px;
	}
	.sapore-reservation-card {
		padding: 38px 26px;
	}
	.sapore-reservation-card__number {
		font-size: 8rem;
	}
	.sapore-reservation-tips {
		padding: 30px 24px;
	}
	.sapore-tripadvisor__featured,
	.sapore-tripadvisor__reviews,
	.sapore-tripadvisor__summary,
	.sapore-tripadvisor__write {
		padding: 24px 20px;
	}
	.sapore-tripadvisor__badges {
		align-items: flex-start;
		flex-direction: column;
	}
	.sapore-opentable {
		padding: 34px 22px;
	}
	.sapore-opentable__widget {
		min-height: 330px;
		padding: 18px 8px;
	}
	.sapore-footer__grid {
		grid-template-columns: 1fr;
	}
	.sapore-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
		padding-bottom: 84px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
	.sapore-site *,
	.sapore-site *::before,
	.sapore-site *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}
