/**
 * Almoço Self-Service 2.0 — somente .page-id-3023
 * Tokens copiados de cardapio.css / cafe-da-manha.css / sobre.css.
 */

.page-id-3023 {
	--fm-bordo-deep: #500712;
	--fm-bordo: #b0041a;
	--fm-gold: #ffc95f;
	--fm-gold-ink: #c49a3c;
	--fm-cream: #f7f3ee;
	--fm-ink: #1f1b19;
	--fm-muted: #5c524c;
	--fm-white: #f6f4f1;
	--fm-font: Raleway, "Helvetica Neue", Helvetica, Arial, sans-serif;
	--fm-pad-x: clamp(1.15rem, 4vw, 3rem);
	--fm-max: 1180px;
}

.page-id-3023 .site-content,
.page-id-3023 #content,
.page-id-3023 #primary,
.page-id-3023 .site-content > .ast-container {
	margin: 0;
	padding: 0;
	max-width: none;
	width: 100%;
}

.page-id-3023 .entry-header,
.page-id-3023 .page-header {
	display: none;
}

.page-id-3023 .elementor-3023 {
	background: #fff;
	color: var(--fm-ink);
	font-family: var(--fm-font);
	overflow-x: clip;
}

.page-id-3023 .elementor-3023 .elementor-heading-title,
.page-id-3023 .elementor-3023 .elementor-widget-text-editor,
.page-id-3023 .elementor-3023 .elementor-widget-text-editor p,
.page-id-3023 .elementor-3023 .elementor-button,
.page-id-3023 .elementor-3023 .elementor-button-text {
	font-family: var(--fm-font) !important;
	font-style: normal !important;
}

.page-id-3023 .elementor-3023 h1.elementor-heading-title,
.page-id-3023 .elementor-3023 h2.elementor-heading-title,
.page-id-3023 .elementor-3023 h3.elementor-heading-title {
	font-family: var(--fm-font) !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em !important;
	text-transform: uppercase !important;
}

.page-id-3023 .elementor-3023 .e-con,
.page-id-3023 .elementor-3023 .e-con-inner {
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--margin-top: 0px;
	--margin-bottom: 0px;
	--gap: 0px;
}

.page-id-3023 .elementor-3023 .elementor-widget-container {
	margin: 0;
}

.page-id-3023 .elementor-3023 img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* ------------------------------------------------------------------ */
/* Type tokens                                                          */
/* ------------------------------------------------------------------ */

.page-id-3023 .fm-almoco-hero h6.elementor-heading-title,
.page-id-3023 .fm-almoco-eyebrow .elementor-heading-title,
.page-id-3023 .elementor-3023 h6.elementor-heading-title {
	margin: 0 0 0.75rem;
	font-size: 0.68rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	color: var(--fm-gold-ink) !important;
}

.page-id-3023 .fm-almoco-hero h6.elementor-heading-title,
.page-id-3023 .fm-almoco-eyebrow--on-dark .elementor-heading-title {
	color: var(--fm-gold) !important;
}

.page-id-3023 .elementor-3023 h2.elementor-heading-title {
	margin: 0;
	font-size: clamp(1.55rem, 2.1vw, 2rem) !important;
	line-height: 1.04 !important;
	color: var(--fm-ink) !important;
}

.page-id-3023 .elementor-3023 h2.elementor-heading-title::after {
	content: "";
	display: block;
	width: 2.35rem;
	height: 2px;
	margin: 1.05rem 0 0;
	background: var(--fm-bordo);
}

.page-id-3023 .fm-almoco-copy {
	max-width: 38rem;
}

.page-id-3023 .fm-almoco-copy p,
.page-id-3023 .fm-almoco-hero__lead p,
.page-id-3023 .fm-almoco-pillar__text p,
.page-id-3023 .fm-almoco-hours__note p {
	margin: 0 0 0.85rem;
	font-size: 0.98rem !important;
	font-weight: 400 !important;
	line-height: 1.6 !important;
	color: var(--fm-muted) !important;
}

.page-id-3023 .fm-almoco-copy p:last-child,
.page-id-3023 .fm-almoco-pillar__text p:last-child {
	margin-bottom: 0;
}

/* ------------------------------------------------------------------ */
/* Hero — geometria Hub / Café / Sobre                                  */
/* ------------------------------------------------------------------ */

