/*
 * =============================================================
 *  Del Rey Imobiliária — style.css
 *  Folha de estilos base
 *  Cores padrão da imobiliária — NÃO editar manualmente.
 *  Para personalizar cores, use o Dashboard > Configurações > Cores
 *  que gera/sobrescreve assets/css/custom.css automaticamente.
 * =============================================================
 */

/* ── Variáveis padrão ──────────────────────────────────────── */
:root {
  --red:         #CC2200;
  --red-dark:    #a81b00;
  --red-light:   #e03318;
  --gray:        #888;
  --gray-light:  #f4f4f4;
  --gray-mid:    #ddd;
  --dark:        #1a1a1a;
  --white:       #fff;
  --text:        #333;
  --radius:      6px;
  --shadow:      0 4px 24px rgba(0,0,0,.10);
  --shadow-lg:   0 8px 40px rgba(0,0,0,.15);
  --font:        'Barlow', sans-serif;
  --font-head:   'Barlow Condensed', sans-serif;
  --nav-h:       70px;
  --wm-opacity:  0.13; /* Opacidade da marca d'água — controlada pelo admin */
}

/* ── Reset ─────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; overflow-x: hidden; }
body { font-family: var(--font); color: var(--text); background: var(--white); -webkit-font-smoothing: antialiased; overflow-x: hidden; max-width: 100vw; }
a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; }
ul { list-style: none; }
button { cursor: pointer; font-family: var(--font); border: none; outline: none; }

/* ── Utilidades ─────────────────────────────────────────────── */
.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; }
@media (max-width: 480px) { .container { padding: 0 14px; } }

.section-title { font-family: var(--font-head); font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 700; color: var(--dark); letter-spacing: .02em; text-transform: uppercase; }
.section-sub   { font-size: .95rem; color: var(--gray); margin-top: 6px; }
.section-accent { display: inline-block; width: 36px; height: 4px; background: var(--red); border-radius: 2px; margin-bottom: 10px; }

.btn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 28px; background: var(--red); color: var(--white); font-family: var(--font-head); font-size: 1rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; border-radius: var(--radius); transition: background .2s, transform .15s; border: none; cursor: pointer; }
.btn:hover { background: var(--red-dark); transform: translateY(-1px); }
.btn-outline { background: transparent; border: 2px solid var(--red); color: var(--red); }
.btn-outline:hover { background: var(--red); color: var(--white); }

/* ── Top Bar ─────────────────────────────────────────────────── */
.topbar { background: var(--dark); color: #aaa; font-size: .78rem; letter-spacing: .04em; height: 34px; display: flex; align-items: center; }
.topbar .container { display: flex; align-items: center; justify-content: space-between; }
.topbar-contact { display: flex; gap: 20px; }
.topbar-contact a { color: #aaa; transition: color .2s; }
.topbar-contact a:hover { color: var(--red-light); }
.topbar-social { display: flex; gap: 12px; }
.topbar-social a { color: #aaa; font-size: .9rem; transition: color .2s; }
.topbar-social a:hover { color: var(--red-light); }

/* ── Nav ──────────────────────────────────────────────────────── */
.nav { position: sticky; top: 0; z-index: 100; background: var(--white); height: var(--nav-h); border-bottom: 1px solid var(--gray-mid); box-shadow: 0 2px 12px rgba(0,0,0,.06); }
.nav .container { height: 100%; display: flex; align-items: center; justify-content: space-between; }
.nav-logo img { height: 44px; width: auto; }
.nav-links { display: flex; align-items: center; gap: 6px; }
.nav-links a { font-family: var(--font-head); font-size: .9rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--dark); padding: 8px 14px; border-radius: var(--radius); transition: color .2s, background .2s; }
.nav-links a:hover { color: var(--red); background: rgba(204,34,0,.06); }
.nav-cta { font-family: var(--font-head); font-size: .85rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; background: var(--red); color: var(--white); padding: 9px 20px; border-radius: var(--radius); transition: background .2s; }
.nav-cta:hover { background: var(--red-dark); }
.nav-toggle { display: none; flex-direction: column; gap: 5px; padding: 8px; cursor: pointer; }
.nav-toggle span { display: block; width: 24px; height: 2px; background: var(--dark); transition: .3s; border-radius: 2px; }
.nav-mobile { display: none; }
@media (max-width: 860px) {
  .nav-links, .nav-cta { display: none; }
  .nav-toggle { display: flex; }
  .nav-mobile { display: none; flex-direction: column; background: var(--white); border-top: 1px solid var(--gray-mid); padding: 16px 24px 24px; gap: 4px; }
  .nav-mobile.open { display: flex; }
  .nav-mobile a { font-family: var(--font-head); font-size: 1rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--dark); padding: 10px 0; border-bottom: 1px solid var(--gray-light); }
  .nav-mobile a:hover { color: var(--red); }
}

/* ── Hero ──────────────────────────────────────────────────────── */
.hero { position: relative; min-height: 540px; display: flex; align-items: center; overflow: hidden; }
.hero-bg { position: absolute; inset: 0; background: url('../img/bg-intro.jpg') center/cover no-repeat; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(100deg, rgba(26,26,26,.80) 0%, rgba(26,26,26,.44) 60%, transparent 100%); }
.hero-content { position: relative; z-index: 2; color: var(--white); max-width: 700px; }
.hero-eyebrow { font-family: var(--font-head); font-size: .85rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--red-light); margin-bottom: 12px; }
.hero-title { font-family: var(--font-head); font-size: clamp(2rem, 5vw, 3.4rem); font-weight: 700; line-height: 1.08; text-transform: uppercase; letter-spacing: .02em; margin-bottom: 18px; }
.hero-title span { color: var(--red-light); }
.hero-subtitle { font-size: 1.05rem; font-weight: 300; opacity: .88; margin-bottom: 36px; }

