/*
 * Página Cardápios (ID 10249), layout "6 · Cardápios". Montada no Elementor com containers e widgets nativos:
 * .hw-cd-hero (topo com foto), .hw-cd-choose (4 restaurantes) e .hw-cd-main (uma seção por restaurante, "Bom saber"
 * e chamada final). O Elementor só entrega a estrutura e o conteúdo; medidas, cores e fontes estão aqui.
 * Ids das âncoras: #clementina, #barolo, #caramel, #cocobambu.
 */

body.page-id-10249 {
	background: #E5E5E0;
}

.hw-cd {
	--cd-lime: #B0C90F;
	--cd-ink: #111111;
	--cd-black: #0B0B0B;
	--cd-sand: #E5E5E0;
	--cd-muted: #3F3F3A;
	--cd-olive: #B0C90F; /* o verde do site também nos textos claros, como pedido */
	font-family: "Montserrat", sans-serif;
}

/*
 * O Elementor dá padding e gap próprios a todo container: aqui cada um define os seus. No celular ele também põe todo
 * container em "wrap"; numa coluna com quebra, a foto fica com o tamanho natural do arquivo em vez de esticar no card
 * (ficava estreita no card do restaurante e passava por cima do texto nos pratos). Quem quebra linha declara flex-flow.
 */
.elementor [class*="hw-cd"].e-con {
	--flex-wrap-mobile: nowrap;
	--gap: 0px;
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
}

.hw-cd :is(h1, h2, h3, p, a, li, dt, dd, span, div) {
	font-family: "Montserrat", sans-serif;
}

.hw-cd .elementor-heading-title,
.hw-cd .elementor-widget-text-editor p {
	margin: 0;
	font-family: "Montserrat", sans-serif !important;
}

.hw-cd [class*="__text"] p,
.hw-cd .hw-cd-note p,
.hw-cd .hw-cd-lead p {
	margin: 0;
}

/* ---------- Topo ---------- */

.elementor .hw-cd-hero.e-con {
	--padding-top: 230px;
	--padding-bottom: 140px;
	--padding-left: 24px;
	--padding-right: 24px;
	color: #fff;
}

.hw-cd-hero .hw-cd-mark {
	margin-bottom: 20px;
}

.hw-cd-hero .hw-cd-h1 {
	max-width: 680px;
}

.hw-cd-hero .hw-cd-h1 .elementor-heading-title {
	color: #fff !important;
	font-size: clamp(32px, 4.2vw, 50px);
	font-weight: 300 !important;
	letter-spacing: -0.01em;
	line-height: 1.02;
}

.hw-cd-hero .hw-cd-h1 strong {
	font-weight: 500 !important;
}

.hw-cd-hero .hw-cd-lead {
	max-width: 680px;
	margin-top: 18px;
}

.hw-cd-hero .hw-cd-lead p {
	color: #fff;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.35;
}

/* ---------- Escolha do restaurante ---------- */

.elementor .hw-cd-choose.e-con {
	--padding-left: 24px;
	--padding-right: 24px;
	position: relative;
	margin-top: -64px;
}

.elementor .hw-cd-picks.e-con {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 16px;
}

.elementor .hw-cd-pick.e-con {
	overflow: hidden;
	border-radius: 20px;
	background: #fff;
}

.hw-cd-pick .hw-cd-pick__photo {
	height: 220px;
	margin: 0;
	overflow: hidden;
}

/* A foto é um link, e o Elementor faz o <a> inline-block: sem isto os 100% da imagem não têm referência e ela fica no tamanho do arquivo. */
.hw-cd-pick .hw-cd-pick__photo a {
	display: block;
	height: 100%;
}

.hw-cd-pick .hw-cd-pick__photo img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 0;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.hw-cd-pick:hover .hw-cd-pick__photo img {
	transform: scale(1.04);
}

.elementor .hw-cd-pick__foot.e-con {
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 14px 16px;
}

.hw-cd-pick .hw-cd-pick__logo {
	margin: 0;
	flex: none;
}

.hw-cd-pick .hw-cd-pick__logo img {
	display: block;
	width: auto;
	height: 30px;
	max-width: 100%;
}

.hw-cd-pick .hw-cd-pick__label .elementor-heading-title {
	color: var(--cd-muted);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.3;
	text-align: right;
}

.hw-cd-pick .hw-cd-pick__label a {
	color: inherit;
	text-decoration: none;
}

.hw-cd-choose .hw-cd-note {
	margin-top: 18px;
}

.hw-cd-choose .hw-cd-note p {
	color: var(--cd-muted);
	font-size: 13px;
	line-height: 1.4;
	text-align: center;
}

/* ---------- Seções ---------- */

