/*
 * Página do imóvel — layout novo (prévia ?novo=1). Modelo F1 (desktop) / G1 (celular), Ronnie 11/11/2026.
 * Mobile first; desktop a partir de 1024px. Tudo escopado em .ivx-imv (e .ivx-lb, que vai no body).
 */

.ivx-imv {
	--ivx-ink: #17150f;
	--ivx-mute: #5f5a50;
	--ivx-line: #e6e6e3;
	--ivx-bg: #f3f3f1;
	--ivx-goldtxt: #8a6d1d;
	--ivx-gold: #d4af37;
	--ivx-wa: #1da851;
	background: var(--ivx-bg);
	color: var(--ivx-ink);
	font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	text-align: center;
}

/* Espaço da barra fixa do celular no body (no .ivx-imv ela cobria o fim do rodapé do tema, que vem depois). */
.ivx-imv-body {
	padding-bottom: 76px;
}

.ivx-imv h1,
.ivx-imv h2,
.ivx-imv h3,
.ivx-imv p,
.ivx-imv a,
.ivx-imv b,
.ivx-imv span,
.ivx-imv li,
.ivx-imv dt,
.ivx-imv dd,
.ivx-imv button,
.ivx-imv input,
.ivx-imv textarea,
.ivx-imv summary {
	font-family: inherit;
	letter-spacing: normal;
	text-transform: none;
}

.ivx-imv a {
	color: var(--ivx-goldtxt);
}

.ivx-imv .ivx-ic {
	flex: none;
	display: block;
}

/* marcador interno das características (zp, re…): no HTML como no tema, fora da tela e do leitor de tela */
.ivx-imv .ivx-carac__interna {
	display: none;
}

.ivx-imv .ivx-oculto {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	border: 0;
}

/* ---------- galeria ---------- */
.ivx-imv .ivx-gal {
	position: relative;
	height: 300px;
	background: #0d0c0a;
	overflow: hidden;
}

.ivx-imv .ivx-gal__trilho {
	display: flex;
	gap: 4px;
	height: 100%;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	overscroll-behavior-x: contain;
}

.ivx-imv .ivx-gal__trilho::-webkit-scrollbar {
	display: none;
}

.ivx-imv .ivx-gal__item {
	flex: 0 0 100%;
	height: 100%;
	scroll-snap-align: start;
	display: block;
}

.ivx-imv .ivx-gal__img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

.ivx-imv .ivx-seta {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: rgba(255, 255, 255, 0.92);
	color: var(--ivx-ink);
	cursor: pointer;
}

.ivx-imv .ivx-gal__seta {
	position: absolute;
	top: 50%;
	z-index: 2;
	transform: translateY(-50%);
}

.ivx-imv .ivx-gal__seta--ant {
	left: 10px;
}

.ivx-imv .ivx-gal__seta--prox {
	right: 10px;
}

.ivx-imv .ivx-gal__chips {
	position: absolute;
	left: 10px;
	right: 10px;
	bottom: 10px;
	z-index: 4;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
}

.ivx-imv .ivx-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	margin: 0;
	padding: 0 14px;
	border: 0;
	border-radius: 0;
	background: #ffffff;
	color: var(--ivx-ink);
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
	cursor: pointer;
}

.ivx-imv span.ivx-chip {
	cursor: default;
}

.ivx-imv .ivx-chip__play {
	position: relative;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #c4302b;
}

.ivx-imv .ivx-chip__play::before {
	content: "";
	position: absolute;
	left: 8px;
	top: 6px;
	border-style: solid;
	border-width: 4px 0 4px 6px;
	border-color: transparent transparent transparent #ffffff;
}

.ivx-imv .ivx-chip--video[aria-pressed="true"] {
	background: var(--ivx-ink);
	color: #ffffff;
}

.ivx-imv .ivx-chip--wa {
	background: var(--ivx-wa);
	color: #ffffff;
}

/* vídeo no lugar das fotos (laterais escuras, sem foto atrás) */
.ivx-imv .ivx-gal.is-video {
	height: 520px;
}

