/* ============================================================
   WP Imóveis — Public CSS v2.2
   Data Maple AI | https://www.datamapleai.com/
   ============================================================ */

:root {
  --wpi-primary:   #c0392b;
  --wpi-primary-d: #a93226;
  --wpi-dark:      #1a1a2e;
  --wpi-text:      #2d3748;
  --wpi-muted:     #718096;
  --wpi-light:     #f7f8fa;
  --wpi-border:    #e8ecf0;
  --wpi-white:     #ffffff;
  --wpi-r:         8px;
  --wpi-rl:        12px;
  --wpi-shadow:    0 1px 4px rgba(0,0,0,.07);
  --wpi-shadow-md: 0 4px 20px rgba(0,0,0,.11);
}

/* ── Reset — neutraliza estilos do tema dentro dos componentes ── */
.wpi-busca-wrap *,.wpi-busca-wrap *::before,.wpi-busca-wrap *::after,
.wpi-listagem *,.wpi-listagem *::before,.wpi-listagem *::after,
.wpi-busca-simples-wrap *,.wpi-busca-simples-wrap *::before,.wpi-busca-simples-wrap *::after {
  box-sizing: border-box;
}

/* ── Search bar ─────────────────────────────────────────────── */
.wpi-busca-wrap { margin: 0 0 28px; width: 100%; }
.wpi-busca-form { background: transparent; border-radius: 0; padding: 0; }

/* Flex row — !important vence temas que forçam display:block em form/fieldset */
.wpi-busca-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: flex-end !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Campos — reset completo de border/background/shadow do tema */
.wpi-busca-grid .wpi-bf,
.wpi-busca-wrap .wpi-bf {
  flex: 1 1 150px !important;
  height: 44px !important;
  min-width: 120px !important;
  border: 1px solid var(--wpi-border) !important;
  border-bottom: 1px solid var(--wpi-border) !important;
  border-radius: var(--wpi-r) !important;
  padding: 0 14px !important;
  font-size: 13px !important;
  color: var(--wpi-text) !important;
  background: var(--wpi-white) !important;
  background-color: var(--wpi-white) !important;
  box-shadow: none !important;
  outline: none !important;
  -webkit-appearance: none;
  appearance: none;
  display: block !important;
  margin: 0 !important;
  width: auto !important;
  line-height: 44px !important;
}
.wpi-busca-grid .wpi-bf:focus,
.wpi-busca-wrap .wpi-bf:focus {
  border-color: var(--wpi-primary) !important;
  box-shadow: 0 0 0 3px rgba(192,57,43,.12) !important;
  outline: none !important;
}

/* Botão buscar — reset completo vs tema */
.wpi-busca-grid .wpi-bb,
.wpi-busca-wrap .wpi-bb {
  flex-shrink: 0 !important;
  height: 44px !important;
  padding: 0 22px !important;
  background: var(--wpi-primary) !important;
  background-color: var(--wpi-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--wpi-r) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  box-shadow: none !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  transition: filter .15s !important;
  margin: 0 !important;
  width: auto !important;
}
.wpi-busca-grid .wpi-bb:hover,
.wpi-busca-wrap .wpi-bb:hover {
  filter: brightness(.9) !important;
  background: var(--wpi-primary) !important;
  color: #fff !important;
}

.wpi-busca-simples-wrap { width: 100%; }

/* ── Listing wrap ─────────────────────────────────────────── */
.wpi-listing-wrap { max-width:1140px;margin:0 auto;padding:36px 24px 60px;box-sizing:border-box; }
.wpi-listing-header { display:flex;align-items:center;justify-content:space-between;margin-bottom:22px; }
.wpi-listing-title { font-size:18px;font-weight:700;color:var(--wpi-text); }
.wpi-listing-count { font-size:13px;color:var(--wpi-muted); }

/* ── Listing grid ───────────────────────────────────────────── */
.wpi-listagem { margin:0 0 40px;width:100%; }
.wpi-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(260px,1fr));
  gap: 22px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.wpi-cols-1 .wpi-grid { grid-template-columns: 1fr !important; }
