/*
Theme Name: Imobiliária Admin
Theme URI: https://kametanidigital.com.br/
Author: Kametani Digital
Description: Tema WordPress para imobiliárias, preparado para funcionar em conjunto com o plugin Imobiliária.
Version: 3.26.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: imobiliaria-admin
*/

/* ==========================================================================
   1. Tokens
   ========================================================================== */
:root {
	--imob-white: var(--imobiliaria-color-bg-page, #ffffff);
	--imob-bg-soft: var(--imobiliaria-color-bg-soft, #f4f6f9);
	--imob-blue-900: var(--imobiliaria-color-dark, #0f2a4a);
	--imob-blue-700: var(--imobiliaria-color-accent-hover, #163f6b);
	--imob-blue-600: var(--imobiliaria-color-accent, #2563eb);
	--imob-blue-100: var(--imobiliaria-color-accent-tint, #e8f0fe);
	--imob-blue-050: var(--imobiliaria-color-accent-tint-2, #f5f8ff);
	--imob-ink: #3c4a57;
	--imob-ink-soft: #6b7a89;
	--imob-border: #e3e8ef;
	--imob-teal: #0e9488;
	--imob-teal-bg: #e3f7f5;
	--imob-amber: #b7791f;
	--imob-amber-bg: #fbf1de;
	--imob-violet: #7c3aed;
	--imob-violet-bg: #f0e8fd;
	--imob-radius-sm: 8px;
	--imob-radius-md: 14px;
	--imob-shadow: 0 14px 34px rgba(15, 42, 74, 0.12);
	--imob-shadow-sm: 0 6px 18px rgba(15, 42, 74, 0.09);
	--imob-title-color: var(--imobiliaria-title-color, var(--imob-blue-900));
	--imob-text-color: var(--imobiliaria-text-color, var(--imob-ink));
	--imob-link-color: var(--imobiliaria-link-color, var(--imob-blue-600));
	--imob-font-heading: 'Plus Jakarta Sans', 'Segoe UI', sans-serif;
	--imob-font-body: 'Inter', 'Segoe UI', sans-serif;
}

/* ==========================================================================
   2. Reset & base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	background: var(--imob-white);
	color: var(--imob-text-color);
	font-family: var(--imob-font-body);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

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

h1, h2, h3, h4 {
	font-family: var(--imob-font-heading);
	color: var(--imob-title-color);
	line-height: 1.2;
	margin: 0 0 0.5em;
}

p { margin: 0 0 1em; }

a {
	color: var(--imob-link-color);
	text-decoration: none;
}

ul { list-style: none; margin: 0; padding: 0; }

button, select { font-family: inherit; }
button { cursor: pointer; }

svg { width: 1.1em; height: 1.1em; flex-shrink: 0; }
.imobiliaria-icon-whatsapp { width: 1.1em; height: 1.1em; flex-shrink: 0; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.imobiliaria-skip-link {
	position: absolute;
	left: -999px;
	top: 0;
	z-index: 999;
	background: var(--imob-blue-900);
	color: #fff;
	padding: 0.75em 1.25em;
	border-radius: 0 0 var(--imob-radius-sm) 0;
}
.imobiliaria-skip-link:focus { left: 0; }

:focus-visible {
	outline: 2px solid var(--imob-blue-600);
	outline-offset: 2px;
}

.imobiliaria-container {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
}

.imobiliaria-section { padding: 72px 0; }
.imobiliaria-section__title {
	font-size: clamp(1.5rem, 1.2rem + 1.3vw, 2.1rem);
	margin-bottom: 36px;
}
.imobiliaria-section__footer {
	margin-top: 40px;
	text-align: center;
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	* { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; }
}

/* ==========================================================================
   3. Botões e etiquetas
   ========================================================================== */
.imobiliaria-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13px 26px;
	border-radius: var(--imob-radius-sm);
	font-weight: 600;
	font-size: 0.95rem;
	border: 1.5px solid transparent;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}
.imobiliaria-btn--primary {
	background: var(--imob-blue-600);
	color: #fff;
}
.imobiliaria-btn--primary:hover { background: var(--imob-blue-700); }
.imobiliaria-btn--outline {
	background: transparent;
	border-color: var(--imob-blue-600);
	color: var(--imob-blue-600);
}
.imobiliaria-btn--outline:hover {
	background: var(--imob-blue-600);
	color: #fff;
}
.imobiliaria-btn--block { width: 100%; }
.imobiliaria-btn--block svg { transition: transform 0.15s ease; }
.imobiliaria-btn--block:hover svg { transform: translateX(3px); }

.imobiliaria-badge {
	display: inline-block;
	padding: 5px 12px;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	background: var(--imob-blue-100);
	color: var(--imob-blue-700);
}
.imobiliaria-badge--venda { background: var(--imob-blue-100); color: var(--imob-blue-700); }
.imobiliaria-badge--locacao { background: var(--imob-teal-bg); color: var(--imob-teal); }
.imobiliaria-badge--temporada { background: var(--imob-amber-bg); color: var(--imob-amber); }
.imobiliaria-badge--permuta { background: var(--imob-violet-bg); color: var(--imob-violet); }

/* Faixa fina usada para separar visualmente o cabeçalho do conteúdo nas
   páginas sem banner (arquivo geral de imóveis, página "Sobre"). */
.imobiliaria-divisor {
	height: 4px;
	background: linear-gradient(90deg, var(--imob-blue-900), var(--imob-blue-600));
}

/* ==========================================================================
   4. Cabeçalho
   ========================================================================== */
.imobiliaria-topbar {
	background: var(--imob-blue-900);
	color: #dce6f4;
	font-size: 0.85rem;
}
.imobiliaria-topbar__inner { padding: 9px 24px; }
.imobiliaria-topbar__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 28px;
}
.imobiliaria-topbar__list li { display: flex; align-items: center; }
.imobiliaria-topbar__list a,
.imobiliaria-topbar__list span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #dce6f4;
}
.imobiliaria-topbar__list a:hover { color: #fff; }
.imobiliaria-topbar__list svg,
.imobiliaria-topbar__list img { opacity: 0.85; width: 1em; height: 1em; }

.imobiliaria-icon-whatsapp {
	width: 1em;
	height: 1em;
	object-fit: contain;
	vertical-align: -0.15em;
	flex-shrink: 0;
}

.imobiliaria-whatsapp-flutuante {
	display: none;
}

.imobiliaria-masthead {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 24px;
	gap: 24px;
}

.imobiliaria-logo { display: inline-flex; align-items: center; }
.imobiliaria-logo img { max-height: 52px; width: auto; }
.imobiliaria-logo__text {
	font-family: var(--imob-font-heading);
	font-weight: 800;
	font-size: 1.4rem;
	color: var(--imob-blue-900);
}

.imobiliaria-nav__list {
	display: flex;
	gap: 32px;
}
.imobiliaria-nav__list a {
	color: var(--imob-blue-900);
	font-weight: 600;
	font-size: 0.98rem;
	padding: 6px 0;
	position: relative;
}
.imobiliaria-nav__list a::after {
	content: '';
	position: absolute;
	left: 0; bottom: -2px;
	width: 0; height: 2px;
	background: var(--imob-blue-600);
	transition: width 0.15s ease;
}
.imobiliaria-nav__list a:hover::after,
.imobiliaria-nav__list .current-menu-item a::after { width: 100%; }

.imobiliaria-menu-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 40px;
	height: 40px;
	background: none;
	border: none;
	padding: 0;
}
.imobiliaria-menu-toggle span {
	display: block;
	width: 24px;
	height: 2px;
	background: var(--imob-blue-900);
	transition: transform 0.2s ease, opacity 0.2s ease;
}
.imobiliaria-menu-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.imobiliaria-menu-toggle.is-open span:nth-child(2) { opacity: 0; }
.imobiliaria-menu-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 860px) {
	.imobiliaria-menu-toggle { display: flex; }
	.imobiliaria-nav {
		position: absolute;
		top: 100%; left: 0; right: 0;
		background: var(--imob-white);
		border-bottom: 1px solid var(--imob-border);
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.25s ease;
		z-index: 20;
	}
	.imobiliaria-nav.is-open { max-height: 420px; }
	.imobiliaria-nav__list {
		flex-direction: column;
		gap: 0;
		padding: 8px 24px 20px;
	}
	.imobiliaria-nav__list li { border-bottom: 1px solid var(--imob-border); }
	.imobiliaria-nav__list a { display: block; padding: 14px 0; }
	.imobiliaria-header { position: relative; }

	.imobiliaria-topbar { display: none; }

	.imobiliaria-whatsapp-flutuante {
		display: flex;
		align-items: center;
		gap: 8px;
		position: fixed;
		right: 16px;
		bottom: 16px;
		z-index: 50;
		background: #25d366;
		color: #fff;
		padding: 13px 18px;
		border-radius: 999px;
		box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
		font-size: 0.9rem;
		font-weight: 600;
		line-height: 1;
		text-decoration: none;
	}
	.imobiliaria-whatsapp-flutuante svg,
	.imobiliaria-whatsapp-flutuante .imobiliaria-icon-whatsapp { width: 1.2em; height: 1.2em; flex-shrink: 0; }
	.imobiliaria-whatsapp-flutuante:hover { background: #1ebe5a; color: #fff; }
}

/* ==========================================================================
   5. Banner rotativo
   ========================================================================== */
.imobiliaria-banner {
	position: relative;
	overflow: hidden;
	height: min(800px, 76vh);
	min-height: 400px;
	background: var(--imob-blue-900);
}
.imobiliaria-banner__track { height: 100%; }
.imobiliaria-banner__slide {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.6s ease;
	display: flex;
	align-items: flex-end;
	color: inherit;
	text-decoration: none;
}
.imobiliaria-banner__slide.is-active { opacity: 1; visibility: visible; }
.imobiliaria-banner__content {
	position: relative;
	width: 100%;
	padding-bottom: 56px;
}
.imobiliaria-banner__card {
	max-width: 480px;
	background: rgba(255, 255, 255, 0.97);
	border-radius: var(--imob-radius-md);
	padding: 28px 30px;
	box-shadow: var(--imob-shadow);
}
.imobiliaria-banner__card h2 { font-size: 1.5rem; margin: 12px 0 6px; color: var(--imob-blue-900); }
.imobiliaria-banner__price {
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--imob-blue-600);
	margin-bottom: 18px;
}

.imobiliaria-banner__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 46px; height: 46px;
	border-radius: 50%;
	border: none;
	background: rgba(255, 255, 255, 0.85);
	color: var(--imob-blue-900);
	font-size: 1.6rem;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}
.imobiliaria-banner__arrow:hover { background: #fff; }
.imobiliaria-banner__arrow--prev { left: 20px; }
.imobiliaria-banner__arrow--next { right: 20px; }

.imobiliaria-banner__dots {
	position: absolute;
	right: 28px;
	bottom: 20px;
	display: flex;
	gap: 8px;
	z-index: 2;
}
.imobiliaria-banner__dots button {
	width: 9px; height: 9px;
	border-radius: 50%;
	border: 1.5px solid #fff;
	background: transparent;
	padding: 0;
}
.imobiliaria-banner__dots button.is-active { background: #fff; }

@media (max-width: 640px) {
	.imobiliaria-banner__arrow { display: none; }
	.imobiliaria-banner__card { max-width: none; }
}

/* ==========================================================================
   6. Busca de imóveis (seção própria, abaixo do banner — não sobreposta)
   ========================================================================== */
.imobiliaria-busca {
	background: var(--imob-blue-900);
	padding: 28px 0;
}
.imobiliaria-busca__form {
	display: grid;
	grid-template-columns: repeat(3, 1fr) auto;
	gap: 14px;
	align-items: end;
	background: var(--imob-white);
	padding: 20px;
	border-radius: var(--imob-radius-md);
	box-shadow: var(--imob-shadow);
}
.imobiliaria-busca__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.imobiliaria-busca__field label {
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--imob-ink-soft);
	text-transform: none;
}
.imobiliaria-busca__field select {
	appearance: none;
	background: var(--imob-bg-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7a89' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 16px;
	border: 1.5px solid var(--imob-border);
	border-radius: var(--imob-radius-sm);
	padding: 12px 40px 12px 14px;
	font-size: 0.95rem;
	color: var(--imob-text-color);
}
.imobiliaria-busca__field select:focus {
	outline: none;
	border-color: var(--imob-blue-600);
}
.imobiliaria-busca__submit { height: 47px; white-space: nowrap; }

.imobiliaria-busca__field input[type="number"],
.imobiliaria-busca__field input[type="text"] {
	background: var(--imob-bg-soft);
	border: 1.5px solid var(--imob-border);
	border-radius: var(--imob-radius-sm);
	padding: 12px 14px;
	font-size: 0.95rem;
	color: var(--imob-text-color);
	width: 100%;
}
.imobiliaria-busca__field input[type="number"]:focus,
.imobiliaria-busca__field input[type="text"]:focus {
	outline: none;
	border-color: var(--imob-blue-600);
}

/* Formulário estendido (arquivo geral de imóveis e páginas de cidade): sem o
   campo de cidade (já coberto pela seção "Pesquisar por cidade" logo acima),
   organizado em duas linhas de 4 campos, com o botão de busca centralizado
   em sua própria linha. */
.imobiliaria-busca__form--extended {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 14px;
}
.imobiliaria-busca__row {
	display: grid;
	gap: 14px;
}
.imobiliaria-busca__row--4 { grid-template-columns: repeat(4, 1fr); }
.imobiliaria-busca__form--extended .imobiliaria-busca__submit {
	align-self: center;
	min-width: 260px;
}

@media (max-width: 980px) {
	.imobiliaria-busca__row--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 860px) {
	.imobiliaria-busca__form { grid-template-columns: 1fr; }
	.imobiliaria-busca__submit { width: 100%; }
}
@media (max-width: 640px) {
	.imobiliaria-busca__row--4 { grid-template-columns: 1fr; }
	.imobiliaria-busca__form--extended .imobiliaria-busca__submit { width: 100%; }
}

/* ==========================================================================
   7. Grade de imóveis / cards
   ========================================================================== */
.imobiliaria-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}
@media (max-width: 980px) { .imobiliaria-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) {
	.imobiliaria-grid { grid-template-columns: 1fr; }
	/* Só na home: no celular mostramos só os 3 primeiros imóveis, no desktop os 9. */
	.imobiliaria-grid--home > :nth-child(n + 4) { display: none; }
}

/* Grade "expansível" (arquivo geral de imóveis e páginas de cidade): mostra os
   9 primeiros e revela o restante quando o botão "Ver todos os imóveis" é clicado. */
.imobiliaria-grid--expandable > :nth-child(n + 10) { display: none; }
.imobiliaria-grid--expandable.is-expanded > :nth-child(n + 10) { display: flex; }

.imobiliaria-card {
	border: 1px solid var(--imob-border);
	border-radius: var(--imob-radius-md);
	overflow: hidden;
	background: var(--imob-white);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
	display: flex;
	flex-direction: column;
}
.imobiliaria-card:hover {
	box-shadow: var(--imob-shadow);
	transform: translateY(-4px);
}
.imobiliaria-card__media {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	background: var(--imob-bg-soft);
	overflow: hidden;
}
.imobiliaria-card__media img {
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}
.imobiliaria-card:hover .imobiliaria-card__media img { transform: scale(1.05); }
.imobiliaria-card__no-image {
	display: block;
	width: 100%; height: 100%;
	background: var(--imob-bg-soft);
}
.imobiliaria-card__media .imobiliaria-badge {
	position: absolute;
	top: 14px; left: 14px;
	z-index: 2;
	box-shadow: 0 2px 8px rgba(0,0,0,.12);
}
.imobiliaria-card__price {
	position: absolute;
	right: 14px; bottom: 14px;
	z-index: 2;
	background: var(--imob-blue-600);
	color: #fff;
	font-weight: 700;
	font-size: 1.02rem;
	padding: 7px 14px;
	border-radius: 999px;
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.4);
}
.imobiliaria-card__body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.imobiliaria-card__title {
	font-size: 1.1rem;
	line-height: 1.35;
	margin-bottom: 6px;
	/* Reserva sempre a altura de 2 linhas, não importa se o título tem 1, 2 ou
	   mais linhas — assim o restante do card (localização, ícones, botão)
	   fica sempre alinhado entre os cards de uma mesma fileira. */
	min-height: calc(1.35em * 2);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.imobiliaria-card__title a { color: var(--imob-title-color); }
.imobiliaria-card__location {
	display: flex;
	align-items: center;
	gap: 6px;
	color: var(--imob-ink-soft);
	font-size: 0.88rem;
	margin-bottom: 18px;
}
.imobiliaria-card__location svg { color: var(--imob-blue-600); }
.imobiliaria-card__meta {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 20px;
}
.imobiliaria-card__meta li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	flex: 1;
	text-align: center;
}
.imobiliaria-card__meta-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--imob-blue-100);
	color: var(--imob-blue-600);
}
.imobiliaria-card__meta-icon svg { width: 1.2em; height: 1.2em; }
.imobiliaria-card__meta strong {
	font-size: 0.95rem;
	color: var(--imob-title-color);
	line-height: 1;
}
.imobiliaria-card__meta span {
	font-size: 0.72rem;
	color: var(--imob-ink-soft);
	line-height: 1;
}
.imobiliaria-card__id {
	font-size: 0.75rem;
	color: var(--imob-ink-soft);
	margin: -10px 0 16px;
}
.imobiliaria-card__id strong { color: var(--imob-title-color); }
.imobiliaria-card__body .imobiliaria-btn { margin-top: auto; }