.ivx-imv .ivx-gal.is-video .ivx-gal__trilho,
.ivx-imv .ivx-gal.is-video .ivx-gal__seta {
	visibility: hidden;
}

.ivx-imv .ivx-video {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 64px 0 64px;
	background: #0d0c0a;
}

.ivx-imv .ivx-video[hidden] {
	display: none;
}

.ivx-imv .ivx-video__player {
	height: 100%;
	max-width: 100%;
	aspect-ratio: 9 / 16;
	background: #000000;
}

.ivx-imv .ivx-video__player iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.ivx-imv .ivx-video__fechar {
	position: absolute;
	top: 12px;
	right: 12px;
	min-height: 44px;
	padding: 0 14px;
	border: 0;
	border-radius: 0;
	background: #ffffff;
	color: var(--ivx-ink);
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}

/* ---------- resumo (só celular) ---------- */
.ivx-imv .ivx-resumo {
	background: #ffffff;
	padding: 18px 12px 4px;
}

.ivx-imv .ivx-resumo__linha,
.ivx-imv .ivx-resumo__taxas {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--ivx-mute);
}

.ivx-imv .ivx-resumo__taxas {
	margin-top: 4px;
}

.ivx-imv .ivx-resumo__taxas span {
	display: block;
}

.ivx-imv .ivx-resumo__op {
	display: block;
	margin-top: 8px;
	font-size: 14px;
	color: var(--ivx-mute);
}

.ivx-imv .ivx-resumo__preco {
	display: block;
	font-size: 30px;
	font-weight: 800;
	letter-spacing: -0.5px;
	line-height: 1.25;
	color: var(--ivx-ink);
}

.ivx-imv .ivx-resumo__grade {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--ivx-line);
}

.ivx-imv .ivx-resumo__grade li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 16px 4px;
	color: var(--ivx-goldtxt);
}

.ivx-imv .ivx-resumo__grade b {
	font-size: 16px;
	color: var(--ivx-ink);
}

.ivx-imv .ivx-resumo__grade span {
	font-size: 12px;
	color: var(--ivx-mute);
}

/* ---------- título ---------- */
.ivx-imv .ivx-pagina {
	max-width: 1240px;
	margin: 0 auto;
	padding: 18px 12px 0;
}

.ivx-imv .ivx-trilha {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--ivx-mute);
}

.ivx-imv .ivx-trilha a {
	text-decoration: none;
}

.ivx-imv .ivx-trilha__sep {
	color: #b9b2a3;
}

.ivx-imv .ivx-trilha__atual,
.ivx-imv .ivx-trilha__sep:nth-last-child(2) {
	display: none;
}

.ivx-imv .ivx-topo__h1 {
	margin: 12px 0 6px;
	padding: 0;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--ivx-ink);
}

.ivx-imv .ivx-topo__local {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 6px;
	margin: 0;
	font-size: 14px;
	color: var(--ivx-mute);
}

.ivx-imv .ivx-topo__local .ivx-ic {
	color: var(--ivx-goldtxt);
}

/* ---------- colunas e cartões ---------- */
.ivx-imv .ivx-principal {
	min-width: 0;
}

.ivx-imv .ivx-card {
	margin-top: 12px;
	padding: 22px 18px;
	background: #ffffff;
	border: 1px solid var(--ivx-line);
	scroll-margin-top: 90px;
}

.ivx-imv .ivx-h2 {
	margin: 0 0 16px;
	padding: 0;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--ivx-ink);
}

/* ficha */
.ivx-imv .ivx-ficha__grade {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 16px;
	margin: 0;
}

.ivx-imv .ivx-ficha__lin {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 2px;
	padding: 13px 0;
	border-bottom: 1px solid var(--ivx-line);
}

.ivx-imv .ivx-ficha__lin dt {
	margin: 0;
	font-size: 15px;
	font-weight: 400;
	color: var(--ivx-mute);
}

.ivx-imv .ivx-ficha__lin dd {
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	color: var(--ivx-ink);
}

