:root{--green:#173f35;--gold:#c69b55;--cream:#f7f4ed;--ink:#18211f;--muted:#68736f}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;color:var(--ink);background:#fff}
.wrap{width:min(1180px,92%);margin:auto}
header{background:var(--green);color:#fff;padding:17px 0;position:sticky;top:0;z-index:5;box-shadow:0 2px 16px #0002}
.head{display:flex;justify-content:space-between;align-items:center;gap:20px}
.brand{font-family:Georgia,serif;font-size:1.35rem;font-weight:bold}
.brand small{display:block;font:500 .73rem Inter;color:#d8e7e0;margin-top:3px}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:12px 18px;background:var(--gold);color:#14221e;text-decoration:none;font-weight:800;cursor:pointer}
.hero{padding:60px 0;position:relative;z-index:1;overflow:hidden;background:#315d52 url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1800&q=80') center/cover no-repeat;color:#fff}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,#173f35e6,#173f3590);z-index:1;pointer-events:none}
.hero-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
.hero>.wrap{position:relative;z-index:2}
.hero h1{font:700 clamp(2.1rem,5vw,4.2rem)/1.03 Georgia;margin:0 0 14px;max-width:780px}
.hero p{font-size:1.08rem;max-width:650px;line-height:1.6}
body>main{position:relative;z-index:2}
.filters{position:relative;z-index:3;margin-top:-27px;background:#fff;border-radius:14px;padding:18px;box-shadow:0 10px 35px #173f3520;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:10px}
.filters input,.filters select,.admin input,.admin select,.admin textarea{width:100%;padding:12px;border:1px solid #d8dfdc;border-radius:8px;font:inherit}
.section{padding:56px 0}
.section h2{font:700 2rem Georgia;margin:0 0 8px}
.sub{color:var(--muted);margin:0 0 28px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{border:1px solid #e2e6e3;border-radius:14px;overflow:hidden;box-shadow:0 7px 24px #173f3510;background:#fff;transition:.2s}
.card:hover{transform:translateY(-4px);box-shadow:0 13px 30px #173f3520}
.photo{height:220px;position:relative;background:#ddd center/cover}
.tag,.code{position:absolute;top:13px;padding:7px 10px;border-radius:7px;background:#fff;color:var(--green);font-size:.78rem;font-weight:900}
.tag{left:13px}
.code{right:13px}
.sold{position:absolute;inset:0;background:#173f35a8;color:white;display:grid;place-items:center;font-weight:900;font-size:1.4rem;text-transform:uppercase}
.availability{position:absolute;left:13px;bottom:13px;z-index:2;padding:7px 11px;border-radius:999px;color:#fff;font-size:.76rem;font-weight:900;text-transform:uppercase;box-shadow:0 3px 10px #0003}
.is-available{background:#16824b}.is-unavailable{background:#a33a32}
.card-unavailable .photo{filter:saturate(.7)}
.body{padding:19px}
.body h3{margin:0 0 8px;font:700 1.24rem Georgia}
.location{color:var(--muted);font-size:.9rem}
.facts{display:flex;gap:16px;border-block:1px solid #edf0ee;padding:13px 0;margin:14px 0;font-size:.85rem}
.price{font-size:1.25rem;font-weight:900;color:var(--green);margin-bottom:14px}
.detail{display:grid;grid-template-columns:1.15fr .85fr;gap:35px}
.main-photo{width:100%;height:480px;object-fit:cover;border-radius:15px}
.detail-photo-wrap{position:relative}
.status-overlay{position:absolute;inset:0;border-radius:15px;background:#173f35a8;color:#fff;display:grid;place-items:center;font-size:1.65rem;font-weight:900;text-transform:uppercase}
.status-badge{display:inline-flex;padding:10px 15px;border-radius:9px;color:#fff;font-weight:900;background:#16824b}
.status-reservado,.status-vendido,.status-alugado{background:#a33a32}
.btn-unavailable{background:#d8dcda;color:#66706c;cursor:not-allowed}
.detail h1{font:700 2.4rem Georgia}
.thumbs{display:flex;gap:10px;margin-top:10px}
.thumb{width:92px;height:68px;padding:0;border:3px solid transparent;border-radius:9px;overflow:hidden;background:#fff;cursor:pointer}
.thumb.active{border-color:var(--gold)}
.property-heading{display:flex;align-items:center;gap:16px;min-height:46px}.publish-control{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:#176b43;cursor:pointer}.publish-control:has(input:not(:checked)){color:#9b2c2c}.publish-control input{width:20px;height:20px;margin:0;accent-color:#176b43}
.thumb img{width:100%;height:100%;object-fit:cover}
.detail-actions{display:flex;gap:10px;flex-wrap:wrap}
.btn-secondary{background:#fff;border:2px solid var(--gold)}
.share-notice{color:var(--green);font-weight:800}
.no-photo{height:480px;display:grid;place-items:center;background:#e8ecea;border-radius:15px;color:var(--muted)}
.panel{padding:28px;border-radius:14px;background:var(--cream)}
footer{background:#102e27;color:#cbd8d4;padding:34px 0;text-align:center;font-size:.88rem}
.stats{display:flex;gap:25px;justify-content:center;margin-top:15px}
.stats strong{color:white}
.stats-admin .stats{justify-content:flex-start}
.stats-admin .stats span{background:var(--green);color:#dce9e5;padding:15px 20px;border-radius:9px}
.admin{background:#f3f5f4;min-height:100vh}
.admin .box{background:#fff;padding:24px;border-radius:12px;margin:20px 0;box-shadow:0 4px 18px #0001}
.admin table{width:100%;border-collapse:collapse}
.admin td,.admin th{padding:10px;border-bottom:1px solid #eee;text-align:left;font-size:.88rem}
.admin form.gridform{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.wide{grid-column:1/-1}
.photo-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.photo-field{padding:12px;background:#f3f5f4;border-radius:9px;display:grid;gap:8px}
.photo-field img{width:100%;height:125px;object-fit:cover;border-radius:7px}
.photo-field span{font-size:.82rem}
.photo-field span input{width:auto}
.notice{padding:12px;background:#e5f4eb;border-radius:8px}
.whatsapp{position:fixed;right:20px;bottom:20px;z-index:9999;isolation:isolate;background:#25d366;color:#fff;padding:14px 18px;border-radius:40px;text-decoration:none;font-weight:900;box-shadow:0 8px 24px #0003}
@media(max-width:800px){.filters,.grid,.detail,.admin form.gridform,.photo-fields{grid-template-columns:1fr}
.hero{padding:45px 0 60px}
.photo{height:205px}
.main-photo{height:300px}
.head .btn{padding:9px 11px;font-size:.78rem}
.admin table{display:block;overflow:auto}
.stats-admin .stats{flex-direction:column;gap:8px}
.detail-actions .btn{width:100%}
}
/* Em celulares e tablets, mantém a caixa inteira abaixo da capa. */
@media(max-width:1024px),(hover:none) and (pointer:coarse){
body>main{z-index:2}
.filters{margin-top:18px}
}
.brand-link{color:#fff;text-decoration:none}
.brand-logo{display:block;max-width:230px;max-height:50px;object-fit:contain;object-position:left center}
.header-actions{display:flex;align-items:center;gap:9px}
.btn-outline{background:transparent;color:#fff;border:1px solid #ffffff80}
.header-share-notice{position:fixed;top:76px;right:4%;z-index:8;margin:0;padding:9px 13px;background:#fff;color:var(--green);border-radius:8px;box-shadow:0 5px 18px #0003;font-weight:800;display:none}
.brand-files{display:grid;grid-template-columns:2fr 1fr;gap:12px}
.brand-files label{padding:12px;background:#f3f5f4;border-radius:9px;display:grid;gap:8px}
.brand-files img{max-width:230px;max-height:75px;object-fit:contain;object-position:left}
.brand-files .favicon-preview{width:48px;height:48px}
.brand-files span{font-size:.82rem}
.brand-files span input{width:auto}
.hero-file{padding:12px;background:#f3f5f4;border-radius:9px;display:grid;gap:8px}
.hero-file img{width:min(520px,100%);height:170px;object-fit:cover;border-radius:8px}
.hero-file span{font-size:.82rem}
.hero-file span input{width:auto}
@media(max-width:800px){.head{gap:10px}.brand-logo{max-width:145px;max-height:42px}.header-actions{gap:5px}.btn-header{padding:8px 9px!important;font-size:.67rem!important}.brand-files{grid-template-columns:1fr}}
@media(max-width:520px){.head{align-items:flex-start}.header-actions{flex-direction:column;align-items:stretch}.btn-header{white-space:nowrap}.brand{font-size:1rem}.brand small{font-size:.62rem}}
@supports(padding:max(0px)){
  .whatsapp{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}
}
