:root{--primary: #0a6b5b;--accent: #f4a300;--ink: #1c2b2a;--muted: #6b7c7a;--line: #e3e9e8;--bg: #f6f8f8;--card: #ffffff;--shadow: 0 6px 24px rgba(16, 40, 37, .08);--radius: 14px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Segoe UI,system-ui,-apple-system,Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1180px,92vw);margin:0 auto}.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1000}.site-header .container{display:flex;align-items:center;gap:24px;padding:14px 0}.brand{display:flex;align-items:center;gap:12px}.brand .logo{width:44px;height:44px;border-radius:10px;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:800;font-size:20px}.brand h1{font-size:20px;margin:0;line-height:1.1}.brand small{color:var(--muted);font-size:12px}.main-nav{display:flex;gap:22px;margin-left:auto;font-weight:600}.main-nav a{color:var(--ink);padding:6px 0;border-bottom:2px solid transparent;cursor:pointer}.main-nav a:hover,.main-nav a.active{color:var(--primary);border-color:var(--accent)}.header-contact{display:flex;flex-direction:column;align-items:flex-end;font-size:13px;color:var(--muted)}.header-contact strong{color:var(--primary);font-size:15px}.hero{background:linear-gradient(120deg,#0a6b5beb,#0a6b5bb8),url(https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=1600&q=60) center/cover;color:#fff;padding:70px 0 90px}.hero h2{font-size:clamp(28px,4vw,44px);margin:0 0 10px}.hero p{font-size:18px;opacity:.95;margin:0 0 28px;max-width:620px}.search-bar{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;display:grid;gap:12px;grid-template-columns:repeat(5,1fr) auto;align-items:end}.search-bar .field{display:flex;flex-direction:column;gap:4px;min-width:0}.search-bar label{font-size:12px;color:var(--muted);font-weight:600}.search-bar select,.search-bar input{border:1px solid var(--line);border-radius:8px;padding:10px;font-size:14px;color:var(--ink);background:#fff;width:100%;min-width:0;max-width:100%;box-sizing:border-box}.search-actions{display:flex;flex-direction:column;gap:6px}.map-cta{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:8px}.map-cta select{border:1px solid var(--line);border-radius:8px;padding:11px 12px;font-size:14px;background:#fff;min-width:200px}.search-hint{color:#ffffffeb;font-size:14px;margin:14px 2px 0}.search-hint strong{color:#fff}.infer-note{background:#fff8e6;border:1px solid #f3d98b;color:#7a5a00;padding:10px 14px;border-radius:10px;margin-bottom:18px;font-size:14px}.btn{background:var(--primary);color:#fff;border:0;border-radius:8px;padding:12px 22px;font-weight:700;font-size:15px;cursor:pointer;transition:filter .15s}.btn:hover{filter:brightness(1.08)}.btn.accent{background:var(--accent);color:#2a1d00}.btn.ghost{background:transparent;color:var(--primary);border:1px solid var(--primary)}.btn.sm{padding:8px 14px;font-size:13px}section.block{padding:54px 0}.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px}.section-head h3{font-size:26px;margin:0}.section-head a{color:var(--primary);font-weight:600;cursor:pointer}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}.card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);cursor:pointer;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column}.card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #10282524}.card .thumb{aspect-ratio:4/3;background:#dfe7e6 center/cover;position:relative;overflow:hidden}.card .thumb .thumb-img{width:100%;height:100%;object-fit:cover;display:block}.card .thumb .badge{position:absolute;top:10px;left:10px;background:var(--accent);color:#2a1d00;font-size:12px;font-weight:700;padding:4px 10px;border-radius:20px;text-transform:uppercase}.card .thumb .ref{position:absolute;bottom:10px;right:10px;background:#0009;color:#fff;font-size:11px;padding:3px 8px;border-radius:6px}.card .body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}.card .loc{color:var(--muted);font-size:13px;display:flex;align-items:center;gap:4px}.card .title{font-weight:700;font-size:16px;line-height:1.3}.card .price{color:var(--primary);font-weight:800;font-size:20px;margin-top:auto}.card .price small{color:var(--muted);font-weight:600;font-size:12px}.specs{display:flex;gap:14px;color:var(--muted);font-size:13px;flex-wrap:wrap}.specs span{display:flex;align-items:center;gap:4px}.gallery{border-radius:var(--radius);overflow:hidden}.g-main{position:relative;aspect-ratio:16/9;background:#dfe7e6 center/cover;border-radius:var(--radius);touch-action:pan-y}.g-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:#ffffffeb;color:var(--ink);font-size:28px;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:0 2px 12px #00000047;transition:background .15s,transform .15s}.g-nav:hover{background:#fff;transform:translateY(-50%) scale(1.06)}.g-nav.prev{left:12px}.g-nav.next{right:12px}.g-count{position:absolute;bottom:12px;right:12px;background:#0000009e;color:#fff;font-size:13px;padding:4px 11px;border-radius:20px}.thumbs{display:flex;gap:8px;margin-top:8px;overflow-x:auto;padding-bottom:4px}.thumbs>div{width:92px;height:64px;flex:none;border-radius:8px;background:#dfe7e6 center/cover;cursor:pointer;opacity:.65;border:2px solid transparent;transition:opacity .15s}.thumbs>div:hover{opacity:1}.thumbs>div.on{opacity:1;border-color:var(--primary)}.detail-grid{display:grid;grid-template-columns:1fr 360px;gap:32px;margin-top:28px;align-items:start}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{background:#eef4f3;color:var(--primary);border-radius:20px;padding:6px 14px;font-size:13px;font-weight:600}.aside-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;position:sticky;top:90px}.aside-card .price{font-size:28px;font-weight:800;color:var(--primary)}.aside-card .btn{display:block;width:100%;margin-top:12px;text-align:center}.kv{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.kv .item{background:#f3f7f6;border-radius:10px;padding:12px}.kv .item b{display:block;font-size:18px}.kv .item span{color:var(--muted);font-size:12px}#map,.mini-map{width:100%;border-radius:var(--radius);z-index:1}#map{height:70vh}.mini-map{height:320px}.map-layout{display:grid;grid-template-columns:360px 1fr;gap:20px;height:70vh}.map-list{overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding-right:6px}.map-list .card{flex-direction:row}.map-list .card .thumb{width:110px;aspect-ratio:1;flex:none}.poi-panel{background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:16px;margin-top:16px}.poi-panel h4{margin:0 0 12px}.poi-cats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.poi-cats button{border:1px solid var(--line);background:#fff;border-radius:20px;padding:6px 12px;cursor:pointer;font-size:13px;font-weight:600}.poi-cats button.on{background:var(--primary);color:#fff;border-color:var(--primary)}.poi-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}.poi-row .km{font-weight:700;color:var(--primary)}.price-pin{display:inline-block;transform:translate(-50%,-50%);background:var(--primary);color:#fff;font-weight:700;font-size:12px;padding:4px 9px;border-radius:16px;white-space:nowrap;line-height:1;border:1.5px solid #fff;box-shadow:0 1px 5px #00000059;cursor:pointer;transition:background .12s,transform .12s}.price-pin:hover{transform:translate(-50%,-50%) scale(1.06)}.price-pin.on{background:var(--accent);color:#2a1d00;box-shadow:0 2px 8px #00000073}.price-pin-wrap{z-index:600}.leaflet-popup-content{font-family:inherit}.popup-title{font-weight:700;margin-bottom:4px}.popup-price{color:var(--primary);font-weight:800}.site-footer{background:var(--ink);color:#cfdad8;padding:40px 0;margin-top:40px}.site-footer .container{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between}.site-footer h5{color:#fff;margin:0 0 10px}.site-footer a{color:#cfdad8;display:block;padding:3px 0;cursor:pointer}.empty{text-align:center;padding:60px 20px;color:var(--muted)}.cal{max-width:340px}.cal-head{display:flex;align-items:center;justify-content:space-between;font-weight:700;text-transform:capitalize;margin-bottom:8px}.cal-nav{border:0;background:#eef4f3;width:30px;height:30px;border-radius:8px;cursor:pointer;font-size:18px;line-height:1}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-dow{text-align:center;font-size:11px;color:var(--muted);padding:4px 0}.cal-day{text-align:center;padding:7px 0;border-radius:6px;background:#f3f7f6;font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.cal-day:hover{outline:1px solid var(--primary)}.cal-day.blocked{background:#ef233c;color:#fff}.cal-day.reserved{background:#2b6cb0;color:#fff}.cal-day.selected{background:#cdeee6;color:#0a6b5b;outline:2px solid var(--primary)}.cal-legend{display:flex;gap:16px;flex-wrap:wrap;margin:10px 0;font-size:13px;color:var(--muted)}.cal-legend span{display:inline-flex;align-items:center;gap:6px}.cal-legend i{width:14px;height:14px;border-radius:4px;display:inline-block}.cal-day.past{opacity:.4}.avail-range{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:12px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.wa-float{position:fixed;right:20px;bottom:20px;z-index:1500;width:58px;height:58px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 6px 18px #0000004d;transition:transform .15s,box-shadow .15s}.wa-float:hover{transform:scale(1.07);box-shadow:0 8px 22px #00000061}@media (max-width: 860px){.wa-float{width:52px;height:52px;right:16px;bottom:16px}}@media (max-width: 860px){.search-bar{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}.g-main{aspect-ratio:4/3}.g-nav{width:38px;height:38px;font-size:22px}.map-layout{display:flex;flex-direction:column;height:auto}.map-layout #map{order:-1;height:58vh;min-height:340px}.map-list{max-height:42vh}.main-nav,.header-contact{display:none}}
