/* ==========================================================
   Tema Loja Viva Cortinas — estilos
   Ajuste cores, fonte e tamanhos nas variáveis abaixo.
   ========================================================== */
:root {
	--cor-fundo: #ffffff;
	--cor-texto: #1d1d1b;   /* cinza bem escuro, o mesmo do logo */
	--cor-suave: #6b6b6b;   /* textos secundários */
	--cor-linha: #e8e8e6;   /* linhas e divisórias */
	--cor-destaque: #fbdb00;/* amarelo da marca: só em detalhes, nunca texto sobre branco */
	/* Avenir aparece em Mac/iPhone (já vem instalada); nos demais, Nunito Sans (gratuita e bem parecida) */
	--fonte: "Avenir Next", "Avenir", "Nunito Sans", "Helvetica Neue", Arial, sans-serif;
	--margem: clamp(16px, 4vw, 56px);
	--altura-header: 80px;
	--altura-logo: 56px;
	--transicao: 1.2s;
}

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

html { -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	background: var(--cor-fundo);
	color: var(--cor-texto);
	font-family: var(--fonte);
	font-weight: 400;
	font-size: 17px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}

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

a { color: inherit; text-decoration: none; transition: opacity .25s; }
a:hover { opacity: .6; }

h1, h2, h3, h4 { font-weight: 400; line-height: 1.25; margin: 0 0 .6em; }

::selection { background: var(--cor-destaque); color: var(--cor-texto); }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}
.skip-link { position: absolute; left: -9999px; top: 8px; z-index: 999; background: #000; color: #fff; padding: 8px 14px; }
.skip-link:focus { left: 8px; }

/* ---------- Cabeçalho: branco, logo pequeno à esquerda, menu à direita ---------- */
.site-header {
	position: fixed; inset: 0 0 auto 0; z-index: 50;
	height: var(--altura-header);
	display: flex; align-items: center; justify-content: space-between;
	padding: 0 var(--margem);
	background: var(--cor-fundo);
}
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }

.site-main { padding-top: var(--altura-header); min-height: 70vh; }

.site-header__brand { position: relative; z-index: 70; }
.custom-logo-link { display: block; }
.custom-logo-link:hover { opacity: 1; }
.custom-logo-link img { height: var(--altura-logo); width: auto; max-height: none; }

/* Botão de 3 listras */
.menu-toggle {
	position: relative; z-index: 70;
	display: block; background: none; border: 0; padding: 8px; margin-right: -8px;
	color: var(--cor-texto); cursor: pointer;
}
.menu-toggle svg { display: block; }
.menu-toggle__close { display: none; }
.menu-open .menu-toggle__open { display: none; }
.menu-open .menu-toggle__close { display: block; }

/* Menu em tela cheia */
.site-nav {
	position: fixed; inset: 0; z-index: 60;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 48px;
	background: var(--cor-fundo); color: var(--cor-texto);
	opacity: 0; visibility: hidden; transition: opacity .35s, visibility 0s linear .35s;
}
.menu-open { overflow: hidden; }
.menu-open .site-nav { opacity: 1; visibility: visible; transition: opacity .35s; }

.site-nav .menu { display: flex; flex-direction: column; align-items: center; gap: 22px; list-style: none; margin: 0; padding: 0; }
.site-nav .menu a {
	font-size: clamp(18px, 2.2vw, 24px); font-weight: 400; letter-spacing: .12em; text-transform: uppercase;
	padding-bottom: 4px; border-bottom: 2px solid transparent;
}
.site-nav .menu a:hover { opacity: 1; border-bottom-color: var(--cor-destaque); }
.site-nav .current-menu-item > a,
.site-nav .current-menu-ancestor > a { border-bottom-color: var(--cor-destaque); }

.site-nav__extras { display: flex; align-items: center; gap: 22px; }
.icon-link { display: inline-flex; }
.lang-switch { display: flex; gap: 10px; list-style: none; margin: 0; padding: 0; }
.lang-switch a { font-size: 13px; letter-spacing: .16em; text-transform: uppercase; }
.lang-switch li + li::before { content: "/"; margin-right: 10px; opacity: .5; font-size: 13px; }
.lang-switch .is-current a { opacity: .45; pointer-events: none; }

/* ---------- Slideshow da home (abaixo do cabeçalho) ---------- */
.hero { position: relative; height: calc(100vh - var(--altura-header)); height: calc(100svh - var(--altura-header)); overflow: hidden; background: #f2f2f0; }
.hero__slide {
	position: absolute; inset: 0; opacity: 0; visibility: hidden;
	transition: opacity var(--transicao) ease, visibility 0s linear var(--transicao);
}
.hero__slide.is-active { opacity: 1; visibility: visible; transition: opacity var(--transicao) ease; }
.hero__slide a { display: block; height: 100%; }
.hero__slide a:hover { opacity: 1; }
.hero__img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.04); transition: transform 8s ease-out; }
.hero__slide.is-active .hero__img { transform: scale(1); }

.hero__nav {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
	background: none; border: 0; color: #fff; cursor: pointer; padding: 20px; opacity: .75;
	filter: drop-shadow(0 1px 3px rgba(0,0,0,.35));
}
.hero__nav:hover { opacity: 1; }
.hero__nav--prev { left: calc(var(--margem) - 20px); }
.hero__nav--next { right: calc(var(--margem) - 20px); }

.hero__dots { position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%); display: flex; gap: 10px; z-index: 3; }
.hero__dot { width: 28px; height: 3px; padding: 0; border: 0; background: rgba(255,255,255,.6); cursor: pointer; }
.hero__dot.is-active { background: var(--cor-destaque); }

.hero__empty { height: 100%; display: grid; place-items: center; color: var(--cor-suave); text-align: center; padding: var(--margem); }

