.section-katalog{background:#fff}.section-siteplan{background:#f8f7f2}
.filter-bar{display:flex;justify-content:center;align-items:center;gap:11px;flex-wrap:wrap;margin:0 0 25px;color:#446055;font-weight:700;font-size:.9rem}
.filter-bar select{appearance:auto;border:1px solid #cddbd2;background:#fff;color:#0c4030;font:inherit;border-radius:12px;padding:11px 13px;min-height:45px;max-width:230px}
.empty-state{max-width:720px;margin:auto;padding:32px 25px;text-align:center;background:#f6f8f4;border:1px solid #e3e9e1;border-radius:16px;color:#567366;line-height:1.65}
.listing-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.kavling-card{border:1px solid #dfe7df;padding:23px;background:white;border-radius:19px;box-shadow:0 7px 25px #103d2610}
.kavling-head,.kavling-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.kavling-code{font-size:.86rem;font-weight:800;letter-spacing:.04em;color:#3f594e}
.status-chip{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:.73rem;font-weight:800}.status-tersedia{background:#dcefe2;color:#14623b}.status-dipesan{background:#fff0ce;color:#855313}.status-terjual{background:#fbe4df;color:#9b382b}
.kavling-name{margin:18px 0 5px;color:#073d2d;font:500 1.57rem/1.25 Georgia,serif}.kavling-measure{color:#9d7735;font-weight:800;margin:0 0 14px}.kavling-desc{font-size:.9rem;color:#63786f;min-height:56px;line-height:1.5}
.kavling-actions{margin-top:18px;flex-wrap:wrap}.kavling-actions a,.kavling-actions button{min-height:42px;border-radius:10px;padding:8px 12px;font-weight:800;font-size:.82rem;cursor:pointer}.kavling-detail{color:#0e4b37;border:1px solid #d4dfd4}.kavling-whatsapp{background:#0e543b;color:white;border:0}
.siteplan-image-wrap{border:0;background:white;display:block;width:100%;max-width:1040px;margin:auto;padding:9px;border-radius:20px;box-shadow:0 12px 30px #00331a16;cursor:zoom-in}.siteplan-image-wrap img{display:block;width:100%;height:auto;border-radius:13px}.siteplan-image-wrap span{display:block;padding:10px;text-align:center;font-size:.82rem;color:#637a69;font-weight:700}
.galeri-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.galeri-grid img{width:100%;height:220px;object-fit:cover;border-radius:15px}
.zoom-dialog{width:min(94vw,1300px);max-height:90vh;border:0;border-radius:12px;padding:16px;background:white;box-shadow:0 30px 90px #001a1180}.zoom-dialog::backdrop{background:#000b}.zoom-dialog img{max-width:100%;max-height:calc(90vh - 72px);object-fit:contain}.zoom-close{display:block;margin-left:auto;padding:9px 13px;border:1px solid #ccd8cb;border-radius:8px;background:#f6faf6;margin-bottom:8px}
.hero-art.with-photo .rings,.hero-art.with-photo .hero-card{display:none}.hero-photo{position:relative;max-height:420px;width:100%;border-radius:21px;object-fit:cover;box-shadow:0 16px 35px #00190f55;border:2px solid #dfc885}
@media(max-width:950px){.listing-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.listing-cards,.galeri-grid{grid-template-columns:1fr}.galeri-grid img{height:220px}.filter-bar{align-items:stretch;justify-content:start}.filter-bar label{width:100%;margin-top:6px}.filter-bar select{width:100%;max-width:none}}

[hidden]{display:none!important}

/* V1.1 — katalog profesional, responsif, area-first. */
.lot .lot-special-size{font-size:2.05rem;letter-spacing:-.025em}
.katalog-filters{display:grid;grid-template-columns:1.25fr .7fr .9fr 1.1fr;gap:12px;align-items:end;margin:0 0 14px}
.filter-field{display:flex;flex-direction:column;gap:7px;color:#436154;font-weight:750;font-size:.85rem}
.katalog-filters input,.katalog-filters select{width:100%;min-width:0;height:49px;border:1px solid #cbdad0;border-radius:12px;padding:10px 13px;background:#fff;color:#073d2d;font:inherit;font-weight:600}
.katalog-filters input:focus-visible,.katalog-filters select:focus-visible{outline:2px solid #c9a052;outline-offset:2px}
.katalog-toolbar{display:flex;gap:16px;justify-content:space-between;align-items:center;margin:0 0 22px;flex-wrap:wrap}
.katalog-count{margin:0;color:#557366;font-size:.86rem;font-weight:700}
.reset-filters{background:none;border:none;color:#0b5941;padding:5px 0;text-decoration:underline;font:inherit;font-size:.84rem;font-weight:800;cursor:pointer}
.kavling-card{display:flex;flex-direction:column;min-width:0;padding:23px;border-color:#dce5dc;box-shadow:0 8px 32px #0b34200d;transition:transform .18s,box-shadow .18s}
.kavling-card:hover{transform:translateY(-2px);box-shadow:0 13px 35px #0b342019}
.kavling-head{align-items:start;flex-wrap:wrap}.kavling-code{color:#98773c;font-size:.72rem;letter-spacing:.08em}
.kavling-name{margin:13px 0 2px;font-size:1.7rem}.kavling-kind{font-weight:700;font-size:.87rem;color:#627a6e;margin:0 0 16px}
.kavling-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 10px}
.kavling-fact{border:1px solid #e6e8df;border-radius:13px;padding:12px 13px;background:#fbfaf6;min-width:0}
.kavling-fact-main{background:#f6f0e1;border-color:#ede0bf}
.kavling-fact-label{display:block;color:#65776b;font-weight:750;font-size:.72rem;margin:0 0 5px}
.kavling-fact strong{display:block;color:#0a402e;font-size:.91rem;line-height:1.35;overflow-wrap:anywhere}
.kavling-fact .kavling-area{font-family:Georgia,serif;font-weight:600;font-size:1.65rem;line-height:1.15;letter-spacing:-.025em}
.kavling-special{margin:1px 0 7px;color:#6d756c;line-height:1.5;font-size:.78rem}
.kavling-desc{margin:6px 0 8px;min-height:0}.kavling-actions{margin-top:auto;padding-top:16px;align-items:stretch}
.kavling-actions a,.kavling-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.status-unknown{background:#eee;color:#444}
@media(max-width:980px){.katalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.katalog-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.filter-search,.filter-field:last-child{grid-column:1/-1}.katalog-filters label{width:auto;margin:0}.kavling-fact .kavling-area{font-size:1.55rem}}
@media(max-width:380px){.katalog-filters{grid-template-columns:1fr}.filter-search,.filter-field:last-child{grid-column:auto}.kavling-facts{grid-template-columns:1fr 1fr;gap:8px}.kavling-fact{padding:10px}.kavling-fact .kavling-area{font-size:1.33rem}.kavling-actions button,.kavling-actions a{flex:1}}
