:root {
    color-scheme: dark;
    --navy: #071b2e;
    --green: #00a86b;
    --lime: #6edb1f;
    --white: #fff;
    --nav-height: 68px;
}

* { box-sizing: border-box; }
html, body { width: 100%; height: 100%; margin: 0; overflow: hidden; }
body { color: var(--white); background: #02060a; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; font: inherit; }
.feed-page { min-height: 100dvh; }
.property-feed { position: relative; width: min(100%, 520px); height: 100dvh; margin: 0 auto; overflow: hidden; background: #08111b; box-shadow: 0 0 60px rgba(0,0,0,.45); }
.feed-scroll { height: 100%; overflow-y: auto; scroll-snap-type: y mandatory; overscroll-behavior-y: contain; scrollbar-width: none; }
.feed-scroll::-webkit-scrollbar { display: none; }

.feed-header { position: absolute; z-index: 20; top: 0; left: 0; right: 0; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: calc(env(safe-area-inset-top) + 12px) 16px 12px; background: linear-gradient(rgba(0,0,0,.55), transparent); }
.mini-brand { display: flex; align-items: center; gap: 7px; color: #fff; text-decoration: none; font-size: 13px; }
.mini-brand span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 9px; background: linear-gradient(145deg, var(--green), var(--lime)); font-weight: 900; }
.feed-tabs { display: flex; align-items: center; gap: 18px; white-space: nowrap; }
.feed-tabs button { position: relative; padding: 7px 0; border: 0; opacity: .72; background: transparent; font-size: 14px; font-weight: 750; cursor: pointer; }
.feed-tabs button.active { opacity: 1; }
.feed-tabs button.active::after { position: absolute; right: 21%; bottom: 0; left: 21%; height: 3px; border-radius: 3px; background: #fff; content: ""; }
.header-icon { justify-self: end; display: grid; width: 40px; height: 40px; place-items: center; padding: 0; border: 0; background: transparent; cursor: pointer; }
.header-icon svg { width: 25px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }

.property-slide { position: relative; height: 100%; min-height: 100%; overflow: hidden; scroll-snap-align: start; scroll-snap-stop: always; isolation: isolate; background: #19314a; }
.property-slide::before { position: absolute; inset: 0; z-index: -4; content: ""; transform: scale(1.04); transition: transform 7s ease; }
.property-slide.is-current::before { transform: scale(1.12); }
.modern-house::before { background: radial-gradient(circle at 80% 16%, #ffd890 0 8%, transparent 20%), linear-gradient(165deg, #72bed6 0 42%, #b6c58c 43% 64%, #264d31 65%); }
.green-land::before { background: radial-gradient(circle at 70% 18%, #ffeab1 0 7%, transparent 18%), linear-gradient(160deg, #81bfd8 0 40%, #7f9b52 41% 59%, #28492e 60%); }
.mountain-villa::before { background: radial-gradient(circle at 23% 16%, #f7d897 0 7%, transparent 19%), linear-gradient(155deg, #91b9cc 0 40%, #536d5a 41% 56%, #152d29 57%); }
.property-art { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.sun { position: absolute; top: 18%; right: 12%; width: 48px; height: 48px; border-radius: 50%; background: rgba(255,231,170,.82); box-shadow: 0 0 50px #ffdc82; }
.hill { position: absolute; bottom: 23%; width: 85%; height: 35%; border-radius: 60% 60% 0 0; transform: rotate(-8deg); filter: blur(1px); }
.hill-one { left: -34%; background: #456d4d; }
.hill-two { right: -42%; bottom: 18%; background: #294a39; transform: rotate(11deg); }
.house { position: absolute; right: 8%; bottom: 24%; width: 72%; height: 31%; border-radius: 4px 4px 10px 10px; background: linear-gradient(100deg, #e7e0d2 0 58%, #b9aa98 59%); box-shadow: -16px 20px 40px rgba(0,0,0,.4); transform: perspective(450px) rotateY(-7deg); }
.house .roof { position: absolute; top: -29%; left: -8%; width: 110%; height: 38%; background: #273747; clip-path: polygon(7% 100%, 28% 0, 72% 0, 100% 100%); }
.house .door { position: absolute; bottom: 0; left: 57%; width: 18%; height: 51%; background: #3c4e4a; }
.house .window { position: absolute; top: 28%; width: 18%; height: 24%; border: 4px solid #f5ead7; background: #4c7586; box-shadow: inset 0 0 0 1px #243f4c; }
.window-one { left: 13%; }.window-two { left: 34%; }
.green-land .house { bottom: 28%; right: 18%; width: 58%; height: 25%; background: #f3eee2; }
.green-land .hill-one { bottom: 11%; width: 120%; height: 32%; background: #547b3e; }
.mountain-villa .house { width: 66%; height: 27%; right: 4%; bottom: 25%; background: linear-gradient(100deg, #d7c8b2 0 60%, #9d8770 61%); }
.slide-shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(to bottom, rgba(0,0,0,.14) 12%, transparent 35%, rgba(0,0,0,.12) 53%, rgba(0,0,0,.9) 100%); }

.sound-toggle { position: absolute; z-index: 2; top: calc(env(safe-area-inset-top) + 72px); right: 14px; display: grid; width: 38px; height: 38px; place-items: center; border: 0; border-radius: 50%; background: rgba(0,0,0,.32); backdrop-filter: blur(8px); cursor: pointer; }
.sound-toggle svg { width: 21px; fill: currentColor; stroke: currentColor; stroke-width: 1.8; fill-rule: evenodd; }
.sound-toggle .sound-wave { display: none; fill: none; }.sound-toggle.active .sound-off { display: none; }.sound-toggle.active .sound-wave { display: block; }

.listing-copy { position: absolute; z-index: 3; right: 82px; bottom: calc(var(--nav-height) + env(safe-area-inset-bottom) + 16px); left: 16px; text-shadow: 0 1px 3px rgba(0,0,0,.55); }
.location-pill { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; padding: 6px 10px; border: 1px solid rgba(255,255,255,.34); border-radius: 999px; background: rgba(5,20,31,.42); backdrop-filter: blur(8px); font-size: 12px; font-weight: 700; }
.location-pill svg { width: 14px; fill: none; stroke: currentColor; stroke-width: 2; }
.seller-name { display: block; margin-top: 12px; color: #fff; text-decoration: none; font-size: 14px; font-weight: 850; }
.listing-copy h1 { margin: 7px 0 4px; font-size: clamp(21px, 5.8vw, 29px); line-height: 1.1; letter-spacing: -.45px; }
.price { color: #baf67f; font-size: 19px; font-weight: 900; }
.details, .caption { margin: 5px 0 0; font-size: 13px; line-height: 1.35; }
.caption { display: -webkit-box; overflow: hidden; opacity: .93; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.contact-button { display: inline-flex; align-items: center; gap: 7px; margin-top: 12px; padding: 10px 14px; border: 0; border-radius: 11px; color: #fff; background: linear-gradient(135deg, #008e60, #11be65); box-shadow: 0 8px 22px rgba(0,130,83,.32); font-size: 13px; font-weight: 850; cursor: pointer; }
.contact-button svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.listing-copy small { display: block; margin-top: 7px; opacity: .72; font-size: 10px; }

.action-rail { position: absolute; z-index: 4; right: 11px; bottom: calc(var(--nav-height) + env(safe-area-inset-bottom) + 21px); display: flex; width: 60px; flex-direction: column; align-items: center; gap: 15px; }
.action-rail button { border: 0; background: transparent; cursor: pointer; }
.profile-action { position: relative; width: 54px; height: 60px; padding: 0; }
.avatar { display: grid; width: 48px; height: 48px; margin: auto; place-items: center; border: 2px solid white; border-radius: 50%; background: linear-gradient(145deg, #073d58, #00a86b); font-size: 13px; font-weight: 900; }
.follow-mark { position: absolute; right: 2px; bottom: 3px; display: grid; width: 20px; height: 20px; place-items: center; border: 2px solid #fff; border-radius: 50%; background: #0aae65; font-size: 16px; font-weight: 800; line-height: 1; }
.rail-action { display: flex; width: 60px; flex-direction: column; align-items: center; gap: 3px; padding: 0; font-size: 10px; font-weight: 800; text-shadow: 0 1px 3px #000; }
.rail-action svg { width: 31px; height: 31px; fill: rgba(3,12,18,.3); stroke: white; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 2px 4px rgba(0,0,0,.5)); transition: transform .16s ease; }
.rail-action:active svg { transform: scale(.84); }
.rail-action[aria-pressed="true"] svg { fill: #10cf75; stroke: #fff; }
.rail-action[data-like][aria-pressed="true"] svg { fill: #ff405d; }

.bottom-nav { position: absolute; z-index: 30; right: 0; bottom: 0; left: 0; display: grid; min-height: calc(var(--nav-height) + env(safe-area-inset-bottom)); grid-template-columns: repeat(5, 1fr); align-items: start; padding: 7px 5px env(safe-area-inset-bottom); border-top: 1px solid rgba(255,255,255,.11); background: rgba(4,12,19,.94); backdrop-filter: blur(14px); }
.bottom-nav a, .bottom-nav button { display: flex; min-width: 0; flex-direction: column; align-items: center; gap: 3px; padding: 0; border: 0; color: rgba(255,255,255,.66); background: transparent; text-decoration: none; font-size: 10px; cursor: pointer; }
.bottom-nav svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.bottom-nav .active { color: #fff; font-weight: 800; }
.bottom-nav .post-button { align-self: start; }
.bottom-nav .post-button span { display: grid; width: 42px; height: 31px; place-items: center; border-radius: 9px; color: #fff; background: linear-gradient(100deg, var(--green), var(--lime)); box-shadow: 0 4px 16px rgba(0,168,107,.32); font-size: 28px; line-height: 1; }
.feed-toast { position: absolute; z-index: 50; left: 50%; bottom: calc(var(--nav-height) + env(safe-area-inset-bottom) + 22px); width: max-content; max-width: calc(100% - 40px); padding: 11px 15px; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; opacity: 0; background: rgba(4,15,24,.93); box-shadow: 0 10px 35px rgba(0,0,0,.3); transform: translate(-50%, 16px); transition: .22s ease; pointer-events: none; font-size: 12px; text-align: center; }
.feed-toast.show { opacity: 1; transform: translate(-50%, 0); }

@media (min-width: 700px) {
    body { background: radial-gradient(circle at top, #173c44, #02060a 60%); }
    .property-feed { border-right: 1px solid rgba(255,255,255,.08); border-left: 1px solid rgba(255,255,255,.08); }
}

@media (max-height: 680px) {
    .caption, .listing-copy small { display: none; }
    .listing-copy h1 { font-size: 20px; }
    .action-rail { gap: 10px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}


/* HomyHunt V3 — Pasang Properti bottom sheet */
.post-sheet{position:absolute;inset:0;z-index:80;visibility:hidden;opacity:0;transition:.22s ease}.post-sheet.open{visibility:visible;opacity:1}.post-sheet__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58);backdrop-filter:blur(3px)}.post-sheet__panel{position:absolute;right:0;bottom:0;left:0;max-height:91%;overflow:auto;padding:8px 18px calc(24px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;color:#10202a;background:#f7f9fa;box-shadow:0 -18px 50px rgba(0,0,0,.38);transform:translateY(105%);transition:.28s cubic-bezier(.2,.8,.2,1)}.post-sheet.open .post-sheet__panel{transform:translateY(0)}.post-sheet__handle{width:42px;height:4px;margin:2px auto 12px;border-radius:4px;background:#c8d0d4}.post-sheet__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.post-sheet__head small{color:#00a86b;font-weight:850}.post-sheet__head h2{margin:1px 0 0;font-size:22px}.post-sheet__head button{width:34px;height:34px;border:0;border-radius:50%;background:#e7ecef;font-size:25px;line-height:1}.post-form{display:grid;gap:13px}.post-form label{display:grid;gap:6px;font-size:12px;font-weight:800}.post-form input,.post-form select,.post-form textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #d9e0e4;border-radius:11px;outline:none;color:#10202a;background:#fff;font:inherit;font-weight:500}.post-form input:focus,.post-form select:focus,.post-form textarea:focus{border-color:#00a86b;box-shadow:0 0 0 3px rgba(0,168,107,.11)}.post-form label small{color:#70808a;font-weight:500}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.media-picker{place-items:center;padding:18px;border:1.5px dashed #9db0b9;border-radius:14px;background:#fff;text-align:center;cursor:pointer}.media-picker input{display:none}.media-picker span{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,#008e60,#11be65);font-size:27px}.media-picker strong{font-size:14px}.submit-listing{padding:13px;border:0;border-radius:12px;color:#fff;background:linear-gradient(135deg,#008e60,#11be65);font-weight:900;font-size:14px}.form-note{margin:0;color:#74828a;font-size:10px;line-height:1.4;text-align:center}.sheet-open{overflow:hidden}

/* V4 uploaded media */
.property-media{position:absolute;inset:0;z-index:0;background:#0b1720;overflow:hidden}
.property-media img,.property-media video{width:100%;height:100%;object-fit:cover;display:block}
.contact-button{text-decoration:none}
.submit-listing:disabled{opacity:.65}

/* V4.3 photo upload test */
.media-picker input[type=file]{position:absolute!important;width:1px!important;height:1px!important;opacity:.001!important;overflow:hidden!important;pointer-events:none!important}
.media-preview{margin-top:12px;border-radius:18px;overflow:hidden;background:#eef2f3;padding:10px}
.media-preview img{display:block;width:100%;max-height:320px;object-fit:cover;border-radius:14px}
.media-preview button{width:100%;margin-top:8px;border:0;background:#e5ecee;padding:12px;border-radius:12px;font-weight:700}
/* V4.5 media test */
.media-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.media-preview-card{position:relative;border:1px solid rgba(0,0,0,.12);border-radius:14px;overflow:hidden;background:#f5f5f5}.media-preview-card img,.media-preview-card video{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:#111}.media-preview-card small{display:block;padding:7px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-preview-card button{margin:0 8px 8px;border:0;border-radius:9px;padding:7px 10px}.media-carousel{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.media-carousel::-webkit-scrollbar{display:none}.media-carousel .media-item{min-width:100%;height:100%;scroll-snap-align:start}.media-carousel .media-item img,.media-carousel .media-item video{width:100%;height:100%;object-fit:cover}


/* HomyHunt V4.6.1 — compact media tray + mobile photo editor */
.media-list{display:flex!important;gap:9px!important;overflow-x:auto!important;padding:2px 1px 7px!important;margin-top:9px!important;scrollbar-width:none}.media-list::-webkit-scrollbar{display:none}.media-thumb{position:relative!important;flex:0 0 112px!important;width:112px!important;height:150px!important;border:1px solid #d7dfe2!important;border-radius:13px!important;overflow:hidden!important;background:#111!important}.media-thumb>img,.media-thumb>video{display:block!important;width:112px!important;height:112px!important;object-fit:cover!important;background:#111!important}.media-kind{position:absolute;top:5px;left:5px;padding:2px 5px;border-radius:5px;color:#fff;background:rgba(0,0,0,.62);font-size:8px;font-weight:900}.media-thumb-actions{position:absolute;right:0;bottom:0;left:0;display:flex;height:38px;align-items:center;justify-content:center;gap:2px;padding:3px;background:#fff}.media-thumb-actions button{min-width:0!important;margin:0!important;padding:5px!important;border:0!important;border-radius:6px!important;color:#24323a!important;background:#edf1f2!important;font-size:12px!important;font-weight:800!important;line-height:1!important}.media-thumb-actions .edit-btn{padding:5px 6px!important;color:#087c55!important}.media-thumb-actions .delete-btn{color:#b3261e!important}.hh-editor{position:fixed;inset:0;z-index:9999;display:none}.hh-editor.open{display:block}.hh-editor-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72)}.hh-editor-panel{position:absolute;right:0;bottom:0;left:0;max-width:520px;margin:auto;padding:14px 16px calc(18px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;color:#17242b;background:#fff}.hh-editor-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.hh-editor-head strong{font-size:18px}.hh-editor-head button{width:38px;height:38px;border:0;border-radius:50%;background:#edf1f2;font-size:24px}.hh-canvas-wrap{width:min(100%,390px);margin:auto;overflow:hidden;border-radius:14px;background:#111;touch-action:none}.hh-canvas-wrap canvas{display:block;width:100%;aspect-ratio:1/1;touch-action:none}.hh-editor-panel>label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;margin-top:12px;font-size:12px;font-weight:800}.hh-editor-panel input[type=range]{width:100%}.hh-editor-tools{display:flex;gap:8px;margin-top:12px}.hh-editor-tools button{flex:1;min-height:44px;border:0;border-radius:10px;background:#edf1f2;font-weight:800}.hh-editor-tools .save{color:#fff;background:#009b63}.hh-editor-panel>small{display:block;margin-top:9px;color:#6c7a82;text-align:center}

/* V4.7 Complete: expandable caption + property search */
.caption-wrap{margin-top:5px}.caption-wrap .caption{margin:0}.caption.expanded{display:block!important;overflow:visible!important;-webkit-line-clamp:unset!important}.caption-toggle{display:inline-block;margin:2px 0 0;padding:0;border:0;color:#fff;background:transparent;font:inherit;font-size:12px;font-weight:850;text-shadow:0 1px 3px rgba(0,0,0,.7);cursor:pointer}.caption-toggle[hidden]{display:none!important}
.search-sheet{position:absolute;inset:0;z-index:75;visibility:hidden;opacity:0;background:#f7f9fa;transition:.18s ease}.search-sheet.open{visibility:visible;opacity:1}.search-sheet__panel{position:absolute;inset:0;overflow:auto;padding:calc(env(safe-area-inset-top) + 14px) 16px calc(var(--nav-height) + env(safe-area-inset-bottom) + 18px);color:#10202a;background:#f7f9fa}.search-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.search-head>button{display:grid;width:40px;height:40px;place-items:center;border:0;border-radius:50%;color:#10202a;background:#e8edef;font-size:23px}.search-head small{color:#009b63;font-size:11px;font-weight:900}.search-head h2{margin:0;font-size:22px}.search-box{display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid #d7e0e3;border-radius:14px;background:#fff}.search-box svg{width:22px;height:22px;fill:none;stroke:#61727b;stroke-width:2}.search-box input{min-width:0;flex:1;padding:14px 0;border:0;outline:0;background:transparent;font:inherit;font-size:14px}.search-price{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.search-price label{display:grid;gap:5px;color:#667780;font-size:10px;font-weight:800}.search-price input{width:100%;box-sizing:border-box;padding:11px;border:1px solid #d7e0e3;border-radius:11px;outline:0;background:#fff;font:inherit;font-size:12px}.search-summary{margin:16px 2px 8px;color:#687880;font-size:11px;font-weight:800}.search-results{display:grid;gap:9px}.search-result{display:grid;grid-template-columns:72px 1fr;gap:11px;width:100%;padding:8px;border:1px solid #e1e7e9;border-radius:14px;color:#10202a;background:#fff;text-align:left}.search-result>img,.search-result__placeholder{width:72px;height:72px;border-radius:10px;object-fit:cover}.search-result__placeholder{display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#073d58,#00a86b);font-size:24px;font-weight:900}.search-result__copy{display:flex;min-width:0;flex-direction:column;justify-content:center}.search-result__copy strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:13px}.search-result__copy small{margin:3px 0;color:#70808a;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10px}.search-result__copy b{color:#008f5d;font-size:13px}.search-empty{display:grid;gap:4px;padding:28px 16px;border:1px dashed #ccd7da;border-radius:14px;color:#63747c;background:#fff;text-align:center}.search-empty strong{color:#26363e}.search-open{overflow:hidden}

/* HomyHunt V4.8 — media fit, DM, music and host promotion */
.property-media .media-item{position:relative;background:#07131c}
.property-media .media-item img{object-fit:contain!important;background:#07131c}
.property-media .media-item video{object-fit:contain!important;background:#07131c}
.music-picker small{font-weight:500!important;color:#70808a}.music-preview{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #d9e0e4;border-radius:11px;background:#fff}.music-preview[hidden]{display:none}.music-preview strong{min-width:0;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px}.music-preview button{border:0;border-radius:8px;padding:7px 9px;background:#edf1f2;font-weight:800}
.dm-sheet,.promote-sheet{position:fixed;inset:0;z-index:120;visibility:hidden;opacity:0;transition:.2s ease}.dm-sheet.open,.promote-sheet.open{visibility:visible;opacity:1}.utility-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(3px)}.utility-panel{position:absolute;right:0;bottom:0;left:0;max-width:560px;max-height:88vh;overflow:auto;margin:auto;padding:16px 18px calc(22px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;color:#10202a;background:#f7f9fa}.utility-head{display:flex;align-items:center;justify-content:space-between}.utility-head small{color:#009b63;font-weight:900}.utility-head h2{margin:2px 0 0}.utility-head>button{width:36px;height:36px;border:0;border-radius:50%;background:#e7ecef;font-size:24px}.utility-target{margin:12px 0;padding:10px 12px;border-radius:11px;background:#eaf5f0;font-size:12px;font-weight:800}.utility-panel textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #d9e0e4;border-radius:12px;font:inherit;resize:vertical}.utility-primary{width:100%;margin-top:12px;padding:13px;border:0;border-radius:12px;color:#fff;background:linear-gradient(135deg,#008e60,#11be65);font-weight:900}.utility-note{color:#70808a;font-size:10px;line-height:1.4}.promo-options{display:grid;gap:8px}.promo-options button{display:grid;gap:2px;padding:12px;border:1px solid #d9e0e4;border-radius:12px;background:#fff;text-align:left}.promo-options button.selected{border-color:#00a86b;box-shadow:0 0 0 2px rgba(0,168,107,.12)}.promo-options span{color:#6f7e86;font-size:11px}.promo-duration{display:grid;gap:6px;margin-top:12px;font-size:12px;font-weight:800}.promo-duration select{padding:11px;border:1px solid #d9e0e4;border-radius:10px;background:#fff}.utility-open{overflow:hidden}.promote-action span{font-size:9px}


/* HomyHunt V4.9 — owner listing management */
.manage-sheet{position:fixed;inset:0;z-index:130;visibility:hidden;opacity:0;transition:.2s ease}.manage-sheet.open{visibility:visible;opacity:1}.manage-panel form{display:grid;gap:11px}.manage-panel form>label{display:grid;gap:5px;color:#52636c;font-size:11px;font-weight:800}.manage-panel input,.manage-panel select,.manage-panel textarea{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #d8e0e3;border-radius:11px;background:#fff;font:inherit;color:#10202a}.manage-price-row{display:grid;grid-template-columns:1.25fr .75fr;gap:8px}.manage-price-row label{display:grid;gap:5px;color:#52636c;font-size:11px;font-weight:800}.manage-label{display:block;margin:3px 0 7px;font-size:12px}.manage-media{display:flex;gap:8px;overflow-x:auto;padding-bottom:5px}.manage-media-item{position:relative;flex:0 0 105px;border:1px solid #dce3e5;border-radius:12px;overflow:hidden;background:#fff}.manage-media-item img,.manage-media-item video{display:block;width:105px;height:92px;object-fit:cover;background:#111}.manage-media-item span{display:grid;padding:7px}.manage-media-item strong{font-size:10px}.manage-media-item small{font-size:8px;color:#75838a}.manage-media-item input{position:absolute;top:6px;right:6px;width:22px;height:22px;accent-color:#d62d2d}.manage-add{padding:10px;border:1px dashed #bdc9cd;border-radius:11px;background:#fff}.manage-add input{padding:7px 0;border:0}.danger-button{width:100%;padding:12px;border:1px solid #e3b4b4;border-radius:12px;color:#b42318;background:#fff;font-weight:900}.manage-action span{font-size:9px}

/* HomyHunt Arasya Stable — media begins at the top, compact overlay, marketplace search */
.property-media .media-item img,.property-media .media-item video{object-position:center top!important}
.listing-copy{bottom:calc(var(--nav-height) + env(safe-area-inset-bottom) + 12px)}
.listing-copy h1{font-size:clamp(18px,5vw,25px);margin:5px 0 2px}
.seller-name{margin-top:7px}.contact-button{margin-top:8px}.listing-copy small{margin-top:5px}
.search-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.search-result{display:block;padding:0;overflow:hidden;text-decoration:none;color:#10202a;text-align:left}
.search-result>img,.search-result__placeholder{width:100%;height:auto;aspect-ratio:1/1;border-radius:0;object-fit:cover}
.search-result__copy{padding:9px}.search-result__copy strong{font-size:12px}.search-result__copy small{font-size:9px}.search-result__copy b{font-size:12px}
@media(max-height:720px){.listing-copy small{display:none}.caption-wrap{display:none}.action-rail{gap:9px}}

.profile-action{display:block;text-decoration:none;color:inherit}.avatar{overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.media-position{position:absolute;z-index:5;top:82px;right:14px;padding:5px 9px;border-radius:12px;background:rgba(0,0,0,.52);font-size:11px;font-weight:900;color:#fff}.media-dots{position:absolute;z-index:5;left:50%;bottom:10px;transform:translateX(-50%);display:flex;gap:4px}.media-dots i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.45)}.media-dots i.active{width:13px;border-radius:5px;background:#fff}.inbox-nav{position:relative}.nav-badge{position:absolute;top:-4px;left:calc(50% + 7px);min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#e53935;color:#fff;font-size:9px;line-height:17px;text-align:center}
/* V5.3.1 recovery */
.search-box input,.search-price input{color:#10202a!important;caret-color:#10202a!important;-webkit-text-fill-color:#10202a!important}.search-box input::placeholder,.search-price input::placeholder{color:#849198!important;-webkit-text-fill-color:#849198!important}.media-carousel{touch-action:pan-y pan-x;overscroll-behavior-x:contain}.media-item{flex:0 0 100%}.rail-action[aria-pressed="true"] svg{fill:currentColor}.share-count{font-variant-numeric:tabular-nums}

/* V5.5 visibility + carousel indicator below media */
.search-sheet input,#property-search,#search-min-price,#search-max-price{color:#10202a!important;background:#fff!important;opacity:1!important;text-shadow:none!important;-webkit-text-fill-color:#10202a!important;caret-color:#10202a!important}
.media-dots{display:none!important}.media-dots-below{position:absolute;z-index:12;left:50%;top:calc(var(--header-height) + min(56vh,520px) + 5px);transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:5px;padding:5px 8px;border-radius:12px;background:rgba(4,20,25,.38)}.media-dots-below i{display:block;width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.48)}.media-dots-below i.active{width:16px;border-radius:6px;background:#fff}.activity-link{color:#fff;font-size:9px;text-decoration:none;font-weight:800;text-align:center}.draft-note{font-size:11px;color:#8aa39d;text-align:center}.post-form label[hidden]{display:none!important}
/* V5.6 comments, notifications, views */
.notification-bell{position:relative;text-decoration:none;display:grid;place-items:center;font-size:18px}.notification-bell b{position:absolute;top:-2px;right:-5px;min-width:16px;height:16px;border-radius:9px;background:#e53935;color:#fff;font-size:9px;line-height:16px;text-align:center}.comment-sheet{position:fixed;inset:0;z-index:145;visibility:hidden;opacity:0;transition:.2s}.comment-sheet.open{visibility:visible;opacity:1}.comment-panel{max-height:78vh}.comment-list{display:grid;gap:9px;margin:12px 0;max-height:45vh;overflow:auto}.comment-row{display:grid;grid-template-columns:34px 1fr;gap:9px}.comment-row.reply{margin-left:30px}.comment-avatar{width:34px;height:34px;border-radius:50%;background:#d9efe8;display:grid;place-items:center;font-weight:900}.comment-body{background:#fff;border:1px solid #e0e6e8;border-radius:12px;padding:9px}.comment-body b{font-size:11px}.comment-body p{margin:4px 0;font-size:12px;white-space:pre-wrap}.comment-body button{border:0;background:none;padding:0;color:#008e60;font-size:10px;font-weight:800}.comment-form textarea{min-height:70px}.comment-login{display:block;text-align:center;text-decoration:none}.view-count{color:#fff;font-size:10px;font-weight:900;text-align:center;text-shadow:0 1px 3px #000}.comment-icon{font-size:20px}.comment-toggle-form{margin:10px 0;padding:10px;border:1px solid #d8e0e3;border-radius:12px}.comment-toggle-form .toggle-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.comment-toggle-form small{display:block;color:#70808a}.comment-toggle-form input{width:22px!important;height:22px!important}

/* V5.7 media controls */
.video-play-toggle{position:absolute;z-index:8;top:calc(env(safe-area-inset-top) + 118px);right:14px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;display:grid;place-items:center;font-size:19px;font-weight:800;cursor:pointer;backdrop-filter:blur(8px)}
.video-play-toggle[hidden]{display:none!important}
.media-dots-below{top:auto;pointer-events:none;max-width:65%;flex-wrap:wrap}
.media-position{pointer-events:none}

/* V6.0 tahap 1: clean description reader */
.hh-description-panel[hidden]{display:none!important}
.hh-description-panel{position:fixed;inset:0;z-index:99999;background:#fff;color:#18282b;display:flex;flex-direction:column;overflow:hidden}
.hh-description-head{display:flex;align-items:center;gap:18px;padding:18px 16px;border-bottom:1px solid #e1e6e7;background:#fff;flex-shrink:0}
.hh-description-back{border:0;background:#f0f4f4;color:#163c42;padding:10px 13px;border-radius:10px;font:inherit;cursor:pointer}
.hh-description-body{padding:24px 20px 48px;white-space:pre-wrap;overflow-y:auto;overflow-wrap:anywhere;line-height:1.75;font-size:16px;flex:1}
body.hh-description-open{overflow:hidden}


/* HomyHunt V6.0 — patch keterbacaan caption (09 Oct 2026).
   Tambahan non-destruktif: semua fitur sebelumnya tetap dipertahankan. */
.listing-copy{max-height:calc(100dvh - var(--nav-height) - env(safe-area-inset-bottom) - 155px);min-width:0;pointer-events:none}
.listing-copy a,.listing-copy button,.listing-copy input,.listing-copy textarea{pointer-events:auto}
.listing-copy .caption-wrap{max-width:100%;min-width:0}
.listing-copy .caption{white-space:pre-line;overflow-wrap:anywhere;word-break:normal;line-height:1.55;max-width:100%}
.listing-copy .caption:not(.expanded){display:-webkit-box!important;overflow:hidden!important;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.listing-copy .caption.expanded{display:block!important;max-height:min(32dvh,260px);overflow-y:auto!important;overscroll-behavior:contain;white-space:pre-wrap;-webkit-line-clamp:unset!important}
.listing-copy .caption-toggle{margin-top:6px;min-height:28px;padding:3px 0;line-height:1.4}
.hh-description-body{white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;line-height:1.75}
@media(max-height:720px){.listing-copy .caption-wrap{display:block}.listing-copy .caption:not(.expanded){-webkit-line-clamp:1}.listing-copy .caption.expanded{max-height:22dvh}}

/* CAMERA CAPTURE - HomyHunt patch 19 Oktober */
.hh-camera-button {display:inline-flex;align-items:center;justify-content:center;gap:6px;position:relative;overflow:hidden;padding:11px 12px;background:#e6f9f2;border-radius:12px;border:1px solid #b5e6d4;color:#046749;font-size:13px;font-weight:750;cursor:pointer;flex:1 1 140px}
.hh-camera-button:focus-within {outline:2px solid #00835e;outline-offset:2px}

/* HH_FOTO_KEMBALI_KE_ATAS_271026 */
.property-media .media-carousel {
  align-items: flex-start !important;
}
.property-media .media-item {
  height: 100% !important;
  align-self: flex-start !important;
  align-items: flex-start !important;
}
.property-media .media-item img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center top !important;
  align-self: flex-start !important;
  margin-top: 0 !important;
}

/* HH_PHOTO_TOP_FIX_V58 */
.property-slide .property-media.media-carousel .media-item {
  position: relative !important;
  margin-top: 0 !important;
}

.property-slide .property-media.media-carousel .media-item img {
  position: absolute !important;
  top: calc(var(--header-height, 78px) + env(safe-area-inset-top)) !important;
  left: 0 !important;
  width: 100% !important;
  height: auto !important;
  max-height: calc(100dvh - var(--header-height, 78px) - var(--nav-height, 68px) - 16px) !important;
  object-fit: contain !important;
  object-position: center top !important;
  margin: 0 !important;
}