/* ---------- Títulos de página ---------- */
.page-head { padding: clamp(32px, 6vw, 72px) var(--margem) clamp(24px, 4vw, 44px); }
.page-head--center { text-align: center; min-height: 50vh; display: grid; place-content: center; }
.page-title {
	font-size: 14px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; margin: 0;
}
.page-title::after {
	content: ""; display: block; width: 32px; height: 3px; margin-top: 14px; background: var(--cor-destaque);
}
.page-head--center .page-title::after { margin-inline: auto; }
.page-intro { max-width: 640px; margin-top: 18px; color: var(--cor-suave); }

/* ---------- Grade de projetos ---------- */
.project-grid {
	display: grid; grid-template-columns: repeat(3, 1fr);
	gap: clamp(20px, 3vw, 44px) clamp(16px, 2vw, 32px);
	padding: 0 var(--margem) clamp(60px, 8vw, 120px);
}
.project-card a:hover { opacity: 1; }
.project-card__media { aspect-ratio: 4 / 3; overflow: hidden; background: #f2f2f0; }
.project-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s ease, opacity .5s; }
.project-card a:hover .project-card__media img { transform: scale(1.04); opacity: .9; }
.project-card__title { font-size: 15px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; margin: 16px 0 2px; }
.project-card__meta { font-size: 14px; color: var(--cor-suave); margin: 0; }

/* ---------- Projeto individual ---------- */
.project__cover { margin: 0; height: calc(100vh - var(--altura-header)); max-height: 900px; }
.project__cover img { width: 100%; height: 100%; object-fit: cover; }

.project__head {
	display: grid; grid-template-columns: 1fr 1fr; gap: 40px;
	padding: clamp(36px, 6vw, 80px) var(--margem) clamp(24px, 4vw, 48px);
}
.project__type { font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--cor-suave); margin: 0 0 10px; }
.project__title { font-size: clamp(28px, 3.4vw, 44px); font-weight: 300; margin: 0; }
.project__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 32px; margin: 0; align-content: start; }
.project__facts dt { font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--cor-suave); }
.project__facts dd { margin: 2px 0 0; }

.project__content { padding: 0 var(--margem); }
.project__content > p,
.project__content > h2,
.project__content > h3,
.project__content > ul { max-width: 720px; }
.project__content figure,
.project__content .wp-block-image,
.project__content .wp-block-gallery { margin: 0 0 clamp(16px, 2vw, 32px); }
.project__content .wp-block-gallery.has-nested-images { gap: clamp(16px, 2vw, 32px); }

.project__pager {
	display: flex; justify-content: space-between; gap: 20px;
	margin: clamp(40px, 6vw, 90px) var(--margem) 0; padding: 28px 0;
	border-top: 1px solid var(--cor-linha);
	font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
}

/* ---------- Páginas (Sobre, Contato) ---------- */
.page-layout { padding: clamp(32px, 6vw, 72px) var(--margem) clamp(60px, 8vw, 120px); }
.page-layout--split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 96px); align-items: start; }
.page-layout__media { margin: 0; }
.page-layout__media img { width: 100%; }
.page-layout__body { max-width: 640px; }
.page-layout__body .page-title { margin-bottom: 32px; }

.entry-content > *:first-child { margin-top: 0; }
.entry-content p { margin: 0 0 1.2em; }
.entry-content a { border-bottom: 2px solid var(--cor-destaque); }
.entry-content a:hover { opacity: 1; background: var(--cor-destaque); }
.entry-content .wp-block-image a,
.entry-content .wp-block-gallery a { border: 0; background: none; }
.entry-content h2 { font-size: 22px; margin-top: 1.6em; }
.entry-content h3 { font-size: 18px; font-weight: 600; margin-top: 1.4em; }
.entry-content strong { font-weight: 600; }

.contact__list { list-style: none; margin: 0; padding: 0; }
.contact__list li { padding: 16px 0; border-bottom: 1px solid var(--cor-linha); }
.contact__list span { display: block; font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--cor-suave); }
.contact__list address { font-style: normal; }

