/* Peterson Imoveis — Frontend v2.0 */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');

.pi-frontend { font-family:'DM Sans',sans-serif; color:#111; width:100%; }

/* ── BARRA DE BUSCA HORIZONTAL ── */
.pi-search-bar { background:#fff; border-radius:14px; box-shadow:0 8px 48px rgba(27,58,92,.16); overflow:hidden; margin-bottom:40px; border:1px solid #E8E4DC; }
.pi-search-row { display:grid; grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr auto; align-items:stretch; min-height:72px; }
.pi-field-wrap { border-right:1px solid #E8E4DC; padding:12px 18px 10px; display:flex; flex-direction:column; justify-content:center; transition:background .2s; }
.pi-field-wrap:hover { background:#FAFAF8; }
.pi-field-wrap:focus-within { background:#FFF9F0; }
.pi-field-label { display:block; font-size:10px; font-weight:700; letter-spacing:1.8px; text-transform:uppercase; color:#1B3A5C; margin-bottom:5px; line-height:1; }
.pi-field-wrap input[type="text"] { border:none; background:transparent; outline:none; font-family:'DM Sans',sans-serif; font-size:14px; color:#1A1A2A; width:100%; padding:0; -webkit-appearance:none; }
.pi-field-wrap input::placeholder { color:#B8B8C8; font-size:13px; }
.pi-field-wrap select { border:none; background:transparent; outline:none; font-family:'DM Sans',sans-serif; font-size:14px; color:#1A1A2A; width:100%; padding:0; cursor:pointer; -webkit-appearance:none; appearance:none; }
.pi-has-select { position:relative; }
.pi-has-select::after { content:''; position:absolute; right:14px; bottom:18px; width:0; height:0; border-left:5px solid transparent; border-right:5px solid transparent; border-top:5px solid #C4973A; pointer-events:none; }
.pi-search-submit { background:#C4973A; color:#fff; border:none; border-radius:0 14px 14px 0; padding:0 28px; font-family:'DM Sans',sans-serif; font-size:15px; font-weight:700; cursor:pointer; transition:background .25s; white-space:nowrap; display:flex; align-items:center; gap:8px; min-width:120px; justify-content:center; }
.pi-search-submit:hover { background:#b08530; }
.pi-search-submit svg { width:17px; height:17px; flex-shrink:0; }
.pi-clear-row { padding:8px 20px; border-top:1px solid #F0EDE8; background:#FAFAF8; display:flex; justify-content:flex-end; }
.pi-clear-btn { font-size:12px; color:#8A8A9A; text-decoration:none; padding:4px 10px; border-radius:4px; transition:color .2s; }
.pi-clear-btn:hover { color:#dc3545; }

/* Tablet */
@media(max-width:1024px){
    .pi-search-row { grid-template-columns:1fr 1fr 1fr; grid-template-rows:auto auto; }
    .pi-field-wrap:nth-child(3) { border-right:none; }
    .pi-field-wrap:nth-child(4),.pi-field-wrap:nth-child(5),.pi-field-wrap:nth-child(6) { border-top:1px solid #E8E4DC; }
    .pi-search-submit { grid-column:1/-1; border-radius:0 0 14px 14px; padding:16px; min-width:auto; border-top:1px solid #E8E4DC; }
}
/* Mobile */
@media(max-width:640px){
    .pi-search-row { grid-template-columns:1fr 1fr; }
    .pi-field-wrap:nth-child(1) { grid-column:1/-1; border-right:none; }
    .pi-field-wrap:nth-child(2) { border-right:1px solid #E8E4DC; border-top:1px solid #E8E4DC; }
    .pi-field-wrap:nth-child(3) { border-top:1px solid #E8E4DC; }
    .pi-field-wrap:nth-child(4) { border-right:1px solid #E8E4DC; border-top:1px solid #E8E4DC; }
    .pi-field-wrap:nth-child(5),.pi-field-wrap:nth-child(6) { border-top:1px solid #E8E4DC; }
    .pi-search-submit { grid-column:1/-1; border-radius:0 0 14px 14px; padding:16px; min-width:auto; }
}

/* ── RESULTADOS ── */
.pi-results-bar { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; padding-bottom:16px; border-bottom:1px solid #E2DDD4; font-size:14px; color:#8A8A9A; }
.pi-results-count { font-weight:600; color:#1B3A5C; }

/* ── SEM RESULTADOS ── */
.pi-no-results { text-align:center; padding:72px 24px; background:#F8F6F2; border-radius:14px; border:1px solid #E2DDD4; }
.pi-no-results-icon { font-size:48px; margin-bottom:16px; }
.pi-no-results h3 { font-size:22px; font-weight:700; color:#1B3A5C; margin-bottom:10px; }
.pi-no-results p { font-size:15px; color:#666; line-height:1.75; }
.pi-no-results a { color:#C4973A; text-decoration:underline; }

/* ── GRID ── */
.pi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media(max-width:1024px){ .pi-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px) { .pi-grid { grid-template-columns:1fr; } }

/* ── CARD ── */
.pi-card-front { background:#fff; border-radius:10px; overflow:hidden; box-shadow:0 2px 12px rgba(0,0,0,.08); border:1px solid #EBEBEB; position:relative; display:flex; flex-direction:column; transition:transform .3s ease,box-shadow .3s ease; cursor:pointer; }
.pi-card-front:hover { transform:translateY(-5px); box-shadow:0 12px 32px rgba(0,0,0,.13); border-color:#DDD; }
.pi-card-front::after { display:none; }
.pi-card-img { position:relative; aspect-ratio:16/10; overflow:hidden; background:#F0F0F0; flex-shrink:0; }
.pi-card-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.pi-card-front:hover .pi-card-img img { transform:scale(1.04); }
.pi-card-no-img { width:100%; height:100%; display:flex; align-items:center; justify-content:center; font-size:40px; background:#F5F5F5; }
.pi-card-badge-dest { position:absolute; top:12px; left:12px; background:#C4973A; color:#fff; font-family:'DM Sans',sans-serif; font-size:11px; font-weight:700; padding:4px 10px; border-radius:4px; letter-spacing:.5px; }
.pi-card-badge-tipo { position:absolute; top:12px; right:12px; background:#1B3A5C; color:#fff; font-family:'DM Sans',sans-serif; font-size:11px; font-weight:700; padding:4px 10px; border-radius:4px; letter-spacing:.5px; }
.pi-card-body { padding:16px 18px 18px; display:flex; flex-direction:column; flex:1; }
.pi-card-tipo { font-size:12px; color:#888; margin-bottom:2px; }
.pi-card-loc2 { font-size:12px; color:#888; margin-bottom:6px; }
.pi-card-title2 { font-family:'DM Sans',sans-serif; font-size:15px; font-weight:700; color:#111; line-height:1.4; margin:0 0 10px; }
.pi-card-specs2 { display:flex; flex-wrap:wrap; margin-bottom:12px; font-size:13px; color:#444; }
.pi-card-specs2 span { display:flex; align-items:center; }
.pi-card-specs2 span+span::before { content:'·'; margin:0 6px; color:#CCC; }
.pi-card-bottom { display:flex; flex-direction:column; gap:2px; margin-top:auto; padding-top:10px; border-top:1px solid #F0F0F0; }
.pi-card-finalidade { font-size:12px; color:#888; }
.pi-card-price2 { font-size:18px; font-weight:700; color:#111; line-height:1.2; }
.pi-card-link { position:absolute; inset:0; z-index:2; display:block; }

/* ── PÁGINA INDIVIDUAL ── */
.pi-detalhe-page { font-family:'DM Sans',sans-serif; background:#F8F7F4; min-height:100vh; padding-bottom:80px; }
.pi-det-wrap { max-width:1160px; margin:0 auto; padding:0 24px; }
.pi-detalhe-breadcrumb { background:#fff; border-bottom:1px solid #EBEBEB; padding:14px 0; margin-bottom:32px; }
.pi-detalhe-breadcrumb .pi-det-wrap { display:flex; align-items:center; gap:8px; font-size:13px; color:#888; }
.pi-detalhe-breadcrumb a { color:#888; text-decoration:none; }
.pi-detalhe-breadcrumb a:hover { color:#1B3A5C; }
.pi-detalhe-breadcrumb span:last-child { color:#333; font-weight:500; }
.pi-det-grid { display:grid; grid-template-columns:1fr 380px; gap:32px; align-items:start; margin-bottom:64px; }
@media(max-width:900px){ .pi-det-grid { grid-template-columns:1fr; } .pi-det-right { order:-1; } }
.pi-gal-principal { border-radius:12px; overflow:hidden; background:#E8E4DC; aspect-ratio:16/10; margin-bottom:10px; }
.pi-gal-principal img { width:100%; height:100%; object-fit:cover; display:block; }
.pi-gal-thumbs { display:flex; gap:8px; flex-wrap:wrap; }
.pi-thumb { width:80px; height:60px; object-fit:cover; border-radius:6px; cursor:pointer; border:2px solid transparent; transition:border-color .2s,opacity .2s; opacity:.7; }
.pi-thumb:hover { opacity:1; }
.pi-thumb-ativa { border-color:#C4973A !important; opacity:1; }
.pi-det-no-foto { border-radius:12px; background:#E8E4DC; aspect-ratio:16/10; display:flex; align-items:center; justify-content:center; font-size:64px; margin-bottom:10px; }
.pi-det-secao { background:#fff; border-radius:10px; padding:28px; margin-top:20px; border:1px solid #EBEBEB; }
.pi-det-secao-titulo { font-size:16px; font-weight:700; color:#111; margin:0 0 16px; padding-bottom:12px; border-bottom:1px solid #F0F0F0; }
.pi-det-descricao { font-size:15px; color:#444; line-height:1.8; }
.pi-det-difs { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:10px 20px; }
.pi-det-difs li { font-size:14px; color:#444; display:flex; align-items:center; gap:8px; }
.pi-det-difs li::before { content:'✓'; color:#C4973A; font-weight:700; flex-shrink:0; }
@media(max-width:560px){ .pi-det-difs { grid-template-columns:1fr; } }
.pi-det-info-card { background:#fff; border-radius:12px; border:1px solid #EBEBEB; padding:28px; position:sticky; top:100px; box-shadow:0 4px 24px rgba(0,0,0,.07); }
.pi-det-tipo { font-size:12px; color:#888; margin-bottom:8px; text-transform:uppercase; letter-spacing:1px; font-weight:500; }
.pi-det-titulo { font-size:20px; font-weight:700; color:#111; line-height:1.35; margin:0 0 14px; }
.pi-det-loc { font-size:13px; color:#666; display:flex; align-items:flex-start; gap:6px; margin-bottom:20px; line-height:1.5; }
.pi-det-loc svg { width:15px; height:15px; color:#C4973A; flex-shrink:0; margin-top:2px; }
.pi-det-loc small { display:block; color:#999; font-size:12px; margin-top:2px; }
.pi-det-specs { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#EBEBEB; border:1px solid #EBEBEB; border-radius:8px; overflow:hidden; margin-bottom:20px; }
.pi-det-spec { background:#FAFAF8; padding:12px 10px; text-align:center; display:flex; flex-direction:column; gap:3px; }
.pi-det-spec-val { font-size:17px; font-weight:700; color:#111; line-height:1; }
.pi-det-spec-key { font-size:10px; color:#888; text-transform:uppercase; letter-spacing:1px; }
.pi-det-preco-wrap { padding:16px 0; border-top:1px solid #F0F0F0; border-bottom:1px solid #F0F0F0; margin-bottom:20px; }
.pi-det-preco-label { font-size:11px; color:#888; text-transform:uppercase; letter-spacing:1px; margin-bottom:4px; }
.pi-det-preco { font-size:26px; font-weight:700; color:#111; line-height:1; }
.pi-det-btn-wa { display:flex; align-items:center; justify-content:center; gap:9px; width:100%; padding:15px; background:#25D366; color:#fff; border-radius:8px; font-size:15px; font-weight:700; text-decoration:none; margin-bottom:10px; transition:background .25s; }
.pi-det-btn-wa svg { width:20px; height:20px; }
.pi-det-btn-wa:hover { background:#1da855; color:#fff; }
.pi-det-btn-agendar { display:flex; align-items:center; justify-content:center; width:100%; padding:13px; background:transparent; border:2px solid #1B3A5C; color:#1B3A5C; border-radius:8px; font-size:14px; font-weight:600; text-decoration:none; transition:background .25s,color .25s; }
.pi-det-btn-agendar:hover { background:#1B3A5C; color:#fff; }
.pi-det-outros { margin-top:16px; }
.pi-det-outros-titulo { font-size:20px; font-weight:700; color:#111; margin-bottom:24px; padding-bottom:14px; border-bottom:2px solid #EBEBEB; }
.pi-det-ver-todos { display:inline-flex; align-items:center; font-size:14px; font-weight:600; color:#1B3A5C; text-decoration:none; padding:12px 28px; border:2px solid #1B3A5C; border-radius:8px; transition:background .25s,color .25s; }
.pi-det-ver-todos:hover { background:#1B3A5C; color:#fff; }