.elementor .hw-cd-main.e-con {
	--padding-top: 64px;
	--padding-bottom: 88px;
	--padding-left: 24px;
	--padding-right: 24px;
	--gap: 32px;
	flex-direction: column;
}

.elementor .hw-cd-sec.e-con {
	--padding-top: 40px;
	--padding-bottom: 40px;
	--padding-left: 40px;
	--padding-right: 40px;
	scroll-margin-top: 90px;
	border-radius: 32px;
	overflow: hidden;
	background: #fff;
	color: var(--cd-ink);
}

.elementor .hw-cd-sec--dark.e-con {
	background: var(--cd-black);
	color: #fff;
}

.elementor .hw-cd-head.e-con {
	flex-flow: row wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px 32px;
	margin-bottom: 28px;
}

.hw-cd .hw-cd-kicker .elementor-heading-title {
	margin: 0 0 8px;
	color: var(--cd-lime) !important;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.3;
}

.hw-cd-sec--light .hw-cd-kicker .elementor-heading-title,
.hw-cd .hw-cd-kicker--olive .elementor-heading-title {
	color: var(--cd-olive) !important;
}

.hw-cd .hw-cd-h2 .elementor-heading-title {
	color: var(--cd-ink) !important;
	font-size: clamp(28px, 3.2vw, 40px);
	font-weight: 300 !important;
	line-height: 1.05;
}

.hw-cd-sec--dark .hw-cd-h2 .elementor-heading-title {
	color: #fff !important;
}

.hw-cd .hw-cd-h2 strong {
	font-weight: 500 !important;
}

.hw-cd .hw-cd-aside {
	max-width: 340px;
}

.hw-cd .hw-cd-aside p {
	color: var(--cd-muted);
	font-size: 14px;
	line-height: 1.4;
}

.hw-cd-sec--dark .hw-cd-aside p {
	color: var(--cd-sand);
}

/* Etiquetas ("Para compartilhar", "Individual") */
.hw-cd .hw-cd-tag {
	align-self: flex-start;
	margin: 0;
}

.hw-cd .hw-cd-tag .elementor-heading-title {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	background: var(--cd-sand);
	color: var(--cd-muted);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
}

.hw-cd .hw-cd-tag--lime .elementor-heading-title {
	background: #F3F6DC;
	color: #3D4600;
}

/* ---------- Clementina: etapas ---------- */

.elementor .hw-cd-steps.e-con {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 20px;
}

.elementor .hw-cd-step.e-con {
	overflow: hidden;
	border-radius: 20px;
	background: #fff;
	color: var(--cd-ink);
}

.hw-cd-step .hw-cd-step__photo {
	margin: 0;
}

/* Fotos dos pratos inteiras, na proporção do arquivo (quase quadradas), sem corte. */
.hw-cd-step .hw-cd-step__photo img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0;
}

.elementor .hw-cd-step__body.e-con {
	--gap: 10px;
	--padding-top: 20px;
	--padding-bottom: 24px;
	--padding-left: 22px;
	--padding-right: 22px;
}

.elementor .hw-cd-step__row.e-con {
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.hw-cd-step .hw-cd-step__label .elementor-heading-title {
	color: var(--cd-muted);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
}

.hw-cd-step .hw-cd-step__list ul {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hw-cd-step .hw-cd-step__list li {
	margin: 0;
	padding: 0;
	color: var(--cd-ink);
	font-size: 15px;
	line-height: 1.35;
}

.hw-cd-step .hw-cd-step__list li::before {
	content: none;
}

.hw-cd-step .hw-cd-step__list li span {
	color: var(--cd-muted);
}

.hw-cd-step .hw-cd-step__list li.hw-cd-or {
	color: var(--cd-muted);
	font-size: 12px;
	font-weight: 500;
}

/* ---------- Barolo: foto + texto ---------- */

.elementor .hw-cd-sec--split.e-con {
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
	flex-flow: row wrap;
}

.hw-cd-sec--split .hw-cd-split__photo {
	overflow: hidden;
	flex: 1 1 320px;
	min-width: 0;
	min-height: 300px;
	margin: 0;
}

.hw-cd-sec--split .hw-cd-split__photo img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 300px;
	border-radius: 0;
	object-fit: cover;
}

.elementor .hw-cd-split__body.e-con {
	--gap: 16px;
	--padding-top: 40px;
	--padding-bottom: 40px;
	--padding-left: 40px;
	--padding-right: 40px;
	flex: 1 1 380px;
	justify-content: center;
}

.hw-cd-split__body .hw-cd-kicker .elementor-heading-title {
	margin: 0;
}

.hw-cd-split__body .hw-cd-split__text p {
	color: var(--cd-ink);
	font-size: 16px;
	font-weight: 300;
	line-height: 1.45;
}

.hw-cd .hw-cd-obs p {
	color: var(--cd-muted);
	font-size: 13px;
	line-height: 1.4;
}

/* ---------- Caramel: pratos ---------- */

.elementor .hw-cd-dishes.e-con {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 20px;
}

.elementor .hw-cd-dish.e-con {
	--gap: 12px;
}

.hw-cd-dish .hw-cd-dish__photo {
	margin: 0;
}

.hw-cd-dish .hw-cd-dish__photo img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 16px;
}

