/* ===== LOTES IPATINGA - ESTILO (tema azul) ===== */
:root{
  --azul:#0b56a4;
  --azul-escuro:#08407a;
  --azul-claro:#e8f1fb;
  --azul-acento:#1a8fe3;
  --verde-whats:#25d366;
  --texto:#1f2937;
  --texto-suave:#5b6573;
  --borda:#e3e8ef;
  --fundo:#f5f7fa;
  --branco:#ffffff;
  --sombra:0 2px 12px rgba(16,42,67,.08);
  --sombra-forte:0 8px 28px rgba(16,42,67,.16);
  --raio:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Segoe UI',system-ui,-apple-system,Roboto,Arial,sans-serif;color:var(--texto);background:var(--fundo);line-height:1.5}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{max-width:1180px;margin:0 auto;padding:0 18px}

/* ---- Cabecalho ---- */
header.topo{background:var(--azul);color:#fff;position:sticky;top:0;z-index:50;box-shadow:var(--sombra)}
.topo-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;max-width:1180px;margin:0 auto}
.logo{display:flex;align-items:center;gap:10px;font-size:1.35rem;font-weight:800;letter-spacing:-.5px}
.logo .pin{background:#fff;color:var(--azul);width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:1.1rem}
.logo small{display:block;font-size:.62rem;font-weight:500;opacity:.85;letter-spacing:.3px}
.topo nav{display:flex;align-items:center;gap:10px}
.topo nav a{padding:8px 14px;border-radius:8px;font-weight:600;font-size:.92rem;transition:.2s}
.topo nav a:hover{background:rgba(255,255,255,.15)}
.btn-admin{border:1px solid rgba(255,255,255,.5)}

/* ---- Hero / busca ---- */
.hero{background:linear-gradient(135deg,var(--azul) 0%,var(--azul-acento) 100%);color:#fff;padding:46px 0 70px;text-align:center}
.hero h1{font-size:2.1rem;font-weight:800;margin-bottom:8px}
.hero p{opacity:.92;font-size:1.05rem;margin-bottom:26px}
.busca{background:#fff;border-radius:var(--raio);box-shadow:var(--sombra-forte);padding:16px;display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;max-width:920px;margin:0 auto;text-align:left}
.busca .campo{display:flex;flex-direction:column;gap:4px}
.busca label{font-size:.72rem;font-weight:700;color:var(--texto-suave);text-transform:uppercase;letter-spacing:.4px}
.busca input,.busca select{border:1px solid var(--borda);border-radius:9px;padding:11px 12px;font-size:.95rem;color:var(--texto);background:#fff}
.busca .btn-buscar{align-self:end;background:var(--azul);color:#fff;border:none;border-radius:9px;padding:12px 22px;font-weight:700;cursor:pointer;font-size:.95rem;transition:.2s}
.busca .btn-buscar:hover{background:var(--azul-escuro)}

/* ---- Layout listagem ---- */
.conteudo{padding:30px 0 60px}
.layout{display:grid;grid-template-columns:260px 1fr;gap:26px;align-items:start}
.filtros{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:20px;box-shadow:var(--sombra);position:sticky;top:84px}
.filtros h3{font-size:1rem;margin-bottom:14px;color:var(--azul-escuro)}
.filtros .grupo{margin-bottom:16px}
.filtros label{display:block;font-size:.8rem;font-weight:700;color:var(--texto-suave);margin-bottom:5px}
.filtros select,.filtros input{width:100%;border:1px solid var(--borda);border-radius:8px;padding:9px 10px;font-size:.9rem}
.filtros .faixa{display:flex;gap:8px}
.filtros button{width:100%;margin-top:6px;border:none;border-radius:8px;padding:10px;font-weight:700;cursor:pointer}
.filtros .aplicar{background:var(--azul);color:#fff;margin-bottom:8px}
.filtros .limpar{background:var(--azul-claro);color:var(--azul-escuro)}

.barra-result{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px}
.barra-result .qtd{font-weight:700;color:var(--azul-escuro)}
.barra-result select{border:1px solid var(--borda);border-radius:8px;padding:8px 10px;font-size:.9rem}

/* ---- Grid de cards ---- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.card{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra);transition:.2s;display:flex;flex-direction:column}
.card:hover{box-shadow:var(--sombra-forte);transform:translateY(-3px)}
.card .foto{position:relative;aspect-ratio:4/3;background:var(--azul-claro);overflow:hidden}
.card .foto img{width:100%;height:100%;object-fit:cover}
.card .selo{position:absolute;top:10px;left:10px;background:var(--azul);color:#fff;font-size:.7rem;font-weight:700;padding:4px 10px;border-radius:20px}
.card .selo.destaque{background:#f59e0b}
.card .selo.status{left:auto;right:10px;background:rgba(0,0,0,.6)}
.card .selo.vendido{background:#dc2626}
.card .selo.reservado{background:#7c3aed}
.card .corpo{padding:14px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.card .preco{font-size:1.35rem;font-weight:800;color:var(--azul-escuro)}
.card .titulo{font-weight:700;font-size:1rem;line-height:1.3}
.card .local{color:var(--texto-suave);font-size:.85rem;display:flex;align-items:center;gap:5px}
.card .specs{display:flex;gap:14px;font-size:.85rem;color:var(--texto-suave);border-top:1px solid var(--borda);padding-top:10px;margin-top:auto}
.card .specs b{color:var(--texto)}
.card .acoes{display:flex;gap:8px;padding:0 16px 16px}
.btn{flex:1;text-align:center;border-radius:9px;padding:10px;font-weight:700;font-size:.88rem;cursor:pointer;border:none;transition:.2s;display:flex;align-items:center;justify-content:center;gap:6px}
.btn-whats{background:var(--verde-whats);color:#fff}
.btn-whats:hover{filter:brightness(.95)}
.btn-tel{background:var(--azul-claro);color:var(--azul-escuro)}
.btn-tel:hover{background:#d8e8fa}
.btn-ver{background:var(--azul);color:#fff}

.vazio{grid-column:1/-1;text-align:center;padding:50px 20px;color:var(--texto-suave)}

/* ---- Pagina de detalhe ---- */
.detalhe{padding:30px 0 60px}
.voltar{display:inline-flex;align-items:center;gap:6px;color:var(--azul);font-weight:700;margin-bottom:18px}
.det-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:28px;align-items:start}
.galeria .principal{aspect-ratio:16/10;border-radius:var(--raio);overflow:hidden;background:var(--azul-claro);box-shadow:var(--sombra)}
.galeria .principal img{width:100%;height:100%;object-fit:cover}
.galeria .miniaturas{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.galeria .miniaturas img{width:88px;height:66px;object-fit:cover;border-radius:8px;cursor:pointer;border:2px solid transparent}
.galeria .miniaturas img.ativa{border-color:var(--azul)}
.det-info h1{font-size:1.6rem;color:var(--azul-escuro);margin-bottom:6px}
.det-info .local{color:var(--texto-suave);margin-bottom:14px}
.det-preco{font-size:2rem;font-weight:800;color:var(--azul);margin-bottom:16px}
.det-specs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}
.det-specs .item{background:#fff;border:1px solid var(--borda);border-radius:10px;padding:12px;text-align:center}
.det-specs .item span{display:block;font-size:.75rem;color:var(--texto-suave);text-transform:uppercase}
.det-specs .item b{font-size:1.1rem;color:var(--azul-escuro)}
.painel-contato{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:22px;box-shadow:var(--sombra);position:sticky;top:84px}
.painel-contato h3{color:var(--azul-escuro);margin-bottom:14px}
.painel-contato .btn{width:100%;margin-bottom:10px;padding:13px}
.descricao{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:22px;margin-top:24px;box-shadow:var(--sombra)}
.descricao h2{font-size:1.2rem;color:var(--azul-escuro);margin-bottom:10px}
.descricao p{color:var(--texto-suave);white-space:pre-line}

/* ---- Admin ---- */
.admin-wrap{padding:28px 0 60px}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}
.painel{background:#fff;border:1px solid var(--borda);border-radius:var(--raio);padding:22px;box-shadow:var(--sombra)}
.painel h2{color:var(--azul-escuro);margin-bottom:6px;font-size:1.2rem}
.painel .dica{font-size:.85rem;color:var(--texto-suave);margin-bottom:16px}
.form-linha{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.form-campo{display:flex;flex-direction:column;gap:4px}
.form-campo.full{grid-column:1/-1}
.form-campo label{font-size:.78rem;font-weight:700;color:var(--texto-suave)}
.form-campo input,.form-campo select,.form-campo textarea{border:1px solid var(--borda);border-radius:8px;padding:10px;font-size:.92rem;font-family:inherit}
.form-campo textarea{min-height:90px;resize:vertical}
.acoes-form{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.acoes-form button{border:none;border-radius:9px;padding:11px 18px;font-weight:700;cursor:pointer}
.b-azul{background:var(--azul);color:#fff}
.b-cinza{background:var(--azul-claro);color:var(--azul-escuro)}
.b-verde{background:var(--verde-whats);color:#fff}
.lista-admin{display:flex;flex-direction:column;gap:10px;max-height:560px;overflow:auto}
.item-admin{display:flex;gap:12px;align-items:center;border:1px solid var(--borda);border-radius:10px;padding:10px}
.item-admin img{width:64px;height:48px;object-fit:cover;border-radius:6px;background:var(--azul-claro)}
.item-admin .meta{flex:1;min-width:0}
.item-admin .meta b{display:block;font-size:.92rem}
.item-admin .meta small{color:var(--texto-suave)}
.item-admin .bt{display:flex;gap:6px}
.item-admin .bt button{border:none;border-radius:7px;padding:7px 11px;font-weight:700;cursor:pointer;font-size:.8rem}
.bt .edit{background:var(--azul-claro);color:var(--azul-escuro)}
.bt .del{background:#fde8e8;color:#dc2626}
.saida{margin-top:16px}
.saida textarea{width:100%;min-height:160px;font-family:monospace;font-size:.78rem;border:1px solid var(--borda);border-radius:8px;padding:10px;background:#0f172a;color:#a5e3a5}
.aviso{background:var(--azul-claro);border-left:4px solid var(--azul);padding:12px 14px;border-radius:8px;font-size:.85rem;color:var(--azul-escuro);margin-bottom:16px}

/* ---- Rodape ---- */
footer.rodape{background:var(--azul-escuro);color:#cfe0f2;padding:34px 0;margin-top:20px}
.rodape-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;max-width:1180px;margin:0 auto;padding:0 18px}
.rodape h4{color:#fff;margin-bottom:8px}
.rodape a:hover{color:#fff}
.rodape .copy{width:100%;border-top:1px solid rgba(255,255,255,.15);margin-top:18px;padding-top:14px;font-size:.82rem;opacity:.8}

/* ---- Botao flutuante WhatsApp ---- */
.whats-float{position:fixed;right:20px;bottom:20px;background:var(--verde-whats);color:#fff;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:1.6rem;box-shadow:var(--sombra-forte);z-index:60}

/* ---- Responsivo ---- */
@media(max-width:880px){
  .layout{grid-template-columns:1fr}
  .filtros{position:static}
  .det-grid{grid-template-columns:1fr}
  .admin-grid{grid-template-columns:1fr}
  .busca{grid-template-columns:1fr 1fr}
  .busca .campo:first-child{grid-column:1/-1}
  .painel-contato{position:static}
}
@media(max-width:520px){
  .busca{grid-template-columns:1fr}
  .form-linha{grid-template-columns:1fr}
  .topo nav a:not(.btn-admin){display:none}
  .hero h1{font-size:1.6rem}
}

/* ===== VITRINE / BANNER DE DESTAQUES ===== */
.vitrine{padding:26px 0 6px}
.vitrine .titulo-sec{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.vitrine .titulo-sec h2{color:var(--azul-escuro);font-size:1.35rem}
.vitrine .titulo-sec .linha{flex:1;height:2px;background:var(--borda)}
.carrossel{position:relative;border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra-forte);background:#000}
.carrossel .trilho{display:flex;transition:transform .5s ease}
.slide{min-width:100%;position:relative;aspect-ratio:21/9;background:var(--azul-claro)}
.slide img{width:100%;height:100%;object-fit:cover}
.slide .info{position:absolute;left:0;right:0;bottom:0;padding:26px 28px;color:#fff;background:linear-gradient(to top,rgba(8,30,55,.9),rgba(8,30,55,0))}
.slide .info .selo{position:static;display:inline-block;background:#f59e0b;color:#fff;font-size:.72rem;font-weight:700;padding:4px 12px;border-radius:20px;margin-bottom:8px}
.slide .info h3{font-size:1.7rem;margin-bottom:4px}
.slide .info .l{opacity:.9;margin-bottom:8px}
.slide .info .p{font-size:1.7rem;font-weight:800;margin-bottom:12px}
.slide .info .cta{display:inline-flex;gap:10px}
.slide .info .cta a{background:#fff;color:var(--azul-escuro);padding:10px 18px;border-radius:9px;font-weight:700;font-size:.9rem}
.slide .info .cta a.w{background:var(--verde-whats);color:#fff}
.carrossel .seta{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.85);color:var(--azul-escuro);border:none;width:44px;height:44px;border-radius:50%;font-size:1.3rem;cursor:pointer;display:grid;place-items:center;z-index:3}
.carrossel .seta:hover{background:#fff}
.carrossel .seta.prev{left:14px}
.carrossel .seta.next{right:14px}
.carrossel .pontos{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:3}
.carrossel .pontos button{width:10px;height:10px;border-radius:50%;border:none;background:rgba(255,255,255,.5);cursor:pointer}
.carrossel .pontos button.ativo{background:#fff;width:24px;border-radius:6px}
@media(max-width:600px){
  .slide{aspect-ratio:4/3}
  .slide .info h3{font-size:1.2rem}
  .slide .info .p{font-size:1.3rem}
  .carrossel .seta{width:36px;height:36px}
}