.wpi-cols-2 .wpi-grid { grid-template-columns: repeat(2,1fr) !important; }
.wpi-cols-3 .wpi-grid { grid-template-columns: repeat(3,1fr) !important; }
.wpi-cols-4 .wpi-grid { grid-template-columns: repeat(4,1fr) !important; }
.wpi-cols-5 .wpi-grid { grid-template-columns: repeat(5,1fr) !important; }
.wpi-cols-6 .wpi-grid { grid-template-columns: repeat(6,1fr) !important; }
@media(max-width:1100px){ .wpi-cols-5 .wpi-grid,.wpi-cols-6 .wpi-grid { grid-template-columns:repeat(3,1fr) !important; } }
@media(max-width:900px)  { .wpi-cols-3 .wpi-grid,.wpi-cols-4 .wpi-grid { grid-template-columns:repeat(2,1fr) !important; } }
@media(max-width:580px)  { .wpi-grid { grid-template-columns:1fr !important; } }

/* ── Card ──────────────────────────────────────────────────── */
.wpi-card {
  background: var(--wpi-white);
  border-radius: var(--wpi-rl);
  border: 1px solid var(--wpi-border);
  overflow: hidden;
  transition: transform .2s, box-shadow .2s;
  text-decoration: none !important;
  color: inherit !important;
  display: block !important;
  box-sizing: border-box;
}
.wpi-card:hover { transform: translateY(-4px); box-shadow: var(--wpi-shadow-md); text-decoration: none !important; }
.wpi-card-link { display: block !important; text-decoration: none !important; color: inherit !important; }
.wpi-card-link:hover { text-decoration: none !important; color: inherit !important; }

.wpi-card-img {
  height: 200px; position: relative; overflow: hidden;
  background: var(--wpi-light); display: flex !important;
  align-items: center; justify-content: center; color: #c8d0da;
}
.wpi-card-img img {
  width: 100% !important; height: 100% !important; object-fit: cover !important;
  transition: transform .3s; display: block !important;
  max-width: none !important; margin: 0 !important; padding: 0 !important;
  border: none !important; border-radius: 0 !important; box-shadow: none !important;
}
.wpi-card:hover .wpi-card-img img { transform: scale(1.04); }
.wpi-card-no-img { display:flex !important;align-items:center;justify-content:center;width:100%;height:100%; }