/* Formulários (Contact Form 7, WPForms etc.) */
.entry-content input[type="text"],
.entry-content input[type="email"],
.entry-content input[type="tel"],
.entry-content textarea {
	width: 100%; font: inherit; color: inherit; padding: 12px 0; background: transparent;
	border: 0; border-bottom: 1px solid #c9c9c6; border-radius: 0; outline: 0;
}
.entry-content input:focus,
.entry-content textarea:focus { border-bottom: 2px solid var(--cor-destaque); }
.entry-content input[type="submit"],
.entry-content button[type="submit"],
.wp-block-button__link {
	font: inherit; font-size: 13px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase;
	background: var(--cor-destaque); color: var(--cor-texto); border: 0; border-radius: 0; padding: 14px 34px; cursor: pointer;
}
.entry-content input[type="submit"]:hover,
.entry-content button[type="submit"]:hover,
.wp-block-button__link:hover { background: var(--cor-texto); color: #fff; opacity: 1; }

/* ---------- Blog / busca ---------- */
.post-list { padding: 0 var(--margem) 80px; max-width: 820px; }
.post-item { padding: 24px 0; border-bottom: 1px solid var(--cor-linha); }
.post-item h2 { font-size: 22px; margin: 0; }
.post-item__date { color: var(--cor-suave); font-size: 14px; margin: 4px 0 10px; }
.empty-state { padding: 0 var(--margem) 80px; color: var(--cor-suave); }

/* ---------- Rodapé ---------- */
.site-footer { border-top: 1px solid var(--cor-linha); padding: 36px var(--margem); font-size: 13px; color: var(--cor-suave); }
.site-footer__inner { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.site-footer p { margin: 0; letter-spacing: .1em; text-transform: uppercase; }
.site-footer__contact { display: flex; gap: 28px; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; }

/* ---------- WhatsApp flutuante (amarelo da marca) ---------- */
.whatsapp-float {
	position: fixed; right: 24px; bottom: 24px; z-index: 55;
	width: 56px; height: 56px; border-radius: 50%;
	display: grid; place-items: center;
	background: var(--cor-destaque); color: var(--cor-texto); box-shadow: 0 6px 18px rgba(0,0,0,.16);
	transition: transform .25s;
}
.whatsapp-float:hover { opacity: 1; transform: scale(1.06); }

/* ---------- Responsivo ---------- */
@media (max-width: 1100px) {
	.project-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
	:root { --altura-header: 68px; --altura-logo: 48px; }
	.project__head,
	.page-layout--split { grid-template-columns: 1fr; }
	.project__cover { height: 60vh; }
	.hero__nav { display: none; }
}

@media (max-width: 600px) {
	.project-grid { grid-template-columns: 1fr; }
	.project__facts { grid-template-columns: 1fr 1fr; }
	.whatsapp-float { right: 16px; bottom: 16px; width: 52px; height: 52px; }
}

@media (prefers-reduced-motion: reduce) {
	* { transition-duration: .01ms !important; }
}

/* ---------- Conteúdo extra da home (editor de blocos) ---------- */
.home-content { padding: clamp(40px, 6vw, 96px) var(--margem); }
.home-content:not(:has(*)) { display: none; }

/* ---------- Elementor: respeita o cabeçalho fixo e a largura total ---------- */
.site-main > .elementor { width: 100%; }

/* ---------- Filtro de categorias em Nossas Obras ---------- */
.obra-filtros { display: flex; flex-wrap: wrap; gap: 10px 28px; list-style: none; margin: 28px 0 0; padding: 0; }
.obra-filtros a { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--cor-suave); padding-bottom: 4px; border-bottom: 2px solid transparent; }
.obra-filtros a:hover { opacity: 1; color: var(--cor-texto); }
.obra-filtros .is-active a { color: var(--cor-texto); border-bottom-color: var(--cor-destaque); }

/* ---------- Slideshow no celular: ponto de foco escolhido no Personalizar ---------- */
.hero picture { display: block; width: 100%; height: 100%; }
@media (max-width: 700px) {
	.hero__img { object-position: var(--foco-mobile, 50% 50%); }
	.hero__img.has-mobile { object-position: 50% 50%; }
}

/* ==========================================================
   Página de contato
   ========================================================== */
.contato__form-area { background: #f4f4f2; padding: clamp(48px, 8vw, 110px) var(--margem); }
.contato__lojas { padding: clamp(56px, 8vw, 110px) var(--margem); }
.contato__inner { max-width: 760px; margin: 0 auto; }
.contato__inner--largo { max-width: 1080px; }
.contato__intro { color: var(--cor-suave); margin: 22px 0 0; max-width: 560px; }

.contato-form { margin-top: clamp(28px, 4vw, 44px); scroll-margin-top: calc(var(--altura-header) + 32px); }
.contato-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 40px; }
.campo { display: block; }
.campo--full { grid-column: 1 / -1; }
.contato-form input,
.contato-form textarea {
	width: 100%; font: inherit; font-size: 16px; color: var(--cor-texto);
	background: transparent; border: 0; border-bottom: 1px solid #bdbdb8; border-radius: 0;
	padding: 16px 2px 10px; outline: 0; transition: border-color .25s;
	-webkit-appearance: none; appearance: none;
}
.contato-form textarea { resize: vertical; min-height: 110px; }
.contato-form input::placeholder,
.contato-form textarea::placeholder { color: #8a8a86; opacity: 1; }
.contato-form input:focus,
.contato-form textarea:focus { border-bottom-color: var(--cor-texto); box-shadow: 0 1px 0 0 var(--cor-destaque); }

.contato-form__acoes { display: flex; justify-content: flex-end; margin-top: 24px; }
.contato-form__enviar {
	font: inherit; font-size: 13px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase;
	color: var(--cor-texto); background: none; border: 0; padding: 6px 0; cursor: pointer;
	border-bottom: 2px solid var(--cor-destaque); transition: padding .25s;
}
.contato-form__enviar:hover { padding: 6px 10px; background: var(--cor-destaque); }

.contato-form__aviso {
	margin: 0 0 20px; padding: 14px 18px; background: #fff; border-left: 3px solid #c0392b; font-size: 15px;
}
.contato-form__aviso--ok { border-left-color: var(--cor-destaque); }

.contato-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Lojas */
.lojas__head { margin-bottom: clamp(32px, 4vw, 52px); }
.lojas__intro { color: var(--cor-suave); max-width: 560px; margin: 22px 0 0; }
.lojas__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: clamp(28px, 4vw, 64px); }
.loja { border-top: 1px solid var(--cor-linha); padding-top: 24px; }
.loja__nome { font-size: 15px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 14px; }
.loja__endereco { font-style: normal; margin: 0 0 12px; }
.loja__horario { color: var(--cor-suave); font-size: 15px; margin: 0 0 18px; }
.loja__mapa { font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; border-bottom: 2px solid var(--cor-destaque); padding-bottom: 3px; }
.loja__mapa:hover { opacity: 1; background: var(--cor-destaque); }

.lojas__canais {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px clamp(28px, 4vw, 64px);
	list-style: none; margin: clamp(40px, 5vw, 64px) 0 0; padding: 28px 0 0; border-top: 1px solid var(--cor-linha);
}
.lojas__canais span { display: block; font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--cor-suave); margin-bottom: 4px; }
.lojas__canais a { font-size: 18px; }

@media (max-width: 600px) {
	.contato-form__grid { grid-template-columns: 1fr; }
	.contato-form__acoes { justify-content: stretch; }
	.contato-form__enviar { width: 100%; padding: 14px; background: var(--cor-destaque); border: 0; }
}

/* ---------- Rodapé: uma linha, sem caixa alta ---------- */
.site-footer__line {
	display: flex; flex-wrap: wrap; align-items: center; gap: 6px 0;
	list-style: none; margin: 0; padding: 0;
	font-size: 13px; letter-spacing: .02em; text-transform: none; color: var(--cor-suave);
}
.site-footer__line li + li::before { content: "-"; margin: 0 10px; opacity: .6; }
.site-footer__line a:hover { opacity: 1; color: var(--cor-texto); }
@media (max-width: 700px) {
	.site-footer__line { flex-direction: column; align-items: flex-start; gap: 4px; }
	.site-footer__line li + li::before { content: none; }
	.site-footer { padding-bottom: 96px; } /* espaço para o botão do WhatsApp */
}

