/* =========================================================================
   Comino 2026: sistema visual da reforma de setembro/2026.
   Carrega depois de comino.css e capa.css. Tipografia, escala e fundos das
   seções; vale para a home e para as 17 páginas internas.
   ========================================================================= */

body {
	background: var(--cmn-off-claro, #f2f0f3);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

::selection {
	background: var(--cmn-terra, #986b58);
	color: #fff;
}

:where(h1, h2, h3, h4) {
	text-wrap: balance;
}
:where(p, li, dd, figcaption) {
	text-wrap: pretty;
}

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--cmn-terra, #986b58);
	outline-offset: 3px;
}
.has-azul-profundo-background-color :where(a, button, summary):focus-visible,
.has-azul-acinzentado-background-color :where(a, button, summary):focus-visible {
	outline-color: var(--cmn-terra-clara, #c4a08f);
}

/* ---------- Cabeçalho das páginas internas ---------- */

.cmn-topo-wrap {
	position: relative;
	z-index: 30;
}
.cmn-topo:not(.cmn-topo--capa) {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 2rem;
	margin: 0;
	padding: 1.1rem var(--cmn-margem, 3.3vw);
	background: var(--cmn-azul, #1b1f2a);
	color: var(--cmn-off, #e5e1e6);
}
.cmn-topo:not(.cmn-topo--capa) .cmn-topo__marca {
	width: clamp(8.5rem, 12vw, 12rem);
}
.cmn-topo .wp-block-navigation {
	justify-self: center;
	font-family: var(--cmn-display);
	font-size: clamp(0.875rem, 1.05vw, 1rem);
	font-weight: 500;
	color: var(--cmn-off, #e5e1e6);
}
.cmn-topo .wp-block-navigation .wp-block-navigation__container {
	gap: clamp(1.25rem, 3vw, 3rem);
}
.cmn-topo .wp-block-navigation a {
	color: inherit;
	text-decoration: none;
	text-underline-offset: 0.35em;
	text-decoration-thickness: 1px;
}
.cmn-topo .wp-block-navigation a:hover,
.cmn-topo .wp-block-navigation .current-menu-item > a {
	text-decoration: underline;
}
.cmn-topo .wp-block-navigation__submenu-container {
	padding: 0.5rem 0 !important;
	border: 0 !important;
	background: var(--cmn-azul, #1b1f2a) !important;
	color: var(--cmn-off, #e5e1e6) !important;
	box-shadow: 0 18px 40px rgba(10, 12, 18, 0.35);
}
.cmn-topo .wp-block-navigation__submenu-container a {
	padding: 0.55rem 1.1rem !important;
}
.cmn-topo .wp-block-navigation__responsive-container-open,
.cmn-topo .wp-block-navigation__responsive-container-close {
	color: var(--cmn-off, #e5e1e6);
}
.cmn-topo .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.5rem var(--cmn-margem, 1.25rem);
	font-size: 1.375rem;
}
.cmn-topo__acao {
	justify-self: end;
}

@media (max-width: 781px) {
	.cmn-topo,
	.cmn-topo--capa {
		grid-template-columns: 1fr auto !important;
		gap: 1rem;
	}
	.cmn-topo .wp-block-navigation {
		justify-self: end;
		order: 2;
	}
	.cmn-topo__acao {
		display: none;
	}
}

/* ---------- Seções: ritmo e tipografia ---------- */

.cmn-sec {
	padding-top: clamp(4.5rem, 9vw, 8.5rem) !important;
	padding-bottom: clamp(4.5rem, 9vw, 8.5rem) !important;
}

.cmn-eyebrow:is(p, h1, h2, h3, h4, h5, h6) {
	font-family: var(--cmn-display);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.3em;
	color: var(--cmn-terra-escura, #7d5544);
	margin-bottom: 1.1rem;
}
.cmn-eyebrow::before {
	display: none !important;
}
:is(.has-azul-profundo-background-color, .has-azul-acinzentado-background-color) .cmn-eyebrow:is(p, h1, h2, h3, h4, h5, h6) {
	color: var(--cmn-terra-clara, #c4a08f);
}

.cmn-sec h2.wp-block-heading,
.wp-block-post-content > h2.wp-block-heading,
.wp-block-post-content .wp-block-group > h2.wp-block-heading {
	max-width: 17ch;
	margin-top: 0;
	margin-bottom: 1.5rem;
}
.cmn-sec .has-lead-font-size {
	line-height: 1.55;
	color: #474d57;
}
:is(.has-azul-profundo-background-color, .has-azul-acinzentado-background-color) :is(h2, h3).wp-block-heading {
	color: #f4f1f4;
}
:is(.has-azul-profundo-background-color, .has-azul-acinzentado-background-color) :is(p, li) {
	color: #d9d4da;
}
:is(.has-azul-profundo-background-color, .has-azul-acinzentado-background-color) strong {
	color: #fff;
}

/* Botões do core no mesmo desenho da capa */
.wp-block-button__link {
	border-radius: 0 !important;
	padding: 0.95em 1.75em !important;
	font-family: var(--cmn-display) !important;
	font-weight: 600 !important;
	color: #fff !important;
	transition: background-color 0.2s ease;
}
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent !important;
	border: 1px solid currentColor !important;
	color: inherit !important;
}
.has-azul-profundo-background-color .wp-block-button.is-style-outline .wp-block-button__link {
	color: var(--cmn-off, #e5e1e6) !important;
}

/* Imagens: sem moldura de card, cantos retos, profundidade discreta */
.cmn-sec .wp-block-image.cmn-card,
.wp-block-post-content .wp-block-image.cmn-card {
	border: 0;
	background: none;
	padding: 0;
}
.cmn-sec .wp-block-image img {
	border-radius: 0;
}
.cmn-sec figcaption,
.cmn-sec .wp-element-caption {
	margin-top: 0.85rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: #5d636d;
	text-align: left;
}

/* ---------- Restaurar ou trocar ---------- */

.cmn-sec--restaurar .wp-block-columns {
	gap: clamp(2rem, 6vw, 6rem);
	align-items: center;
}
.cmn-sec--restaurar .cmn-comparativo {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	box-shadow: 0 24px 60px rgba(27, 31, 42, 0.1);
	font-size: 1rem;
}
.cmn-sec--restaurar .cmn-comparativo :is(th, td) {
	padding: 1.05rem 1.25rem;
	border: 0;
	border-bottom: 1px solid #e6e1e4;
	text-align: left;
}
.cmn-sec--restaurar .cmn-comparativo thead th {
	padding-top: 1.35rem;
	padding-bottom: 1.1rem;
	font-family: var(--cmn-display);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #5d636d;
	background: none;
}
.cmn-sec--restaurar .cmn-comparativo thead th:nth-child(2),
.cmn-sec--restaurar .cmn-comparativo tbody td:nth-child(2) {
	background: var(--cmn-azul, #1b1f2a);
	color: var(--cmn-off, #e5e1e6);
}
.cmn-sec--restaurar .cmn-comparativo tbody td:nth-child(2) strong {
	color: #fff;
}
.cmn-sec--restaurar .cmn-comparativo thead th:nth-child(2) {
	color: var(--cmn-terra-clara, #c4a08f);
}
.cmn-sec--restaurar .cmn-comparativo tbody th {
	font-family: var(--cmn-display);
	font-weight: 600;
	color: var(--cmn-azul, #1b1f2a);
}
.cmn-sec--restaurar .cmn-comparativo tbody td:nth-child(3) {
	color: #6b707a;
}
.cmn-sec--restaurar .cmn-comparativo tbody tr:last-child :is(th, td) {
	border-bottom: 0;
}

/* ---------- Serviços: lista editorial ---------- */

.cmn-servicos {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(2rem, 5vw, 5rem);
	margin: clamp(2.5rem, 5vw, 4rem) auto 0 !important;
	padding: 0;
	list-style: none;
	border-top: 1px solid #d9d4d8;
}
.cmn-servicos li {
	border-bottom: 1px solid #d9d4d8;
}
.cmn-servico {
	display: grid;
	grid-template-columns: 3.25rem minmax(0, 1fr) 1.75rem;
	align-items: center;
	gap: 1.5rem;
	padding: 1.6rem 0.25rem;
	color: inherit;
	text-decoration: none;
}
.cmn-servico__icone {
	width: 3.25rem;
	height: 3.25rem;
	object-fit: contain;
	opacity: 0.85;
}
.cmn-servico__titulo {
	margin: 0 0 0.3rem;
	font-family: var(--cmn-display);
	font-size: clamp(1.25rem, 1.8vw, 1.625rem);
	font-weight: 620;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--cmn-azul, #1b1f2a);
}
.cmn-servico__desc {
	margin: 0;
	font-size: 0.975rem;
	line-height: 1.5;
	color: #5d636d;
}
.cmn-servico__seta {
	width: 1.6rem;
	height: 1.6rem;
	color: var(--cmn-terra, #986b58);
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.cmn-servico:hover .cmn-servico__titulo {
	color: var(--cmn-terra-escura, #7d5544);
}
.cmn-servico:hover .cmn-servico__seta {
	transform: translateX(0.4rem);
}

/* ---------- Antes e depois (fundo escuro) ---------- */

.cmn-sec--antes .cmn-antes-depois-grade {
	gap: clamp(1rem, 2.5vw, 2rem);
	margin-top: clamp(2.5rem, 5vw, 4rem);
}
.cmn-sec--antes .cmp__legenda {
	margin-top: 1rem;
	font-size: 0.9375rem;
	color: #bdb7bd;
}
.cmn-sec--antes .cmp__rotulo {
	border-radius: 0;
	font-family: var(--cmn-display);
	letter-spacing: 0.2em;
}

/* ---------- Obra sem pó ---------- */

.cmn-sec--po .wp-block-columns {
	gap: clamp(2rem, 6vw, 6rem);
}
.cmn-sec--po .wp-block-image img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	box-shadow: 0 30px 70px rgba(27, 31, 42, 0.18);
}
.cmn-sec--po ul.wp-block-list {
	margin: 2rem 0 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid #d9d4d8;
}
.cmn-sec--po ul.wp-block-list li {
	padding: 0.95rem 0 0.95rem 1.6rem;
	border-bottom: 1px solid #d9d4d8;
	position: relative;
}
.cmn-sec--po ul.wp-block-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1.45rem;
	width: 0.55rem;
	height: 0.55rem;
	background: var(--cmn-terra, #986b58);
}

/* ---------- Certificação Bona ---------- */

.cmn-sec--bona .wp-block-columns {
	gap: clamp(2rem, 6vw, 6rem);
}
.cmn-sec--bona .wp-block-image img {
	padding: clamp(0.5rem, 1vw, 0.9rem);
	background: #fbfafb;
	box-shadow: 0 30px 70px rgba(0, 0, 0, 0.4);
}
.cmn-sec--bona .wp-block-image figcaption {
	color: #bdb7bd;
}

/* ---------- A quadra ---------- */

.cmn-sec--quadra {
	padding-bottom: 0 !important;
}
.cmn-sec--quadra > .wp-block-columns {
	gap: clamp(1rem, 2.5vw, 2rem);
	margin-top: clamp(2.5rem, 5vw, 4rem);
}
.cmn-sec--quadra .wp-block-columns .wp-block-image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.cmn-sec--quadra .wp-block-columns figcaption strong {
	display: block;
	margin-bottom: 0.2rem;
	font-family: var(--cmn-display);
	font-size: clamp(1.75rem, 3vw, 2.75rem);
	font-weight: 640;
	letter-spacing: -0.03em;
	line-height: 1;
	color: var(--cmn-azul, #1b1f2a);
}
.cmn-sec--quadra > .has-text-align-center {
	max-width: 40rem;
	margin: clamp(3rem, 6vw, 5rem) auto !important;
	font-size: clamp(1.25rem, 1.8vw, 1.5rem) !important;
	line-height: 1.45;
	color: var(--cmn-azul, #1b1f2a);
}
.cmn-quadra-panoramica {
	margin-block: 0 !important;
	position: relative;
}
.cmn-quadra-panoramica img {
	width: 100%;
	height: clamp(22rem, 48vw, 44rem);
	object-fit: cover;
}
.cmn-quadra-panoramica figcaption {
	position: absolute;
	left: var(--cmn-margem, 3.3vw);
	bottom: 1.5rem;
	margin: 0 !important;
	padding: 0.5rem 0.9rem;
	background: rgba(27, 31, 42, 0.82);
	color: var(--cmn-off, #e5e1e6) !important;
	font-size: 0.875rem !important;
}

/* ---------- Acabamentos: fichas técnicas, sem cartão ---------- */

.cmn-sec--acab > .wp-block-columns {
	gap: clamp(1.5rem, 4vw, 4rem);
	margin-top: clamp(2.5rem, 5vw, 4rem);
}
.cmn-sec--acab .wp-block-column.cmn-card {
	padding: 1.75rem 0 0 !important;
	border: 0;
	border-top: 3px solid var(--cmn-azul, #1b1f2a);
	background: none;
	border-radius: 0;
}
.cmn-sec--acab .wp-block-column.cmn-card h3 {
	margin: 0 0 1rem;
	font-size: clamp(1.375rem, 2vw, 1.75rem);
	letter-spacing: -0.02em;
}
.cmn-sec--acab .wp-block-column.cmn-card .has-pequeno-font-size {
	padding-top: 1rem;
	border-top: 1px solid #d9d4d8;
	color: #5d636d;
}

/* ---------- Como funciona (fundo azul acinzentado) ---------- */

.cmn-sec--etapas .cmn-etapas {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0 clamp(1.5rem, 4vw, 4rem);
	margin-top: clamp(2.5rem, 5vw, 4rem);
}
.cmn-sec--etapas .cmn-etapa {
	grid-template-columns: 1fr;
	gap: 0.6rem;
	padding: 1.75rem 0 2.25rem;
	border-top: 1px solid rgba(229, 225, 230, 0.22);
}
.cmn-sec--etapas .cmn-etapa__num {
	font-size: clamp(2.5rem, 4vw, 3.5rem);
	font-weight: 500;
	letter-spacing: -0.04em;
	color: var(--cmn-terra-clara, #c4a08f);
	font-variant-numeric: tabular-nums;
}
.cmn-sec--etapas .cmn-etapa h3 {
	font-size: 1.25rem;
	color: #fff;
}
.cmn-sec--etapas .cmn-etapa p {
	font-size: 1rem;
	color: #cfd3d8;
}

/* ---------- Área de atendimento ---------- */

.cmn-sec--area .cmn-polos {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	margin-top: clamp(2.5rem, 5vw, 4rem);
	border-top: 1px solid #cfc8cc;
}
.cmn-sec--area .cmn-polo {
	padding: 1.5rem 1.5rem 1.5rem 0;
	border: 0;
	background: none;
	color: var(--cmn-azul, #1b1f2a);
	font-size: clamp(1.25rem, 2.2vw, 2rem);
	font-weight: 620;
	letter-spacing: -0.025em;
	line-height: 1.1;
}
.cmn-sec--area .cmn-polo:first-child::after {
	content: "Base";
	display: block;
	margin-top: 0.5rem;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--cmn-terra-escura, #7d5544);
}
.cmn-sec--area .cmn-chips {
	gap: 0;
	max-width: 62rem;
}
.cmn-sec--area .cmn-chips span {
	padding: 0;
	border: 0;
	background: none;
	border-radius: 0;
	font-size: 1rem;
	line-height: 1.9;
	color: #474d57;
}
.cmn-sec--area .cmn-chips span:not(:last-child)::after {
	content: "·";
	margin: 0 0.6em;
	color: var(--cmn-terra, #986b58);
}

/* ---------- FAQ: título à esquerda, perguntas à direita ---------- */

@media (min-width: 64em) {
	.cmn-sec--faq.is-layout-constrained {
		display: grid;
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
		column-gap: clamp(3rem, 6vw, 7rem);
		align-items: start;
		padding-inline: max(var(--cmn-margem, 3.3vw), calc((100% - 1280px) / 2)) !important;
	}
	.cmn-sec--faq.is-layout-constrained > * {
		max-width: none !important;
		margin-inline: 0 !important;
	}
	.cmn-sec--faq > .cmn-eyebrow {
		grid-column: 1;
	}
	.cmn-sec--faq > h2 {
		grid-column: 1;
		position: sticky;
		top: 2rem;
	}
	.cmn-sec--faq > .cmn-faq {
		grid-column: 2;
		grid-row: 1 / span 2;
		margin-top: 0 !important;
	}
}
.cmn-faq__item {
	border-bottom-color: #d9d4d8;
}
.cmn-faq__item:first-child {
	border-top: 1px solid #d9d4d8;
}
.cmn-faq__item summary {
	padding: 1.35rem 0;
	font-size: clamp(1.0625rem, 1.3vw, 1.1875rem);
	font-weight: 600;
	line-height: 1.35;
}
.cmn-faq__item summary::after {
	font-weight: 300;
	font-size: 1.75rem;
}
.cmn-faq__resposta p {
	font-size: 1rem;
	line-height: 1.65;
	color: #474d57;
}

/* ---------- CTA final ---------- */

.cmn-cta {
	padding-top: clamp(5rem, 10vw, 9rem) !important;
	padding-bottom: clamp(5rem, 10vw, 9rem) !important;
}
.cmn-cta h2.wp-block-heading {
	max-width: 20ch;
	margin-inline: auto !important;
	font-size: clamp(2.25rem, 4.6vw, 4rem);
	color: #f4f1f4;
}
.cmn-cta .has-lead-font-size {
	max-width: 36rem;
	margin-inline: auto !important;
	color: #d9d4da;
}
.cmn-cta .wp-block-buttons {
	margin-top: 2rem;
	gap: 1rem;
}

/* ---------- Rodapé ---------- */

.cmn-rodape .cmn-topo__marca {
	width: clamp(9rem, 13vw, 12.5rem);
	margin-bottom: 1.25rem;
	color: var(--cmn-off, #e5e1e6);
}
.cmn-rodape .cmn-eyebrow {
	color: var(--cmn-terra-clara, #c4a08f) !important;
}
.cmn-rodape a {
	color: var(--cmn-off, #e5e1e6);
}
.cmn-rodape p {
	color: #bdb7bd;
}

/* ---------- Páginas internas ---------- */

main.wp-block-group > .wp-block-post-title {
	max-width: 18ch;
	margin-bottom: 1.5rem;
	font-size: var(--wp--preset--font-size--titulo-1);
	color: var(--cmn-azul, #1b1f2a);
}

/* ---------- Responsivo ---------- */

@media (max-width: 781px) {
	.cmn-servicos {
		grid-template-columns: 1fr;
	}
	.cmn-servico {
		grid-template-columns: 2.5rem minmax(0, 1fr) 1.25rem;
		gap: 1rem;
		padding: 1.25rem 0;
	}
	.cmn-servico__icone {
		width: 2.5rem;
		height: 2.5rem;
	}
	.cmn-sec--etapas .cmn-etapas {
		grid-template-columns: 1fr;
	}
	.cmn-sec--area .cmn-polos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.cmn-sec--restaurar .cmn-comparativo :is(th, td) {
		padding: 0.85rem 0.8rem;
	}
}
@media (min-width: 782px) and (max-width: 1100px) {
	.cmn-sec--etapas .cmn-etapas {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ---------- Rodada 1 de inspeção (25/09/2026) ---------- */

/* As seções encostam umas nas outras: sem o blockGap do WordPress entre elas */
.wp-site-blocks > * {
	margin-block-start: 0 !important;
}
.wp-block-post-content > :is(.cmn-sec, .cmn-capa) {
	margin-block: 0 !important;
}

/* Títulos e listas curtas alinhados à borda esquerda da coluna de 1280px */
.wp-block-group.alignfull.is-layout-constrained > h2.wp-block-heading:not(.has-text-align-center),
.wp-block-group.alignfull.is-layout-constrained > .cmn-chips {
	margin-inline-start: max(0px, calc((100% - var(--wp--style--global--wide-size, 1280px)) / 2)) !important;
	margin-inline-end: auto !important;
}

/* Texto de apoio legível nas seções escuras */
:is(.has-azul-profundo-background-color, .has-azul-acinzentado-background-color) .has-lead-font-size {
	color: #d9d4da !important;
}

.cmn-topo .wp-block-navigation__responsive-container-open svg {
	width: 30px;
	height: 30px;
}

@media (min-width: 64em) {
	.cmn-sec--faq.is-layout-constrained {
		grid-template-rows: auto 1fr;
		padding-inline: max(var(--wp--style--root--padding-left, 1.5rem), calc((100% - 1280px) / 2)) !important;
	}
}

/* Tabela restaurar x trocar no celular: cartões leves, sem a coluna escura */
@media (max-width: 782px) {
	.cmn-sec--restaurar .cmn-comparativo {
		box-shadow: none;
		background: none;
	}
	.cmn-sec--restaurar .cmn-comparativo tbody td:nth-child(2) {
		background: none !important;
		color: var(--cmn-azul, #1b1f2a) !important;
		font-weight: 700;
	}
	.cmn-sec--restaurar .cmn-comparativo tbody td:nth-child(2) strong {
		color: var(--cmn-azul, #1b1f2a);
	}
}

/* O layout "flow" do grupo põe margem entre os filhos; no cabeçalho em grade ela desalinha menu e botão */
.cmn-topo > * {
	margin-block: 0 !important;
}

/* ---------- Revisão final: lote de correções (25/09/2026) ---------- */

/* Véu da capa no azul da marca: corrige o desvio violeta da foto no terço esquerdo */
.cmn-capa__foto::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(90deg, rgba(27, 31, 42, 0.95) 0%, rgba(27, 31, 42, 0.6) 30%, rgba(27, 31, 42, 0) 55%);
	mix-blend-mode: color;
}

/* Nota honesta: campo tingido com fio fino, sem faixa lateral grossa */
.cmn-nota {
	border-left: 0 !important;
	border: 1px solid #d8c7bd !important;
}

/* Lista "é o seu caso?": visto desenhado, não o caractere ✓ */
.cmn-sintomas li::before {
	content: "" !important;
	display: inline-block;
	flex: none;
	width: 0.42rem;
	height: 0.8rem;
	margin: 0.3rem 0.35rem 0 0.15rem;
	border: solid var(--cmn-terra-escura, #7d5544);
	border-width: 0 2px 2px 0;
	transform: rotate(40deg);
}
.has-azul-profundo-background-color .cmn-sintomas li::before {
	border-color: var(--cmn-terra-clara, #c4a08f);
}

/* Bona: selo e título como uma peça só; certificado com a sombra das fotos */
.cmn-sec--bona .wp-block-column > img:first-child {
	display: block;
	width: 5rem;
	height: auto;
	padding: 0.4rem;
	background: #f2f0f3;
	border-radius: 50%;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.3);
	margin: 0 0 1rem !important;
}
.cmn-sec--bona .wp-block-column > img:first-child + h2 {
	margin-top: 0 !important;
}
.cmn-sec--bona .wp-block-image img {
	box-shadow: 0 30px 70px rgba(0, 0, 0, 0.45), 0 8px 18px rgba(0, 0, 0, 0.25);
}
.cmn-sec--antes .cmp__palco,
.cmn-sec--quadra .wp-block-columns .wp-block-image img {
	box-shadow: 0 26px 60px rgba(10, 12, 18, 0.28);
}

/* Acabamentos: foto real de cada acabamento no topo da ficha */
.cmn-acab__foto {
	margin: 0 0 1.5rem;
}
.cmn-acab__foto img {
	display: block;
	width: 100%;
	height: auto !important;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	box-shadow: 0 24px 55px rgba(27, 31, 42, 0.16);
}
.cmn-acab__foto figcaption {
	margin-top: 0.7rem;
	font-family: var(--cmn-display);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	color: #5d636d;
}
.cmn-sec--acab .wp-block-column.cmn-card {
	border-top: 0;
	padding-top: 0 !important;
}

/* Celular: o espaço da barra fixa sai do body e vai para o rodapé escuro */
@media (max-width: 782px) {
	body {
		padding-bottom: 0 !important;
	}
	.cmn-rodape {
		padding-bottom: calc(60px + 2.5rem + env(safe-area-inset-bottom)) !important;
	}
}

/* ---------- Área de atendimento: texto, mapa e cidades para indexação (25/09/2026) ---------- */

.cmn-area {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	align-items: center;
	gap: clamp(2rem, 3vw, 3rem);
	max-width: 1280px !important;
}
.cmn-area h2.wp-block-heading {
	max-width: 15ch;
	margin: 0 0 1.5rem;
}
.cmn-area__lead {
	max-width: 34em;
	margin: 0;
	font-size: clamp(1.0625rem, 1.4vw, 1.25rem);
	line-height: 1.55;
	color: #474d57;
}
.cmn-area__fatos {
	margin: 2rem 0 2.25rem;
	padding: 0;
	list-style: none;
	border-top: 1px solid #d9d4d8;
	max-width: 34em;
}
.cmn-area__fatos li {
	position: relative;
	padding: 0.95rem 0 0.95rem 1.6rem;
	border-bottom: 1px solid #d9d4d8;
	font-size: 1rem;
	line-height: 1.5;
	color: #474d57;
}
.cmn-area__fatos li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1.45rem;
	width: 0.55rem;
	height: 0.55rem;
	background: var(--cmn-terra, #986b58);
}
.cmn-area__fatos strong {
	color: var(--cmn-azul, #1b1f2a);
}
.cmn-area__mapa {
	/* Close no noroeste: o mapa sangra até a borda direita da tela e some nas bordas */
	margin: 0 calc(-1 * max(var(--wp--style--root--padding-right, 1.5rem), (100vw - 1280px) / 2 + var(--wp--style--root--padding-right, 1.5rem))) 0 0;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 16%), linear-gradient(0deg, transparent 0%, #000 18%), linear-gradient(180deg, transparent 0%, #000 8%);
	-webkit-mask-composite: source-in, source-in;
	mask-image: linear-gradient(90deg, transparent 0%, #000 16%), linear-gradient(0deg, transparent 0%, #000 18%), linear-gradient(180deg, transparent 0%, #000 8%);
	mask-composite: intersect;
}
.cmn-area__mapa img {
	display: block;
	width: 100%;
	height: auto;
}
.cmn-area__cidades {
	max-width: 1280px !important;
	margin-top: clamp(3rem, 6vw, 5rem) !important;
	padding-top: 1.5rem;
	border-top: 1px solid #d9d4d8;
	font-size: 0.8125rem;
	line-height: 1.7;
	color: #6b707a;
}
.cmn-area__cidades strong {
	font-weight: 600;
	color: #474d57;
}
@media (max-width: 781px) {
	.cmn-area {
		grid-template-columns: 1fr;
	}
	.cmn-area__mapa {
		order: -1;
		max-width: none;
		margin: 0 calc(-1 * var(--wp--style--root--padding-right, 1.5rem)) 0 calc(-1 * var(--wp--style--root--padding-left, 1.5rem));
		-webkit-mask-image: linear-gradient(0deg, transparent 0%, #000 18%);
		mask-image: linear-gradient(0deg, transparent 0%, #000 18%);
	}
}

/* O mapa em sangria usa 100vw; sem isto ele cria rolagem horizontal e uma faixa clara à direita da capa */
.cmn-sec--area {
	overflow-x: clip;
}

/* ---------- Restaurar x trocar: painel "Restaurar" elevado (25/09/2026) ---------- */

@media (min-width: 783px) {
	.cmn-sec--restaurar .cmn-tabela-cards {
		position: relative;
		isolation: isolate;
		padding: 2.25rem 0;
	}
	/* O painel azul da coluna Restaurar, mais alto que a tabela */
	.cmn-sec--restaurar .cmn-tabela-cards::before {
		content: "";
		position: absolute;
		z-index: -1;
		top: 0;
		bottom: 0;
		left: 30%;
		width: 38%;
		background: var(--cmn-azul, #1b1f2a);
		box-shadow: 0 40px 80px rgba(27, 31, 42, 0.28), 0 12px 24px rgba(27, 31, 42, 0.18);
	}
	.cmn-sec--restaurar .cmn-comparativo {
		table-layout: fixed;
		background: none;
		box-shadow: none;
	}
	.cmn-sec--restaurar .cmn-comparativo :is(th, td) {
		padding: 1.15rem 1.5rem;
		border-bottom: 1px solid #d9d4d8;
		background: none !important;
		vertical-align: middle;
	}
	.cmn-sec--restaurar .cmn-comparativo :is(th, td):first-child { width: 30%; padding-left: 0; }
	.cmn-sec--restaurar .cmn-comparativo :is(th, td):nth-child(2) { width: 38%; padding-left: 2rem; border-bottom-color: rgba(229, 225, 230, 0.14); }
	.cmn-sec--restaurar .cmn-comparativo :is(th, td):nth-child(3) { width: 32%; padding-left: 1.75rem; }

	/* Cabeçalho: nomes grandes em vez de rótulo espaçado */
	.cmn-sec--restaurar .cmn-comparativo thead th {
		padding-top: 0;
		padding-bottom: 1.25rem;
		font-size: clamp(1.5rem, 2.2vw, 2rem);
		font-weight: 640;
		letter-spacing: -0.03em;
		text-transform: none;
		border-bottom: 0;
	}
	.cmn-sec--restaurar .cmn-comparativo thead th:nth-child(2) { color: #fff; }
	.cmn-sec--restaurar .cmn-comparativo thead th:nth-child(3) { color: #9a9ea6; }
	.cmn-sec--restaurar .cmn-comparativo tbody tr:first-child :is(th, td) {
		border-top: 1px solid #d9d4d8;
	}
	.cmn-sec--restaurar .cmn-comparativo tbody tr:first-child td:nth-child(2) {
		border-top-color: rgba(229, 225, 230, 0.14);
	}
	.cmn-sec--restaurar .cmn-comparativo tbody tr:last-child :is(th, td) {
		border-bottom: 1px solid #d9d4d8;
	}
	.cmn-sec--restaurar .cmn-comparativo tbody tr:last-child td:nth-child(2) {
		border-bottom-color: transparent;
	}

	/* Critério: rótulo discreto */
	.cmn-sec--restaurar .cmn-comparativo tbody th {
		font-size: 0.8125rem;
		font-weight: 600;
		letter-spacing: 0.16em;
		text-transform: uppercase;
		color: #5d636d;
	}

	/* Restaurar: valor forte com visto terra */
	.cmn-sec--restaurar .cmn-comparativo tbody td:nth-child(2) {
		position: relative;
		font-family: var(--cmn-display);
		font-size: 1.1875rem;
		color: #fff !important;
	}
	.cmn-sec--restaurar .cmn-comparativo tbody td:nth-child(2)::before {
		content: "";
		display: inline-block;
		width: 0.45rem;
		height: 0.85rem;
		margin: 0 0.85rem 0.2rem 0;
		border: solid var(--cmn-terra-clara, #c4a08f);
		border-width: 0 2px 2px 0;
		transform: rotate(40deg);
		vertical-align: middle;
	}
	.cmn-sec--restaurar .cmn-comparativo tbody td:nth-child(2) strong {
		font-weight: 600;
		color: #fff;
	}

	/* Trocar: recuado, com xis */
	.cmn-sec--restaurar .cmn-comparativo tbody td:nth-child(3) {
		position: relative;
		padding-left: 3rem !important;
		font-size: 1rem;
		color: #7c8089;
	}
	.cmn-sec--restaurar .cmn-comparativo tbody td:nth-child(3)::before,
	.cmn-sec--restaurar .cmn-comparativo tbody td:nth-child(3)::after {
		content: "";
		position: absolute;
		left: 1.75rem;
		top: 50%;
		width: 0.75rem;
		height: 1.5px;
		background: #b9a39a;
		transform: rotate(45deg);
	}
	.cmn-sec--restaurar .cmn-comparativo tbody td:nth-child(3)::after {
		transform: rotate(-45deg);
	}
}

/* Restaurar x trocar: mais largura para a tabela e sem a borda externa antiga */
@media (min-width: 783px) {
	.cmn-sec--restaurar .wp-block-columns > .wp-block-column:first-child {
		flex-basis: 44% !important;
	}
	.cmn-sec--restaurar .wp-block-columns > .wp-block-column:last-child {
		flex-basis: 56% !important;
	}
	.cmn-sec--restaurar .cmn-comparativo {
		border: 0 !important;
	}
	.cmn-sec--restaurar .cmn-comparativo :is(th, td):first-child { width: 26%; }
	.cmn-sec--restaurar .cmn-comparativo :is(th, td):nth-child(2) { width: 40%; }
	.cmn-sec--restaurar .cmn-comparativo :is(th, td):nth-child(3) { width: 34%; }
	.cmn-sec--restaurar .cmn-tabela-cards::before {
		left: 26%;
		width: 40%;
	}
	.cmn-sec--restaurar .cmn-comparativo tbody td:nth-child(2) {
		border-left: 0;
		border-right: 0;
	}
}

/* ---------- Movimento na home toda (25/09/2026) ----------
   A linguagem é a da entrada da capa: sobe e o desfoque se resolve, com
   ease-out exponencial. Só age quando o JS marca <html class="cmn-mov">,
   então sem JS (ou com movimento reduzido) tudo aparece normalmente. */

.cmn-mov [data-mov] {
	opacity: 0.001;
	transform: translateY(1.75rem);
	filter: blur(8px);
	transition:
		opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1),
		transform 1.1s cubic-bezier(0.16, 1, 0.3, 1),
		filter 0.9s cubic-bezier(0.16, 1, 0.3, 1);
	transition-delay: var(--mov-atraso, 0s);
	will-change: opacity, transform;
}
.cmn-mov [data-mov].is-dentro {
	opacity: 1;
	transform: none;
	filter: none;
}

/* Fotos: abrem de baixo para cima, com um leve zoom que assenta */
.cmn-mov [data-mov="foto"] {
	opacity: 1;
	filter: none;
	transform: none;
	clip-path: inset(100% 0 0 0);
	transition: clip-path 1.3s cubic-bezier(0.16, 1, 0.3, 1);
	transition-delay: var(--mov-atraso, 0s);
}
.cmn-mov [data-mov="foto"] img {
	transform: scale(1.08);
	transition: transform 1.8s cubic-bezier(0.16, 1, 0.3, 1);
	transition-delay: var(--mov-atraso, 0s);
}
.cmn-mov [data-mov="foto"].is-dentro {
	clip-path: inset(0 0 0 0);
}
.cmn-mov [data-mov="foto"].is-dentro img {
	transform: scale(1);
}

/* Parallax: a imagem anda mais devagar que a página */
.cmn-parallax {
	overflow: hidden;
}
.cmn-parallax img {
	will-change: transform;
	transform: translate3d(0, var(--par, 0px), 0) scale(1.12);
}
.cmn-capa__foto.cmn-parallax img {
	transform: translate3d(0, var(--par, 0px), 0) scale(1.06);
}
@media (min-width: 783px) {
	.cmn-sec--restaurar .cmn-tabela-cards::before { left: 24.7%; width: 40.4%; }
	.cmn-sec--restaurar .cmn-comparativo { border-collapse: separate; border-spacing: 0; }
	.cmn-sec--restaurar .cmn-comparativo tbody th { letter-spacing: 0.1em; white-space: nowrap; }
}

/* ---------- Topo com foto nas páginas internas (25/09/2026) ----------
   Mesma linguagem da capa da home: foto de ponta a ponta, véu azul à
   esquerda, cabeçalho transparente por cima, texto no pé esquerdo. */

.cmn-capa-interna {
	position: relative;
	isolation: isolate;
	display: flex !important;
	flex-direction: column;
	justify-content: flex-end;
	min-height: max(34rem, min(82svh, 46vw, 52rem));
	padding-top: 9rem !important;
	padding-bottom: clamp(3rem, 6vw, 5.5rem) !important;
	background-color: var(--cmn-azul, #1b1f2a) !important;
	color: var(--cmn-off, #e5e1e6) !important;
	overflow: hidden;
}
.cmn-capa-interna.cmn-veio::before {
	display: none;
}
.cmn-capa-interna__foto {
	position: absolute;
	inset: 0;
	z-index: -1;
	margin: 0 !important;
	max-width: none !important;
}
.cmn-capa-interna__foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 60% 55%;
}
.cmn-capa-interna__foto::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(27, 31, 42, 0.92) 0%, rgba(27, 31, 42, 0.72) 32%, rgba(27, 31, 42, 0.18) 64%, rgba(27, 31, 42, 0.05) 100%),
		linear-gradient(0deg, rgba(27, 31, 42, 0.6) 0%, rgba(27, 31, 42, 0) 45%),
		linear-gradient(180deg, rgba(27, 31, 42, 0.55) 0%, rgba(27, 31, 42, 0) 22%);
}
.cmn-capa-interna h1 {
	max-width: 14ch;
	margin-top: 0.5rem !important;
	font-size: clamp(2.5rem, 5.2vw, 5rem) !important;
	line-height: 0.95 !important;
	letter-spacing: -0.04em !important;
	color: #f4f1f4 !important;
}
.cmn-capa-interna .has-lead-font-size {
	max-width: 36rem !important;
	color: #e5e1e6 !important;
}
.cmn-capa-interna .cmn-eyebrow {
	color: var(--cmn-terra-clara, #c4a08f) !important;
}
.cmn-capa-interna > * {
	margin-inline-start: max(0px, calc((100% - var(--wp--style--global--wide-size, 1280px)) / 2)) !important;
	margin-inline-end: auto !important;
}
.cmn-capa-interna p:not(.has-lead-font-size):not(.cmn-eyebrow) {
	color: #d9d4da !important;
}
.cmn-capa-interna .wp-block-button.is-style-outline .wp-block-button__link {
	color: #f4f1f4 !important;
	border-color: rgba(244, 241, 244, 0.7) !important;
}
@media (max-width: 781px) {
	.cmn-capa-interna {
		min-height: max(36rem, min(92svh, 48rem));
		padding-top: 7rem !important;
	}
	.cmn-capa-interna__foto::after {
		background: linear-gradient(180deg, rgba(27, 31, 42, 0.6) 0%, rgba(27, 31, 42, 0.62) 18%, rgba(27, 31, 42, 0.86) 42%, #1b1f2a 100%);
	}
}

/* ---------- Botão flutuante do WhatsApp (todas as páginas, desktop) ---------- */

.cmn-whats-flutuante {
	position: fixed;
	right: clamp(1rem, 2vw, 2rem);
	bottom: clamp(1rem, 2vw, 2rem);
	z-index: 900;
	display: none;
	align-items: center;
	gap: 0.75rem;
	padding: 0.5rem;
	border-radius: 999px;
	background: #25d366;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 14px 34px rgba(10, 12, 18, 0.28), 0 4px 10px rgba(10, 12, 18, 0.18);
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease;
}
@media (min-width: 783px) {
	.cmn-whats-flutuante {
		display: inline-flex;
	}
}
.cmn-whats-flutuante svg {
	flex: none;
	width: 2.5rem;
	height: 2.5rem;
}
.cmn-whats-flutuante span {
	max-width: 0;
	overflow: hidden;
	white-space: nowrap;
	font-family: var(--cmn-display);
	font-size: 1rem;
	font-weight: 600;
	transition: max-width 0.45s cubic-bezier(0.16, 1, 0.3, 1), padding 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}
.cmn-whats-flutuante:hover,
.cmn-whats-flutuante:focus-visible {
	transform: translateY(-3px);
	color: #fff;
	box-shadow: 0 20px 44px rgba(10, 12, 18, 0.32), 0 6px 14px rgba(10, 12, 18, 0.2);
}
.cmn-whats-flutuante:hover span,
.cmn-whats-flutuante:focus-visible span {
	max-width: 14rem;
	padding-right: 0.9rem;
}
.cmn-whats-flutuante:focus-visible {
	outline: 2px solid var(--cmn-azul, #1b1f2a);
	outline-offset: 3px;
}
@media (prefers-reduced-motion: no-preference) {
	.cmn-whats-flutuante {
		animation: cmn-whats-entra 0.9s cubic-bezier(0.16, 1, 0.3, 1) 1.2s both;
	}
}
@keyframes cmn-whats-entra {
	from { transform: translateY(1.5rem) scale(0.8); opacity: 0; }
	to { transform: none; opacity: 1; }
}

/* Entrada do topo interno: a mesma da capa da home */
@media (prefers-reduced-motion: no-preference) {
	.cmn-capa-interna__foto img {
		animation: cmn-capa-foto 2.2s cubic-bezier(0.16, 1, 0.3, 1) backwards;
	}
	.cmn-capa-interna > :not(figure) {
		animation: cmn-capa-sobe 1.1s cubic-bezier(0.16, 1, 0.3, 1) both;
	}
	.cmn-capa-interna > :nth-child(3) { animation-delay: 0.08s; }
	.cmn-capa-interna > :nth-child(4) { animation-delay: 0.16s; }
	.cmn-capa-interna > :nth-child(5) { animation-delay: 0.22s; }
	.cmn-capa-interna > :nth-child(n + 6) { animation-delay: 0.28s; }
}
.cmn-capa-interna__foto.cmn-parallax img {
	transform: translate3d(0, var(--par, 0px), 0) scale(1.06);
}

/* Internas: a alternância de seções segue a da home (off white e branco), sem o lilás chapado */
body:not(.page-template-page-capa) .cmn-sec.has-off-white-background-color {
	background-color: #fff !important;
}

/* Botão do WhatsApp: círculo perfeito fechado; o texto só ocupa espaço ao abrir */
.cmn-whats-flutuante {
	gap: 0;
	min-width: 3.5rem;
	height: 3.5rem;
	padding: 0.5rem;
	justify-content: center;
	opacity: 1;
}
.cmn-whats-flutuante span {
	max-width: 0;
	padding: 0 !important;
	opacity: 0;
	transition: max-width 0.45s cubic-bezier(0.16, 1, 0.3, 1), padding 0.45s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease;
}
.cmn-whats-flutuante:hover span,
.cmn-whats-flutuante:focus-visible span {
	max-width: 14rem;
	padding: 0 0.9rem 0 0.6rem !important;
	opacity: 1;
}

/* Lista "é o seu caso?": bloco com o visto à esquerda (a grade quebrava o texto após o negrito) */
.cmn-sintomas li {
	display: block !important;
	position: relative;
	padding-left: 2rem;
}
.cmn-sintomas li::before {
	position: absolute;
	left: 0.2rem;
	top: 0.35rem;
	margin: 0 !important;
}

/* Foto do topo interno de ponta a ponta: a margem que alinha o texto à coluna não vale para ela */
.cmn-capa-interna > figure.cmn-capa-interna__foto {
	margin: 0 !important;
	width: 100%;
	max-width: none !important;
}

/* Orçamento dentro das páginas de serviço */
.cmn-orcamento-servico #formulario {
	scroll-margin-top: 2rem;
}
.cmn-orcamento-servico .cmn-form {
	max-width: 44rem;
}

/* ---------- Contato: WhatsApp em destaque, demais canais em lista (25/09/2026) ---------- */

.cmn-canais {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(1.5rem, 4vw, 4rem);
	align-items: stretch;
	max-width: 1280px !important;
	margin-top: clamp(2rem, 4vw, 3rem) !important;
}
.cmn-canais__whats {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 2.5rem;
	padding: clamp(1.75rem, 3vw, 2.75rem);
	background: var(--cmn-azul, #1b1f2a);
	color: #f4f1f4;
	text-decoration: none;
	box-shadow: 0 30px 70px rgba(27, 31, 42, 0.22);
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease;
}
.cmn-canais__whats:hover {
	transform: translateY(-4px);
	color: #fff;
	box-shadow: 0 40px 80px rgba(27, 31, 42, 0.3);
}
.cmn-canais__rotulo {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-family: var(--cmn-display);
	font-size: 1rem;
	font-weight: 600;
	color: var(--cmn-terra-clara, #c4a08f);
}
.cmn-canais__rotulo svg {
	width: 1.75rem;
	height: 1.75rem;
	color: #25d366;
}
.cmn-canais__numero {
	display: block;
	font-family: var(--cmn-display);
	font-size: clamp(2rem, 3.6vw, 3.25rem);
	font-weight: 640;
	letter-spacing: -0.03em;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}
.cmn-canais__acao {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	align-self: flex-start;
	padding: 0.95em 1.6em;
	background: var(--cmn-terra, #986b58);
	font-family: var(--cmn-display);
	font-weight: 600;
	color: #fff;
	transition: background-color 0.2s ease;
}
.cmn-canais__whats:hover .cmn-canais__acao {
	background: var(--cmn-terra-escura, #7d5544);
}
.cmn-canais__lista {
	margin: 0;
	border-top: 1px solid #d9d4d8;
}
.cmn-canais__lista > div {
	display: grid;
	grid-template-columns: 9rem minmax(0, 1fr);
	gap: 1.5rem;
	align-items: baseline;
	padding: 1.35rem 0;
	border-bottom: 1px solid #d9d4d8;
}
.cmn-canais__lista dt {
	font-family: var(--cmn-display);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #5d636d;
}
.cmn-canais__lista dd {
	margin: 0;
	min-width: 0;
	overflow-wrap: anywhere;
	font-family: var(--cmn-display);
	font-size: clamp(1.0625rem, 1.4vw, 1.25rem);
	font-weight: 600;
	line-height: 1.45;
	color: var(--cmn-azul, #1b1f2a);
}
.cmn-canais__lista dd a {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.3em;
	text-decoration-color: rgba(27, 31, 42, 0.3);
	transition: text-decoration-color 0.2s ease, color 0.2s ease;
}
.cmn-canais__lista dd a:hover {
	color: var(--cmn-terra-escura, #7d5544);
	text-decoration-color: currentColor;
}
.cmn-canais__lista dd small {
	display: block;
	margin-top: 0.2rem;
	font-family: var(--cmn-texto);
	font-size: 0.9375rem;
	font-weight: 400;
	color: #5d636d;
}
@media (max-width: 781px) {
	.cmn-canais {
		grid-template-columns: 1fr;
	}
	.cmn-canais__lista > div {
		grid-template-columns: 1fr;
		gap: 0.35rem;
	}
}

/* Formulários alinhados à borda esquerda da coluna, como o título acima deles */
.cmn-sec #formulario,
.cmn-orcamento-servico #formulario {
	margin-inline-start: max(0px, calc((100% - var(--wp--style--global--wide-size, 1280px)) / 2)) !important;
	margin-inline-end: auto !important;
	max-width: 44rem !important;
}
.cmn-sec #formulario > *,
.cmn-orcamento-servico #formulario > * {
	margin-inline: 0 !important;
}
.cmn-sec.is-layout-constrained > p:not(.has-text-align-center),
.cmn-orcamento-servico > p {
	max-width: 44rem !important;
	margin-inline-start: max(0px, calc((100% - var(--wp--style--global--wide-size, 1280px)) / 2)) !important;
	margin-inline-end: auto !important;
}

/* =========================================================================
   Componentes visuais das internas (25/09/2026)
   ========================================================================= */

/* ---------- Seção com foto lateral que sangra até a borda da tela ---------- */

.cmn-lado {
	position: relative;
	isolation: isolate;
	min-height: 40rem;
	overflow: hidden;
}
.cmn-lado > figure.cmn-lado__foto {
	position: absolute !important;
	top: 0;
	bottom: 0;
	width: 44%;
	margin: 0 !important;
	max-width: none !important;
	z-index: 0;
}
.cmn-lado--dir > figure.cmn-lado__foto { right: 0; }
.cmn-lado--esq > figure.cmn-lado__foto { left: 0; }
.cmn-lado__foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.cmn-lado__foto figcaption {
	position: absolute;
	left: 1.25rem;
	bottom: 1.25rem;
	margin: 0 !important;
	padding: 0.45rem 0.8rem;
	background: rgba(27, 31, 42, 0.82);
	color: #f4f1f4 !important;
	font-size: 0.8125rem !important;
}
@media (min-width: 64em) {
	.wp-block-group.alignfull.cmn-sec.cmn-lado.is-layout-constrained > :not(figure):not(.x) {
		position: relative;
		z-index: 1;
		max-width: calc(min(100vw, 1280px) * 0.5 - 3rem) !important;
	}
	.wp-block-group.alignfull.cmn-sec.cmn-lado--dir.is-layout-constrained > :not(figure):not(.x) {
		margin-inline-start: max(var(--wp--style--root--padding-left, 1.5rem), calc((100% - 1280px) / 2)) !important;
		margin-inline-end: auto !important;
	}
	.wp-block-group.alignfull.cmn-sec.cmn-lado--esq.is-layout-constrained > :not(figure):not(.x) {
		margin-inline-start: calc(44% + clamp(2.5rem, 5vw, 5rem)) !important;
		margin-inline-end: auto !important;
		max-width: min(38rem, calc(56% - clamp(2.5rem, 5vw, 5rem) - 1.5rem)) !important;
	}
}
@media (max-width: 63.99em) {
	.cmn-lado {
		min-height: 0;
		padding-top: 0 !important;
	}
	.cmn-lado > figure.cmn-lado__foto {
		position: relative !important;
		width: auto;
		height: 22rem;
		margin: 0 calc(-1 * var(--wp--style--root--padding-right, 1.5rem)) 2.5rem calc(-1 * var(--wp--style--root--padding-left, 1.5rem)) !important;
	}
}

/* ---------- Faixa de foto em tela cheia ("Prova") ---------- */

.cmn-faixa-foto {
	position: relative;
	isolation: isolate;
	display: flex !important;
	flex-direction: column;
	justify-content: flex-end;
	min-height: clamp(30rem, 48vw, 42rem);
	background: var(--cmn-azul, #1b1f2a) !important;
	overflow: hidden;
}
.cmn-faixa-foto > figure.cmn-faixa-foto__img {
	position: absolute !important;
	inset: 0;
	z-index: -1;
	margin: 0 !important;
	max-width: none !important;
}
.cmn-faixa-foto__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.cmn-faixa-foto__img::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(27, 31, 42, 0.9) 0%, rgba(27, 31, 42, 0.55) 45%, rgba(27, 31, 42, 0.1) 80%),
		linear-gradient(0deg, rgba(27, 31, 42, 0.55) 0%, rgba(27, 31, 42, 0) 50%);
}
.cmn-faixa-foto > :not(figure) {
	margin-inline-start: max(0px, calc((100% - var(--wp--style--global--wide-size, 1280px)) / 2)) !important;
	margin-inline-end: auto !important;
	max-width: 36rem !important;
}
.cmn-faixa-foto h2.wp-block-heading { color: #f4f1f4 !important; }
.cmn-faixa-foto .has-lead-font-size { color: #e5e1e6 !important; }
.cmn-faixa-foto .cmn-eyebrow { color: var(--cmn-terra-clara, #c4a08f) !important; }
.cmn-faixa-foto__img.cmn-parallax img {
	transform: translate3d(0, var(--par, 0px), 0) scale(1.14);
}

/* ---------- Cartões com ícone (base comum) ---------- */

.cmn-cartao {
	position: relative;
	padding: clamp(1.4rem, 2vw, 1.9rem);
	background: #fff;
	border: 1px solid #e6e1e4;
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, border-color 0.3s ease;
}
.has-branco-background-color .cmn-cartao,
.cmn-sec.has-branco-background-color .cmn-cartao {
	background: #f7f5f8;
}
.cmn-cartao:hover {
	transform: translateY(-4px);
	border-color: #d8ccc6;
	box-shadow: 0 22px 44px rgba(27, 31, 42, 0.1);
}
.cmn-ic-caixa {
	display: inline-grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	margin-bottom: 1.1rem;
	background: #f1e7e1;
	color: var(--cmn-terra-escura, #7d5544);
}
.cmn-ic-caixa .cmn-ic {
	width: 1.6rem;
	height: 1.6rem;
}
.cmn-cartao h3,
.cmn-cartao__titulo {
	display: block;
	margin: 0 0 0.45rem !important;
	font-family: var(--cmn-display);
	font-size: clamp(1.125rem, 1.4vw, 1.3125rem) !important;
	font-weight: 640;
	letter-spacing: -0.02em;
	line-height: 1.2;
	color: var(--cmn-azul, #1b1f2a);
}
.cmn-cartao p,
.cmn-cartao__texto {
	margin: 0 !important;
	font-size: 0.975rem !important;
	line-height: 1.55;
	color: #5d636d;
}

.cmn-grade-cartoes {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
	gap: clamp(0.75rem, 1.5vw, 1.25rem);
	margin: clamp(2rem, 4vw, 3rem) 0 0 !important;
	padding: 0;
	list-style: none;
	max-width: 1280px !important;
}
.cmn-grade-cartoes--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); }

/* Lista "é o seu caso?": cartões com o visto em caixa */
.cmn-sec ul.cmn-sintomas {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 14.5rem), 1fr));
	gap: 0.75rem;
	margin-top: 2rem !important;
	padding: 0;
}
.cmn-sec ul.cmn-sintomas li {
	display: block !important;
	position: relative;
	margin: 0 !important;
	padding: 1.15rem 1.2rem 1.15rem 3.6rem !important;
	background: #fff;
	border: 1px solid #e6e1e4;
	font-size: 1rem;
	line-height: 1.5;
	color: #474d57;
}
.cmn-sec ul.cmn-sintomas li strong { color: var(--cmn-azul, #1b1f2a); }
.cmn-sec ul.cmn-sintomas li::after {
	content: "";
	position: absolute;
	left: 1rem;
	top: 1rem;
	width: 1.8rem;
	height: 1.8rem;
	background: #f1e7e1;
	z-index: 0;
}
.cmn-sec ul.cmn-sintomas li::before {
	left: 1.62rem !important;
	top: 1.33rem !important;
	z-index: 1;
}

/* Etapas numeradas (lista ordenada das seções) */
.cmn-sec ol.wp-block-list.cmn-etapas-cartoes {
	counter-reset: etapa;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
	gap: 1rem;
	margin: 1.75rem 0 2.5rem !important;
	padding: 0;
	list-style: none;
	max-width: 1280px !important;
}
.cmn-etapas-cartoes > li {
	counter-increment: etapa;
	position: relative;
	margin: 0 !important;
	padding: 3.9rem 1.5rem 1.5rem !important;
	background: #fff;
	border: 1px solid #e6e1e4;
	font-size: 0.975rem;
	line-height: 1.55;
	color: #5d636d;
}
.cmn-etapas-cartoes > li::before {
	content: counter(etapa, decimal-leading-zero);
	position: absolute;
	top: 1.25rem;
	left: 1.5rem;
	font-family: var(--cmn-display);
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: -0.04em;
	line-height: 1;
	color: var(--cmn-terra, #986b58);
	font-variant-numeric: tabular-nums;
}
.cmn-etapas-cartoes > li strong {
	display: block;
	margin-bottom: 0.35rem;
	font-family: var(--cmn-display);
	font-size: 1.1875rem;
	font-weight: 640;
	letter-spacing: -0.02em;
	color: var(--cmn-azul, #1b1f2a);
}

/* Padrões de taco desenhados */
.cmn-sec ul.cmn-padroes {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
	gap: 1rem;
	margin: 1.5rem 0 1rem !important;
	padding: 0;
	max-width: 52rem !important;
}
.cmn-sec ul.cmn-padroes li {
	display: block;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	font-family: var(--cmn-display);
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--cmn-azul, #1b1f2a);
}
.cmn-padrao__svg {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	margin-bottom: 0.65rem;
	box-shadow: 0 14px 30px rgba(27, 31, 42, 0.16);
	transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.cmn-sec ul.cmn-padroes li:hover .cmn-padrao__svg { transform: translateY(-4px) rotate(-1.5deg); }

/* Dia 1: três cartões numerados com ícone */
.cmn-dia1 {
	counter-reset: dia;
	display: grid;
	gap: 0.85rem;
	margin: 2rem 0 !important;
	padding: 0;
	list-style: none;
}
.cmn-dia1 > li {
	counter-increment: dia;
	display: grid;
	grid-template-columns: 3rem minmax(0, 1fr) auto;
	align-items: center;
	gap: 1.1rem;
	margin: 0 !important;
}
.cmn-dia1 > li .cmn-ic-caixa { margin: 0; }
.cmn-dia1 > li::after {
	content: counter(dia, decimal-leading-zero);
	font-family: var(--cmn-display);
	font-size: 1.75rem;
	font-weight: 500;
	letter-spacing: -0.04em;
	color: #d6c6bd;
}
.cmn-dia1 .cmn-cartao__texto { color: #474d57; font-size: 1.0625rem !important; }

@media (max-width: 781px) {
	.cmn-sec ul.cmn-padroes { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Grades de cartões, etapas e padrões alinhadas à coluna de 1280px */
.wp-block-group.alignfull.is-layout-constrained > :is(.cmn-grade-cartoes, ol.cmn-etapas-cartoes, ul.cmn-padroes, ul.cmn-sintomas, .cmn-dia1):not(.x) {
	margin-inline-start: max(0px, calc((100% - var(--wp--style--global--wide-size, 1280px)) / 2)) !important;
	margin-inline-end: auto !important;
	width: 100%;
	max-width: 1280px !important;
}
.wp-block-group.alignfull.is-layout-constrained > ul.cmn-padroes:not(.x) { max-width: 52rem !important; }
/* dentro das seções com foto lateral, as grades respeitam a coluna de texto */
@media (min-width: 64em) {
	.wp-block-group.alignfull.cmn-lado.is-layout-constrained > :is(ul.cmn-sintomas, .cmn-dia1, .cmn-grade-cartoes):not(.x) {
		max-width: calc(min(100vw, 1280px) * 0.5 - 3rem) !important;
	}
	.wp-block-group.alignfull.cmn-lado--esq.is-layout-constrained > :is(ul.cmn-sintomas, .cmn-dia1, .cmn-grade-cartoes):not(.x) {
		margin-inline-start: calc(44% + clamp(2.5rem, 5vw, 5rem)) !important;
		max-width: min(38rem, calc(56% - clamp(2.5rem, 5vw, 5rem) - 1.5rem)) !important;
	}
}

/* Grades de 6 itens em 3 x 2 no desktop (sem órfãos na segunda linha) */
@media (min-width: 64em) {
	.cmn-sec ol.wp-block-list.cmn-etapas-cartoes,
	.cmn-grade-cartoes--3 {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
	.cmn-esperar { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
}

/* Acabamentos: Bona em destaque (o que a gente indica) */
.cmn-sec--acab .wp-block-column.cmn-acab--destaque {
	position: relative;
	padding: 1.5rem !important;
	background: var(--cmn-azul, #1b1f2a) !important;
	color: #d9d4da;
	box-shadow: 0 30px 70px rgba(27, 31, 42, 0.22);
}
.cmn-acab--destaque h3 { color: #f4f1f4 !important; }
.cmn-acab--destaque p { color: #d9d4da !important; }
.cmn-acab--destaque strong { color: #fff; }
.cmn-acab--destaque .has-pequeno-font-size { border-top-color: rgba(229, 225, 230, 0.2) !important; color: #bdb7bd !important; }
.cmn-acab--destaque .cmn-acab__foto figcaption { color: #bdb7bd; }
.cmn-acab__selo {
	display: inline-block;
	margin-bottom: 1rem;
	padding: 0.4em 0.8em;
	background: var(--cmn-terra, #986b58);
	color: #fff;
	font-family: var(--cmn-display);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.04em;
}
.cmn-acab__ic { margin-top: 0.25rem; }
@media (min-width: 64em) {
	.cmn-sec--acab .cmn-acab { align-items: flex-start; }
	.cmn-sec--acab .cmn-acab > .wp-block-column:first-child { flex-basis: 40% !important; }
}

/* Acabamentos: fichas lado a lado no lugar da tabela */
.wp-block-group.alignfull.is-layout-constrained > .cmn-fichas:not(.x) {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.5rem);
	align-items: start;
	width: 100%;
	max-width: 1280px !important;
	margin: clamp(2rem, 4vw, 3rem) auto 0 max(0px, calc((100% - var(--wp--style--global--wide-size, 1280px)) / 2)) !important;
}
.cmn-ficha {
	padding: clamp(1.5rem, 2.5vw, 2rem);
	background: #fff;
	border: 1px solid #e6e1e4;
}
.cmn-ficha h3 {
	margin: 0 0 0.35rem !important;
	font-size: clamp(1.5rem, 2.2vw, 2rem) !important;
	letter-spacing: -0.03em;
	color: var(--cmn-azul, #1b1f2a);
}
.cmn-ficha__sub {
	margin: 0 0 1.25rem !important;
	font-size: 0.9375rem !important;
	color: #5d636d;
}
.cmn-ficha dl { margin: 0; border-top: 1px solid #e6e1e4; }
.cmn-ficha dl > div {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 1rem;
	padding: 0.8rem 0;
	border-bottom: 1px solid #e6e1e4;
}
.cmn-ficha dt { font-size: 0.875rem; color: #5d636d; }
.cmn-ficha dd { margin: 0; font-family: var(--cmn-display); font-size: 0.975rem; font-weight: 600; color: var(--cmn-azul, #1b1f2a); }
.cmn-ficha--destaque {
	background: var(--cmn-azul, #1b1f2a);
	border-color: var(--cmn-azul, #1b1f2a);
	box-shadow: 0 30px 70px rgba(27, 31, 42, 0.22);
}
.cmn-ficha--destaque h3, .cmn-ficha--destaque dd { color: #f4f1f4 !important; }
.cmn-ficha--destaque .cmn-ficha__sub, .cmn-ficha--destaque dt { color: #bdb7bd !important; }
.cmn-ficha--destaque dl, .cmn-ficha--destaque dl > div { border-color: rgba(229, 225, 230, 0.16); }
@media (max-width: 900px) {
	.wp-block-group.alignfull.is-layout-constrained > .cmn-fichas:not(.x) { grid-template-columns: 1fr; }
}
@media (min-width: 64em) {
	.cmn-sec--acab .cmn-acab > .wp-block-column { flex: 1 1 0 !important; }
	.cmn-sec--acab .cmn-acab > .wp-block-column:first-child { flex: 1.35 1 0 !important; }
}

/* ---------- Rodapé: linha de base com crédito da Jooy ---------- */
.cmn-rodape__base {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 2rem;
	max-width: 1280px;
	margin: 0 auto !important;
	font-size: 0.875rem;
}
.cmn-rodape__base p { margin: 0 !important; color: #bdb7bd; }
.cmn-jooy {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	color: #bdb7bd !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
}
.cmn-jooy:hover { color: #fff !important; }
.cmn-jooy span { font-size: 0.8125rem; }
.cmn-jooy__logo { width: auto; height: 1.35rem; }
@media (max-width: 600px) { .cmn-rodape__base { justify-content: center; text-align: center; } }

/* ---------- Sombra das fotos da quadra: não invade a legenda ---------- */
.cmn-sec--quadra .wp-block-columns .wp-block-image img { box-shadow: none !important; }

/* ---------- Sobre: história com linha do tempo ---------- */
@media (min-width: 64em) {
	.wp-block-group.alignfull.cmn-historia.is-layout-constrained {
		display: grid;
		grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
		column-gap: clamp(3rem, 6vw, 6rem);
		align-content: start;
		padding-inline: max(var(--wp--style--root--padding-left, 1.5rem), calc((100% - 1280px) / 2)) !important;
	}
	.wp-block-group.alignfull.cmn-historia.is-layout-constrained > *:not(.x) {
		grid-column: 1;
		max-width: 38rem !important;
		margin-inline: 0 !important;
	}
	.wp-block-group.alignfull.cmn-historia.is-layout-constrained > .cmn-linha-tempo:not(.x) {
		grid-column: 2;
		grid-row: 1 / span 20;
		max-width: none !important;
		margin-top: 0.5rem !important;
	}
}
.cmn-linha-tempo {
	position: relative;
	margin: 2rem 0 0 !important;
	padding: 0 0 0 1.75rem !important;
	list-style: none;
}
.cmn-linha-tempo::before {
	content: "";
	position: absolute;
	left: 0.3rem;
	top: 0.5rem;
	bottom: 0.5rem;
	width: 2px;
	background: linear-gradient(180deg, var(--cmn-terra, #986b58), #e0d3cc);
}
.cmn-linha-tempo li {
	position: relative;
	margin: 0 !important;
	padding: 0 0 1.35rem;
}
.cmn-linha-tempo li::before {
	content: "";
	position: absolute;
	left: -1.75rem;
	top: 0.3rem;
	width: 0.8rem;
	height: 0.8rem;
	border: 2px solid var(--cmn-terra, #986b58);
	background: #fff;
	border-radius: 50%;
}
.cmn-linha-tempo li:last-child::before { background: var(--cmn-terra, #986b58); }
.cmn-linha-tempo__ano {
	display: block;
	font-family: var(--cmn-display);
	font-size: clamp(1.375rem, 2vw, 1.75rem);
	font-weight: 640;
	letter-spacing: -0.03em;
	line-height: 1.1;
	color: var(--cmn-azul, #1b1f2a);
	font-variant-numeric: tabular-nums;
}
.cmn-linha-tempo p { margin: 0.25rem 0 0 !important; font-size: 0.975rem !important; line-height: 1.5; color: #5d636d; }

/* ---------- Sobre: quatro princípios em cartões sobre azul ---------- */
.cmn-sec--principios .cmn-principios { grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); }
.cmn-sec--principios .cmn-cartao { background: #242a38; border-color: rgba(229, 225, 230, 0.12); }
.cmn-sec--principios .cmn-cartao h3 { color: #f4f1f4 !important; }
.cmn-sec--principios .cmn-cartao p { color: #cfcad0 !important; }
.cmn-sec--principios .cmn-ic-caixa { background: rgba(196, 160, 143, 0.16); color: var(--cmn-terra-clara, #c4a08f); }
.cmn-sec--principios .cmn-cartao:hover { border-color: rgba(196, 160, 143, 0.45); box-shadow: 0 22px 44px rgba(0, 0, 0, 0.3); }

/* ---------- Formulários: texto de apoio à esquerda, formulário num painel à direita ---------- */
@media (min-width: 64em) {
	.wp-block-group.alignfull.is-layout-constrained:has(> #formulario) {
		display: grid;
		grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
		column-gap: clamp(3rem, 6vw, 6rem);
		align-content: start;
		padding-inline: max(var(--wp--style--root--padding-left, 1.5rem), calc((100% - 1280px) / 2)) !important;
	}
	.wp-block-group.alignfull.is-layout-constrained:has(> #formulario) > *:not(.x) {
		grid-column: 1;
		max-width: 30rem !important;
		margin-inline: 0 !important;
	}
	.wp-block-group.alignfull.is-layout-constrained:has(> #formulario) > #formulario:not(.x) {
		grid-column: 2;
		grid-row: 1 / span 20;
		max-width: none !important;
		margin: 0 !important;
		position: relative;
	}
	.wp-block-group.alignfull.is-layout-constrained:has(> #formulario) > h2 {
		position: sticky;
		top: 2rem;
	}
}
#formulario .cmn-form {
	max-width: none !important;
	margin: 0 !important;
	padding: clamp(1.5rem, 3vw, 2.75rem);
	background: #fff;
	border: 1px solid #e6e1e4;
	box-shadow: 0 30px 70px rgba(27, 31, 42, 0.1);
}
.has-branco-background-color #formulario .cmn-form,
.cmn-orcamento-servico #formulario .cmn-form { background: #f7f5f8; }
@media (min-width: 40em) {
	#formulario .cmn-form {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 1.25rem;
	}
	#formulario .cmn-form > * { grid-column: 1 / -1; }
	#formulario .cmn-form > .cmn-form__campo:has(#cmn-nome),
	#formulario .cmn-form > .cmn-form__campo:has(#cmn-whatsapp),
	#formulario .cmn-form > .cmn-form__campo:has(#cmn-email),
	#formulario .cmn-form > .cmn-form__campo:has(#cmn-cidade),
	#formulario .cmn-form > .cmn-form__campo:has(#cmn-area),
	#formulario .cmn-form > .cmn-form__campo:has(#cmn-prazo) { grid-column: auto; }
	#formulario .cmn-form__grupo { display: grid; grid-template-columns: 1fr 1fr; gap: 0.35rem 1.25rem; }
	#formulario .cmn-form__grupo legend, #formulario .cmn-form__grupo .cmn-form__erro { grid-column: 1 / -1; }
}
#formulario .cmn-form :is(input[type="text"], input[type="tel"], input[type="email"], select, textarea) {
	width: 100%;
	max-width: none !important;
	box-sizing: border-box;
	border-radius: 0;
	border-color: #d6d0d4;
	background: #fff;
}
#formulario .cmn-form :is(input, select, textarea):focus {
	border-color: var(--cmn-terra, #986b58);
	outline: 2px solid rgba(152, 107, 88, 0.25);
	outline-offset: 0;
}

/* ---------- Menu: página atual marcada e submenu com uma linha por item ---------- */
.cmn-topo .wp-block-navigation-item.is-atual > a,
.cmn-topo .wp-block-navigation-item.is-atual > .wp-block-navigation-item__content {
	text-decoration: underline;
	text-decoration-color: var(--cmn-terra-clara, #c4a08f);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.45em;
}
.cmn-topo .wp-block-navigation__submenu-container .wp-block-navigation-item.is-atual > a { color: var(--cmn-terra-clara, #c4a08f) !important; }
.cmn-topo .wp-block-navigation__submenu-container {
	min-width: 17.5rem !important;
}
.cmn-topo .wp-block-navigation__submenu-container a {
	line-height: 1.25 !important;
	white-space: nowrap;
}

/* Coluna da esquerda fixa como um bloco só (o JS agrupa os elementos) */
@media (min-width: 64em) {
	.wp-block-group.alignfull.cmn-duas-colunas.is-layout-constrained > .cmn-coluna-fixa:not(.x) {
		grid-column: 1;
		grid-row: 1;
		align-self: start;
		position: sticky;
		top: 2rem;
		max-width: 30rem !important;
		margin: 0 !important;
	}
	.wp-block-group.alignfull.cmn-duas-colunas.is-layout-constrained > :is(#formulario, .cmn-faq):not(.x) {
		grid-column: 2;
		grid-row: 1;
	}
	.cmn-coluna-fixa > * { position: static !important; }
	.cmn-coluna-fixa > h2 { margin-top: 0 !important; }
}

/* ---------- Cabeçalho fixo durante a rolagem ---------- */
.cmn-topo.is-fixo {
	position: fixed !important;
	inset: 0 0 auto !important;
	z-index: 950 !important;
	padding-top: 0.7rem !important;
	padding-bottom: 0.7rem !important;
	background: rgba(27, 31, 42, 0.96) !important;
	-webkit-backdrop-filter: saturate(1.2) blur(10px);
	backdrop-filter: saturate(1.2) blur(10px);
	box-shadow: 0 10px 30px rgba(10, 12, 18, 0.25);
	animation: cmn-topo-desce 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}
.cmn-topo.is-fixo .cmn-topo__marca { width: clamp(8rem, 10vw, 10rem) !important; }
.cmn-topo.is-fixo .cmn-botao--topo { padding-top: 0.7em !important; padding-bottom: 0.7em !important; }
@keyframes cmn-topo-desce {
	from { transform: translateY(-100%); }
	to { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	.cmn-topo.is-fixo { animation: none; }
}
/* Nas páginas com cabeçalho no fluxo, a barra fixa não pode deixar um buraco */
.cmn-topo-fixo .cmn-topo-wrap:has(> .cmn-topo:not(.cmn-topo--capa)) { min-height: 5.25rem; }
/* Elementos presos ao rolar descem para baixo da barra fixa */
@media (min-width: 64em) {
	.wp-block-group.alignfull.cmn-duas-colunas.is-layout-constrained > .cmn-coluna-fixa:not(.x) { top: 6.5rem; }
}
html { scroll-padding-top: 6rem; }

/* Restaurar x trocar: a tabela acompanha a rolagem do texto */
@media (min-width: 783px) {
	.cmn-sec--restaurar .wp-block-columns { align-items: flex-start !important; }
	.cmn-sec--restaurar .wp-block-columns > .wp-block-column:last-child {
		position: sticky;
		top: 7rem;
		align-self: flex-start !important;
	}
}

/* Do pó ao brilho: tríptico de vídeos reais de obra */
.cmn-sec--oficio:not(.x) {
	background: var(--cmn-azul, #1b1f2a);
	color: var(--cmn-off, #e5e1e6);
	padding-top: clamp(4.5rem, 9vw, 8rem);
	padding-bottom: clamp(4.5rem, 9vw, 8rem);
	overflow: hidden;
}
.cmn-oficio__topo {
	display: grid;
	gap: 1rem 4rem;
	align-items: end;
	margin-bottom: clamp(2.5rem, 5vw, 4.5rem) !important;
}
.cmn-sec--oficio h2 {
	margin: 0;
	color: var(--cmn-off-claro, #f2f0f3);
	font-size: clamp(2.75rem, 7vw, 6rem);
	line-height: 0.95;
	letter-spacing: -0.04em;
}
.cmn-oficio__lead {
	margin: 0;
	max-width: 30rem;
	font-size: clamp(1.05rem, 1.4vw, 1.2rem);
	line-height: 1.55;
	color: color-mix(in srgb, var(--cmn-off, #e5e1e6) 78%, transparent);
}
.cmn-oficio {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(0.75rem, 1.4vw, 1.25rem);
	margin: 0;
	padding: 0;
}
.cmn-oficio__painel {
	position: relative;
	margin: 0;
	aspect-ratio: 9 / 14;
	overflow: hidden;
	background: #0f1218;
	isolation: isolate;
}
.cmn-oficio__painel:nth-child(even) { transform: translateY(clamp(1.5rem, 4vw, 4rem)); }
.cmn-oficio__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.06);
	transition: transform 6s cubic-bezier(0.16, 1, 0.3, 1);
}
.cmn-oficio__painel.is-visivel .cmn-oficio__video { transform: scale(1); }
.cmn-oficio__painel::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(to top, rgba(12, 14, 20, 0.92) 0%, rgba(12, 14, 20, 0.35) 34%, transparent 58%);
	pointer-events: none;
}
.cmn-oficio__legenda {
	position: absolute;
	inset: auto 0 0 0;
	z-index: 2;
	display: grid;
	gap: 0.35rem;
	padding: clamp(1.1rem, 2vw, 1.75rem);
	color: var(--cmn-off-claro, #f2f0f3);
}
.cmn-oficio__num {
	font-family: var(--cmn-display);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	color: var(--cmn-terra-clara, #c4a08f);
}
.cmn-sec--oficio .cmn-oficio__titulo {
	color: var(--cmn-off-claro, #f2f0f3);
	font-family: var(--cmn-display);
	font-size: clamp(1.45rem, 2.1vw, 2.1rem);
	font-weight: 640;
	line-height: 1;
	letter-spacing: -0.03em;
}
.cmn-oficio__texto {
	max-width: 22rem;
	font-size: 0.95rem;
	line-height: 1.45;
	color: color-mix(in srgb, var(--cmn-off, #e5e1e6) 82%, transparent);
}
/* Entrada em cascata */
.cmn-oficio-js .cmn-oficio__painel {
	opacity: 0;
	clip-path: inset(12% 0 0 0);
	transition: opacity 0.9s ease, clip-path 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.cmn-oficio__painel:nth-child(2) { transition-delay: 0.15s; }
.cmn-oficio__painel:nth-child(3) { transition-delay: 0.3s; }
.cmn-oficio__painel:nth-child(4) { transition-delay: 0.45s; }
.cmn-oficio-js .cmn-oficio__painel.is-visivel { opacity: 1; clip-path: inset(0 0 0 0); }
@media (min-width: 782px) {
	.cmn-oficio__topo { grid-template-columns: 1.2fr 1fr; }
}
@media (max-width: 781px) {
	.cmn-oficio {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: 78%;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		margin-inline: calc(var(--cmn-margem, 1.25rem) * -1) !important;
		padding-inline: var(--cmn-margem, 1.25rem);
		scroll-padding-inline: var(--cmn-margem, 1.25rem);
		scrollbar-width: none;
	}
	.cmn-oficio::-webkit-scrollbar { display: none; }
	.cmn-oficio__painel { scroll-snap-align: start; }
	.cmn-oficio__painel:nth-child(even) { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	.cmn-oficio-js .cmn-oficio__painel { opacity: 1; clip-path: none; transition: none; }
	.cmn-oficio__video { transform: none; transition: none; }
}

/* Faixa de cinema: filme horizontal de ponta a ponta, texto sobre a imagem */
.cmn-sec--oficio:not(.x) { padding-top: 0 !important; }
.cmn-sec--filme:not(.x) { padding-top: 0 !important; padding-bottom: 0 !important; overflow: hidden; background: var(--cmn-azul, #1b1f2a); }
.cmn-filme {
	position: relative;
	margin-top: 0 !important;
	margin-bottom: clamp(3rem, 6vw, 5rem) !important;
	overflow: hidden;
	background: #0f1218;
	aspect-ratio: 2.1 / 1;
	max-height: 88vh;
	isolation: isolate;
}
.cmn-sec--filme .cmn-filme { margin-bottom: 0 !important; }
.cmn-filme__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.cmn-filme::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(to top, rgba(12, 14, 20, 0.88) 0%, rgba(12, 14, 20, 0.25) 42%, transparent 65%),
		linear-gradient(to right, rgba(12, 14, 20, 0.55) 0%, transparent 55%);
}
.cmn-filme__texto {
	position: absolute;
	z-index: 2;
	left: var(--cmn-margem, 1.25rem);
	right: var(--cmn-margem, 1.25rem);
	bottom: clamp(1.5rem, 5vw, 4.5rem);
	max-width: 44rem;
	color: var(--cmn-off-claro, #f2f0f3);
}
@media (min-width: 1400px) {
	.cmn-filme__texto { left: calc((100vw - 1280px) / 2); }
}
.cmn-filme__texto h2 {
	margin: 0 0 1rem;
	color: var(--cmn-off-claro, #f2f0f3);
	font-size: clamp(2.5rem, 6.5vw, 6rem);
	line-height: 0.95;
	letter-spacing: -0.04em;
}
.cmn-filme--verniz .cmn-filme__texto h2 { font-size: clamp(2.1rem, 4.6vw, 4.25rem); line-height: 1; }
.cmn-filme__texto p {
	margin: 0;
	max-width: 30rem;
	font-size: clamp(1.05rem, 1.4vw, 1.25rem);
	line-height: 1.5;
	color: color-mix(in srgb, var(--cmn-off, #e5e1e6) 85%, transparent);
}
.cmn-sec--oficio .cmn-oficio__lead { margin: 0 0 clamp(1.5rem, 3vw, 2.5rem) !important; }
@media (max-width: 781px) {
	.cmn-filme { aspect-ratio: 4 / 5; max-height: none; }
	.cmn-filme--lixadeira .cmn-filme__video { object-position: 80% 50%; }
	.cmn-filme--verniz .cmn-filme__video { object-position: 40% 50%; }
}

/* Restaurar x trocar no celular: cada critério vira um bloco com as duas opções lado a lado,
   cada uma com o próprio rótulo, para a comparação se explicar sem o cabeçalho da tabela */
@media (max-width: 782px) {
	.cmn-sec--restaurar .cmn-comparativo:not(.x) { display: block; background: none; box-shadow: none; }
	.cmn-sec--restaurar .cmn-tabela-cards, .cmn-sec--restaurar .cmn-comparativo:not(.x) { border: 0 !important; outline: 0; padding: 0 !important; }
	.cmn-sec--restaurar .cmn-comparativo:not(.x)::before { content: none; display: none; }
	.cmn-sec--restaurar .cmn-comparativo:not(.x) thead { display: none; }
	.cmn-sec--restaurar .cmn-comparativo:not(.x) tbody { display: grid; gap: 1.5rem; }
	.cmn-sec--restaurar .cmn-comparativo:not(.x) tbody tr {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0.5rem;
		margin: 0;
		padding: 0;
		border: 0;
		background: none;
	}
	.cmn-sec--restaurar .cmn-comparativo:not(.x) tbody th {
		grid-column: 1 / -1;
		display: block;
		width: auto;
		padding: 0 0 0.15rem !important;
		border: 0 !important;
		font-family: var(--cmn-display);
		font-size: 0.8125rem;
		font-weight: 600;
		letter-spacing: 0.16em;
		text-transform: uppercase;
		color: var(--cmn-terra-escura, #7d5544);
	}
	.cmn-sec--restaurar .cmn-comparativo:not(.x) tbody td {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		gap: 0.3rem;
		width: auto;
		min-height: 5.25rem;
		padding: 0.85rem 0.9rem !important;
		border: 0 !important;
		font-size: 1rem;
		line-height: 1.3;
	}
	.cmn-sec--restaurar .cmn-comparativo:not(.x) tbody td::before,
	.cmn-sec--restaurar .cmn-comparativo:not(.x) tbody td::after {
		content: attr(data-rotulo);
		position: static;
		display: block;
		width: auto;
		height: auto;
		margin: 0;
		border: 0;
		background: none;
		transform: none;
		font-family: var(--cmn-display);
		font-size: 0.6875rem;
		font-weight: 600;
		letter-spacing: 0.16em;
		text-transform: uppercase;
	}
	.cmn-sec--restaurar .cmn-comparativo:not(.x) tbody td::after { content: none; display: none; }
	.cmn-sec--restaurar .cmn-comparativo:not(.x) tbody td:nth-child(2) {
		background: var(--cmn-azul, #1b1f2a) !important;
		color: #fff !important;
		font-family: var(--cmn-display);
		font-size: 1.125rem;
	}
	.cmn-sec--restaurar .cmn-comparativo:not(.x) tbody td:nth-child(2)::before { color: var(--cmn-terra-clara, #c4a08f); }
	.cmn-sec--restaurar .cmn-comparativo:not(.x) tbody td:nth-child(2) strong { color: #fff; font-weight: 600; }
	.cmn-sec--restaurar .cmn-comparativo:not(.x) tbody td:nth-child(3) {
		background: #fff !important;
		color: #6b707a !important;
		box-shadow: inset 0 0 0 1px #e2dde0;
	}
	.cmn-sec--restaurar .cmn-comparativo:not(.x) tbody td:nth-child(3)::before { color: #8a8f98; }
}

/* Botão do Instagram (rodapé e contato) */
.cmn-insta {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	margin-top: 0.75rem;
	padding: 0.7rem 1.1rem;
	border: 1px solid rgba(229, 225, 230, 0.28);
	font-family: var(--cmn-display);
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none !important;
	color: var(--cmn-off, #e5e1e6) !important;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}
.cmn-insta:hover { background: rgba(229, 225, 230, 0.08); border-color: var(--cmn-terra-clara, #c4a08f); }
.cmn-insta svg { flex: none; }
.cmn-insta--claro { border-color: #d9d3d7; color: var(--cmn-azul, #1b1f2a) !important; }
.cmn-insta--claro:hover { background: #f2f0f3; border-color: var(--cmn-terra, #986b58); }

/* Galeria de acabamentos: filtro por acabamento, grade e foto ampliada */
.cmn-galeria__filtros {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: clamp(1.5rem, 3vw, 2.5rem) 0 clamp(1.25rem, 2.5vw, 2rem);
}
.cmn-galeria__filtro {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 2.75rem;
	padding: 0.55rem 1.1rem;
	border: 1px solid #d6d0d4;
	background: #fff;
	color: var(--cmn-azul, #1b1f2a);
	font-family: var(--cmn-display);
	font-size: 0.9375rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.cmn-galeria__filtro span { font-weight: 500; font-size: 0.8125rem; color: #8a8f98; }
.cmn-galeria__filtro:hover { border-color: var(--cmn-terra, #986b58); }
.cmn-galeria__filtro[aria-pressed="true"] { background: var(--cmn-azul, #1b1f2a); border-color: var(--cmn-azul, #1b1f2a); color: #fff; }
.cmn-galeria__filtro[aria-pressed="true"] span { color: var(--cmn-terra-clara, #c4a08f); }
.cmn-galeria__grade {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(0.5rem, 1.2vw, 1rem);
	margin: 0;
	padding: 0;
	list-style: none;
}
.cmn-galeria__item[hidden] { display: none; }
.cmn-galeria__item { animation: cmn-galeria-entra 0.45s cubic-bezier(0.16, 1, 0.3, 1) both; }
@keyframes cmn-galeria-entra { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.cmn-galeria__link {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	background: #e2dde0;
	text-decoration: none !important;
}
.cmn-galeria__link img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.cmn-galeria__link:hover img { transform: scale(1.04); }
.cmn-galeria__link::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(12, 14, 20, 0.82) 0%, rgba(12, 14, 20, 0.2) 38%, transparent 60%);
	pointer-events: none;
}
.cmn-galeria__legenda {
	position: absolute;
	z-index: 1;
	inset: auto 0 0 0;
	display: grid;
	gap: 0.15rem;
	padding: 0.85rem 0.9rem;
	color: #fff;
	font-size: 0.8125rem;
	line-height: 1.3;
}
.cmn-galeria__legenda strong { font-family: var(--cmn-display); font-size: 0.9375rem; font-weight: 600; }
.cmn-galeria__legenda span { color: var(--cmn-terra-clara, #c4a08f); font-weight: 600; letter-spacing: 0.02em; }
.cmn-galeria__mais { margin: clamp(1.5rem, 3vw, 2.25rem) 0 0 !important; text-align: center; }
.cmn-galeria__mais[hidden] { display: none; }
.cmn-galeria__btn {
	min-height: 3rem;
	padding: 0.8rem 1.75rem;
	border: 1px solid var(--cmn-azul, #1b1f2a);
	background: none;
	color: var(--cmn-azul, #1b1f2a);
	font-family: var(--cmn-display);
	font-size: 0.9375rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}
.cmn-galeria__btn:hover { background: var(--cmn-azul, #1b1f2a); color: #fff; }
.cmn-galeria__caixa {
	width: min(96vw, 1200px);
	max-width: none;
	height: min(92vh, 100%);
	max-height: none;
	padding: 0;
	border: 0;
	background: transparent;
	overflow: visible;
}
.cmn-galeria__caixa::backdrop { background: rgba(12, 14, 20, 0.92); }
.cmn-galeria__caixa figure { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; margin: 0; }
.cmn-galeria__caixa img { max-width: 100%; max-height: calc(100% - 3rem); object-fit: contain; }
.cmn-galeria__caixa figcaption { margin-top: 0.75rem; color: #e5e1e6; font-size: 0.9375rem; text-align: center; }
.cmn-galeria__caixa button {
	position: fixed;
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	border: 1px solid rgba(229, 225, 230, 0.3);
	background: rgba(27, 31, 42, 0.7);
	color: #fff;
	font-size: 1.75rem;
	line-height: 1;
	cursor: pointer;
}
.cmn-galeria__caixa button:hover { border-color: var(--cmn-terra-clara, #c4a08f); }
.cmn-galeria__fechar { top: 1rem; right: 1rem; }
.cmn-galeria__ant { left: 1rem; top: 50%; transform: translateY(-50%); }
.cmn-galeria__prox { right: 1rem; top: 50%; transform: translateY(-50%); }
@media (max-width: 1000px) { .cmn-galeria__grade { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) {
	.cmn-galeria__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cmn-galeria__legenda { padding: 0.6rem 0.65rem; font-size: 0.75rem; }
	.cmn-galeria__legenda strong { font-size: 0.8125rem; }
	.cmn-galeria__ant, .cmn-galeria__prox { top: auto; bottom: 1rem; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	.cmn-galeria__item { animation: none; }
	.cmn-galeria__link img { transition: none; }
}

/* Antes e depois com três obras (página Projetos) */
@media (min-width: 900px) {
	.cmn-sec--antes .cmn-antes-depois-grade--3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
.cmn-galeria__ref {
	position: absolute;
	z-index: 1;
	top: 0.6rem;
	left: 0.6rem;
	padding: 0.3rem 0.55rem;
	background: rgba(27, 31, 42, 0.82);
	color: #fff;
	font-family: var(--cmn-display);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1;
	backdrop-filter: blur(4px);
}

/* Serviços: "Restaurar ou instalar?" com dois cartões de decisão */
@media (min-width: 64em) {
	.wp-block-group.alignfull.cmn-caso.is-layout-constrained > .cmn-caso__cartoes:not(.x) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.cmn-caso__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-top: 1.1rem !important;
}
.cmn-caso__links a {
	padding: 0.4rem 0.75rem;
	border: 1px solid #e2d6cf;
	background: #faf6f3;
	color: var(--cmn-terra-escura, #7d5544) !important;
	font-family: var(--cmn-display);
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.cmn-caso__links a:hover { background: var(--cmn-azul, #1b1f2a); border-color: var(--cmn-azul, #1b1f2a); color: #fff !important; }
.cmn-caso__duvida {
	margin-top: clamp(1.5rem, 3vw, 2.25rem) !important;
	padding-top: 1.25rem;
	border-top: 1px solid #e2dde0;
	color: #5d636d;
}
.cmn-caso__duvida a {
	display: inline-block;
	margin-left: 0.35rem;
	font-family: var(--cmn-display);
	font-weight: 600;
	color: var(--cmn-terra-escura, #7d5544);
}

/* Menu com 7 itens: em telas médias o espaço entre os itens encolhe para não quebrar linha */
@media (min-width: 783px) and (max-width: 1320px) {
	.cmn-topo .wp-block-navigation .wp-block-navigation__container,
	.cmn-topo--capa .wp-block-navigation__container {
		flex-wrap: nowrap !important;
		gap: clamp(0.85rem, 1.6vw, 1.6rem) !important;
	}
	.cmn-topo .wp-block-navigation-item__content { white-space: nowrap; }
}
@media (min-width: 783px) and (max-width: 1060px) {
	.cmn-topo, .cmn-topo--capa { column-gap: 1rem !important; }
	.cmn-topo .cmn-topo__marca, .cmn-topo--capa .cmn-topo__marca { width: 7.25rem !important; }
	.cmn-topo .wp-block-navigation { font-size: 0.8125rem !important; }
	.cmn-topo .wp-block-navigation .wp-block-navigation__container,
	.cmn-topo--capa .wp-block-navigation__container { gap: 0.8rem !important; }
	.cmn-topo .cmn-botao--topo { padding: 0.65em 0.9em !important; font-size: 0.8125rem !important; white-space: nowrap; }
}

/* Serviços: "E o acabamento?" com quatro acabamentos em foto, cada um leva à galeria filtrada */
.cmn-acab-chamada { display: grid; gap: clamp(2rem, 4vw, 4rem); align-items: center; }
@media (min-width: 64em) {
	.cmn-acab-chamada { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
}
.cmn-sec--acab-chamada h2 { color: #f4f1f4 !important; }
.cmn-sec--acab-chamada .has-lead-font-size { color: #c9c4cb !important; }
.cmn-acab-chamada__grade {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(0.5rem, 1vw, 0.85rem);
	margin: 0;
	padding: 0;
	list-style: none;
}
.cmn-acab-chamada__grade li:nth-child(even) { transform: translateY(clamp(1rem, 2.5vw, 2.25rem)); }
.cmn-acab-chamada__grade a {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 3 / 5;
	text-decoration: none !important;
	background: #0f1218;
}
.cmn-acab-chamada__grade img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1); }
.cmn-acab-chamada__grade a:hover img { transform: scale(1.05); }
.cmn-acab-chamada__grade a::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(12, 14, 20, 0.9) 0%, rgba(12, 14, 20, 0.2) 45%, transparent 65%);
}
.cmn-acab-chamada__grade span {
	position: absolute;
	z-index: 1;
	inset: auto 0 0 0;
	display: grid;
	gap: 0.2rem;
	padding: 0.9rem;
	color: #fff;
	font-family: var(--cmn-display);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.15;
}
.cmn-acab-chamada__grade small { font-family: var(--cmn-texto); font-size: 0.75rem; font-weight: 500; color: var(--cmn-terra-clara, #c4a08f); }
@media (max-width: 781px) {
	.cmn-acab-chamada__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cmn-acab-chamada__grade li:nth-child(even) { transform: none; }
	.cmn-acab-chamada__grade a { aspect-ratio: 4 / 5; }
}

/* Avaliações do Google (plugin Widget for Google Reviews) no visual do site */
.cmn-sec--avaliacoes .wp-gr.rpi {
	--rpi-star-color: var(--cmn-terra, #986b58);
	--rev-color: #fff;
	--name-color: var(--cmn-azul, #1b1f2a);
	--head-name-color: var(--cmn-azul, #1b1f2a);
	--rpi-star-size: 17px;
	margin-top: clamp(1.5rem, 3vw, 2.5rem) !important;
	font-family: var(--cmn-texto) !important;
	color: #5d636d !important;
}
.cmn-sec--avaliacoes .wp-gr.rpi * { font-family: inherit; }
/* Painel da nota: sem a foto e sem o nome longo do perfil */
.cmn-sec--avaliacoes .grw-header .grw-img-wrap,
.cmn-sec--avaliacoes .grw-header .wp-google-name { display: none !important; }
.cmn-sec--avaliacoes .grw-header-inner {
	padding: clamp(1.25rem, 2vw, 1.75rem) !important;
	background: var(--cmn-azul, #1b1f2a) !important;
	color: #e5e1e6 !important;
}
.cmn-sec--avaliacoes .grw-header .rpi-stars {
	--rpi-star-color: var(--cmn-terra-clara, #c4a08f);
	--rpi-star-size: 20px;
	--rpi-rating-scale: 2.1;
	font-family: var(--cmn-display) !important;
	font-weight: 640 !important;
	color: #fff !important;
	height: auto !important;
	line-height: 1 !important;
}
.cmn-sec--avaliacoes .grw-header .wp-google-based { margin-top: 0.5rem !important; color: #e5e1e6 !important; font-size: 0.9375rem !important; }
.cmn-sec--avaliacoes .grw-header .wp-google-powered { color: #9a9ea6 !important; font-size: 0.8125rem !important; }
.cmn-sec--avaliacoes .wp-google-wr { margin-top: 1rem !important; }
.cmn-sec--avaliacoes .wp-google-wr a {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.35rem !important;
	padding: 0.7rem 1rem !important;
	border-radius: 0 !important;
	background: var(--cmn-terra, #986b58) !important;
	box-shadow: none !important;
	text-shadow: none !important;
	font-family: var(--cmn-display) !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
}
.cmn-sec--avaliacoes .wp-google-wr a:hover { background: var(--cmn-terra-escura, #7d5544) !important; }
/* Cartões de avaliação */
.cmn-sec--avaliacoes .grw-review-inner.grw-round { border-radius: 0 !important; }
.cmn-sec--avaliacoes .grw-review-inner {
	border: 1px solid #e6e1e4 !important;
	padding: 1.25rem !important;
	height: 100%;
}
.cmn-sec--avaliacoes .grw-review .wp-google-name {
	font-family: var(--cmn-display) !important;
	font-size: 1rem !important;
	font-weight: 640 !important;
	color: var(--cmn-azul, #1b1f2a) !important;
}
.cmn-sec--avaliacoes .wp-google-time { color: #8a8f98 !important; font-size: 0.8125rem !important; }
.cmn-sec--avaliacoes .wp-google-text { color: #474d57 !important; font-size: 0.9688rem !important; line-height: 1.55 !important; }
.cmn-sec--avaliacoes .wp-more-toggle { color: var(--cmn-terra-escura, #7d5544) !important; font-weight: 600 !important; }
.cmn-sec--avaliacoes .rpi-ltgt {
	border-radius: 0 !important;
	border: 1px solid #d6d0d4 !important;
	background-color: #fff !important;
	box-shadow: none !important;
}
.cmn-sec--avaliacoes .rpi-dots .rpi-dot, .cmn-sec--avaliacoes .rpi-dot { border-radius: 0 !important; }
.cmn-sec--avaliacoes .rpi-dot.active, .cmn-sec--avaliacoes .rpi-dots .active { background: var(--cmn-terra, #986b58) !important; }
.cmn-sec--avaliacoes > .wp-gr.rpi { width: 100% !important; max-width: var(--wp--style--global--wide-size, 1280px) !important; margin-inline: auto !important; }

/* Projetos: "obra parecida com a sua" com a ficha de cada obra */
.cmn-obra-parecida { display: grid; gap: clamp(2rem, 4vw, 4.5rem); align-items: center; }
@media (min-width: 64em) { .cmn-obra-parecida { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); } }
.cmn-obra-parecida .wp-block-buttons { margin-top: 1.75rem !important; }
.cmn-ficha-obra {
	position: relative;
	margin: 0;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	background: var(--cmn-azul, #1b1f2a);
	color: #e5e1e6;
	box-shadow: 0 30px 60px rgba(27, 31, 42, 0.18);
}
.cmn-ficha-obra__topo {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	padding-bottom: 1rem;
	margin-bottom: 0.5rem;
	border-bottom: 1px solid rgba(229, 225, 230, 0.16);
	font-family: var(--cmn-display);
}
.cmn-ficha-obra__topo strong { font-size: 1.125rem; font-weight: 640; color: #fff; }
.cmn-ficha-obra__topo span { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--cmn-terra-clara, #c4a08f); }
.cmn-ficha-obra dl { margin: 0; }
.cmn-ficha-obra dl > div {
	display: grid;
	grid-template-columns: 9.5rem 1fr;
	gap: 1rem;
	padding: 0.7rem 0;
	border-bottom: 1px dashed rgba(229, 225, 230, 0.14);
	font-size: 0.9375rem;
}
.cmn-ficha-obra dl > div:last-child { border-bottom: 0; }
.cmn-ficha-obra dt { color: #9a9ea6; }
.cmn-ficha-obra dd { margin: 0; color: #fff; font-family: var(--cmn-display); font-weight: 600; }
.cmn-ficha-obra figcaption { margin-top: 1rem; font-size: 0.8125rem; color: #9a9ea6; }
@media (max-width: 480px) { .cmn-ficha-obra dl > div { grid-template-columns: 1fr; gap: 0.15rem; } }

/* Faixas de cinema sempre de borda a borda: a largura é a da tela e a altura é que cede
   (o vídeo corta um pouco em cima e embaixo em telas baixas, nunca nas laterais) */
.cmn-filme:not(.x) {
	aspect-ratio: auto !important;
	width: 100vw !important;
	max-width: none !important;
	max-height: none !important;
	height: min(calc(100vw / 2.1), 88vh);
	min-height: 22rem;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}
.cmn-filme:not(.x) .cmn-filme__texto { left: max(var(--cmn-margem, 1.25rem), calc((100vw - 1280px) / 2)); }
@media (max-width: 781px) {
	.cmn-filme:not(.x) { height: min(125vw, 85vh); }
}
.cmn-sec--oficio, .cmn-sec--filme { overflow-x: clip !important; }

/* Barra fixa do celular: Ligar na cor terra com ícone de celular, WhatsApp no verde do WhatsApp */
.cmn-barra-mobile a.cmn-barra-mobile__ligar { background: var(--cmn-terra, #986b58) !important; color: #fff !important; }
.cmn-barra-mobile a.cmn-barra-mobile__whats { background: #25d366 !important; color: #fff !important; }
.cmn-barra-mobile a.cmn-barra-mobile__ligar:active { background: var(--cmn-terra-escura, #7d5544) !important; }
.cmn-barra-mobile a.cmn-barra-mobile__whats:active { background: #1ebe5b !important; }
.cmn-barra-mobile__ic { width: 1.35rem; height: 1.35rem; flex: none; }

/* Botão de avaliação no WhatsApp da capa: verde do WhatsApp, borda com brilho girando,
   reflexo passando e halo pulsando, em movimento contínuo */
@property --cmn-giro { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
.cmn-capa .cmn-botao.cmn-botao--brilho {
	position: relative;
	isolation: isolate;
	gap: 0.65em;
	background: transparent !important;
	color: #fff !important;
	text-shadow: 0 1px 2px rgba(6, 60, 34, 0.45);
	animation: cmn-halo 2.6s ease-in-out infinite;
}
/* anel: gradiente cônico girando, visto só na borda de 2px */
.cmn-capa .cmn-botao--brilho::before {
	content: "";
	position: absolute;
	inset: -2px;
	z-index: -2;
	background: conic-gradient(from var(--cmn-giro), #128c7e 0deg, #25d366 70deg, #d9ffe9 110deg, #ffffff 125deg, #6bffb1 145deg, #25d366 200deg, #128c7e 290deg, #25d366 360deg);
	animation: cmn-giro 3s linear infinite;
}
/* miolo: degradê verde com um reflexo atravessando */
.cmn-capa .cmn-botao--brilho::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, 0.38) 50%, transparent 65%) no-repeat,
		linear-gradient(135deg, #25d366 0%, #1fb85a 55%, #128c7e 100%);
	background-size: 260% 100%, 100% 100%;
	background-position: 150% 0, 0 0;
	animation: cmn-reflexo 3.4s ease-in-out infinite;
}
.cmn-capa .cmn-botao--brilho:hover::after { background-image: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, 0.45) 50%, transparent 65%), linear-gradient(135deg, #22c35e 0%, #1aa650 55%, #0f7a6e 100%); }
.cmn-botao__ic { width: 1.35em; height: 1.35em; flex: none; filter: drop-shadow(0 1px 2px rgba(6, 60, 34, 0.35)); }
@keyframes cmn-giro { to { --cmn-giro: 360deg; } }
@keyframes cmn-reflexo {
	0%, 35% { background-position: 150% 0, 0 0; }
	75%, 100% { background-position: -60% 0, 0 0; }
}
@keyframes cmn-halo {
	0%, 100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0), 0 10px 26px rgba(18, 140, 126, 0.35); }
	50% { box-shadow: 0 0 0 6px rgba(37, 211, 102, 0.18), 0 0 34px 6px rgba(37, 211, 102, 0.45); }
}
@media (prefers-reduced-motion: reduce) {
	.cmn-capa .cmn-botao--brilho, .cmn-capa .cmn-botao--brilho::before, .cmn-capa .cmn-botao--brilho::after { animation: none !important; }
}

/* Capa no celular: tudo até o selo Bona cabe na tela visível, acima da barra Ligar/WhatsApp */
@media (max-width: 781px) {
	.cmn-capa:not(.x) {
		min-height: calc(100svh - 60px - env(safe-area-inset-bottom)) !important;
		padding-top: 5.25rem !important;
		padding-bottom: 1.4rem !important;
		gap: 1.25rem !important;
		align-content: end;
	}
	.cmn-capa:not(.x) h1 { font-size: clamp(2.05rem, 8.9vw, 2.6rem) !important; line-height: 1 !important; margin-top: 0.5rem !important; }
	.cmn-capa:not(.x) .cmn-capa__sobre { font-size: 0.6875rem !important; margin: 0 !important; }
	.cmn-capa:not(.x) .cmn-capa__lead { font-size: 0.9688rem !important; line-height: 1.5 !important; margin-top: 0.75rem !important; }
	.cmn-capa:not(.x) .cmn-capa__acoes { margin-top: 1.1rem !important; gap: 0.7rem 1.25rem !important; }
	.cmn-capa:not(.x) .cmn-botao--brilho { min-height: 52px; padding: 0.8em 1.1em; font-size: 1rem; }
	/* números e selo numa linha só */
	.cmn-capa:not(.x) .cmn-capa__fatos {
		display: grid !important;
		grid-template-columns: 1fr 1fr auto !important;
		align-items: center;
		column-gap: 1rem !important;
		padding: 0.9rem 0 0 !important;
		border-top: 1px solid rgba(229, 225, 230, 0.28);
	}
	.cmn-capa:not(.x) .cmn-capa__fatos dl .cmn-capa__fato { padding: 0 !important; border-bottom: 0 !important; }
	.cmn-capa:not(.x) .cmn-capa__fato dt { font-size: 1.625rem !important; }
	.cmn-capa:not(.x) .cmn-capa__fato dd { font-size: 0.8125rem !important; margin-top: 0.2rem !important; }
	.cmn-capa:not(.x) .cmn-capa__fato--selo { grid-column: auto !important; padding: 0 !important; display: flex; flex-direction: column; align-items: center; gap: 0.3rem; }
	.cmn-capa:not(.x) .cmn-capa__fato--selo img { width: 3.6rem !important; padding: 0.2rem; }
	.cmn-capa:not(.x) .cmn-capa__fato--selo p { font-size: 0.625rem !important; line-height: 1.2 !important; text-align: center; }
}
@media (max-width: 781px) {
	.cmn-capa:not(.x) .cmn-capa__fato dt { white-space: nowrap; font-size: clamp(1.3rem, 6.2vw, 1.625rem) !important; }
}
/* celulares baixos (iPhone SE e afins): mais compacto para o selo não ficar atrás da barra */
@media (max-width: 781px) and (max-height: 700px) {
	.cmn-capa:not(.x) { padding-top: 4.6rem !important; gap: 0.9rem !important; padding-bottom: 1rem !important; }
	.cmn-capa:not(.x) h1 { font-size: clamp(1.8rem, 7.8vw, 2.3rem) !important; }
	.cmn-capa:not(.x) .cmn-capa__lead { font-size: 0.875rem !important; line-height: 1.45 !important; margin-top: 0.5rem !important; }
	.cmn-capa:not(.x) .cmn-capa__acoes { margin-top: 0.8rem !important; gap: 0.5rem 1rem !important; }
	.cmn-capa:not(.x) .cmn-botao--brilho { min-height: 48px; padding: 0.7em 1em; font-size: 0.9375rem; }
	.cmn-capa:not(.x) .cmn-capa__fatos { padding-top: 0.7rem !important; }
	.cmn-capa:not(.x) .cmn-capa__fato--selo img { width: 3rem !important; }
	.cmn-capa:not(.x) .cmn-capa__fato--selo p { font-size: 0.5625rem !important; }
}
@media (max-width: 781px) and (max-height: 580px) {
	.cmn-capa:not(.x) .cmn-capa__sobre { display: none !important; }
	.cmn-capa:not(.x) .cmn-capa__fato dd { font-size: 0.75rem !important; }
}

/* Capa no celular, distribuição (29/09/2026): título no tamanho original, texto centralizado
   entre o menu e os números, números e selo presos na base. O tamanho acompanha a altura da tela. */
@media (max-width: 781px) {
	.cmn-capa:not(.x) {
		grid-template-rows: 1fr auto !important;
		align-content: stretch !important;
		padding-top: 5.5rem !important;
		padding-bottom: 1.25rem !important;
		gap: 1.25rem !important;
	}
	.cmn-capa:not(.x) .cmn-capa__texto { align-self: center; }
	.cmn-capa:not(.x) .cmn-capa__fatos { align-self: end; }
	.cmn-capa:not(.x) .cmn-capa__sobre { display: block !important; font-size: 0.75rem !important; }
	.cmn-capa:not(.x) h1 { font-size: clamp(2rem, min(10.5vw, 6.3svh), 3.25rem) !important; line-height: 0.97 !important; margin-top: 0.75rem !important; }
	.cmn-capa:not(.x) .cmn-capa__lead { font-size: clamp(0.875rem, 2.3svh, 1rem) !important; line-height: 1.5 !important; margin-top: clamp(0.6rem, 2svh, 1.1rem) !important; }
	.cmn-capa:not(.x) .cmn-capa__acoes { margin-top: clamp(0.8rem, 2.6svh, 1.5rem) !important; gap: 0.75rem 1.25rem !important; }
	.cmn-capa:not(.x) .cmn-botao--brilho { min-height: 52px; padding: 0.8em 1.1em; font-size: 1rem; }
	.cmn-capa:not(.x) .cmn-capa__fatos { padding-top: 0.9rem !important; }
	.cmn-capa:not(.x) .cmn-capa__fato--selo img { width: 3.4rem !important; }
	.cmn-capa:not(.x) .cmn-capa__fato--selo p { font-size: 0.625rem !important; }
}
@media (max-width: 781px) and (max-height: 600px) {
	.cmn-capa:not(.x) { padding-top: 4.4rem !important; gap: 0.75rem !important; padding-bottom: 0.9rem !important; }
	.cmn-capa:not(.x) .cmn-capa__sobre { display: none !important; }
	.cmn-capa:not(.x) h1 { margin-top: 0 !important; }
	.cmn-capa:not(.x) .cmn-botao--brilho { min-height: 46px; padding: 0.65em 1em; font-size: 0.9375rem; }
	.cmn-capa:not(.x) .cmn-capa__fatos { padding-top: 0.6rem !important; }
	.cmn-capa:not(.x) .cmn-capa__fato dd { font-size: 0.75rem !important; }
	.cmn-capa:not(.x) .cmn-capa__fato--selo img { width: 2.8rem !important; }
	.cmn-capa:not(.x) .cmn-capa__fato--selo p { font-size: 0.5625rem !important; }
}