.page-id-3023 .fm-almoco-hero.e-con {
	--display: grid;
	--flex-direction: unset;
	--min-height: 0px;
	display: grid !important;
	grid-template-columns: minmax(17rem, 0.9fr) minmax(0, 1.2fr);
	align-items: stretch;
	overflow: hidden;
	isolation: isolate;
	width: 100%;
	height: clamp(340px, 28vw, 400px);
	background: var(--fm-bordo-deep);
	color: var(--fm-white);
}

.page-id-3023 .fm-almoco-hero > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(17rem, 0.9fr) minmax(0, 1.2fr) !important;
	height: 100%;
	gap: 0 !important;
}

.page-id-3023 .fm-almoco-hero__copy.e-con {
	display: flex !important;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
	padding: 2.4rem clamp(1.5rem, 3.6vw, 3.4rem) 2.4rem clamp(1.6rem, 4.5vw, 4.2rem);
	max-width: 34rem;
	background: var(--fm-bordo-deep);
}

.page-id-3023 .fm-almoco-hero h1.elementor-heading-title,
.page-id-3023 .fm-almoco-hero__title .elementor-heading-title {
	margin: 0;
	font-weight: 800 !important;
	font-size: clamp(2.15rem, 2.9vw, 2.7rem) !important;
	line-height: 0.96 !important;
	letter-spacing: -0.025em !important;
	text-transform: uppercase !important;
	color: var(--fm-white) !important;
}

.page-id-3023 .fm-almoco-hero h1.elementor-heading-title::after,
.page-id-3023 .fm-almoco-hero__title .elementor-heading-title::after {
	content: "";
	display: block;
	width: 2.35rem;
	height: 2px;
	margin: 1.05rem 0 0;
	background: var(--fm-bordo);
}

.page-id-3023 .fm-almoco-hero__lead {
	margin-top: 1.15rem;
	max-width: 26rem;
}

.page-id-3023 .fm-almoco-hero__lead p {
	color: rgba(246, 244, 241, 0.9) !important;
	line-height: 1.5 !important;
}

.page-id-3023 .fm-almoco-hero__media {
	position: relative;
	min-width: 0;
	min-height: 0;
	height: 100%;
	overflow: hidden;
	background: #3a3330;
}

.page-id-3023 .fm-almoco-hero__media .elementor-widget-image,
.page-id-3023 .fm-almoco-hero__media .elementor-widget-container,
.page-id-3023 .fm-almoco-hero__media a {
	display: block;
	height: 100%;
}

.page-id-3023 .fm-almoco-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 52% 42%;
}

/* ------------------------------------------------------------------ */
/* Preço                                                                */
/* ------------------------------------------------------------------ */

.page-id-3023 .fm-almoco-price.e-con {
	background: var(--fm-cream);
	padding: clamp(2.4rem, 4vw, 3.4rem) var(--fm-pad-x);
}

.page-id-3023 .fm-almoco-price .fm-almoco-eyebrow,
.page-id-3023 .fm-almoco-price__title,
.page-id-3023 .fm-almoco-price .fm-almoco-copy {
	width: min(var(--fm-max), 100%);
	margin-inline: auto;
}

.page-id-3023 .fm-almoco-price__title .elementor-heading-title span {
	display: inline;
	color: var(--fm-bordo);
	font-weight: 800;
}

/* ------------------------------------------------------------------ */
/* Buffet                                                               */
/* ------------------------------------------------------------------ */

.page-id-3023 .fm-almoco-buffet.e-con {
	background: #fff;
	padding: clamp(2.2rem, 3.6vw, 3.2rem) var(--fm-pad-x) clamp(2.6rem, 4vw, 3.6rem);
}

.page-id-3023 .fm-almoco-buffet .fm-almoco-eyebrow,
.page-id-3023 .fm-almoco-buffet__title {
	width: min(var(--fm-max), 100%);
	margin-inline: auto;
}

.page-id-3023 .fm-almoco-buffet__title {
	margin-bottom: 1.45rem;
}

.page-id-3023 .fm-almoco-buffet__row.e-con,
.page-id-3023 .fm-almoco-buffet__row > .e-con-inner {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem !important;
	width: min(var(--fm-max), 100%);
	margin-inline: auto;
	align-items: start;
}