.ivx-imv .ivx-ficha__id {
	margin: 18px 0 12px;
	font-size: 13px;
	line-height: 1.6;
	color: var(--ivx-mute);
}

.ivx-imv .ivx-ficha__id span {
	display: block;
}

.ivx-imv .ivx-ficha__id .ivx-ficha__sep {
	display: none;
}

.ivx-imv .ivx-share {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0 0 20px;
}

/* no fim do texto completo, depois de abrir */
.ivx-imv .ivx-desc__mais .ivx-share {
	margin: 20px 0 0;
}

.ivx-imv .ivx-share__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 16px;
	color: #ffffff;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.ivx-imv .ivx-share__btn--wa {
	background: var(--ivx-wa);
}

.ivx-imv .ivx-share__btn--fb {
	background: #1877f2;
}

/* características */
.ivx-imv .ivx-carac {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ivx-imv .ivx-carac li {
	margin: 0;
	padding: 0;
}

.ivx-imv .ivx-carac__item {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 16px;
	background: var(--ivx-bg);
	color: var(--ivx-ink);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.35;
	text-align: center;
	text-decoration: none;
}

.ivx-imv a.ivx-carac__item {
	color: var(--ivx-ink);
}

.ivx-imv .ivx-carac__item .ivx-ic {
	color: var(--ivx-goldtxt);
}

/* descrição */
.ivx-imv .ivx-desc__txt p {
	margin: 0 0 14px;
	font-size: 16px;
	line-height: 1.8;
	color: #3f3b33;
}

.ivx-imv .ivx-desc__mais summary {
	list-style: none;
}

.ivx-imv .ivx-desc__mais summary::-webkit-details-marker {
	display: none;
}

/* abrir/fechar a descrição: "+" (vira "−" aberto) com texto, sem cara de botão */
.ivx-imv .ivx-desc__toggle {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	font-size: 15px;
	font-weight: 700;
	color: var(--ivx-ink);
	cursor: pointer;
}

.ivx-imv .ivx-desc__mais-ic {
	position: relative;
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	border: 1.5px solid var(--ivx-ink);
	border-radius: 50%;
	box-sizing: border-box;
}

.ivx-imv .ivx-desc__mais-ic::before,
.ivx-imv .ivx-desc__mais-ic::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 1.5px;
	background: currentColor;
	transform: translate(-50%, -50%);
}

.ivx-imv .ivx-desc__mais-ic::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

/* aberto: o "+" de cima some e o "− Ver menos" fica no fim do texto */
.ivx-imv .ivx-desc__mais[open] summary,
.ivx-imv .ivx-desc__mais-ic.is-menos::after {
	display: none;
}

.ivx-imv .ivx-desc__menos {
	height: auto;
	min-width: 0;
	margin-top: 4px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	font-family: inherit;
	line-height: 1.3;
	letter-spacing: normal;
	text-transform: none;
}

.ivx-imv .ivx-desc__toggle:focus-visible {
	outline: 2px solid var(--ivx-gold);
	outline-offset: 2px;
}

/* botões */
.ivx-imv .ivx-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 18px;
	border: 0;
	border-radius: 0;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}

/* padrão: todo botão de ação tem 52px de altura e a largura toda do bloco */
.ivx-imv .ivx-btn--borda {
	width: 100%;
	min-height: 52px;
	border: 1.5px solid var(--ivx-ink);
	background: transparent;
	color: var(--ivx-ink);
	box-sizing: border-box;
}

.ivx-imv .ivx-btn--wa {
	background: var(--ivx-wa);
	color: #ffffff;
}

.ivx-imv .ivx-btn--claro {
	background: var(--ivx-bg);
	color: var(--ivx-ink);
}

.ivx-imv .ivx-btn--preto {
	background: var(--ivx-ink);
	color: #ffffff;
}

/* plantas */
.ivx-imv .ivx-planta {
	margin-top: -1px;
	border: 1px solid var(--ivx-line);
}

.ivx-imv .ivx-planta__tit {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 44px;
	padding: 16px 18px;
	font-size: 16px;
	font-weight: 600;
	color: var(--ivx-ink);
	list-style: none;
	cursor: pointer;
}