/* ==========================================================
   Produtos — grade no estilo MAB3 (fotos de ponta a ponta,
   nome aparece sobre a foto ao passar o mouse)
   ========================================================== */
.produto-grid {
	--gap: clamp(16px, 2.5vw, 36px);
	display: grid; grid-template-columns: repeat(3, 1fr);
	column-gap: var(--gap); row-gap: calc(var(--gap) * 1.6);
	overflow: hidden; /* corta as linhas divisórias na borda da tela */
	padding-bottom: clamp(60px, 8vw, 120px);
}
.produto-card { position: relative; display: block; }
.produto-card:hover { opacity: 1; }
/* linha fina contínua entre as fileiras */
.produto-card::after {
	content: ""; position: absolute; left: calc(var(--gap) * -1); right: calc(var(--gap) * -1);
	bottom: calc(var(--gap) * -.8); height: 1px; background: var(--cor-linha);
}
.produto-card__media { display: block; aspect-ratio: 6 / 5; overflow: hidden; background: #f2f2f0; }
.produto-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s ease; }
.produto-card:hover .produto-card__media img,
.produto-card:focus-visible .produto-card__media img { transform: scale(1.03); }

.produto-card__nome {
	position: absolute; inset: 0; display: grid; place-items: center; text-align: center; padding: 20px;
	background: rgba(255, 255, 255, .72); color: var(--cor-texto);
	font-size: 14px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase;
	opacity: 0; transition: opacity .4s ease;
}
.produto-card:hover .produto-card__nome,
.produto-card:focus-visible .produto-card__nome { opacity: 1; }

/* Celular/tablet (sem mouse): nome sempre visível, embaixo da foto */
@media (hover: none) {
	.produto-card__nome {
		position: static; display: block; opacity: 1; background: none; text-align: left;
		padding: 14px var(--margem) 0;
	}
}
@media (max-width: 1100px) { .produto-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .produto-grid { grid-template-columns: 1fr; } }