/* ==========================================================================
   9. Busca por cidade
   ========================================================================== */
.imobiliaria-cidades__list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 16px;
}
.imobiliaria-cidades__list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 20px;
	border: 1px solid var(--imob-border);
	border-radius: var(--imob-radius-sm);
	color: var(--imob-blue-900);
	font-weight: 600;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}
.imobiliaria-cidades__list a:hover {
	border-color: var(--imob-blue-600);
	background: var(--imob-blue-050);
}
.imobiliaria-cidades__count {
	color: var(--imob-ink-soft);
	font-weight: 500;
	font-size: 0.85rem;
}

/* ==========================================================================
   8. Página "Sobre" (corretor / imobiliária)
   ========================================================================== */
/* A barra do título ("Sobre o corretor" / "Sobre a imobiliária") é que fica
   azul com o texto em branco — igual à faixa usada na página de Contato e
   na dos imóveis — e não o bloco de baixo, que continua com o fundo branco
   normal do site (só a fotografia é que fica fixa enquanto o texto rola). */
.imobiliaria-sobre-hero {
	background: var(--imob-blue-900);
	padding-bottom: 40px;
}
.imobiliaria-sobre-hero .imobiliaria-section__title { color: var(--imob-white); }

.imobiliaria-sobre__grid {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 48px;
	align-items: start;
}
.imobiliaria-sobre__media {
	position: sticky;
	top: 24px;
}
.imobiliaria-sobre__media img {
	border-radius: var(--imob-radius-md);
	box-shadow: var(--imob-shadow);
}
.imobiliaria-sobre__text h2 { font-size: 1.6rem; margin-bottom: 4px; }
.imobiliaria-sobre__creci {
	color: var(--imob-ink-soft);
	font-size: 0.85rem;
	font-weight: 600;
	margin-bottom: 16px;
}
.imobiliaria-sobre--imobiliaria { background: var(--imob-bg-soft); }