.wpi-card-overlay-badges { position:absolute;top:10px;left:10px;display:flex !important;flex-wrap:wrap;gap:4px; }
.wpi-card-status { position:absolute;bottom:10px;right:10px;font-size:11px !important;font-weight:600 !important;padding:3px 10px !important;border-radius:20px !important;color:#fff !important;line-height:1.4 !important; }
.wpi-s-disp { background:#22c55e !important; }
.wpi-s-res  { background:#f59e0b !important; }
.wpi-s-vend { background:#ef4444 !important; }
.wpi-s-alug { background:#6366f1 !important; }

.wpi-card-body { padding:14px 16px 16px; }
.wpi-card-tipo { font-size:11px;color:var(--wpi-primary);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin:0 0 4px;display:block; }
.wpi-card-title { font-size:15px !important;font-weight:700 !important;color:var(--wpi-text) !important;margin:0 0 6px !important;line-height:1.3 !important;display:block; }
.wpi-card-loc { font-size:12px;color:var(--wpi-muted);display:flex !important;align-items:center;gap:3px;margin:0 0 10px; }
.wpi-card-price { font-size:20px !important;font-weight:700 !important;color:var(--wpi-primary) !important;margin:0 0 10px;display:block; }
.wpi-card-price small { font-size:12px !important;font-weight:400 !important;color:var(--wpi-muted) !important; }
.wpi-card-preco-consulta { font-size:13px;font-weight:600;color:var(--wpi-muted); }
.wpi-card-meta { display:flex !important;flex-wrap:wrap;gap:10px;padding-top:10px;border-top:1px solid var(--wpi-border);margin:0;list-style:none; }
.wpi-card-meta-item { font-size:12px;color:var(--wpi-muted);display:flex !important;align-items:center;gap:4px; }

/* ── Badges ─────────────────────────────────────────────────── */
.wpi-badge { display:inline-block !important;padding:3px 9px !important;border-radius:20px !important;font-size:11px !important;font-weight:700 !important;letter-spacing:.2px !important;line-height:1.4 !important;text-decoration:none !important; }
.wpi-badge-venda   { background:#fff0ee !important;color:#c0392b !important; }
.wpi-badge-aluguel { background:#eaf6ff !important;color:#1565c0 !important; }
.wpi-badge-excl    { background:#f5f0ff !important;color:#5b21b6 !important; }
.wpi-badge-lanc    { background:#eafaf1 !important;color:#1a5c36 !important; }
.wpi-badge-dest    { background:#fffbea !important;color:#92600a !important; }
.wpi-badge-loc     { background:#f0f4ff !important;color:#3b4fd8 !important; }

/* ── Pagination ─────────────────────────────────────────────── */
.wpi-paginacao { display:flex !important;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:36px; }
.wpi-paginacao .page-numbers { min-width:36px;height:36px;padding:0 10px;border-radius:var(--wpi-r) !important;border:1px solid var(--wpi-border) !important;display:inline-flex !important;align-items:center;justify-content:center;font-size:13px;color:var(--wpi-muted) !important;text-decoration:none !important;transition:all .15s;background:var(--wpi-white) !important;line-height:1 !important;box-shadow:none !important; }
.wpi-paginacao .page-numbers.current { background:var(--wpi-primary) !important;color:#fff !important;border-color:var(--wpi-primary) !important; }
.wpi-paginacao .page-numbers:hover   { border-color:var(--wpi-primary) !important;color:var(--wpi-primary) !important;background:var(--wpi-white) !important; }

/* ── Empty state ────────────────────────────────────────────── */
.wpi-sem-resultado { text-align:center;padding:60px 20px;color:var(--wpi-muted); }
.wpi-sem-resultado svg { margin-bottom:12px;color:#c8d0da;display:block;margin-left:auto;margin-right:auto; }
.wpi-sem-resultado p { font-size:16px;margin-bottom:10px; }
.wpi-sem-resultado a { color:var(--wpi-primary);font-size:14px; }

/* ════════════════════════════════════════════════════
   SINGLE PAGE
   ════════════════════════════════════════════════════ */
.wpi-single { max-width:1140px;margin:0 auto;padding:24px 20px 72px; }

/* breadcrumb */
.wpi-bc { display:flex;align-items:center;gap:5px;font-size:12px;color:var(--wpi-muted);margin-bottom:18px;flex-wrap:wrap; }
.wpi-bc a { color:var(--wpi-muted);text-decoration:none; }
.wpi-bc a:hover { color:var(--wpi-primary); }

/* header */
.wpi-single-header { margin-bottom:20px; }
.wpi-single-tags   { display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px; }
.wpi-single-title  { font-size:28px;font-weight:700;color:var(--wpi-dark);margin:0 0 10px;line-height:1.25; }
.wpi-single-sub    { display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:0; }
.wpi-single-loc    { font-size:13px;color:var(--wpi-muted);display:flex;align-items:center;gap:4px; }
.wpi-single-stat   { font-size:13px;color:var(--wpi-text);font-weight:600;display:flex;align-items:center;gap:4px; }
.wpi-single-stat svg,.wpi-single-loc svg { color:var(--wpi-muted);flex-shrink:0; }

/* ── Photo wall ────────────────────────────────────── */
.wpi-gallery-grid {
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  grid-template-rows:220px 220px;
  gap:5px;
  border-radius:var(--wpi-rl);
  overflow:hidden;
  margin-bottom:28px;
  cursor:pointer;
}
.wpi-gal-item { overflow:hidden;position:relative;background:var(--wpi-light);display:flex;align-items:center;justify-content:center; }
.wpi-gal-item img { width:100%;height:100%;object-fit:cover;transition:transform .3s; }
.wpi-gal-item:hover img { transform:scale(1.05); }
.wpi-gal-main { grid-row:1/3; }
.wpi-gal-more { position:absolute;inset:0;background:rgba(0,0,0,.48);display:flex;align-items:center;justify-content:center;color:#fff;font-size:15px;font-weight:700;gap:7px; }
.wpi-gallery-placeholder { height:240px;background:var(--wpi-light);border-radius:var(--wpi-rl);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--wpi-muted);font-size:13px;margin-bottom:28px; }

/* ── Layout ────────────────────────────────────────── */
.wpi-single-layout { display:grid;grid-template-columns:1fr 350px;gap:28px;align-items:start; }
@media(max-width:960px) { .wpi-single-layout{grid-template-columns:1fr} .wpi-aside{position:static} }
@media(max-width:640px) {
  .wpi-gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:180px 180px;}
  .wpi-gal-main{grid-row:auto;}
  .wpi-gallery-grid .wpi-gal-item:nth-child(n+5){display:none;}
  .wpi-single-title{font-size:22px;}
}

/* ── Sections ──────────────────────────────────────── */
.wpi-section { margin-bottom:28px; }
.wpi-sec-title { font-size:18px;font-weight:700;color:var(--wpi-dark);margin:0 0 14px; }
.wpi-sec-body  { font-size:14px;color:var(--wpi-muted);line-height:1.75; }

/* ── Details grid ──────────────────────────────────── */
.wpi-details-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px; }
.wpi-detail-item  { display:flex;align-items:center;gap:12px;background:var(--wpi-light);border-radius:var(--wpi-r);padding:12px 14px; }
.wpi-detail-icon  { color:var(--wpi-primary);flex-shrink:0; }
.wpi-detail-value { font-size:15px;font-weight:700;color:var(--wpi-dark); }
.wpi-detail-label { font-size:11px;color:var(--wpi-muted);margin-top:1px; }

/* ── Conditions ────────────────────────────────────── */
.wpi-conds-grid  { display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px; }
.wpi-cond-item   { display:flex;align-items:center;gap:12px;background:var(--wpi-light);border-radius:var(--wpi-r);padding:12px 14px; }
.wpi-cond-ico    { font-size:22px;flex-shrink:0; }
.wpi-cond-label  { font-size:11px;color:var(--wpi-muted);margin-bottom:1px; }
.wpi-cond-value  { font-size:14px;font-weight:700;color:var(--wpi-dark); }
.wpi-cond-value small { font-size:11px;font-weight:400;color:var(--wpi-muted); }

/* ── Characteristics ───────────────────────────────── */
.wpi-chars-grid  { display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px; }
.wpi-char-item   { display:flex;align-items:flex-start;gap:10px;background:var(--wpi-white);border:1px solid var(--wpi-border);border-radius:var(--wpi-r);padding:12px 14px; }
.wpi-char-icon   { font-size:20px;flex-shrink:0; }
.wpi-char-name   { font-size:13px;font-weight:600;color:var(--wpi-text); }
.wpi-char-sub    { font-size:11px;color:var(--wpi-muted);margin-top:2px; }

/* ── Map ───────────────────────────────────────────── */
.wpi-map-placeholder { height:240px;background:var(--wpi-light);border-radius:var(--wpi-rl);border:1px solid var(--wpi-border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--wpi-muted);font-size:13px; }
.wpi-map-placeholder svg { color:var(--wpi-primary);opacity:.6; }
.wpi-map-placeholder small { color:#b0b8c4;font-size:11px; }

/* ── Media buttons ─────────────────────────────────── */
.wpi-media-btns { display:flex;gap:10px;flex-wrap:wrap; }
.wpi-media-btn  { display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:var(--wpi-r);border:1px solid var(--wpi-border);font-size:13px;font-weight:600;color:var(--wpi-text);text-decoration:none;transition:all .15s; }
.wpi-media-btn:hover { border-color:var(--wpi-primary);color:var(--wpi-primary); }

/* ── Related grid ──────────────────────────────────── */
.wpi-related-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px; }

/* ── Aside ─────────────────────────────────────────── */
.wpi-aside { position:sticky;top:20px; }
.wpi-aside-card {
  border-radius: var(--wpi-rl);
  border: 1px solid var(--wpi-border);
  overflow: hidden;
  box-shadow: var(--wpi-shadow);
  display: flex;
  flex-direction: column;
}

.wpi-aside-price { padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.15); }
.wpi-aside-price-label { font-size:10px;font-weight:700;letter-spacing:.6px;color:rgba(255,255,255,.65);text-transform:uppercase;margin-bottom:4px; }
.wpi-price-consult-label { display:block;font-size:10px;font-weight:700;letter-spacing:.6px;color:rgba(255,255,255,.65);text-transform:uppercase;margin-bottom:4px; }
.wpi-price-val { font-size:28px;font-weight:800;color:#fff;margin-bottom:6px;line-height:1.1; }
.wpi-aside-extras { font-size:12px;color:rgba(255,255,255,.65);margin-top:5px; }
.wpi-aside-cod    { font-size:11px;color:rgba(255,255,255,.4);margin-top:5px; }

.wpi-aside-form { padding:16px 22px;border-bottom:1px solid var(--wpi-border); }
.wpi-aside-form label { display:block;font-size:10px;font-weight:700;color:var(--wpi-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px; }
.wpi-aside-form input,
.wpi-aside-form textarea { display:block;width:100%;border:1px solid var(--wpi-border);border-radius:var(--wpi-r);padding:9px 12px;font-size:13px;color:var(--wpi-text);background:var(--wpi-white);margin-bottom:10px;transition:border-color .15s; }
.wpi-aside-form input:focus,
.wpi-aside-form textarea:focus { outline:none;border-color:var(--wpi-primary); }
.wpi-aside-form textarea { height:72px;resize:none; }
.wpi-btn-submit { display:block;width:100%;padding:12px;color:#fff;border:none;border-radius:var(--wpi-r);font-size:14px;font-weight:700;cursor:pointer;transition:filter .15s; }
.wpi-btn-submit:hover { filter:brightness(0.9); }
.wpi-form-msg { padding:9px 12px;border-radius:var(--wpi-r);font-size:13px;margin-bottom:10px; }
.wpi-form-ok  { background:#eafaf1;color:#1a5c36; }
.wpi-form-err { background:#fff0ee;color:#a93226; }

/* Agents */
.wpi-aside-agents {
  padding: 14px 22px;
  border-bottom: 1px solid var(--wpi-border);
  /* sem border-radius aqui — o pai .wpi-aside-card com overflow:hidden já cuida */
}
.wpi-agent { padding:12px 0;border-bottom:1px solid var(--wpi-border); }
.wpi-agent:last-child { border-bottom:none;padding-bottom:0; }
.wpi-agent:first-child { padding-top:0; }
/* Top row: photo + name/role */
.wpi-agent-top { display:flex;align-items:center;gap:11px;margin-bottom:10px; }
.wpi-agent-info { flex:1;min-width:0; }
.wpi-agent-photo { width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0; }
.wpi-agent-photo-ph { width:44px;height:44px;border-radius:50%;background:#e8f4fd;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#1565c0;flex-shrink:0; }
.wpi-agent-name { font-size:14px;font-weight:700;color:var(--wpi-dark);margin:0 0 2px; }
.wpi-agent-role { font-size:12px;color:var(--wpi-muted);margin:0; }
/* Buttons row */
.wpi-agent-btns { display:flex;gap:8px; }
.wpi-agent-btn  { flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 10px;border-radius:var(--wpi-r);font-size:13px;font-weight:600;text-decoration:none;border:none;cursor:pointer;transition:opacity .15s;white-space:nowrap; }
.wpi-agent-btn:hover { opacity:.85; }
.wpi-agent-btn-call { background:var(--wpi-light);color:var(--wpi-text);border:1px solid var(--wpi-border); }
.wpi-agent-btn-wpp  { background:#25D366;color:#fff; }

/* Aside actions — último elemento, fica colado no fundo da card */
.wpi-aside-actions {
  display: flex;
  /* margin-top: auto empurra para o fundo se a card tiver altura flexível */
  border-top: 1px solid var(--wpi-border);
  /* Remove border-bottom — o border-radius do pai já fecha o arredondamento */
  overflow: hidden;
  border-radius: 0 0 var(--wpi-rl) var(--wpi-rl);
}
.wpi-aside-action {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 11px 6px;
  border: none;
  background: transparent;
  cursor: pointer;
  font-size: 10px;
  font-weight: 700;
  color: var(--wpi-muted);
  letter-spacing: .4px;
  border-right: 1px solid var(--wpi-border);
  transition: color .15s, background .15s;
}
.wpi-aside-action:last-child { border-right: none; }
.wpi-aside-action:hover { background: var(--wpi-light); color: var(--wpi-primary); }
.wpi-aside-action svg { width:17px;height:17px; }
