/* ============================================================
   Página individual do imóvel
   Valores extraídos do CSS real (post-5621.css)
   ============================================================ */

.imovel-layout {
	max-width: 1200px;
	margin: 0 auto;
	padding: 70px 40px;
	display: flex;
	align-items: flex-start;
	gap: 30px;
}
.imovel-principal { width: 65%; flex: 0 0 65%; display: flex; flex-direction: column; gap: 30px; }
.imovel-lateral {
	width: 35%;
	flex: 0 0 35%;
	background: var(--cor-branco);
	border-radius: 10px;
	box-shadow: 0 5px 10px rgba(0,0,0,.22);
	padding: 40px;
	position: sticky;
	top: 10px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

@media (max-width: 768px) {
	.imovel-layout { flex-direction: column; padding: 30px 15px; }
	.imovel-principal, .imovel-lateral { width: 100%; flex-basis: 100%; }
}

/* ---------- Galeria (carrossel próprio, sem depender de biblioteca) ---------- */

.imovel-galeria__principal {
	position: relative;
	border-radius: 10px;
	overflow: hidden;
	background: #eee;
}
.imovel-galeria__principal img {
	width: 100%;
	aspect-ratio: 16/10;
	object-fit: cover;
	cursor: zoom-in;
}
.imovel-galeria__seta {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255,255,255,.85);
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-family: var(--fonte-titulo);
	font-size: 18px;
	color: var(--cor-secundaria);
}
.imovel-galeria__seta--prev { left: 12px; }
.imovel-galeria__seta--next { right: 12px; }
.imovel-galeria__miniaturas {
	display: flex;
	gap: 8px;
	margin-top: 10px;
	overflow-x: auto;
	padding-bottom: 4px;
}
.imovel-galeria__miniaturas img {
	width: 80px;
	height: 60px;
	object-fit: cover;
	border-radius: 6px;
	cursor: pointer;
	opacity: .6;
	flex: 0 0 auto;
}
.imovel-galeria__miniaturas img.ativa { opacity: 1; outline: 2px solid var(--cor-primaria); }

.imovel-lightbox {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,.9);
	z-index: 999;
	align-items: center;
	justify-content: center;
}
.imovel-lightbox.aberto { display: flex; }
.imovel-lightbox img { max-width: 90%; max-height: 90%; }
.imovel-lightbox__fechar {
	position: absolute;
	top: 20px;
	right: 30px;
	color: var(--cor-branco);
	font-size: 32px;
	background: none;
	border: none;
	cursor: pointer;
}

/* ---------- Informações do imóvel ---------- */

.imovel-codigo { font-family: var(--fonte-titulo); font-size: 16px; font-weight: 500; color: #0D6EEF; margin: 0; }
.imovel-finalidade { font-family: var(--fonte-titulo); font-size: 16px; font-weight: 500; }
.imovel-finalidade span { color: var(--cor-texto); }
.imovel-finalidade strong { color: #0D6EEF; font-weight: 500; }
.imovel-titulo { font-family: var(--fonte-titulo); font-size: 26px; font-weight: 600; color: #0D6EEF; margin: 0; }

.imovel-status-tag {
	display: inline-block;
	font-family: var(--fonte-titulo);
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--cor-branco);
	padding: 4px 12px;
	border-radius: 4px;
	margin-bottom: 8px;
}
.imovel-status-tag--vendido { background: var(--cor-secundaria); }
.imovel-status-tag--reservado { background: var(--cor-azul-extra); }

.imovel-specs {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.imovel-specs li { display: flex; align-items: center; gap: 8px; font-family: var(--fonte-titulo); font-size: 18px; color: var(--cor-primaria); }
.imovel-specs .icon { width: 27px; height: 27px; fill: #5E6A82; }

.imovel-subtitulo { font-family: var(--fonte-titulo); font-size: 20px; font-weight: 600; color: var(--cor-secundaria); margin: 0 0 12px; }
.imovel-descricao { font-family: var(--fonte-titulo); font-size: 16px; font-weight: 300; line-height: 1.7; letter-spacing: .5px; white-space: pre-line; }

.imovel-valor-box { display: flex; gap: 40px; flex-wrap: wrap; }
.imovel-valor-box h3 { font-family: var(--fonte-titulo); font-size: 20px; font-weight: 600; color: var(--cor-secundaria); margin: 0 0 4px; }
.imovel-valor-box p { font-family: var(--fonte-titulo); font-size: 20px; font-weight: 600; color: #0D6EEF; margin: 0; }

.imovel-tour {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	border-radius: 10px;
}
.imovel-tour iframe { position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; border: 0; }

/* ---------- Formulário lateral ---------- */

.imovel-lateral h2 { text-align: center; font-family: var(--fonte-titulo); font-size: 20px; font-weight: 600; color: #5F6266; margin: 0; }
.imovel-lateral h3 { text-align: center; font-family: var(--fonte-titulo); font-size: 16px; font-weight: 500; color: #8D8989; margin: 0 0 10px; }

.imovel-form-campo { margin-bottom: 10px; }
.imovel-form-campo label { display: block; font-family: var(--fonte-titulo); font-size: 15px; margin-bottom: 4px; }
.imovel-form-campo input,
.imovel-form-campo textarea {
	width: 100%;
	font-family: var(--fonte-titulo);
	font-size: 14px;
	padding: 10px 12px;
	border: 1px solid var(--cor-texto);
	border-radius: 4px;
	background: var(--cor-branco);
}
.imovel-form-enviar {
	width: 100%;
	background: var(--cor-primaria);
	color: var(--cor-branco);
	border: none;
	border-radius: 4px;
	padding: 12px;
	font-family: var(--fonte-titulo);
	font-weight: 500;
	cursor: pointer;
}
.imovel-form-whatsapp {
	display: block;
	text-align: center;
	background: #117D09;
	color: var(--cor-branco);
	font-family: var(--fonte-titulo);
	font-weight: 500;
	font-size: 16px;
	padding: 15px;
	border-radius: 30px;
	border-bottom: 2px solid #20C414;
}
.imovel-form-sucesso {
	background: #E7F8E7;
	color: #117D09;
	border-radius: 4px;
	padding: 10px 12px;
	font-family: var(--fonte-titulo);
	font-size: 14px;
	text-align: center;
}

/* ---------- Imóveis Similares ---------- */

.imovel-similares { max-width: 1200px; margin: 0 auto; padding: 50px 40px; text-align: center; }
.imovel-similares__titulo { font-family: var(--fonte-titulo); font-size: 25px; font-weight: 600; color: var(--cor-primaria); margin: 0 0 24px; }
.imovel-similares__vazio { font-family: var(--fonte-titulo); color: var(--cor-texto); margin-bottom: 24px; }
.imovel-similares__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; text-align: left; margin-bottom: 30px; }
@media (max-width: 768px) { .imovel-similares__grid { grid-template-columns: 1fr; } }
.imovel-similares__btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--cor-primaria);
	color: var(--cor-branco);
	font-family: var(--fonte-titulo);
	font-weight: 500;
	font-size: 16px;
	padding: 15px 32px;
	border-radius: 4px;
	text-decoration: none;
}