.ivx-imv .ivx-planta__tit::-webkit-details-marker {
	display: none;
}

.ivx-imv .ivx-planta__ic {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 22px;
	height: 22px;
	border: 1px solid var(--ivx-gold);
	color: var(--ivx-goldtxt);
	font-size: 16px;
	line-height: 1;
}

.ivx-imv .ivx-planta__ic::before {
	content: "+";
}

.ivx-imv .ivx-planta[open] .ivx-planta__ic::before {
	content: "\2212";
}

.ivx-imv .ivx-planta__img {
	display: block;
	padding: 12px;
	background: #ffffff;
	border-top: 1px solid var(--ivx-line);
	cursor: zoom-in;
}

.ivx-imv .ivx-planta__img img {
	display: block;
	width: 100%;
	height: auto;
}

.ivx-imv .ivx-nota {
	margin: 10px 0 0;
	font-size: 13px;
	color: var(--ivx-mute);
}

/* ---------- documentos (PDF) ---------- */
.ivx-imv .ivx-docs__lista {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ivx-imv .ivx-doc {
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 56px;
	padding: 10px 16px;
	border: 1px solid var(--ivx-line);
	background: #ffffff;
	color: var(--ivx-ink);
	font-size: 15px;
	font-weight: 600;
	text-align: left;
	text-decoration: none;
}

/* teclado: contorno visível em todo botão/link clicável */
.ivx-imv .ivx-btn:focus-visible,
.ivx-imv .ivx-chip:focus-visible,
.ivx-imv .ivx-seta:focus-visible,
.ivx-imv .ivx-video__fechar:focus-visible,
.ivx-imv .ivx-share__btn:focus-visible,
.ivx-imv .ivx-corretor__mais:focus-visible,
.ivx-imv .ivx-form .wpcf7-form .wpcf7-form-control.wpcf7-submit:focus-visible {
	outline: 2px solid var(--ivx-gold);
	outline-offset: 2px;
}

.ivx-imv .ivx-doc:focus-visible {
	outline: 2px solid var(--ivx-ink);
	outline-offset: 2px;
}

.ivx-imv .ivx-doc__tipo {
	flex: none;
	min-width: 42px;
	padding: 6px 6px;
	background: #b3261e;
	color: #ffffff;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.5px;
	text-align: center;
}

.ivx-imv .ivx-doc__nome {
	flex: 1;
	min-width: 0;
	overflow-wrap: anywhere;
}

.ivx-imv .ivx-doc__seta {
	flex: none;
	font-size: 18px;
	color: var(--ivx-goldtxt);
}

@media (hover: hover) {
	.ivx-imv .ivx-doc:hover {
		border-color: var(--ivx-ink);
	}
}

/* conteúdo vindo de parcial do tema */
.ivx-imv .ivx-tema {
	text-align: left;
}

/* ---------- formulários (Contact Form 7 de sempre) ---------- */
.ivx-imv .ivx-form__tit,
.ivx-imv .ivx-form--lado .mh-widget-title__text {
	margin: 0 0 16px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	color: var(--ivx-ink);
}

.ivx-imv .ivx-form--lado section {
	margin: 0;
	padding: 0;
}

.ivx-imv .ivx-form--lado .mh-widget-title {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}

/* o tema põe um traço de 2px sobre o título do widget */
.ivx-imv .ivx-form--lado .mh-widget-title::before,
.ivx-imv .ivx-form--lado .mh-widget-title::after,
.ivx-imv .ivx-form--lado .mh-widget-title__text::before {
	content: none;
}

.ivx-imv .ivx-form--lado .mh-widget-title__text {
	position: static;
	padding-top: 0;
}

.ivx-imv .ivx-form .wpcf7-form {
	margin: 0;
	text-align: left;
}

.ivx-imv .ivx-form .wpcf7-form p {
	margin: 0;
}

.ivx-imv .ivx-form .wpcf7-form br {
	display: none;
}

/* o "carregando" do CF7 ocupa uma linha vazia embaixo do Enviar; só aparece enquanto envia */
.ivx-imv .ivx-form .wpcf7-form:not(.submitting) .wpcf7-spinner {
	display: none;
}

.ivx-imv .ivx-form .wpcf7-form label {
	display: block;
	margin: 0 0 12px;
	font-weight: 400;
}

.ivx-imv .ivx-form .ivx-form__rot {
	display: block;
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 600;
	color: #3f3b33;
}

.ivx-imv .ivx-form .wpcf7-form input[type="text"],
.ivx-imv .ivx-form .wpcf7-form input[type="tel"],
.ivx-imv .ivx-form .wpcf7-form input[type="email"],
.ivx-imv .ivx-form .wpcf7-form textarea {
	display: block;
	width: 100%;
	min-height: 52px;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid transparent;
	border-radius: 0;
	background: var(--ivx-bg);
	box-shadow: none;
	box-sizing: border-box;
	color: var(--ivx-ink);
	font-family: inherit;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	text-align: left;
}

.ivx-imv .ivx-form .wpcf7-form textarea {
	height: 110px;
	min-height: 84px;
	resize: vertical;
}

.ivx-imv .ivx-form .wpcf7-form input:focus,
.ivx-imv .ivx-form .wpcf7-form textarea:focus {
	border-color: var(--ivx-goldtxt);
	outline: 1px solid var(--ivx-goldtxt); /* borda de 1px dourada sumia no fundo claro */
	outline-offset: 0;
}

.ivx-imv .ivx-form .wpcf7-form .wpcf7-form-control.wpcf7-submit {
	display: block;
	width: 100%;
	min-height: 52px;
	/* o plugin do Turnstile põe margin-bottom:-15px inline no bloco dele: 16px de respiro + 15px que ele come */
	margin: calc(16px + 15px) 0 0;
	padding: 0 18px;
	border: 0;
	border-radius: 0;
	background: var(--ivx-ink);
	box-shadow: none;
	color: #ffffff;
	font-size: 15px;
	font-weight: 700;
	text-align: center;
	text-transform: none;
	cursor: pointer;
}

/* ---------- lateral ---------- */
.ivx-imv .ivx-lado {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 12px;
}

.ivx-imv .ivx-lado .ivx-card {
	margin-top: 0;
}

/* no celular o valor está no resumo e o formulário é um só (o de baixo) */
.ivx-imv .ivx-lado .ivx-preco,
.ivx-imv .ivx-lado .ivx-form--lado {
	display: none;
}

.ivx-imv .ivx-preco {
	padding: 22px 24px;
}

.ivx-imv .ivx-preco__rot {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: var(--ivx-mute);
}

.ivx-imv .ivx-preco__val {
	display: block;
	margin-top: 2px;
	font-size: 30px;
	font-weight: 800;
	letter-spacing: -0.5px;
	line-height: 1.25;
	color: var(--ivx-ink);
}

.ivx-imv .ivx-corretor {
	overflow: hidden;
	background: #ffffff;
	border: 1px solid var(--ivx-line);
}

/* foto quadrada dentro do card, com margem (igual ao site hoje), sem esticar */
.ivx-imv .ivx-corretor__foto {
	display: block;
	padding: 24px 24px 0;
}

.ivx-imv .ivx-corretor__foto img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: top;
}