/* Bloco de contatos (redes sociais, telefone, e-mail, WhatsApp) logo abaixo
   da fotografia nas páginas "Sobre o corretor" e "Sobre a imobiliária". */
.imobiliaria-sobre__contatos {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid var(--imob-border);
}
.imobiliaria-sobre__contatos-redes {
	display: flex;
	gap: 10px;
	margin-bottom: 16px;
}
.imobiliaria-sobre__contatos-rede {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--imob-blue-100);
	color: var(--imob-blue-600);
	transition: background-color 0.15s ease, color 0.15s ease;
}
.imobiliaria-sobre__contatos-rede svg { width: 1.2em; height: 1.2em; }
.imobiliaria-sobre__contatos-rede:hover { background: var(--imob-blue-600); color: #fff; }
.imobiliaria-sobre__contatos-linha {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
	font-size: 0.95rem;
	color: var(--imob-text-color);
}
.imobiliaria-sobre__contatos-linha svg { width: 1.3em; height: 1.3em; flex-shrink: 0; color: var(--imob-blue-600); }
.imobiliaria-sobre__contatos .imobiliaria-btn-whatsapp { margin: 4px 0 0; }
.imobiliaria-sobre__galeria {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 16px;
	margin-top: 40px;
}
.imobiliaria-sobre__galeria img {
	border-radius: var(--imob-radius-sm);
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
@media (max-width: 860px) {
	.imobiliaria-sobre__grid { grid-template-columns: 1fr; }
	.imobiliaria-sobre__media { position: static; }
}

/* ==========================================================================
   9b. Faixa hero simples (título em barra azul — página de cidade e do imóvel)
   ========================================================================== */
.imobiliaria-hero-simples {
	background: var(--imob-blue-900);
	padding: 40px 0;
}
.imobiliaria-hero-simples__inner {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.imobiliaria-hero-simples h1 {
	color: #fff;
	margin: 0;
	font-size: clamp(1.6rem, 1.3rem + 1.3vw, 2.3rem);
}
.imobiliaria-hero-simples__voltar {
	align-self: flex-start;
	color: #dce6f4;
	font-size: 0.9rem;
	font-weight: 600;
}
.imobiliaria-hero-simples__voltar:hover { color: #fff; }

/* ==========================================================================
   10. Rodapé
   ========================================================================== */
.imobiliaria-footer {
	background: var(--imob-bg-soft);
	border-top: 1px solid var(--imob-border);
	padding-top: 56px;
}
.imobiliaria-footer h2 {
	font-size: 1rem;
	text-transform: none;
	margin-bottom: 18px;
}
.imobiliaria-footer__grid {
	display: grid;
	grid-template-columns: 1.3fr 1fr 1fr;
	gap: 40px;
	padding-bottom: 40px;
}
.imobiliaria-footer__tagline {
	color: var(--imob-ink-soft);
	margin-top: 14px;
	max-width: 34ch;
}
.imobiliaria-footer__social {
	display: flex;
	gap: 10px;
	margin-top: 18px;
}
.imobiliaria-footer__social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px; height: 38px;
	border-radius: 50%;
	background: var(--imob-white);
	border: 1px solid var(--imob-border);
	color: var(--imob-blue-900);
}
.imobiliaria-footer__social a:hover { background: var(--imob-blue-600); color: #fff; border-color: var(--imob-blue-600); }

.imobiliaria-footer__list li,
.imobiliaria-footer__contact li {
	margin-bottom: 12px;
}
.imobiliaria-footer__list a { color: var(--imob-text-color); }
.imobiliaria-footer__list a:hover { color: var(--imob-blue-600); }
.imobiliaria-footer__contact ul { display: flex; flex-direction: column; gap: 12px; }
.imobiliaria-footer__contact li {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	color: var(--imob-text-color);
}
.imobiliaria-footer__contact a { color: var(--imob-text-color); display: flex; gap: 9px; }
.imobiliaria-footer__contact a:hover { color: var(--imob-blue-600); }
.imobiliaria-footer__contact svg { color: var(--imob-blue-600); margin-top: 3px; }

.imobiliaria-footer__bottom {
	border-top: 1px solid var(--imob-border);
	padding: 20px 0;
}
.imobiliaria-footer__bottom p {
	margin: 0;
	font-size: 0.85rem;
	color: var(--imob-ink-soft);
}

@media (max-width: 860px) {
	.imobiliaria-footer__grid { grid-template-columns: 1fr; gap: 32px; }
}

/* ==========================================================================
   11. Página do imóvel
   ========================================================================== */
.imobiliaria-imovel-layout {
	display: grid;
	grid-template-columns: 1.9fr 1fr;
	gap: 40px;
	align-items: start;
	/* Só o espaçamento vertical é definido aqui — este elemento já tem a
	   classe "imobiliaria-container", que cuida do respiro lateral (24px).
	   Usar o atalho "padding: 48px 0" zerava esse respiro lateral (o "0"
	   vale para a esquerda e a direita também), colando a galeria, os dados
	   e as características na borda da tela no celular. */
	padding-top: 48px;
	padding-bottom: 48px;
}

.imobiliaria-imovel-principal { min-width: 0; }

.imobiliaria-card-info {
	background: var(--imob-white);
	border: 1px solid var(--imob-border);
	border-radius: var(--imob-radius-md);
	padding: 28px;
	margin-bottom: 24px;
}
.imobiliaria-card-info h2 { font-size: 1.25rem; margin-bottom: 18px; }

/* Galeria principal com miniaturas sincronizadas */
.imobiliaria-galeria { margin-bottom: 24px; }
.imobiliaria-galeria__principal {
	position: relative;
	aspect-ratio: 16 / 10;
	border-radius: var(--imob-radius-md);
	overflow: hidden;
	background: var(--imob-bg-soft);
}
.imobiliaria-galeria__track { width: 100%; height: 100%; }
.imobiliaria-galeria__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.4s ease;
	cursor: zoom-in;
}
.imobiliaria-galeria__slide.is-active { opacity: 1; visibility: visible; }
.imobiliaria-galeria__slide img {
	width: 100%; height: 100%;
	object-fit: cover;
}
.imobiliaria-galeria__badge {
	position: absolute;
	top: 16px; left: 16px;
	z-index: 2;
	box-shadow: 0 2px 8px rgba(0,0,0,.12);
}
.imobiliaria-galeria__contador {
	position: absolute;
	right: 16px; bottom: 16px;
	z-index: 2;
	background: rgba(15, 42, 74, 0.75);
	color: #fff;
	font-size: 0.8rem;
	font-weight: 600;
	padding: 5px 12px;
	border-radius: 999px;
}
.imobiliaria-galeria__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px; height: 44px;
	border-radius: 50%;
	border: none;
	background: rgba(255, 255, 255, 0.9);
	color: var(--imob-blue-900);
	font-size: 1.5rem;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}
.imobiliaria-galeria__arrow:hover { background: #fff; }
.imobiliaria-galeria__arrow--prev { left: 16px; }
.imobiliaria-galeria__arrow--next { right: 16px; }
.imobiliaria-galeria__miniaturas {
	display: flex;
	gap: 10px;
	margin-top: 12px;
	overflow-x: auto;
	padding-bottom: 4px;
}
.imobiliaria-galeria__miniatura {
	flex: 0 0 auto;
	width: 84px;
	aspect-ratio: 4 / 3;
	border-radius: var(--imob-radius-sm);
	overflow: hidden;
	border: 2px solid transparent;
	padding: 0;
	background: var(--imob-bg-soft);
	opacity: 0.7;
	transition: border-color 0.15s ease, opacity 0.15s ease;
}
.imobiliaria-galeria__miniatura img { width: 100%; height: 100%; object-fit: cover; display: block; }
.imobiliaria-galeria__miniatura:hover { opacity: 1; }
.imobiliaria-galeria__miniatura.is-active {
	border-color: var(--imob-blue-600);
	opacity: 1;
}

/* Lightbox: foto do imóvel ampliada em tela cheia, fundo escurecido */
body.imobiliaria-sem-scroll { overflow: hidden; }

.imobiliaria-lightbox {
	position: fixed;
	inset: 0;
	z-index: 1000;
	background: rgba(9, 22, 40, 0.94);
	display: none;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding: 60px 24px 24px;
	opacity: 0;
	/* Sem "pointer-events: none" de reserva aqui de propósito: o "display: none"
	   acima já tira este elemento inteiro (e tudo dentro dele) da renderização e
	   da detecção de cliques enquanto fechado — nenhum filho pode "furar" isso
	   redeclarando "visibility: visible", diferente do que acontecia antes só
	   com opacity/visibility (era isso que deixava a página inteira travada). */
}
.imobiliaria-lightbox.is-aberto {
	display: flex;
	opacity: 1;
}
.imobiliaria-lightbox__fechar {
	position: absolute;
	top: 20px; right: 20px;
	width: 44px; height: 44px;
	border-radius: 50%;
	border: none;
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	font-size: 1.7rem;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}
.imobiliaria-lightbox__fechar:hover { background: rgba(255, 255, 255, 0.28); }
.imobiliaria-lightbox__principal {
	position: relative;
	width: 100%;
	max-width: 1100px;
	flex: 1;
	min-height: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.imobiliaria-lightbox__track {
	position: relative;
	width: 100%;
	height: 100%;
}
.imobiliaria-lightbox__slide {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease;
}
.imobiliaria-lightbox__slide.is-active { opacity: 1; visibility: visible; }
.imobiliaria-lightbox__slide img {
	max-width: 100%;
	max-height: 76vh;
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: var(--imob-radius-sm);
}
.imobiliaria-lightbox__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 50px; height: 50px;
	border-radius: 50%;
	border: none;
	background: rgba(255, 255, 255, 0.14);
	color: #fff;
	font-size: 1.7rem;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}
.imobiliaria-lightbox__arrow:hover { background: rgba(255, 255, 255, 0.28); }
.imobiliaria-lightbox__arrow--prev { left: 8px; }
.imobiliaria-lightbox__arrow--next { right: 8px; }
.imobiliaria-lightbox__miniaturas {
	display: flex;
	gap: 10px;
	max-width: 100%;
	overflow-x: auto;
	padding-bottom: 4px;
}
.imobiliaria-lightbox__miniatura {
	flex: 0 0 auto;
	width: 76px;
	aspect-ratio: 4 / 3;
	border-radius: var(--imob-radius-sm);
	overflow: hidden;
	border: 2px solid transparent;
	padding: 0;
	opacity: 0.6;
	transition: border-color 0.15s ease, opacity 0.15s ease;
}
.imobiliaria-lightbox__miniatura img { width: 100%; height: 100%; object-fit: cover; display: block; }
.imobiliaria-lightbox__miniatura:hover { opacity: 0.9; }
.imobiliaria-lightbox__miniatura.is-active { border-color: #fff; opacity: 1; }

@media (max-width: 640px) {
	.imobiliaria-lightbox { padding: 50px 12px 16px; }
	.imobiliaria-lightbox__arrow { width: 40px; height: 40px; font-size: 1.3rem; }
	.imobiliaria-lightbox__miniatura { width: 56px; }
}

/* Dados do imóvel */
.imobiliaria-dados-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 20px;
}
.imobiliaria-dados-grid li {
	display: flex;
	align-items: center;
	gap: 12px;
}
.imobiliaria-dados-grid__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	border-radius: 50%;
	background: var(--imob-blue-100);
	color: var(--imob-blue-600);
}
.imobiliaria-dados-grid__icon svg { width: 1.3em; height: 1.3em; }
.imobiliaria-dados-grid li strong { display: block; font-size: 1rem; color: var(--imob-title-color); }
.imobiliaria-dados-grid li span { font-size: 0.78rem; color: var(--imob-ink-soft); }
/* Código do imóvel: ocupa a linha inteira da grade (em qualquer quantidade
   de colunas, desktop ou mobile) para nunca ficar espremido em uma coluna
   estreita, e o texto não quebra — assim "IMO-000000" e o rótulo abaixo
   sempre aparecem cada um em uma única linha, sem embolar. */
.imobiliaria-dados-grid__item--codigo {
	grid-column: 1 / -1;
}
.imobiliaria-dados-grid__item--codigo strong,
.imobiliaria-dados-grid__item--codigo span {
	white-space: nowrap;
}

/* Características */
.imobiliaria-caracteristicas__list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.imobiliaria-caracteristicas__list li {
	background: var(--imob-blue-050);
	color: var(--imob-blue-700);
	font-size: 0.85rem;
	font-weight: 600;
	padding: 8px 16px;
	border-radius: 999px;
}

/* Descrição + chamada para contato */
.imobiliaria-descricao__conteudo { color: var(--imob-text-color); }
.imobiliaria-descricao__conteudo p:last-child { margin-bottom: 0; }
.imobiliaria-cta-visita {
	margin-top: 28px;
	padding-top: 28px;
	border-top: 1px dashed var(--imob-border);
	text-align: left;
}
.imobiliaria-cta-visita p {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--imob-title-color);
	margin-bottom: 18px;
}

@keyframes imobiliaria-pulso-brilho {
	0%, 100% { box-shadow: 0 0 0 0 rgba(37, 168, 91, 0.55), 0 6px 16px rgba(37, 168, 91, 0.35); transform: scale(1); }
	50% { box-shadow: 0 0 0 10px rgba(37, 168, 91, 0), 0 6px 22px rgba(37, 168, 91, 0.55); transform: scale(1.02); }
}
.imobiliaria-btn-whatsapp-grande {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	background: #25a85b;
	color: #fff;
	font-weight: 700;
	font-size: 0.92rem;
	line-height: 1.2;
	padding: 14px 26px;
	border-radius: 999px;
	white-space: nowrap;
	animation: imobiliaria-pulso-brilho 1.8s ease-in-out infinite;
	transition: transform 0.15s ease, background-color 0.15s ease;
}
.imobiliaria-btn-whatsapp-grande svg,
.imobiliaria-btn-whatsapp-grande .imobiliaria-icon-whatsapp { width: 1.6em; height: 1.6em; flex-shrink: 0; }
.imobiliaria-btn-whatsapp-grande:hover {
	background: #1e8c4b;
	transform: translateY(-2px) scale(1.03);
}
@media (max-width: 480px) {
	.imobiliaria-btn-whatsapp-grande { white-space: normal; text-align: center; }
}

/* Mapa e vídeo */
.imobiliaria-mapa__endereco {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--imob-ink-soft);
	margin-bottom: 16px;
}
.imobiliaria-mapa__endereco svg { color: var(--imob-blue-600); flex-shrink: 0; }
.imobiliaria-mapa__frame,
.imobiliaria-video__frame {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: var(--imob-radius-sm);
	overflow: hidden;
	background: var(--imob-bg-soft);
}
.imobiliaria-mapa__frame iframe,
.imobiliaria-video__frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Plantas e documentos */
.imobiliaria-documentos__list { display: flex; flex-direction: column; gap: 10px; }
.imobiliaria-documentos__list a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	border: 1px solid var(--imob-border);
	border-radius: var(--imob-radius-sm);
	color: var(--imob-text-color);
	font-weight: 600;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}