/* ── Search Box ────────────────────────────────────────────────── */
.search-box { background: rgba(255,255,255,.97); border-radius: var(--radius); padding: 20px 22px 22px; box-shadow: var(--shadow-lg); backdrop-filter: blur(8px); }
.search-tabs { display: flex; gap: 4px; margin-bottom: 16px; border-bottom: 2px solid var(--gray-mid); }
.search-tab { font-family: var(--font-head); font-size: .85rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--gray); padding: 8px 18px; background: none; border: none; border-bottom: 2px solid transparent; margin-bottom: -2px; cursor: pointer; transition: color .2s, border-color .2s; }
.search-tab.active { color: var(--red); border-color: var(--red); }
.search-row  { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.search-row2 { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.search-row select, .search-row input, .search-row2 input {
  flex: 1; min-width: 130px; height: 44px; padding: 0 14px;
  border: 1px solid var(--gray-mid); border-radius: var(--radius);
  font-family: var(--font); font-size: .9rem; color: var(--text); background: var(--white);
  appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 12px center;
}
.search-row input, .search-row2 input { background-image: none; }
.search-row select:focus, .search-row input:focus, .search-row2 input:focus { outline: none; border-color: var(--red); }
.search-btn { height: 44px; padding: 0 28px; background: var(--red); color: var(--white); font-family: var(--font-head); font-size: .95rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; border-radius: var(--radius); border: none; cursor: pointer; transition: background .2s; white-space: nowrap; }
.search-btn:hover { background: var(--red-dark); }

/* Filtros avançados */
.filter-toggle-btn { height: 44px; padding: 0 18px; background: var(--white); color: var(--text); border: 1px solid var(--gray-mid); border-radius: var(--radius); font-family: var(--font-head); font-size: .85rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; display: flex; align-items: center; gap: 7px; transition: border-color .2s, color .2s; white-space: nowrap; }
.filter-toggle-btn:hover, .filter-toggle-btn.open { border-color: var(--red); color: var(--red); }
.filter-toggle-btn svg { transition: transform .25s; }
.filter-toggle-btn.open svg { transform: rotate(180deg); }
.adv-filters { display: none; margin-top: 14px; padding: 16px; background: var(--gray-light); border-radius: var(--radius); border: 1px solid var(--gray-mid); }
.adv-filters.open { display: block; }
.adv-filters-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
@media (max-width: 680px) { .adv-filters-grid { grid-template-columns: repeat(2, 1fr); } }
.adv-group { display: flex; flex-direction: column; gap: 5px; }
.adv-group label { font-size: .72rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--gray); }
.adv-group select { height: 40px; padding: 0 12px; border: 1px solid var(--gray-mid); border-radius: var(--radius); font-family: var(--font); font-size: .88rem; color: var(--text); background: var(--white); appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; }
.adv-group select:focus { outline: none; border-color: var(--red); }
.adv-clear-btn { margin-top: 12px; background: none; border: none; font-size: .78rem; color: var(--gray); text-decoration: underline; cursor: pointer; padding: 0; }
.adv-clear-btn:hover { color: var(--red); }

/* Autocomplete */
.autocomplete-wrap { position: relative; flex: 1; min-width: 160px; }
.autocomplete-list { position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 9999; background: #ffffff; border: 1px solid var(--gray-mid); border-radius: var(--radius); box-shadow: 0 8px 32px rgba(0,0,0,.18); max-height: 240px; overflow-y: auto; }
.autocomplete-list li { padding: 10px 14px; font-size: .9rem; color: #333; cursor: pointer; border-bottom: 1px solid #f0f0f0; transition: background .12s; list-style: none; }
.autocomplete-list li:last-child { border-bottom: none; }
.autocomplete-list li:hover, .autocomplete-list li.ac-active { background: #fdf1ef; color: var(--red); }
.autocomplete-list li mark { background: none; color: var(--red); font-weight: 700; }

/* ── Stats Bar ───────────────────────────────────────────────── */
.stats-bar { background: var(--dark); padding: 24px 0; }
.stats-bar .container { display: flex; align-items: center; justify-content: space-around; gap: 16px; flex-wrap: wrap; }
.stat-item { text-align: center; }
.stat-num { font-family: var(--font-head); font-size: 2rem; font-weight: 700; color: var(--red-light); line-height: 1; }
.stat-label { font-size: .78rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: #aaa; margin-top: 4px; }
.stat-divider { width: 1px; height: 36px; background: rgba(255,255,255,.1); }
@media (max-width: 600px) { .stat-divider { display: none; } }

/* ── Seção Destaques / Cards ───────────────────────────────────── */
.destaques { padding: 72px 0; background: var(--white); }
.section-header { margin-bottom: 36px; }
.section-header-inner { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.filter-strip { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 28px; }
.filter-btn { font-family: var(--font-head); font-size: .8rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--gray); padding: 7px 18px; border: 1px solid var(--gray-mid); border-radius: 100px; background: var(--white); cursor: pointer; transition: all .2s; }
.filter-btn:hover, .filter-btn.active { color: var(--red); border-color: var(--red); background: rgba(204,34,0,.04); }

.imoveis-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 960px) { .imoveis-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 580px)  { .imoveis-grid { grid-template-columns: 1fr; } }

.card { border-radius: 8px; overflow: hidden; background: var(--white); box-shadow: var(--shadow); transition: transform .22s, box-shadow .22s; cursor: pointer; }
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.card-img { position: relative; height: 200px; overflow: hidden; background: var(--gray-light); }
.card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.card:hover .card-img img { transform: scale(1.05); }
/* Canvas anti-cópia nos cards */
.card-canvas { display: block; width: 100%; height: 100%; cursor: pointer; -webkit-user-drag: none; user-select: none; -webkit-touch-callout: none; }
.card:hover .card-canvas { transform: scale(1.05); transition: transform .4s; }
.card-badge { position: absolute; top: 12px; left: 12px; font-family: var(--font-head); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 4px 10px; border-radius: 4px; background: var(--red); color: var(--white); }
.card-badge.aluguel  { background: #1a6e3a; }
.card-badge.temporada{ background: #0059a8; }
.card-oport { position: absolute; top: 12px; right: 12px; background: #f5a623; color: var(--white); font-family: var(--font-head); font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 4px 9px; border-radius: 4px; }
.card-body  { padding: 18px 18px 16px; }
.card-tipo  { font-size: .75rem; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--gray); margin-bottom: 6px; }
.card-title { font-family: var(--font-head); font-size: 1.05rem; font-weight: 600; color: var(--dark); line-height: 1.3; margin-bottom: 6px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.card-loc   { font-size: .82rem; color: var(--gray); margin-bottom: 14px; display: flex; align-items: center; gap: 4px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; min-width: 0; }
.card-footer{ border-top: 1px solid var(--gray-light); padding-top: 12px; display: flex; align-items: center; justify-content: space-between; }
.card-price { font-family: var(--font-head); font-size: 1.2rem; font-weight: 700; color: var(--red); }
.card-price small { font-size: .7rem; font-weight: 400; color: var(--gray); display: block; }
.card-details { display: flex; gap: 10px; }
.card-detail  { align-items: center; gap: 3px; font-size: .78rem; color: var(--gray); overflow: hidden; max-width: 60px; }
.card-detail-area { max-width: none; } /* área m² — sem corte */
.card-no-foto { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: var(--gray-light); color: var(--gray); font-size: .85rem; }

/* Skeleton loading */
.skeleton { border-radius: 8px; overflow: hidden; background: var(--white); box-shadow: var(--shadow); }
.sk-img  { height: 200px; background: linear-gradient(90deg,#eee 25%,#f5f5f5 50%,#eee 75%); background-size: 200% 100%; animation: shimmer 1.4s infinite; }
.sk-body { padding: 18px; }
.sk-line { height: 12px; background: linear-gradient(90deg,#eee 25%,#f5f5f5 50%,#eee 75%); background-size: 200% 100%; animation: shimmer 1.4s infinite; border-radius: 6px; margin-bottom: 10px; }
.sk-line.short { width: 60%; } .sk-line.med { width: 80%; }
@keyframes shimmer { to { background-position: -200% 0; } }
.no-results { grid-column: 1/-1; text-align: center; padding: 60px 24px; color: var(--gray); font-size: 1rem; }
.no-results strong { display: block; font-family: var(--font-head); font-size: 1.3rem; color: var(--dark); margin-bottom: 8px; }

/* Paginação */
.pagination { display: flex; justify-content: center; gap: 8px; margin-top: 36px; flex-wrap: wrap; }
.page-btn { width: 38px; height: 38px; border-radius: var(--radius); font-family: var(--font-head); font-size: .85rem; font-weight: 600; border: 1px solid var(--gray-mid); background: var(--white); color: var(--text); cursor: pointer; transition: all .2s; }
.page-btn:hover, .page-btn.active { background: var(--red); border-color: var(--red); color: var(--white); }

/* ── Seção Sobre ──────────────────────────────────────────────── */
.sobre { padding: 80px 0; background: var(--gray-light); }
.sobre-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
@media (max-width: 760px) { .sobre-inner { grid-template-columns: 1fr; gap: 36px; } }
.sobre-visual { position: relative; }
.sobre-img-main { width: 100%; border-radius: 8px; object-fit: cover; height: 380px; box-shadow: var(--shadow-lg); }
.sobre-badge-box { position: absolute; bottom: -20px; right: -20px; background: var(--red); color: var(--white); padding: 22px 26px; border-radius: 8px; text-align: center; box-shadow: var(--shadow-lg); }
.sobre-badge-num   { font-family: var(--font-head); font-size: 2.4rem; font-weight: 700; line-height: 1; }
.sobre-badge-label { font-size: .75rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; opacity: .88; margin-top: 4px; }
@media (max-width: 760px) { .sobre-badge-box { right: 10px; bottom: -16px; } }
.sobre-text p { font-size: .98rem; line-height: 1.75; color: #555; margin-bottom: 16px; }
.sobre-checks { margin: 24px 0; display: flex; flex-direction: column; gap: 10px; }
.sobre-check { display: flex; align-items: flex-start; gap: 10px; font-size: .9rem; color: var(--text); }
.sobre-check-icon { width: 20px; height: 20px; border-radius: 50%; background: var(--red); flex-shrink: 0; display: flex; align-items: center; justify-content: center; margin-top: 1px; }

/* ── Seção CTA / Serviços ─────────────────────────────────────── */
.cta-section { padding: 72px 0; background: var(--white); }
.cta-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 860px) { .cta-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 540px) { .cta-grid { grid-template-columns: 1fr; } }
.cta-card { border-radius: 8px; padding: 36px 28px; border: 1px solid var(--gray-mid); display: flex; flex-direction: column; gap: 12px; transition: border-color .2s, box-shadow .2s, transform .2s; }
.cta-card:hover { border-color: var(--red); box-shadow: var(--shadow); transform: translateY(-3px); }
.cta-icon { width: 52px; height: 52px; border-radius: 10px; background: rgba(204,34,0,.08); display: flex; align-items: center; justify-content: center; }
.cta-icon svg { width: 26px; height: 26px; color: var(--red); }
.cta-card h3 { font-family: var(--font-head); font-size: 1.15rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--dark); }
.cta-card p  { font-size: .88rem; color: var(--gray); line-height: 1.6; flex: 1; }
.cta-link { font-family: var(--font-head); font-size: .82rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--red); display: flex; align-items: center; gap: 6px; margin-top: 4px; transition: gap .2s; }
.cta-card:hover .cta-link { gap: 10px; }

/* ── Seção Contato ────────────────────────────────────────────── */
.contato { padding: 80px 0; background: var(--gray-light); }
.contato-inner { display: grid; grid-template-columns: 1fr 1.2fr; gap: 60px; align-items: start; }
@media (max-width: 760px) { .contato-inner { grid-template-columns: 1fr; gap: 36px; } }
.contato-info { display: flex; flex-direction: column; gap: 24px; }
.contato-item { display: flex; gap: 14px; align-items: flex-start; }
.contato-icon { width: 44px; height: 44px; border-radius: 8px; background: var(--red); flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.contato-icon svg { width: 20px; height: 20px; color: var(--white); }
.contato-item-label { font-size: .75rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--gray); margin-bottom: 4px; }
.contato-item-val   { font-size: .95rem; color: var(--dark); }
.contato-item-val a { color: var(--dark); transition: color .2s; }
.contato-item-val a:hover { color: var(--red); }
.social-links { display: flex; gap: 10px; margin-top: 8px; }
.social-link  { width: 38px; height: 38px; border-radius: 8px; border: 1px solid var(--gray-mid); display: flex; align-items: center; justify-content: center; color: var(--gray); transition: all .2s; }
.social-link:hover { background: var(--red); border-color: var(--red); color: var(--white); }
.social-link svg { width: 16px; height: 16px; }
.contato-form { display: flex; flex-direction: column; gap: 14px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 480px) { .form-row { grid-template-columns: 1fr; } }
.form-group { display: flex; flex-direction: column; gap: 6px; }
.form-group label { font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--gray); }
.form-group input, .form-group select, .form-group textarea { padding: 11px 14px; border: 1px solid var(--gray-mid); border-radius: var(--radius); font-family: var(--font); font-size: .9rem; color: var(--text); background: var(--white); transition: border-color .2s; resize: vertical; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { outline: none; border-color: var(--red); }
.form-group textarea { min-height: 100px; }
.form-note { font-size: .78rem; color: var(--gray); margin-top: 6px; }

/* ── Footer ───────────────────────────────────────────────────── */
footer { background: var(--dark); color: #aaa; padding: 56px 0 0; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 48px; border-bottom: 1px solid rgba(255,255,255,.08); }
@media (max-width: 860px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .footer-grid { grid-template-columns: 1fr; } }
.footer-logo img  { height: 40px; margin-bottom: 14px; filter: brightness(0) invert(1); }
.footer-about     { font-size: .85rem; line-height: 1.65; max-width: 240px; }
.footer-col h4    { font-family: var(--font-head); font-size: .82rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--white); margin-bottom: 14px; }
.footer-col ul    { display: flex; flex-direction: column; gap: 8px; }
.footer-col ul li a { font-size: .85rem; color: #aaa; transition: color .2s; }
.footer-col ul li a:hover { color: var(--red-light); }
.footer-bottom {
  padding: 18px 0;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  font-size: .78rem;
}
@media (max-width: 600px) { .footer-bottom { grid-template-columns: 1fr; text-align: center; justify-items: center; } }
.footer-copy      { text-align: center; color: #888; }
.footer-creci, .footer-creci-bar { color: #666; text-align: right; }
.footer-dev-link  { display: flex; align-items: center; opacity: .75; transition: opacity .2s; }
.footer-dev-link:hover { opacity: 1; }
.footer-dev-logo  { height: 22px; width: auto; filter: brightness(0) invert(.7); transition: filter .2s; }
.footer-dev-logo:hover { filter: none; }
.footer-bottom a  { color: #aaa; transition: color .2s; }
.footer-bottom a:hover { color: var(--red-light); }

/* ── WhatsApp Float ───────────────────────────────────────────── */
.whatsapp-float, .wpp-float { position: fixed; bottom: 24px; right: 24px; z-index: 200; width: 56px; height: 56px; border-radius: 50%; background: #25D366; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 20px rgba(37,211,102,.45); transition: transform .2s, box-shadow .2s; }
.whatsapp-float:hover, .wpp-float:hover { transform: scale(1.08); box-shadow: 0 6px 28px rgba(37,211,102,.6); }
.whatsapp-float svg, .wpp-float svg { width: 28px; height: 28px; fill: var(--white); }

/* ── Modal (index) ────────────────────────────────────────────── */
.modal-overlay { position: fixed; inset: 0; z-index: 300; background: rgba(0,0,0,.72); display: flex; align-items: center; justify-content: center; padding: 20px; opacity: 0; pointer-events: none; transition: opacity .25s; }
.modal-overlay.open { opacity: 1; pointer-events: all; }
.modal { background: var(--white); border-radius: 10px; width: 100%; max-width: 900px; max-height: 90vh; overflow-y: auto; transform: translateY(20px); transition: transform .25s; }
.modal-overlay.open .modal { transform: translateY(0); }
.modal-header { position: sticky; top: 0; background: var(--white); padding: 16px 22px; border-bottom: 1px solid var(--gray-mid); display: flex; align-items: center; justify-content: space-between; z-index: 1; gap: 12px; }
.modal-header-title { font-family: var(--font-head); font-size: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: var(--dark); flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.modal-close { width: 34px; height: 34px; border-radius: 50%; border: none; background: var(--gray-light); color: var(--gray); font-size: 1.1rem; cursor: pointer; transition: background .2s, color .2s; flex-shrink: 0; }
.modal-close:hover { background: var(--red); color: var(--white); }
.modal-body { padding: 22px; }
.modal-foto-principal { width: 100%; height: 360px; object-fit: cover; border-radius: 8px; display: block; background: var(--gray-light); }
.modal-canvas-el { display: block; width: 100%; height: 360px; border-radius: 8px; background: var(--gray-light); -webkit-user-drag: none; user-select: none; -webkit-touch-callout: none; }
@media (max-width: 600px) { .modal-canvas-el { height: 220px !important; } }
@media (max-width: 600px) { .modal-foto-principal { height: 220px; } }
.modal-gal-wrap    { position: relative; margin-top: 10px; }
.modal-thumbs-row  { display: flex; align-items: center; gap: 6px; }
.modal-thumbs { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; scroll-behavior: smooth; flex: 1; }
.modal-thumbs::-webkit-scrollbar { height: 3px; }
.modal-thumbs::-webkit-scrollbar-thumb { background: var(--gray-mid); border-radius: 2px; }
.modal-thumb { width: 76px; height: 56px; object-fit: cover; border-radius: 5px; cursor: pointer; border: 2px solid transparent; transition: border-color .15s, opacity .15s; opacity: .7; flex-shrink: 0; }
.modal-thumb:hover  { opacity: 1; }
.modal-thumb.active { border-color: var(--red); opacity: 1; }
.modal-thumb-nav { width: 30px; height: 30px; border-radius: 50%; background: var(--white); border: 1px solid var(--gray-mid); display: flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0; transition: all .15s; color: var(--text); }
.modal-thumb-nav:hover { background: var(--red); border-color: var(--red); color: var(--white); }
.modal-thumb-nav svg { width: 14px; height: 14px; fill: currentColor; }
.modal-no-foto { width: 100%; height: 260px; display: flex; align-items: center; justify-content: center; background: var(--gray-light); border-radius: 8px; color: var(--gray); font-size: .9rem; }
.modal-layout { display: grid; grid-template-columns: 1.5fr 1fr; gap: 24px; margin-top: 20px; align-items: start; }
@media (max-width: 640px) { .modal-layout { grid-template-columns: 1fr; } }
.modal-section-label { font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--gray); margin-bottom: 8px; }
.modal-loc  { font-size: .95rem; color: var(--dark); margin-bottom: 18px; }
.modal-features { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 18px; }
.modal-feat { display: flex; align-items: center; gap: 5px; font-size: .82rem; color: var(--text); background: var(--gray-light); border: 1px solid var(--gray-mid); padding: 5px 10px; border-radius: 100px; }
.modal-feat svg { width: 13px; height: 13px; color: var(--red); flex-shrink: 0; }
.modal-price-box   { background: var(--gray-light); border-radius: 8px; padding: 20px; margin-bottom: 14px; }
.modal-price-label { font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--gray); margin-bottom: 4px; }
.modal-price       { font-family: var(--font-head); font-size: 1.9rem; font-weight: 700; color: var(--red); line-height: 1; }
.modal-ref         { font-size: .82rem; font-weight: 600; color: var(--dark); margin-top: 6px; }
.modal-price-row   { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.modal-share-btn { width: 34px; height: 34px; border-radius: 8px; background: var(--gray-light); border: 1px solid var(--gray-mid); display: flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0; transition: all .15s; color: var(--text); }
.modal-share-btn:hover { background: var(--red); border-color: var(--red); color: var(--white); }
.modal-share-btn svg { width: 16px; height: 16px; fill: currentColor; }
.modal-badges { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; }
.modal-wpp { display: flex; align-items: center; gap: 8px; width: 100%; padding: 13px 20px; background: #25D366; color: var(--white); font-family: var(--font-head); font-size: .95rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; border-radius: var(--radius); border: none; cursor: pointer; transition: background .2s; justify-content: center; }
.modal-wpp:hover { background: #1da851; }
.modal-wpp svg { width: 20px; height: 20px; }
.modal-ver-btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; margin-top: 10px; padding: 12px 20px; background: var(--red); color: var(--white); font-family: var(--font-head); font-size: .92rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; border-radius: var(--radius); border: none; cursor: pointer; transition: background .2s; text-decoration: none; }
.modal-ver-btn:hover { background: var(--red-dark); }
.modal-ver-btn svg { width: 17px; height: 17px; }

/* Share popup */
.share-popup { position: fixed; inset: 0; z-index: 600; background: rgba(0,0,0,.6); display: flex; align-items: center; justify-content: center; padding: 16px; opacity: 0; pointer-events: none; transition: opacity .2s; }
.share-popup.open { opacity: 1; pointer-events: all; }
.share-box  { background: var(--white); border-radius: 12px; padding: 24px; width: 100%; max-width: 340px; box-shadow: var(--shadow-lg); }
.share-box h4 { font-family: var(--font-head); font-size: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--dark); margin-bottom: 16px; }
.share-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.share-opt { display: flex; align-items: center; gap: 8px; padding: 11px 14px; border-radius: 8px; border: 1px solid var(--gray-mid); background: var(--white); cursor: pointer; font-size: .85rem; font-weight: 600; color: var(--text); transition: all .2s; text-decoration: none; }
.share-opt:hover { border-color: var(--red); background: rgba(204,34,0,.04); color: var(--red); }
.share-opt.wpp { color: #25D366; border-color: #25D366; } .share-opt.wpp:hover { background: #f0fff4; }
.share-opt svg { width: 18px; height: 18px; flex-shrink: 0; }
.share-close { width: 100%; margin-top: 14px; padding: 10px; background: var(--gray-light); border: none; border-radius: 8px; font-family: var(--font-head); font-size: .85rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; cursor: pointer; color: var(--gray); transition: all .2s; }
.share-close:hover { background: var(--dark); color: var(--white); }
.copy-toast { position: fixed; bottom: 80px; left: 50%; transform: translateX(-50%) translateY(10px); background: var(--dark); color: #fff; padding: 8px 20px; border-radius: 100px; font-size: .82rem; opacity: 0; transition: all .3s; pointer-events: none; z-index: 700; }
.copy-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* ── Animações ────────────────────────────────────────────────── */
@keyframes fadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
.hero-content > * { animation: fadeUp .6s ease both; }
.hero-eyebrow  { animation-delay: .1s; }
.hero-title    { animation-delay: .22s; }
.hero-subtitle { animation-delay: .34s; }
.search-box    { animation-delay: .46s; }

/* ════════════════════════════════════════════════════════
   Página de Imóvel (imovel.php)
═══════════════════════════════════════════════════════ */
    /* ── Layout principal imovel.php ── */
    html{overflow-x:hidden}
    body{font-family:var(--font);color:var(--text);background:#f8f8f8;-webkit-font-smoothing:antialiased;overflow-x:hidden;max-width:100vw}

    /* Nav específica do imovel.php */
    .nav{background:var(--white);height:var(--nav-h);border-bottom:1px solid var(--gray-mid);box-shadow:0 2px 12px rgba(0,0,0,.06);position:sticky;top:0;z-index:100}
    .nav .container{height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}
    .nav-logo img{height:40px;width:auto;max-width:160px}
    .nav-back{display:flex;align-items:center;gap:7px;font-family:var(--font-head);font-size:.85rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gray);padding:8px 14px;border-radius:var(--radius);border:1px solid var(--gray-mid);transition:all .2s}
    .nav-back:hover{color:var(--red);border-color:var(--red)}
    .nav-back svg{width:15px;height:15px}
    .nav-cta{font-family:var(--font-head);font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:var(--red);color:var(--white);padding:8px 18px;border-radius:var(--radius);transition:background .2s;white-space:nowrap}
    .nav-cta:hover{background:var(--red-dark)}
    @media(max-width:480px){.nav-cta{display:none}}

    /* Breadcrumb */
    .breadcrumb{background:var(--white);border-bottom:1px solid var(--gray-mid);padding:10px 0}
    .breadcrumb .container{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--gray);flex-wrap:wrap}
    .breadcrumb a{color:var(--gray);transition:color .2s}
    .breadcrumb a:hover{color:var(--red)}
    .breadcrumb-sep{color:var(--gray-mid)}
    .bc-filter{color:var(--red)!important;font-weight:600}
    .bc-filter:hover{text-decoration:underline}

    /* Layout principal */
    .main{padding:32px 0 64px}
    .main-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}
    @media(max-width:960px){.main-grid{grid-template-columns:minmax(0,1fr)}}
    .main-grid>div:first-child{min-width:0;max-width:100%}

    /* Cabeçalho do imóvel */
    .imovel-header{background:var(--white);border-radius:10px;box-shadow:var(--shadow);padding:20px 24px 18px;margin-bottom:20px;display:flex;flex-direction:column;gap:6px;overflow:hidden;max-width:100%;animation:fadeUp .4s ease both}
    @media(max-width:480px){.imovel-header{padding:16px 14px 14px;border-radius:8px}}
    .ih-titulo{font-family:var(--font-head);font-size:clamp(1.2rem,3.5vw,1.65rem);font-weight:700;color:var(--dark);letter-spacing:.02em;line-height:1.25}
    .ih-loc{display:flex;align-items:center;gap:5px;font-size:.88rem;color:var(--gray);margin-top:2px}
    .ih-loc svg{width:14px;height:14px;color:var(--red);flex-shrink:0}

    /* Galeria */
    .galeria{background:var(--white);border-radius:10px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:24px;width:100%;max-width:100%}
    .gal-principal-wrap{position:relative;background:#111;overflow:hidden;width:100%;max-width:100%;height:420px}
    @media(max-width:960px){.gal-principal-wrap{height:380px}}
    @media(max-width:700px){.gal-principal-wrap{height:260px}}
    @media(max-width:480px){.gal-principal-wrap{height:220px}}
    .gal-bg-blur{position:absolute;inset:-30px;background-size:cover;background-position:center;filter:blur(26px) brightness(.5) saturate(.6);transform:scale(1.1);pointer-events:none;z-index:0}
    .gal-principal{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;z-index:1;cursor:zoom-in;transition:opacity .22s ease;user-select:none;-webkit-user-drag:none;display:none!important}
    .gal-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;cursor:zoom-in;transition:opacity .22s ease;user-select:none;-webkit-user-drag:none;display:block;object-fit:contain}
    .gal-watermark{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;pointer-events:none;user-select:none}
    .gal-watermark img{width:42%;max-width:260px;min-width:100px;opacity:var(--wm-opacity);filter:grayscale(1) brightness(10);pointer-events:none;user-select:none;-webkit-user-drag:none}
    .gal-sem-foto{height:260px;display:flex;align-items:center;justify-content:center;color:var(--gray);font-size:.95rem;background:var(--gray-light)}
    .gal-badge{position:absolute;top:14px;left:14px;z-index:3;font-family:var(--font-head);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 11px;border-radius:4px;background:var(--red);color:var(--white)}
    .gal-badge.aluguel{background:#1a6e3a}.gal-badge.temporada{background:#0059a8}
    .gal-oport{position:absolute;top:14px;right:14px;z-index:3;background:#f5a623;color:var(--white);font-family:var(--font-head);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 11px;border-radius:4px}
    .gal-counter{position:absolute;bottom:13px;right:13px;z-index:3;background:rgba(0,0,0,.58);color:#fff;font-size:.76rem;padding:4px 10px;border-radius:100px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
    .gal-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;background:rgba(0,0,0,.48);color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:1.15rem;cursor:pointer;transition:background .2s,transform .15s;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
    .gal-nav:hover{background:rgba(204,34,0,.85);transform:translateY(-50%) scale(1.08)}
    .gal-prev{left:11px}.gal-next{right:11px}
    @media(max-width:600px){.gal-nav{width:36px;height:36px;font-size:1rem}.gal-prev{left:7px}.gal-next{right:7px}}
    .gal-thumbs-wrap{padding:12px 14px;display:flex;gap:8px;overflow-x:auto;background:var(--white)}
    .gal-thumbs-wrap::-webkit-scrollbar{height:4px}
    .gal-thumbs-wrap::-webkit-scrollbar-thumb{background:var(--gray-mid);border-radius:2px}
    .gal-thumb{width:72px;height:52px;object-fit:cover;border-radius:5px;cursor:pointer;border:2px solid transparent;transition:border-color .15s,opacity .15s;opacity:.65;flex-shrink:0;-webkit-user-drag:none;user-select:none}
    @media(max-width:480px){.gal-thumb{width:58px;height:42px}}
    .gal-thumb.active{border-color:var(--red);opacity:1}
    .gal-thumb:hover{opacity:1}
    .gal-principal-wrap,.gal-canvas,.gal-watermark{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}

    /* Sidebar card de detalhe */
    div.card-detail{background:var(--white);border-radius:10px;box-shadow:var(--shadow);overflow:hidden;position:sticky;top:calc(var(--nav-h) + 16px);width:100%;max-width:100%;box-sizing:border-box}
    @media(max-width:960px){div.card-detail{position:static;max-width:100%;margin:0}}
    .card-detail-body{padding:20px 20px 18px}
    .cd-price-label{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);margin-bottom:4px}
    .cd-price{font-family:var(--font-head);font-size:2rem;font-weight:700;color:var(--red);line-height:1;margin-bottom:4px}
    .cd-price-extra{font-size:.75rem;color:var(--gray);margin-bottom:12px}
    .cd-divider{height:1px;background:var(--gray-mid);margin:12px 0}
    .cd-feats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
    .cd-feat{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--text);min-width:0;overflow:hidden}
    .cd-feat-icon{width:28px;height:28px;border-radius:6px;background:rgba(204,34,0,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0}
    .cd-feat-icon svg{width:13px;height:13px;color:var(--red);fill:currentColor}
    .cd-feat-info{min-width:0;overflow:hidden}
    .cd-feat-val{font-family:var(--font-head);font-size:.95rem;font-weight:700;color:var(--dark);line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .cd-feat-lbl{font-size:.65rem;color:var(--gray);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .btn-wpp{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px;background:#25D366;color:var(--white);font-family:var(--font-head);font-size:.95rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius);border:none;cursor:pointer;transition:background .2s;margin-bottom:10px}
    .btn-wpp:hover{background:#1da851}
    .btn-wpp svg{width:20px;height:20px}
    .btn-tel{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:11px;background:var(--gray-light);color:var(--dark);font-family:var(--font-head);font-size:.88rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-radius:var(--radius);border:1px solid var(--gray-mid);cursor:pointer;transition:all .2s;text-decoration:none}
    .btn-tel:hover{background:var(--dark);color:var(--white);border-color:var(--dark)}
    .btn-tel svg{width:16px;height:16px}
    .cd-ref{font-size:.75rem;color:var(--gray);text-align:center;margin-top:10px}
    .action-btns{display:flex;gap:8px;margin-top:10px}
    .btn-action{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;padding:9px 10px;background:var(--gray-light);color:var(--text);font-family:var(--font-head);font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius);border:1px solid var(--gray-mid);cursor:pointer;transition:all .2s;text-decoration:none;white-space:nowrap}
    .btn-action:hover{background:var(--dark);color:var(--white);border-color:var(--dark)}
    .btn-action svg{width:14px;height:14px;flex-shrink:0}

    /* Seções de detalhe */
    .detail-section{background:var(--white);border-radius:10px;box-shadow:var(--shadow);padding:24px 26px;margin-bottom:20px;overflow:hidden;max-width:100%}
    @media(max-width:600px){.detail-section{padding:16px 14px}}
    .ds-title{font-family:var(--font-head);font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--dark);border-bottom:2px solid var(--gray-light);padding-bottom:12px;margin-bottom:18px;display:flex;align-items:center;gap:8px}
    .ds-title svg{width:18px;height:18px;color:var(--red)}
    .chars-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
    .char-item{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--gray-light);border-radius:8px;border:1px solid transparent;transition:border-color .2s}
    .char-item:hover{border-color:var(--gray-mid)}
    .char-icon{width:36px;height:36px;border-radius:8px;background:rgba(204,34,0,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0}
    .char-icon svg{width:18px;height:18px;color:var(--red);fill:currentColor}
    .char-val{font-family:var(--font-head);font-size:1.05rem;font-weight:700;color:var(--dark);line-height:1}
    .char-lbl{font-size:.7rem;color:var(--gray);line-height:1.2;margin-top:2px}
    .areas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
    .area-item{padding:16px;background:var(--gray-light);border-radius:8px;border-left:3px solid var(--red)}
    .area-val{font-family:var(--font-head);font-size:1.3rem;font-weight:700;color:var(--dark)}
    .area-lbl{font-size:.75rem;color:var(--gray);margin-top:3px;text-transform:uppercase;letter-spacing:.08em}
    .valores-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
    .valor-item{padding:16px 18px;background:var(--gray-light);border-radius:8px}
    .valor-lbl{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);margin-bottom:5px}
    .valor-val{font-family:var(--font-head);font-size:1.35rem;font-weight:700;color:var(--dark)}
    .valor-val.destaque{color:var(--red)}
    .descricao-txt{font-size:.95rem;line-height:1.8;color:#555;white-space:pre-line}
    .amen-grid{display:flex;flex-wrap:wrap;gap:9px}
    .amen-tag{display:flex;align-items:center;gap:6px;padding:7px 13px;background:var(--gray-light);border:1px solid var(--gray-mid);border-radius:100px;font-size:.82rem;color:var(--text);transition:border-color .2s,background .2s}
    .amen-tag:hover{border-color:var(--red);background:rgba(204,34,0,.04)}
    .amen-tag svg{width:12px;height:12px;color:var(--red);flex-shrink:0}
    .mapa-wrap{border-radius:8px;overflow:hidden;height:300px;background:var(--gray-light);max-width:100%}
    @media(max-width:480px){.mapa-wrap{height:220px}}
    .mapa-wrap iframe{width:100%;height:100%;border:none}
    .video-wrap{position:relative;padding-bottom:56.25%;height:0;border-radius:8px;overflow:hidden;background:#000}
    .video-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
    .details-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
    @media(max-width:540px){.details-list{grid-template-columns:1fr}}
    .detail-row{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;background:var(--gray-light);border-radius:6px;font-size:.88rem}
    .detail-row-lbl{color:var(--gray)}
    .detail-row-val{font-weight:600;color:var(--dark);text-align:right}

    /* Botões de ação imprimir/compartilhar */
    .share-popup{position:fixed;inset:0;z-index:600;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;pointer-events:none;transition:opacity .2s}
    .share-popup.open{opacity:1;pointer-events:all}
    .share-box{background:var(--white);border-radius:12px;padding:24px;width:100%;max-width:340px;box-shadow:var(--shadow-lg)}
    .share-box h4{font-family:var(--font-head);font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--dark);margin-bottom:16px}
    .share-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
    .share-opt{display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:8px;border:1px solid var(--gray-mid);background:var(--white);cursor:pointer;font-size:.85rem;font-weight:600;color:var(--text);transition:all .2s;text-decoration:none}
    .share-opt:hover{border-color:var(--red);background:rgba(204,34,0,.04);color:var(--red)}
    .share-opt.wpp{color:#25D366;border-color:#25D366}.share-opt.wpp:hover{background:#f0fff4}
    .share-opt svg{width:18px;height:18px;flex-shrink:0}
    .share-close{width:100%;margin-top:14px;padding:10px;background:var(--gray-light);border:none;border-radius:8px;font-family:var(--font-head);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;color:var(--gray);transition:all .2s}
    .share-close:hover{background:var(--dark);color:var(--white)}
    .copy-toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%) translateY(10px);background:var(--dark);color:#fff;padding:8px 20px;border-radius:100px;font-size:.82rem;opacity:0;transition:all .3s;pointer-events:none;z-index:700}
    .copy-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

    /* Lightbox */
    .lightbox{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;pointer-events:none;transition:opacity .25s}
    .lightbox.open{opacity:1;pointer-events:all}
    .lb-close{position:absolute;top:16px;right:16px;background:rgba(255,255,255,.12);color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:1.2rem;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center}
    .lb-close:hover{background:var(--red)}
    .lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);color:#fff;border:none;width:46px;height:46px;border-radius:50%;font-size:1.3rem;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center}
    .lb-nav:hover{background:rgba(204,34,0,.8)}
    .lb-prev{left:16px}.lb-next{right:16px}
    .lb-counter{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.5);color:#fff;font-size:.8rem;padding:4px 14px;border-radius:100px}
    .lb-watermark{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;pointer-events:none;user-select:none}
    .lb-watermark img{width:30%;max-width:220px;min-width:80px;opacity:calc(var(--wm-opacity) * 0.8);filter:grayscale(1) brightness(10);pointer-events:none}
    /* lightbox usa canvas */
    .lightbox img#lbImg{display:none}

    /* Footer imovel */
    footer{background:var(--dark);color:#aaa;padding:48px 0 0}
    .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.08)}
    @media(max-width:860px){.footer-grid{grid-template-columns:1fr 1fr}}
    @media(max-width:480px){.footer-grid{grid-template-columns:1fr}}
    .footer-logo img{height:38px;margin-bottom:14px;filter:brightness(0) invert(1)}
    .footer-about{font-size:.85rem;line-height:1.65;max-width:240px;color:#aaa}
    .footer-col h4{font-family:var(--font-head);font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--white);margin-bottom:14px}
    .footer-col ul{display:flex;flex-direction:column;gap:8px;list-style:none;padding:0;margin:0}
    .footer-col ul li a{font-size:.85rem;color:#aaa;transition:color .2s;text-decoration:none}
    .footer-col ul li a:hover{color:var(--red-light)}
    .footer-bottom{padding:16px 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;font-size:.78rem}
    @media(max-width:600px){.footer-bottom{grid-template-columns:1fr;text-align:center;justify-items:center}}
    .footer-copy{text-align:center;color:#888}
    .footer-creci-bar{color:#666;text-align:right}
    .footer-dev-link{display:flex;align-items:center;opacity:.75;transition:opacity .2s}
    .footer-dev-link:hover{opacity:1}
    .footer-dev-logo{height:22px;width:auto;filter:brightness(0) invert(.7)}

    /* Print */
    @media print{
      .nav,.breadcrumb,.gal-nav,.gal-thumbs-wrap,.btn-wpp,.btn-tel,.btn-action,.action-btns,.gal-watermark,.lb-watermark,div.card-detail{display:none!important}
      .main-grid{grid-template-columns:minmax(0,1fr)!important}
      .galeria{box-shadow:none!important}
      .gal-principal-wrap{height:300px!important}
      body{background:#fff!important}
      .detail-section{box-shadow:none!important;border:1px solid #eee}
      footer .footer-grid{display:none!important}
      .footer-bottom{grid-template-columns:1fr!important;justify-items:center}
    }

    @keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
    .main-grid>*{animation:fadeUp .5s ease both}
    .main-grid>*:nth-child(2){animation-delay:.1s}