.page-id-3023 .fm-almoco-pillar {
	display: flex !important;
	flex-direction: column;
	min-width: 0;
}

.page-id-3023 .fm-almoco-pillar__media {
	overflow: hidden;
	background: #e8e2da;
	height: 13.5rem;
	max-height: 13.5rem;
}

.page-id-3023 .fm-almoco-pillar__media .elementor-widget-container,
.page-id-3023 .fm-almoco-pillar__media a {
	display: block;
	height: 100%;
}

.page-id-3023 .fm-almoco-pillar__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.page-id-3023 .fm-almoco-pillar__title .elementor-heading-title,
.page-id-3023 .elementor-3023 .fm-almoco-pillar h3.elementor-heading-title {
	margin: 0.85rem 0 0.4rem;
	font-size: 1.05rem !important;
	line-height: 1.2 !important;
	color: var(--fm-bordo-deep) !important;
}

.page-id-3023 .fm-almoco-pillar__title .elementor-heading-title::after {
	display: none;
}

.page-id-3023 .fm-almoco-pillar__text {
	max-width: 22rem;
}

/* ------------------------------------------------------------------ */
/* Horários                                                             */
/* ------------------------------------------------------------------ */

.page-id-3023 .fm-almoco-hours.e-con {
	background: var(--fm-cream);
	padding: clamp(2.2rem, 3.6vw, 3rem) var(--fm-pad-x);
}

.page-id-3023 .fm-almoco-hours .fm-almoco-eyebrow,
.page-id-3023 .fm-almoco-hours__title,
.page-id-3023 .fm-almoco-hours__list,
.page-id-3023 .fm-almoco-hours__note {
	width: min(40rem, 100%);
	margin-inline: auto;
}

.page-id-3023 .fm-almoco-hours__list.e-con,
.page-id-3023 .fm-almoco-hours__list > .e-con-inner {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 1.15rem 2rem !important;
	margin-top: 1.35rem;
	margin-bottom: 0.85rem;
}

.page-id-3023 .fm-almoco-hours__item {
	padding-top: 0.55rem;
	border-top: 2px solid var(--fm-bordo);
}

.page-id-3023 .fm-almoco-hours__label .elementor-heading-title,
.page-id-3023 .elementor-3023 .fm-almoco-hours__item h3.elementor-heading-title {
	margin: 0 0 0.2rem;
	font-size: 0.68rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.2em !important;
	color: var(--fm-gold-ink) !important;
}

.page-id-3023 .fm-almoco-hours__label .elementor-heading-title::after {
	display: none;
}

.page-id-3023 .fm-almoco-hours__value .elementor-heading-title,
.page-id-3023 .elementor-3023 .fm-almoco-hours__item h4.elementor-heading-title {
	margin: 0;
	font-family: var(--fm-font) !important;
	font-size: 1.15rem !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em !important;
	text-transform: uppercase !important;
	color: var(--fm-bordo-deep) !important;
}

.page-id-3023 .fm-almoco-hours__note p {
	margin: 0;
	font-size: 0.88rem !important;
}

/* ------------------------------------------------------------------ */
/* CTA                                                                  */
/* ------------------------------------------------------------------ */

.page-id-3023 .fm-almoco-cta.e-con {
	background: #fff;
	padding: clamp(2.2rem, 3.6vw, 3.2rem) var(--fm-pad-x) clamp(2.8rem, 4vw, 3.8rem);
}

.page-id-3023 .fm-almoco-cta .fm-almoco-eyebrow,
.page-id-3023 .fm-almoco-cta__title,
.page-id-3023 .fm-almoco-cta .fm-almoco-copy,
.page-id-3023 .fm-almoco-cta .elementor-widget-button {
	width: min(var(--fm-max), 100%);
	margin-inline: auto;
}

.page-id-3023 .fm-almoco-cta .fm-almoco-copy {
	margin-top: 0.85rem;
	margin-bottom: 1.25rem;
}

.page-id-3023 .fm-almoco-cta .elementor-button,
.page-id-3023 a.elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.7rem 1.15rem;
	border: 0;
	border-radius: 3px;
	background: var(--fm-bordo);
	color: #fff !important;
	font-size: 0.68rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	line-height: 1;
	text-decoration: none;
	transition: background 0.25s ease, color 0.25s ease;
}