.imobiliaria-documentos__list a:hover {
	border-color: var(--imob-blue-600);
	background: var(--imob-blue-050);
}
.imobiliaria-documentos__list svg { color: var(--imob-blue-600); flex-shrink: 0; }

/* Barra lateral */
.imobiliaria-imovel-sidebar {
	position: sticky;
	top: 24px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.imobiliaria-card-acao,
.imobiliaria-card-corretor {
	background: var(--imob-white);
	border: 1px solid var(--imob-border);
	border-radius: var(--imob-radius-md);
	padding: 26px;
}
.imobiliaria-card-acao__preco {
	font-size: 2.3rem;
	font-weight: 800;
	font-family: var(--imob-font-heading);
	color: var(--imob-blue-600);
	line-height: 1.15;
	margin-bottom: 18px;
}
.imobiliaria-card-acao__linha {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--imob-ink-soft);
	font-size: 0.92rem;
	margin-bottom: 10px;
}
.imobiliaria-card-acao__linha svg { color: var(--imob-blue-600); flex-shrink: 0; }

.imobiliaria-btn-whatsapp {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	width: 100%;
	background: #25a85b;
	color: #fff;
	font-weight: 700;
	font-size: 0.95rem;
	padding: 14px 18px;
	border-radius: var(--imob-radius-sm);
	margin: 16px 0;
	transition: background-color 0.15s ease;
}
.imobiliaria-btn-whatsapp:hover { background: #1e8c4b; color: #fff; }
.imobiliaria-btn-whatsapp svg,
.imobiliaria-btn-whatsapp .imobiliaria-icon-whatsapp { width: 1.5em; height: 1.5em; flex-shrink: 0; }

.imobiliaria-compartilhar {
	padding-top: 16px;
	border-top: 1px solid var(--imob-border);
}
.imobiliaria-compartilhar__titulo {
	display: block;
	font-size: 0.82rem;
	color: var(--imob-ink-soft);
	font-weight: 600;
	margin-bottom: 10px;
}
.imobiliaria-compartilhar__botoes {
	display: flex;
	gap: 10px;
}
.imobiliaria-compartilhar__botao {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 10px;
	border-radius: var(--imob-radius-sm);
	color: #fff;
	font-weight: 700;
	font-size: 0.85rem;
	transition: filter 0.15s ease;
}
.imobiliaria-compartilhar__botao svg { width: 1.2em; height: 1.2em; flex-shrink: 0; }
.imobiliaria-compartilhar__botao:hover { filter: brightness(0.9); color: #fff; }
.imobiliaria-compartilhar__botao--facebook { background: #1877f2; }
.imobiliaria-compartilhar__botao--whatsapp { background: #25a85b; }
.imobiliaria-compartilhar__botao--whatsapp svg,
.imobiliaria-compartilhar__botao--whatsapp .imobiliaria-icon-whatsapp { width: 1.5em; height: 1.5em; }

.imobiliaria-card-corretor { text-align: center; }
.imobiliaria-card-corretor__foto {
	width: 216px; height: 216px;
	margin: 0 auto 16px;
	border-radius: 50%;
	overflow: hidden;
	border: 3px solid var(--imob-blue-100);
}
.imobiliaria-card-corretor__foto img { width: 100%; height: 100%; object-fit: cover; }
.imobiliaria-card-corretor h3 { font-size: 1.1rem; margin-bottom: 2px; }
.imobiliaria-card-corretor__creci {
	color: var(--imob-ink-soft);
	font-size: 0.82rem;
	font-weight: 600;
	margin-bottom: 4px;
}
.imobiliaria-card-corretor__contatos {
	display: flex;
	flex-direction: column;
	gap: 10px;
	text-align: left;
	padding-top: 16px;
	border-top: 1px solid var(--imob-border);
}
.imobiliaria-card-corretor__contatos li {
	display: flex;
	align-items: center;
	gap: 9px;
	color: var(--imob-text-color);
	font-size: 0.9rem;
}
.imobiliaria-card-corretor__contatos svg { color: var(--imob-blue-600); flex-shrink: 0; }

@media (max-width: 980px) {
	.imobiliaria-imovel-layout { grid-template-columns: 1fr; gap: 24px; }
	.imobiliaria-imovel-sidebar { position: static; }

	/* No celular a ordem de leitura muda: foto, preço, dados, características,
	   descrição, localização, vídeo, documentos e só por último o corretor —
	   em vez das duas colunas lado a lado do desktop. Para isso, os dois
	   blocos ("imobiliaria-imovel-principal" e "imobiliaria-imovel-sidebar")
	   viram "display: contents": eles somem como caixa, mas continuam no
	   documento, então cada card dentro deles passa a ser um item avulso
	   desta mesma grade e pode ser reordenado individualmente com "order".
	   Isso só vale a partir deste breakpoint — no desktop os dois blocos
	   continuam normais, lado a lado. */
	.imobiliaria-imovel-principal,
	.imobiliaria-imovel-sidebar {
		display: contents;
	}

	.imobiliaria-galeria { order: 1; margin-bottom: 0; }
	.imobiliaria-card-acao { order: 2; margin-bottom: 0; }
	.imobiliaria-imovel-dados { order: 3; margin-bottom: 0; }
	.imobiliaria-caracteristicas { order: 4; margin-bottom: 0; }
	.imobiliaria-descricao { order: 5; margin-bottom: 0; }
	.imobiliaria-mapa { order: 6; margin-bottom: 0; }
	.imobiliaria-video { order: 7; margin-bottom: 0; }
	.imobiliaria-documentos { order: 8; margin-bottom: 0; }
	.imobiliaria-card-corretor { order: 9; margin-bottom: 0; }
}
@media (max-width: 640px) {
	.imobiliaria-card-info { padding: 20px; }
	.imobiliaria-dados-grid { grid-template-columns: repeat(2, 1fr); }
	.imobiliaria-btn-whatsapp-grande { padding: 14px 20px; font-size: 0.88rem; }
	.imobiliaria-compartilhar__botoes { flex-direction: column; }
	.imobiliaria-card-corretor__foto { width: 160px; height: 160px; }
}

/* ==========================================================================
   12. Página de Contato
   ========================================================================== */
.imobiliaria-contato-layout {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 40px;
	align-items: start;
	padding-top: 48px;
	padding-bottom: 48px;
}
.imobiliaria-contato-intro { margin-bottom: 24px; }
.imobiliaria-contato-intro p:last-child { margin-bottom: 0; }

.imobiliaria-contato-aviso {
	padding: 14px 18px;
	border-radius: var(--imob-radius-sm);
	margin-bottom: 22px;
	font-weight: 600;
	font-size: 0.92rem;
}
.imobiliaria-contato-aviso--sucesso { background: #e6f6ec; color: #1e7e42; border: 1px solid #b8e6c8; }
.imobiliaria-contato-aviso--erro { background: #fdecea; color: #b3261e; border: 1px solid #f6c6c2; }

.imobiliaria-contato-form {
	background: var(--imob-white);
	border: 1px solid var(--imob-border);
	border-radius: var(--imob-radius-md);
	padding: 28px;
}
.imobiliaria-contato-armadilha {
	position: absolute !important;
	left: -9999px !important;
	width: 1px; height: 1px;
	opacity: 0;
	pointer-events: none;
}
.imobiliaria-form-campo { margin-bottom: 20px; }
.imobiliaria-form-campo label {
	display: block;
	font-weight: 600;
	font-size: 0.9rem;
	margin-bottom: 6px;
	color: var(--imob-title-color);
}
.imobiliaria-form-obrigatorio { color: #c0392b; }
.imobiliaria-form-campo input,
.imobiliaria-form-campo textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--imob-border);
	border-radius: var(--imob-radius-sm);
	font: inherit;
	color: var(--imob-text-color, #3c4a57);
	background: var(--imob-white);
}
.imobiliaria-form-campo input:focus,
.imobiliaria-form-campo textarea:focus {
	outline: 2px solid var(--imob-blue-600);
	outline-offset: 1px;
	border-color: var(--imob-blue-600);
}
.imobiliaria-form-campo textarea { min-height: 150px; resize: vertical; }
.imobiliaria-contato-recaptcha { display: flex; }

.imobiliaria-contato-sidebar {
	background: var(--imob-white);
	border: 1px solid var(--imob-border);
	border-radius: var(--imob-radius-md);
	padding: 26px;
	position: sticky;
	top: 24px;
}
.imobiliaria-contato-sidebar h2 { font-size: 1.1rem; margin-bottom: 18px; }
.imobiliaria-contato-sidebar__linha {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
	font-size: 0.95rem;
}
.imobiliaria-contato-sidebar__linha svg { width: 1.3em; height: 1.3em; flex-shrink: 0; color: var(--imob-blue-600); }
.imobiliaria-contato-sidebar .imobiliaria-btn-whatsapp { margin-bottom: 14px; }
.imobiliaria-contato-sidebar__redes {
	display: flex;
	gap: 10px;
	margin: 6px 0 22px;
}
.imobiliaria-contato-sidebar__rede {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--imob-blue-100);
	color: var(--imob-blue-600);
	transition: background-color 0.15s ease, color 0.15s ease;
}
.imobiliaria-contato-sidebar__rede svg { width: 1.2em; height: 1.2em; }
.imobiliaria-contato-sidebar__rede:hover { background: var(--imob-blue-600); color: #fff; }
.imobiliaria-contato-sidebar__horario {
	border-top: 1px solid var(--imob-border);
	padding-top: 16px;
	margin-top: 4px;
}
.imobiliaria-contato-sidebar__horario h3 { font-size: 0.95rem; margin-bottom: 8px; }
.imobiliaria-contato-sidebar__horario p {
	white-space: pre-line;
	color: var(--imob-ink-soft);
	font-size: 0.9rem;
	line-height: 1.6;
}
@media (max-width: 860px) {
	.imobiliaria-contato-layout { grid-template-columns: 1fr; }
	.imobiliaria-contato-sidebar { position: static; }
}