.ivx-imv .ivx-corretor__corpo {
	padding: 22px 24px 26px;
}

.ivx-imv .ivx-corretor__selo {
	display: block;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	color: var(--ivx-goldtxt);
}

.ivx-imv .ivx-corretor__nome {
	margin: 4px 0 0;
	padding: 0;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--ivx-ink);
}

.ivx-imv .ivx-corretor__nome a {
	color: var(--ivx-ink);
	text-decoration: none;
}

.ivx-imv .ivx-corretor__email {
	display: block;
	margin-top: 4px;
	font-size: 14px;
	overflow-wrap: anywhere;
}

.ivx-imv .ivx-corretor__botoes {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 16px;
}

.ivx-imv .ivx-corretor__mais {
	margin-top: 10px;
}

/* ---------- semelhantes ---------- */
.ivx-imv .ivx-rel {
	max-width: 1240px;
	margin: 0 auto;
	padding: 28px 12px 24px;
}

.ivx-imv .ivx-rel__tit {
	margin: 0;
}

.ivx-imv .ivx-rel__ctrl {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin: 4px 0 14px;
}

.ivx-imv .ivx-rel__n {
	font-size: 14px;
	color: var(--ivx-mute);
}

.ivx-imv .ivx-rel__ctrl .ivx-seta {
	display: none;
}