.hw-cd-dish .hw-cd-dish__title .elementor-heading-title {
	color: var(--cd-ink) !important;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.2;
}

.hw-cd-dish .hw-cd-dish__text p {
	color: var(--cd-muted);
	font-size: 14px;
	line-height: 1.4;
}

/* ---------- Coco Bambu: pratos largos ---------- */

.elementor .hw-cd-wides.e-con {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
}

.elementor .hw-cd-wide.e-con {
	flex-flow: row wrap;
	overflow: hidden;
	border-radius: 20px;
	background: #1C1C1C;
}

.hw-cd-wide .hw-cd-wide__photo {
	flex: 1 1 160px;
	min-width: 0;
	margin: 0;
}

/* Foto inteira quando o texto ao lado é mais baixo; quando é mais alto, ela acompanha a altura do card (corte só nas laterais). */
.hw-cd-wide .hw-cd-wide__photo img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 0;
	object-fit: cover;
}

.elementor .hw-cd-wide__body.e-con {
	--gap: 10px;
	--padding-top: 22px;
	--padding-bottom: 22px;
	--padding-left: 22px;
	--padding-right: 22px;
	flex: 1 1 200px;
}

.hw-cd-wide .hw-cd-tag--lime .elementor-heading-title {
	background: var(--cd-lime);
	color: var(--cd-ink);
}

.hw-cd-wide .hw-cd-wide__title .elementor-heading-title {
	color: #fff !important;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.2;
}

.hw-cd-wide .hw-cd-wide__text p {
	color: var(--cd-sand);
	font-size: 14px;
	line-height: 1.4;
}

/* ---------- Bom saber ---------- */

.elementor .hw-cd-sec--info.e-con {
	--padding-top: 32px;
	--padding-bottom: 32px;
	flex-flow: row wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px 40px;
}

.elementor .hw-cd-info__main.e-con {
	--gap: 6px;
	flex: 1 1 260px;
}

.hw-cd-info__title .elementor-heading-title {
	color: var(--cd-ink) !important;
	font-size: 26px;
	font-weight: 300 !important;
	line-height: 1.2;
}

.hw-cd-info__title strong {
	font-weight: 500 !important;
}

.hw-cd-info__text p {
	color: var(--cd-muted);
	font-size: 14px;
}

.hw-cd-sec--info .hw-cd-info__list {
	flex: 2 1 420px;
}

.hw-cd-info__list dl {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	gap: 16px 20px;
	margin: 0;
	font-size: 14px;
}

.hw-cd-info__list dt {
	color: var(--cd-olive);
	font-size: 12px;
	font-weight: 600;
}

.hw-cd-info__list dd {
	margin: 4px 0 0;
	color: var(--cd-ink);
	font-weight: 500;
}

/* ---------- Chamada final ---------- */

.elementor .hw-cd-sec--cta.e-con {
	flex-flow: row wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px 32px;
	background: var(--cd-lime);
}

.hw-cd-sec--cta > .elementor-widget {
	width: auto;
	max-width: 100%;
}

.hw-cd-cta__title .elementor-heading-title {
	color: var(--cd-ink) !important;
	font-size: clamp(22px, 2.6vw, 30px);
	font-weight: 300 !important;
	line-height: 1.1;
}

.hw-cd-cta__title strong {
	font-weight: 500 !important;
}

.hw-cd-cta__btn .elementor-button {
	display: inline-flex;
	align-items: center;
	line-height: 1;
	min-height: 52px;
	padding: 0 28px;
	border-radius: 999px;
	background: var(--cd-black);
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.04em;
}

.hw-cd-cta__btn .elementor-button:hover,
.hw-cd-cta__btn .elementor-button:focus-visible {
	background: #fff;
	color: var(--cd-ink);
}

@media (max-width: 767px) {
	.elementor .hw-cd-hero.e-con {
		--padding-top: 170px;
		--padding-bottom: 110px;
	}

	.elementor .hw-cd-main.e-con {
		--padding-top: 40px;
		--padding-bottom: 56px;
		--padding-left: 16px;
		--padding-right: 16px;
	}

	.elementor .hw-cd-sec.e-con:not(.hw-cd-sec--split) {
		--padding-left: 22px;
		--padding-right: 22px;
	}

	.elementor .hw-cd-split__body.e-con {
		--padding-left: 22px;
		--padding-right: 22px;
	}
}