/* Página de produto */
.produto__lado { align-self: end; }
.produto__resumo { font-size: 18px; margin: 0 0 24px; max-width: 520px; }
.produto__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; }
.botao {
	display: inline-block; background: var(--cor-destaque); color: var(--cor-texto);
	font-size: 13px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; padding: 15px 30px;
	transition: background .25s, color .25s;
}
.botao:hover { opacity: 1; background: var(--cor-texto); color: #fff; }
.link-sublinhado { font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; border-bottom: 2px solid var(--cor-destaque); padding-bottom: 3px; }
.link-sublinhado:hover { opacity: 1; background: var(--cor-destaque); }
.project__pager-center { text-align: center; }
.project__pager > span:last-child { text-align: right; }

/* ==========================================================
   Página de produto — topo em duas colunas (foto + informações)
   ========================================================== */
.produto-topo {
	display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: clamp(32px, 5vw, 88px); align-items: center;
	padding: clamp(28px, 4vw, 56px) var(--margem) clamp(40px, 5vw, 72px);
}
.produto-topo--sem-foto { grid-template-columns: 1fr; }
.produto-topo__foto { margin: 0; aspect-ratio: 4 / 3; max-height: calc(100vh - var(--altura-header) - 120px); overflow: hidden; background: #f2f2f0; }
.produto-topo__foto img { width: 100%; height: 100%; object-fit: cover; }
.produto-topo__info { max-width: 460px; }
.produto-topo__info .project__title { margin-bottom: 22px; }
.produto-topo__info .produto__resumo { color: var(--cor-suave); font-size: 17px; margin: 0 0 32px; }

/* ==========================================================
   Galeria com textos (foto grande + miniaturas, estilo MAB3)
   ========================================================== */
.produto__galeria { padding: 0 var(--margem) clamp(40px, 5vw, 72px); }
.galeria { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: clamp(20px, 2.5vw, 36px); outline: 0; }
.galeria__palco { position: relative; }
.galeria__item { display: none; margin: 0; }
.galeria__item.is-active { display: block; animation: galeriaFade .5s ease; }
@keyframes galeriaFade { from { opacity: 0; } to { opacity: 1; } }
.galeria__img { aspect-ratio: 3 / 2; max-height: calc(100vh - var(--altura-header) - 140px); width: 100%; background: #f2f2f0; overflow: hidden; }
.galeria__img img { width: 100%; height: 100%; object-fit: cover; }
.galeria__texto { display: flex; gap: 18px; align-items: baseline; padding: 16px 0 0; font-size: 15px; color: var(--cor-texto); min-height: 3.2em; }
.galeria__contador { flex: none; font-size: 12px; font-weight: 600; letter-spacing: .14em; color: var(--cor-suave); }

.galeria__nav {
	position: absolute; top: calc(50% - 30px); transform: translateY(-50%); z-index: 2;
	background: none; border: 0; padding: 18px; color: #fff; cursor: pointer; opacity: .8;
	filter: drop-shadow(0 1px 3px rgba(0,0,0,.4));
}
.galeria__nav:hover { opacity: 1; }
.galeria__nav--prev { left: 4px; }
.galeria__nav--next { right: 4px; }

.galeria__thumbs {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; align-content: start;
	max-height: calc(100vh - var(--altura-header) - 140px); overflow-y: auto; scrollbar-width: thin;
}
.galeria__thumb { padding: 0; border: 0; background: #f2f2f0; aspect-ratio: 1; cursor: pointer; opacity: .55; transition: opacity .25s; position: relative; }
.galeria__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.galeria__thumb:hover { opacity: .9; }
.galeria__thumb.is-active { opacity: 1; }
.galeria__thumb.is-active::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--cor-destaque); }

/* Celular/tablet: todas as fotos em sequência, cada uma com seu texto */
@media (max-width: 900px) {
	.produto-topo { grid-template-columns: 1fr; padding-top: 0; padding-left: 0; padding-right: 0; gap: 28px; }
	.produto-topo__foto { aspect-ratio: 4 / 3; max-height: none; }
	.produto-topo__info { padding: 0 var(--margem); max-width: none; }
	.galeria { display: block; }
	.galeria__item, .galeria__item.is-active { display: block; animation: none; margin-bottom: 28px; }
	.galeria__img { max-height: none; }
	.galeria__nav, .galeria__thumbs { display: none; }
	.galeria__texto { padding-top: 12px; }
}

/* Galeria do editor de blocos: legenda embaixo da foto (e não por cima) */
.entry-content .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	position: static; background: none; color: var(--cor-texto); text-shadow: none;
	padding: 10px 0 0; font-size: 14px; text-align: left; max-height: none; overflow: visible;
}
.entry-content .wp-block-gallery.has-nested-images figure.wp-block-image { flex-direction: column; }
.entry-content .wp-block-image figcaption { font-size: 14px; color: var(--cor-suave); margin-top: 10px; }

/* ---------- Texto curto do produto ---------- */
.produto-topo__info .produto__resumo { color: var(--cor-texto); font-size: 17px; line-height: 1.75; margin: 0 0 32px; }

/* ---------- Chamada depois das fotos ---------- */
.produto-fim {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 48px;
	margin: clamp(24px, 4vw, 56px) var(--margem) 0; padding: clamp(32px, 4vw, 52px) clamp(24px, 4vw, 56px);
	background: #f4f4f2;
}
.produto-fim__titulo { font-size: clamp(22px, 2.2vw, 28px); font-weight: 300; margin: 0 0 6px; }
.produto-fim__texto { color: var(--cor-suave); margin: 0; max-width: 560px; }
.produto-fim .produto__acoes { flex: none; }
.produto-fim + .project__pager { margin-top: clamp(32px, 4vw, 56px); }

/* ---------- Galeria no celular: mais limpa ---------- */
@media (max-width: 900px) {
	.galeria__item, .galeria__item.is-active { margin-bottom: 12px; }
	.galeria__contador { display: none; }
	.galeria__texto { display: block; min-height: 0; padding: 8px 0 10px; font-size: 14px; color: var(--cor-suave); }
	.galeria__texto:empty, .galeria__texto:not(:has(span:not(.galeria__contador))) { display: none; }
	.produto-fim { margin-left: 0; margin-right: 0; flex-direction: column; align-items: flex-start; }
}
.galeria__texto:not(:has(span:not(.galeria__contador))) .galeria__contador { opacity: .7; }

/* ---------- Janela "Fazer orçamento" ---------- */
.popup-orcamento {
	width: min(680px, calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 0; border: 0;
	background: #fff; color: var(--cor-texto); box-shadow: 0 30px 80px rgba(0,0,0,.25); overflow: auto;
}
.popup-orcamento::backdrop { background: rgba(29, 29, 27, .55); }
.popup-orcamento[open] { animation: popupEntra .3s ease; }
@keyframes popupEntra { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.popup-orcamento__caixa { position: relative; padding: clamp(28px, 5vw, 52px); }
.popup-orcamento__fechar { position: absolute; top: 14px; right: 14px; background: none; border: 0; padding: 8px; cursor: pointer; color: var(--cor-texto); }
.popup-orcamento__pagina { margin: 0 0 8px; font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--cor-suave); }
.popup-orcamento__pagina:empty { display: none; }
.popup-orcamento__intro { color: var(--cor-suave); margin: 20px 0 0; }
.popup-orcamento .contato-form { margin-top: 20px; }
.contato-form.is-enviado .contato-form__grid,
.contato-form.is-enviado .contato-form__acoes { display: none; }
html.popup-aberto { overflow: hidden; }
@media (max-width: 600px) {
	.popup-orcamento { width: 100vw; max-width: 100vw; height: 100%; max-height: 100%; margin: 0; }
	.popup-orcamento__caixa { padding: 56px 20px 28px; }
}

/* ==========================================================
   Página A Loja Viva
   ========================================================== */
.foto-vazia {
	display: grid; place-items: center; width: 100%; height: 100%; min-height: 220px; padding: 20px;
	background: #f2f2f0; color: var(--cor-suave); font-size: 13px; text-align: center;
}
.alv-texto p { margin: 0 0 1em; }
.alv-texto { margin-bottom: 30px; }
.alv-titulo { font-size: clamp(24px, 2.6vw, 34px); font-weight: 300; margin: 0 0 22px; }

.alv-numeros {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
	margin: 0 var(--margem); padding: clamp(32px, 4vw, 52px) 0;
	border-top: 1px solid var(--cor-linha); border-bottom: 1px solid var(--cor-linha);
}
.alv-numero { display: flex; flex-direction: column; gap: 6px; }
.alv-numero__valor { font-size: clamp(36px, 4.2vw, 60px); font-weight: 300; line-height: 1; }
.alv-numero__valor::after { content: ""; display: block; width: 28px; height: 3px; background: var(--cor-destaque); margin-top: 16px; }
.alv-numero__rotulo { font-size: 12px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--cor-suave); margin-top: 6px; }

.alv-secao { padding-top: clamp(56px, 7vw, 100px); }
.alv-secao__head { padding: 0 var(--margem) clamp(24px, 3vw, 40px); }
.alv-secao__intro { color: var(--cor-suave); max-width: 600px; margin: 20px 0 0; }
.alv-galeria-vazia { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 16px; padding: 0 var(--margem); }
.alv-galeria-vazia .foto-vazia { aspect-ratio: 4 / 3; }

.alv-google { margin-top: clamp(56px, 7vw, 100px); padding: clamp(48px, 6vw, 88px) 0; background: #f4f4f2; }
.alv-google__widget { padding: 0 var(--margem); }
.alv-google__link { padding: 24px var(--margem) 0; margin: 0; }
.alv-aviso { margin: 0 var(--margem); padding: 16px 20px; border: 1px dashed #c9c9c6; color: var(--cor-suave); font-size: 14px; }

.alv-decide { margin-top: clamp(32px, 5vw, 72px); }
@media (min-width: 901px) {
	.alv-decide { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
	.alv-decide .produto-topo__foto { order: 2; }
}

.alv-confiar__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 4vw, 64px); padding: 0 var(--margem); }
.alv-confiar__item { border-top: 1px solid var(--cor-linha); padding-top: 22px; }
.alv-confiar__num { font-size: 12px; font-weight: 600; letter-spacing: .14em; color: var(--cor-suave); }
.alv-confiar__item h3 { font-size: 19px; font-weight: 400; margin: 10px 0 10px; }
.alv-confiar__item h3::after { content: ""; display: block; width: 24px; height: 3px; background: var(--cor-destaque); margin-top: 12px; }
.alv-confiar__item p { color: var(--cor-suave); margin: 0; }

.alv-extra { margin-top: clamp(40px, 5vw, 72px); }
.alv .produto-fim { margin-top: clamp(56px, 7vw, 100px); margin-bottom: clamp(56px, 7vw, 100px); }

@media (max-width: 900px) {
	.alv-numeros { grid-template-columns: repeat(2, 1fr); row-gap: 36px; }
	.alv-confiar__grid { grid-template-columns: 1fr; }
	.alv-galeria-vazia { grid-template-columns: 1fr; }
	.alv-galeria-vazia .foto-vazia + .foto-vazia { display: none; }
	.alv-decide .produto-topo__foto { order: 0; }
}

/* A Loja Viva: números entre "Você decide" e "Por que confiar" */
.alv-decide + .alv-numeros { margin-top: clamp(8px, 2vw, 24px); }

/* Página de obra: ficha técnica no topo */
.obra__ficha { margin: 4px 0 32px; padding-top: 22px; border-top: 1px solid var(--cor-linha); }
.obra .produto-fim + .project__pager { margin-top: clamp(32px, 4vw, 56px); }

/* ==========================================================
   Obra — no computador, sem foto de destaque no topo:
   nome à esquerda e botões à direita, galeria logo abaixo.
   (No celular a foto continua aparecendo.)
   ========================================================== */
.obra__ficha:not(:has(div)) { display: none; }
@media (min-width: 901px) {
	.obra .obra-topo { display: block; padding-top: clamp(40px, 5vw, 72px); padding-bottom: clamp(28px, 3vw, 44px); }
	.obra .obra-topo .produto-topo__foto { display: none; }
	.obra .obra-topo .produto-topo__info {
		max-width: none; display: grid; grid-template-columns: minmax(0, 1fr) auto;
		column-gap: 48px; align-items: end;
	}
	.obra .obra-topo .produto-topo__info > * { grid-column: 1; }
	.obra .obra-topo .produto-topo__info > .produto__acoes { grid-column: 2; grid-row: 1 / span 6; align-self: end; flex-wrap: nowrap; }
	.obra .obra-topo .produto-topo__info .project__title { margin-bottom: 0; }
	.obra .obra-topo .produto-topo__info .produto__resumo { margin: 18px 0 0; max-width: 640px; }
	.obra .obra__ficha { margin: 24px 0 0; max-width: 640px; grid-template-columns: repeat(4, auto); justify-content: start; column-gap: 48px; }
}

/* ==========================================================
   v2 (teste) — Menu visível no computador
   ========================================================== */
@media (min-width: 1025px) {
	.menu-toggle { display: none; }
	.site-nav {
		position: static; inset: auto; z-index: auto; opacity: 1; visibility: visible; transition: none;
		flex-direction: row; justify-content: flex-end; gap: 36px; background: none;
	}
	.site-nav .menu { flex-direction: row; gap: 34px; }
	.site-nav .menu a { font-size: 13px; letter-spacing: .16em; padding-bottom: 6px; }
	.site-nav__extras { gap: 18px; }
}

/* ==========================================================
   Home — chamada sobre o slideshow
   ========================================================== */
.is-home .hero { height: calc(86vh - var(--altura-header)); height: calc(86svh - var(--altura-header)); min-height: 460px; }
.hero__chamada {
	position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; pointer-events: none;
	padding: 120px var(--margem) clamp(56px, 7vw, 96px);
	background: linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0));
	color: #fff;
}
.hero__chamada > * { pointer-events: auto; max-width: 720px; }
.hero__titulo { font-size: clamp(30px, 4.2vw, 56px); font-weight: 300; line-height: 1.12; margin: 0 0 14px; }
.hero__subtitulo { font-size: clamp(16px, 1.4vw, 19px); margin: 0 0 28px; opacity: .92; }
.hero__botoes { display: flex; flex-wrap: wrap; gap: 14px; }
.botao--claro { background: rgba(255,255,255,.12); color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.8); backdrop-filter: blur(4px); }
.botao--claro:hover { background: #fff; color: var(--cor-texto); }
.is-home .hero__dots { left: auto; right: var(--margem); transform: none; bottom: clamp(56px, 7vw, 96px); }
.is-home .hero__nav { top: 42%; }
.hero__rolar { position: absolute; left: 50%; bottom: 18px; z-index: 3; width: 22px; height: 34px; margin-left: -11px; border: 1.5px solid rgba(255,255,255,.8); border-radius: 12px; }
.hero__rolar span { position: absolute; left: 50%; top: 7px; width: 3px; height: 7px; margin-left: -1.5px; border-radius: 2px; background: #fff; animation: rolar 1.8s ease-in-out infinite; }
@keyframes rolar { 0% { opacity: 0; transform: translateY(0); } 40% { opacity: 1; } 100% { opacity: 0; transform: translateY(10px); } }

/* ==========================================================
   Home — seções
   ========================================================== */
.home-secoes { scroll-margin-top: var(--altura-header); }
.home-secao { padding-top: clamp(56px, 7vw, 100px); }
.home-secao__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding: 0 var(--margem) clamp(22px, 3vw, 36px); }
.home-decide { margin-top: clamp(48px, 6vw, 88px); }
.home-google { margin-top: clamp(56px, 7vw, 100px); }
.home-fim { margin-top: clamp(56px, 7vw, 100px); margin-bottom: clamp(56px, 7vw, 100px); }
.home-obras .project-grid { padding-bottom: 0; }

/* Galeria lateral de produtos */
.carrossel { position: relative; }
.carrossel__trilho {
	display: grid; grid-auto-flow: column; grid-auto-columns: clamp(240px, 27vw, 420px); gap: 24px;
	overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-left: var(--margem);
	padding: 0 var(--margem) 8px; scrollbar-width: none; outline: 0;
}
.carrossel__trilho::-webkit-scrollbar { display: none; }
.carrossel__item { scroll-snap-align: start; display: block; }
.carrossel__item:hover { opacity: 1; }
.carrossel__foto { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: #f2f2f0; }
.carrossel__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s ease; }
.carrossel__item:hover .carrossel__foto img { transform: scale(1.04); }
.carrossel__nome { display: block; margin-top: 14px; font-size: 14px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.carrossel__item:hover .carrossel__nome { text-decoration: underline; text-decoration-color: var(--cor-destaque); text-decoration-thickness: 2px; text-underline-offset: 6px; }
.carrossel__controles { display: flex; justify-content: flex-end; gap: 6px; padding: 18px var(--margem) 0; }
.carrossel__btn { width: 46px; height: 46px; display: grid; place-items: center; background: none; border: 1px solid var(--cor-linha); color: var(--cor-texto); cursor: pointer; transition: border-color .25s, background .25s; }
.carrossel__btn svg { width: 22px; height: 22px; }
.carrossel__btn:hover:not(:disabled) { border-color: var(--cor-texto); background: var(--cor-destaque); }
.carrossel__btn:disabled { opacity: .3; cursor: default; }
.carrossel.sem-rolagem .carrossel__controles { display: none; }

/* Vídeo institucional */
.home-video__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(32px, 5vw, 80px); align-items: center; padding: 0 var(--margem); }
.video { position: relative; aspect-ratio: 16 / 9; background: #1d1d1b; overflow: hidden; }
.video iframe, .video__capa { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video__capa { background: #1d1d1b center / cover no-repeat; cursor: pointer; padding: 0; }
.video__capa::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.15); transition: background .3s; }
.video__capa:hover::after { background: rgba(0,0,0,.05); }
.video__play {
	position: absolute; left: 50%; top: 50%; z-index: 1; width: 78px; height: 78px; margin: -39px 0 0 -39px;
	display: grid; place-items: center; border-radius: 50%; background: var(--cor-destaque); color: var(--cor-texto);
	transition: transform .3s;
}
.video__play svg { margin-left: 4px; }
.video__capa:hover .video__play { transform: scale(1.08); }
.video--vazio .foto-vazia { position: absolute; inset: 0; }
.video--embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; }

@media (max-width: 900px) {
	.is-home .hero { height: 78svh; }
	.hero__chamada { padding-bottom: 64px; }
	.is-home .hero__dots { right: auto; left: var(--margem); bottom: 26px; }
	.hero__rolar { display: none; }
	.home-video__grid { grid-template-columns: 1fr; }
	.carrossel__trilho { grid-auto-columns: 72vw; gap: 14px; }
	.carrossel__controles { display: none; }
	.home-secao__head { align-items: flex-start; flex-direction: column; gap: 14px; }
}

/* Grandes números na home (entre o vídeo e "Você decide") e vídeo na página A Loja Viva */
.home-numeros { margin-top: clamp(56px, 7vw, 100px); }
.alv-video { padding-top: clamp(40px, 5vw, 72px); }
.alv-video + .alv-secao { padding-top: clamp(56px, 7vw, 100px); }

/* Home: chamada mais limpa — botão só com contorno e sem os tracinhos de troca de foto */
.is-home .hero__dots { display: none; }
.hero__botoes .botao--claro { background: transparent; backdrop-filter: none; }
.hero__botoes .botao--claro:hover { background: #fff; color: var(--cor-texto); }

/* Vídeo na página do produto (antes da galeria), alinhado à foto da galeria */
.produto__video { padding: 0 var(--margem) clamp(40px, 5vw, 72px); }
@media (min-width: 901px) {
	.produto__video .video { width: calc(100% - 280px - clamp(20px, 2.5vw, 36px)); max-height: calc(100vh - var(--altura-header) - 140px); }
}

/* Aviso de privacidade abaixo do botão Enviar */
.contato-form__privacidade { margin: 14px 0 0; font-size: 12px; line-height: 1.5; color: #8a8a87; }
.contato-form__privacidade a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.contato-form__privacidade a:hover { color: var(--cor-texto); }

/* Documento (Política de Privacidade, termos) */
.documento { padding: clamp(32px, 6vw, 72px) var(--margem) clamp(60px, 8vw, 120px); max-width: 1180px; margin: 0 auto; }
.documento__topo { max-width: 760px; margin-bottom: clamp(32px, 4vw, 56px); }
.documento__intro { margin: 16px 0 0; color: var(--cor-suave); font-size: 17px; }
.documento__corpo.tem-indice { display: grid; grid-template-columns: 250px minmax(0, 760px); gap: clamp(40px, 5vw, 80px); align-items: start; }
.documento__indice { position: sticky; top: calc(var(--altura-header) + 24px); padding: 4px 0 4px 20px; border-left: 3px solid var(--cor-destaque); }
.documento__indice-titulo { font-size: 12px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--cor-suave); margin: 0 0 14px; }
.documento__indice ol { list-style: none; counter-reset: doc; margin: 0; padding: 0; }
.documento__indice li { counter-increment: doc; margin: 0 0 9px; font-size: 14px; line-height: 1.4; }
.documento__indice li::before { content: counter(doc) "."; display: inline-block; min-width: 1.6em; color: var(--cor-suave); }
.documento__indice a { color: var(--cor-texto); }
.documento__indice a:hover { color: var(--cor-suave); }
.documento__texto { line-height: 1.75; }
.documento__texto h2, .documento__texto h3 { font-size: clamp(19px, 1.6vw, 22px); font-weight: 600; margin: 2.4em 0 .7em; scroll-margin-top: calc(var(--altura-header) + 24px); }
.documento__texto h4 { font-size: 16px; font-weight: 600; margin: 1.8em 0 .5em; }
.documento__texto > h2:first-child, .documento__texto > h3:first-child { margin-top: 0; }
.documento__texto ul, .documento__texto ol { padding-left: 1.2em; margin: 0 0 1.2em; }
.documento__texto li { margin: 0 0 .5em; }
.documento__texto li::marker { color: var(--cor-suave); }
.documento__texto strong { font-weight: 600; }
@media (max-width: 900px) {
	.documento__corpo.tem-indice { display: block; }
	.documento__indice { position: static; margin-bottom: 40px; padding: 20px; border-left-width: 3px; background: #f6f6f4; }
	.documento__indice ol { columns: 1; }
}
@media (min-width: 600px) and (max-width: 900px) {
	.documento__indice ol { columns: 2; column-gap: 32px; }
	.documento__indice li { break-inside: avoid; }
}

/* Rodapé: seta para voltar ao topo */
.site-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.site-footer__topo {
	flex: none; display: grid; place-items: center; width: 44px; height: 44px;
	border: 1px solid var(--cor-linha); border-radius: 50%; color: var(--cor-texto);
	transition: border-color .25s, background .25s, transform .25s;
}
.site-footer__topo:hover { opacity: 1; border-color: var(--cor-destaque); background: var(--cor-destaque); transform: translateY(-2px); }
@media (max-width: 700px) {
	.site-footer { align-items: flex-start; }
}

/* Janela do WhatsApp */
.popup-whatsapp .contato-form__enviar { display: inline-flex; align-items: center; gap: 10px; }
.popup-whatsapp .contato-form__enviar svg { width: 18px; height: 18px; }
.contato-form--whatsapp.is-enviado .contato-form__grid,
.contato-form--whatsapp.is-enviado .contato-form__acoes,
.contato-form--whatsapp.is-enviado .contato-form__privacidade { display: none; }
.contato-form__aviso a { text-decoration: underline; color: inherit; }
@media (min-width: 701px) {
	.site-footer { padding-right: 104px; } /* a seta não fica embaixo do botão do WhatsApp */
}

/* Formulário de contato na home (chamada final) */
.home-contato {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: clamp(32px, 5vw, 80px); align-items: start;
	margin: clamp(24px, 4vw, 56px) var(--margem) 0; padding: clamp(32px, 4vw, 56px) clamp(24px, 4vw, 56px);
	background: #f4f4f2;
}
.home-contato .contato-form input, .home-contato .contato-form textarea { background: transparent; }
@media (max-width: 900px) { .home-contato { grid-template-columns: 1fr; } }

/* "Se desejar, você também pode ligar…" */
.contato-form__alternativa { margin: 18px 0 0; font-size: 14px; line-height: 1.6; color: var(--cor-suave); }
.contato-form__alternativa a { color: var(--cor-texto); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--cor-destaque); text-decoration-thickness: 2px; }
.contato-form__privacidade { margin-top: 8px; }
.contato-form--whatsapp.is-enviado .contato-form__alternativa { display: none; }

/* Botão verde do WhatsApp */
.popup-whatsapp .contato-form__enviar { background: #1DAA61; border-color: #1DAA61; color: #fff; }
.popup-whatsapp .contato-form__enviar:hover, .popup-whatsapp .contato-form__enviar:focus-visible { background: #168f50; border-color: #168f50; color: #fff; }
.popup-whatsapp .contato-form__enviar,
.popup-whatsapp .contato-form__enviar:hover { padding: 15px 26px; border: 0; justify-content: center; }
.popup-whatsapp .contato-form__acoes { justify-content: stretch; }
.popup-whatsapp .contato-form__enviar { width: 100%; }
.contato-form__alternativa a { white-space: nowrap; }

/* Ícone pequeno do WhatsApp antes de "Fazer orçamento" */
.botao__icone { display: inline-block; vertical-align: -3px; margin-right: 10px; line-height: 0; }
.botao__icone svg { width: 16px; height: 16px; fill: currentColor; }

/* Fim da página do produto: "Você decide" + outros produtos */
.produto-decide { margin-top: clamp(40px, 6vw, 88px); }
.produto-outros { padding-top: clamp(48px, 6vw, 80px); padding-bottom: clamp(56px, 7vw, 100px); }

/* Showrooms com foto */
.lojas__grid--fotos .loja { border-top: 0; padding-top: 0; }
.loja__foto { margin: 0 0 24px; aspect-ratio: 4 / 3; overflow: hidden; background: #f2f2f0; }
.loja__foto img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s ease; }
.loja:hover .loja__foto img { transform: scale(1.03); }
.loja__foto .foto-vazia { min-height: 0; }
@media (min-width: 701px) { .lojas__grid--fotos { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); } }
@media (min-width: 701px) and (max-width: 1100px) { .lojas__grid--fotos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1101px) { .lojas__grid--fotos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Antispam Turnstile: só aparece se o visitante precisar confirmar algo */
.contato-form__turnstile { margin-top: 16px; }
.contato-form__turnstile:empty { margin: 0; }
/* Obras: pager depois da galeria de produtos */
.obra-produtos { padding-bottom: clamp(32px, 4vw, 56px); }
.obra-produtos + .project__pager { margin-top: 0; }

/* Links para uma parte da página (#vamos-ate-voce, #voce-decide…) não ficam embaixo do topo fixo */
[id] { scroll-margin-top: calc(var(--altura-header) + 24px); }