.ivx-imv .ivx-seta--redonda {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #ffffff;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

.ivx-imv .ivx-rel__trilho {
	display: flex;
	gap: 12px;
	padding-bottom: 8px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.ivx-imv .ivx-rel__trilho::-webkit-scrollbar {
	display: none;
}

.ivx-imv .ivx-rel__card {
	flex: 0 0 250px;
	scroll-snap-align: start;
	background: #ffffff;
	box-shadow: 0 8px 24px rgba(23, 21, 15, 0.08);
}

.ivx-imv .ivx-rel__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: var(--ivx-ink);
	text-decoration: none;
}

.ivx-imv .ivx-rel__foto {
	position: relative;
}

.ivx-imv .ivx-rel__foto img {
	display: block;
	width: 100%;
	height: 160px;
	max-width: none;
	object-fit: cover;
}

.ivx-imv .ivx-tag {
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 5px 10px;
	background: #ffffff;
	color: #1d6b3a;
	font-size: 12px;
	font-weight: 700;
}

/* corpo estica e o botão vai pro pé: todos os cards com o botão na mesma linha */
.ivx-imv .ivx-rel__corpo {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 10px;
	padding: 14px;
}

/* é H2 (igual ao tema hoje): zera o estilo de H2 do tema */
.ivx-imv .ivx-rel__nome {
	margin: 0;
	padding: 0;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: normal;
	text-transform: none;
	color: var(--ivx-ink);
}

.ivx-imv .ivx-rel__preco {
	display: block;
	margin-top: 0;
	font-size: 17px;
	font-weight: 700;
	color: var(--ivx-ink);
}

.ivx-imv .ivx-rel__info {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	margin: 0 0 6px;
	padding: 0;
	list-style: none;
	font-size: 13px;
	color: var(--ivx-mute);
}

.ivx-imv .ivx-rel__info li {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin: 0;
}

.ivx-imv .ivx-rel__btn {
	margin-top: auto;
	min-height: 46px;
}


.ivx-imv .ivx-rel__link:focus-visible .ivx-rel__btn {
	background: var(--ivx-ink);
	color: #ffffff;
}

/* ---------- barra fixa do celular ---------- */
.ivx-imv .ivx-barra {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 900;
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(0, 1fr);
	gap: 8px;
	padding: 10px 12px;
	background: #ffffff;
	border-top: 1px solid var(--ivx-line);
	box-shadow: 0 -6px 20px rgba(0, 0, 0, 0.08);
}

.ivx-imv .ivx-barra .ivx-btn {
	min-height: 48px;
	font-size: 14px;
}

/* visível só no PC / só no celular */
.ivx-imv .ivx-so-pc {
	display: none;
}

/* ---------- lightbox (fica no body, fora do .ivx-imv) ---------- */
.ivx-lb-aberto {
	overflow: hidden;
}

.ivx-lb {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(13, 12, 10, 0.96);
	font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	touch-action: pan-y;
}

.ivx-lb[hidden] {
	display: none;
}

.ivx-lb__img {
	display: block;
	max-width: 100%;
	max-height: calc(100% - 120px);
	object-fit: contain;
}

.ivx-lb__btn {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #ffffff;
	color: #17150f;
	cursor: pointer;
}

.ivx-lb__btn[hidden] {
	display: none;
}

.ivx-lb__btn--fechar {
	top: 12px;
	right: 12px;
	border-radius: 0;
	font-size: 20px;
	font-weight: 700;
}

.ivx-lb__btn--ant {
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
}

.ivx-lb__btn--prox {
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
}

.ivx-lb__cont {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 18px;
	color: #ffffff;
	font-size: 14px;
	font-weight: 600;
	text-align: center;
}

/* ================= desktop ================= */
@media (min-width: 1024px) {
	.ivx-imv-body {
		padding-bottom: 0;
	}

	.ivx-imv {
		text-align: left;
	}

	.ivx-imv .ivx-gal,
	.ivx-imv .ivx-gal.is-video {
		height: 430px;
	}

	.ivx-imv .ivx-gal__item {
		flex-basis: calc((100% - 8px) / 3);
	}

	.ivx-imv .ivx-seta {
		width: 48px;
		height: 48px;
		background: #ffffff;
	}

	.ivx-imv .ivx-gal__seta--ant {
		left: 20px;
	}

	.ivx-imv .ivx-gal__seta--prox {
		right: 20px;
	}

	.ivx-imv .ivx-gal__chips {
		left: 24px;
		right: auto;
		bottom: 20px;
		gap: 8px;
		justify-content: flex-start;
	}

	.ivx-imv .ivx-video__fechar {
		top: 20px;
		right: 20px;
	}

	.ivx-imv .ivx-video {
		padding: 0;
	}

	.ivx-imv .ivx-resumo {
		display: none;
	}

	.ivx-imv .ivx-pagina {
		padding: 24px 24px 0;
	}

	.ivx-imv .ivx-trilha {
		justify-content: flex-start;
	}

	.ivx-imv .ivx-trilha__atual,
	.ivx-imv .ivx-trilha__sep:nth-last-child(2) {
		display: inline;
	}

	.ivx-imv .ivx-topo__h1 {
		margin: 14px 0 6px;
		font-size: 32px;
		letter-spacing: -0.4px;
		line-height: 1.2;
	}

	.ivx-imv .ivx-topo__local {
		justify-content: flex-start;
	}

	.ivx-imv .ivx-colunas {
		display: flex;
		align-items: flex-start;
		gap: 32px;
	}

	.ivx-imv .ivx-principal {
		flex: 1 1 auto;
	}

	.ivx-imv .ivx-card {
		margin-top: 20px;
		padding: 28px;
	}

	.ivx-imv .ivx-h2 {
		font-size: 22px;
	}

	.ivx-imv .ivx-ficha__grade {
		column-gap: 48px;
	}

	.ivx-imv .ivx-ficha__lin {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
	}

	.ivx-imv .ivx-ficha__lin dd {
		text-align: right;
	}

	.ivx-imv .ivx-ficha__id {
		margin: 20px 0 12px;
	}

	.ivx-imv .ivx-ficha__id span,
	.ivx-imv .ivx-ficha__id .ivx-ficha__sep {
		display: inline;
	}

	.ivx-imv .ivx-share {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.ivx-imv .ivx-carac {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ivx-imv .ivx-carac__item {
		justify-content: flex-start;
		text-align: left;
	}

	.ivx-imv .ivx-planta__tit {
		justify-content: flex-start;
	}

	.ivx-imv .ivx-lado {
		position: sticky;
		top: 20px;
		flex: 0 0 360px;
		gap: 16px;
		margin-top: 20px;
	}

	.ivx-imv .ivx-lado .ivx-preco,
	.ivx-imv .ivx-lado .ivx-form--lado {
		display: block;
	}

	/* lateral compacta: valor + formulário cabem numa tela de notebook (Ronnie, 11/11) */
	.ivx-imv .ivx-lado .ivx-preco {
		padding: 14px 20px;
	}

	.ivx-imv .ivx-lado .ivx-preco__val {
		font-size: 26px;
	}

	.ivx-imv .ivx-lado .ivx-form--lado {
		padding: 16px 20px 18px;
	}

	.ivx-imv .ivx-lado .ivx-form--lado .mh-widget-title__text {
		margin-bottom: 10px;
		font-size: 17px;
	}

	.ivx-imv .ivx-lado .ivx-form .wpcf7-form label {
		margin-bottom: 8px;
	}

	.ivx-imv .ivx-lado .ivx-form .ivx-form__rot {
		margin-bottom: 4px;
		font-size: 13px;
	}

	.ivx-imv .ivx-lado .ivx-form .wpcf7-form input[type="text"],
	.ivx-imv .ivx-lado .ivx-form .wpcf7-form input[type="tel"],
	.ivx-imv .ivx-lado .ivx-form .wpcf7-form input[type="email"] {
		min-height: 44px;
		padding: 10px 12px;
	}

	.ivx-imv .ivx-lado .ivx-form .wpcf7-form textarea {
		height: 64px;
		min-height: 64px;
		padding: 10px 12px;
	}

	.ivx-imv .ivx-lado .ivx-form .wpcf7-form .wpcf7-form-control.wpcf7-submit {
		min-height: 46px;
		margin-top: calc(14px + 15px);
	}

	.ivx-imv .ivx-rel {
		padding: 56px 24px 72px;
	}

	.ivx-imv .ivx-rel__topo {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
	}

	.ivx-imv .ivx-rel__tit {
		font-size: 26px;
	}

	.ivx-imv .ivx-rel__ctrl {
		margin: 0;
	}

	.ivx-imv .ivx-rel__n {
		margin-right: 6px;
	}

	.ivx-imv .ivx-rel__ctrl .ivx-seta {
		display: flex;
	}

	.ivx-imv .ivx-rel__trilho {
		gap: 24px;
		margin-top: 24px;
	}

	.ivx-imv .ivx-rel__card {
		flex-basis: calc((100% - 48px) / 3);
	}

	.ivx-imv .ivx-rel__foto img {
		height: 230px;
	}

	.ivx-imv .ivx-rel__corpo {
		padding: 18px 20px 22px;
	}

	.ivx-imv .ivx-rel__nome {
		font-size: 16px;
	}

	.ivx-imv .ivx-rel__preco {
		font-size: 18px;
	}

	.ivx-imv .ivx-barra {
		display: none;
	}

	.ivx-imv .ivx-so-pc {
		display: inline-flex;
	}

	.ivx-imv .ivx-so-cel {
		display: none;
	}

	.ivx-lb__btn--ant {
		left: 24px;
	}

	.ivx-lb__btn--prox {
		right: 24px;
	}
}

@media (hover: hover) {
	.ivx-imv a:hover {
		color: var(--ivx-ink);
	}

	/* WhatsApp e Facebook: tom de hover das próprias marcas */
	.ivx-imv .ivx-btn--wa:hover,
	.ivx-imv .ivx-chip--wa:hover,
	.ivx-imv .ivx-share__btn--wa:hover {
		background: #168a42;
		color: #ffffff;
	}

	.ivx-imv .ivx-share__btn--fb:hover {
		background: #0f5fd0;
		color: #ffffff;
	}

	/* preto → dourado da marca */
	.ivx-imv .ivx-btn--preto:hover,
	.ivx-imv .ivx-form .wpcf7-form .wpcf7-form-control.wpcf7-submit:hover {
		background: var(--ivx-gold);
		color: var(--ivx-ink);
	}

	/* contorno e brancos → preto */
	.ivx-imv .ivx-btn--borda:hover,
	.ivx-imv .ivx-rel__link:hover .ivx-rel__btn,
	.ivx-imv .ivx-chip:not(.ivx-chip--wa):hover,
	.ivx-imv .ivx-seta:hover,
	.ivx-imv .ivx-video__fechar:hover {
		background: var(--ivx-ink);
		color: #ffffff;
	}

	.ivx-imv .ivx-carac__item:hover,
	.ivx-imv .ivx-btn--claro:hover {
		background: var(--ivx-line);
	}

	.ivx-imv .ivx-rel__link:hover .ivx-rel__nome {
		color: var(--ivx-goldtxt);
	}

	.ivx-imv .ivx-desc__toggle:hover .ivx-desc__mais-ic {
		background: var(--ivx-ink);
		color: #ffffff;
	}
}