.page-id-3023 .fm-almoco-cta .elementor-button:hover,
.page-id-3023 .fm-almoco-cta .elementor-button:focus-visible {
	background: var(--fm-bordo-deep);
	color: #fff !important;
}

.page-id-3023 .fm-almoco-cta .elementor-button:focus-visible {
	outline: 2px solid var(--fm-gold);
	outline-offset: 3px;
}

/* ------------------------------------------------------------------ */
/* Breakpoints                                                          */
/* ------------------------------------------------------------------ */

@media (max-width: 1279px) {
	.page-id-3023 .fm-almoco-hero.e-con,
	.page-id-3023 .fm-almoco-hero > .e-con-inner {
		grid-template-columns: minmax(16rem, 0.95fr) minmax(0, 1.15fr);
		height: clamp(320px, 34vw, 380px);
	}

	.page-id-3023 .fm-almoco-pillar__media {
		height: 12.25rem;
		max-height: 12.25rem;
	}
}

@media (max-width: 1024px) {
	.page-id-3023 .fm-almoco-buffet__row.e-con,
	.page-id-3023 .fm-almoco-buffet__row > .e-con-inner {
		gap: 0.7rem !important;
	}

	.page-id-3023 .fm-almoco-pillar__media {
		height: 11.5rem;
		max-height: 11.5rem;
	}
}

@media (max-width: 900px) {
	.page-id-3023 .fm-almoco-hero.e-con,
	.page-id-3023 .fm-almoco-hero > .e-con-inner {
		display: flex !important;
		flex-direction: column;
		height: auto;
		grid-template-columns: none;
	}

	.page-id-3023 .fm-almoco-hero__media {
		order: -1;
		width: 100%;
		height: clamp(200px, 42vw, 280px);
	}

	.page-id-3023 .fm-almoco-hero__copy.e-con {
		max-width: none;
		width: 100%;
		padding: 1.85rem 1.4rem 2rem;
	}

	.page-id-3023 .fm-almoco-hero h1.elementor-heading-title,
	.page-id-3023 .fm-almoco-hero__title .elementor-heading-title {
		font-size: clamp(2.05rem, 5.2vw, 2.45rem) !important;
	}

	.page-id-3023 .fm-almoco-buffet.e-con {
		padding-left: 0;
		padding-right: 0;
	}

	.page-id-3023 .fm-almoco-buffet .fm-almoco-eyebrow,
	.page-id-3023 .fm-almoco-buffet__title {
		padding-left: 1.15rem;
		padding-right: 1.15rem;
	}

	.page-id-3023 .fm-almoco-buffet__row.e-con,
	.page-id-3023 .fm-almoco-buffet__row > .e-con-inner {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		grid-template-columns: none;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		gap: 0.65rem !important;
		width: 100%;
		padding: 0 1.15rem 0.55rem;
	}

	.page-id-3023 .fm-almoco-pillar {
		flex: 0 0 78%;
		width: 78%;
		scroll-snap-align: start;
	}

	.page-id-3023 .fm-almoco-pillar__media {
		height: 11.75rem;
		max-height: 11.75rem;
	}

	.page-id-3023 .fm-almoco-hours__list.e-con,
	.page-id-3023 .fm-almoco-hours__list > .e-con-inner {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 640px) {
	.page-id-3023 .fm-almoco-hero__media {
		height: clamp(180px, 48vw, 230px);
	}

	.page-id-3023 .fm-almoco-hero h1.elementor-heading-title,
	.page-id-3023 .fm-almoco-hero__title .elementor-heading-title {
		font-size: clamp(1.9rem, 8.1vw, 2.35rem) !important;
		letter-spacing: -0.03em !important;
	}

	.page-id-3023 .fm-almoco-hours__list.e-con,
	.page-id-3023 .fm-almoco-hours__list > .e-con-inner {
		grid-template-columns: 1fr;
		gap: 0.9rem !important;
	}

	.page-id-3023 .fm-almoco-pillar {
		flex-basis: 82%;
		width: 82%;
	}

	.page-id-3023 .fm-almoco-pillar__media {
		height: 11rem;
		max-height: 11rem;
	}
}
