.property-action-button,.property-share-trigger,.action-icon-button,.share-channel,.copy-value-button,.enquiry-channel,.enquiry-wechat{-webkit-tap-highlight-color:transparent;font:inherit;cursor:pointer;touch-action:manipulation}.property-action-button:focus-visible,.property-share-trigger:focus-visible,.action-icon-button:focus-visible,.share-channel:focus-visible,.copy-value-button:focus-visible,.enquiry-channel:focus-visible,.enquiry-wechat:focus-visible,.property-enquiry-footer a:focus-visible{outline:2px solid var(--accent-ink);outline-offset:4px}.property-action-button:active,.property-share-trigger:active,.share-channel:active,.copy-value-button:active,.enquiry-channel:active,.enquiry-wechat:active{opacity:.75}.property-toolbar{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;gap:1rem;display:flex}.property-toolbar .prop-type-badge{margin:0}.property-share-trigger{border:1px solid var(--line-2);min-height:46px;color:var(--text-1);background:var(--surface-1);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:.6rem;padding:.6rem 1rem;font-size:.9rem;display:inline-flex}.property-share-trigger svg{width:19px;height:19px}.property-share-trigger:hover{border-color:var(--accent-ink)}.property-enquiry{margin-top:var(--space-lg);border:1px solid var(--line-2);background:var(--surface-1);border-radius:24px;max-width:960px;padding:clamp(1.25rem,4vw,2.25rem)}.property-enquiry-intro{align-items:flex-start;gap:1rem;margin-bottom:1.75rem;display:flex}.property-enquiry-monogram{border:1px solid var(--line-2);background:var(--accent-wash);height:54px;color:var(--accent-ink);font-family:var(--font-display);border-radius:16px;flex:0 0 54px;place-items:center;font-size:2rem;line-height:1;display:grid}.property-enquiry-eyebrow{color:var(--accent-ink);letter-spacing:.24em;margin:0 0 .35rem;font-size:.75rem;font-weight:500}.property-enquiry h2{letter-spacing:-.02em;margin:0 0 .5rem;font-size:clamp(1.4rem,3vw,1.85rem);line-height:1.35}.property-enquiry-description{color:var(--text-2);margin:0;font-size:1rem;line-height:1.65}.property-enquiry-actions{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.75rem;display:grid}.enquiry-channel{border:1px solid var(--line-2);min-height:88px;color:var(--text-1);background:var(--surface-1);border-radius:14px;grid-template-columns:26px 1fr 20px;align-items:center;gap:.9rem;padding:1rem 1.25rem;text-decoration:none;display:grid}.enquiry-channel>svg{width:24px;height:24px}.enquiry-channel>svg:last-child{width:18px;height:18px}.enquiry-channel span{min-width:0}.enquiry-channel strong,.enquiry-wechat strong{font-size:1rem;font-weight:600;line-height:1.45;display:block}.enquiry-channel small{overflow-wrap:anywhere;margin-top:.2rem;font-size:.875rem;line-height:1.5;display:block}.enquiry-phone{background:var(--accent-strong);color:var(--text-on-accent);border-color:var(--accent-strong)}.enquiry-line>svg:first-child{color:#06b54c}.enquiry-channel:hover{border-color:var(--accent-ink)}.enquiry-wechat{width:100%;color:var(--text-1);text-align:start;background:0 0;border:0;align-items:center;gap:.8rem;margin-top:1rem;padding:.85rem 0;display:flex}.enquiry-wechat-icon{background:var(--surface-sunken);color:#07a948;border-radius:50%;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.enquiry-wechat small{color:var(--text-2);overflow-wrap:anywhere;margin-top:.1rem;font-size:.875rem;display:block}.enquiry-wechat>span:nth-child(2){min-width:0}.enquiry-wechat-action{color:var(--accent-ink);flex-shrink:0;align-items:center;gap:.4rem;margin-inline-start:auto;font-size:.875rem;display:inline-flex}.enquiry-wechat-action svg{width:18px;height:18px}.property-enquiry-footer{border-top:1px solid var(--line-1);color:var(--text-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-top:1rem;padding-top:1.1rem;font-size:.875rem;display:flex}.property-enquiry-footer a{min-height:44px;color:var(--accent-ink);align-items:center;gap:.5rem;display:inline-flex}.property-enquiry-footer svg{width:16px;height:16px}.action-dialog{border:1px solid var(--line-2);background:var(--surface-1);width:min(520px,100vw - 48px);max-width:none;max-height:calc(100dvh - 48px);color:var(--text-1);overscroll-behavior:contain;border-radius:24px;margin:auto;padding:0;position:fixed;inset:0;overflow:auto}.action-dialog::backdrop{background:#0000008c}.action-dialog[open]{animation:.18s ease-out property-dialog-in}.action-dialog-header{z-index:1;border-bottom:1px solid var(--line-1);background:var(--surface-1);justify-content:space-between;align-items:center;gap:1rem;min-height:78px;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.action-dialog-header h2{font:inherit;margin:0;font-size:1.2rem;font-weight:600}.action-icon-button{background:var(--surface-sunken);width:44px;height:44px;color:var(--text-2);border:0;border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid}.action-icon-button svg{width:20px;height:20px}.action-dialog-body{padding:1.5rem}.share-property-title{color:var(--text-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 1.25rem;font-size:.925rem;line-height:1.6;display:-webkit-box;overflow:hidden}.share-property-title:focus,.share-view-heading:focus{outline:none}.copy-value{margin-bottom:1rem}.copy-value-button{border:1px solid var(--line-1);background:var(--surface-sunken);width:100%;color:var(--text-1);text-align:start;border-radius:14px;align-items:center;gap:.8rem;padding:1rem;display:flex}.copy-value-icon{border:1px solid var(--line-1);background:var(--surface-1);border-radius:50%;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.copy-value-icon svg{width:21px;height:21px}.copy-value-label{min-width:0;font-weight:500}.copy-value-label small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text-2);margin-top:.2rem;font-size:.75rem;font-weight:400;display:block;overflow:hidden}.copy-value-trailing{width:18px;height:18px;color:var(--text-2);flex-shrink:0;margin-inline-start:auto}.copy-value-manual{gap:.5rem;margin-top:.7rem;display:grid}.copy-value-manual label{color:var(--text-2);font-size:.875rem}.copy-value-manual input{border:1px solid var(--accent-ink);background:var(--surface-1);width:100%;min-width:0;min-height:48px;color:var(--text-1);font:inherit;border-radius:8px;padding:.7rem;font-size:1rem}.share-section-label{color:var(--text-2);margin:1.5rem 0 1rem;font-size:.875rem}.share-channels{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem .4rem;display:grid}.share-channel{min-width:0;min-height:96px;color:var(--text-1);text-align:center;background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:flex-start;align-items:center;gap:.55rem;padding:.25rem 0;font-size:.75rem;line-height:1.5;text-decoration:none;display:flex}.share-channel:hover{background:var(--surface-sunken)}.share-channel-icon{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:52px;height:52px;display:inline-grid}.share-channel-icon svg{width:26px;height:26px}.share-brand-share{background:#27313b}.share-brand-facebook{background:#0866ff}.share-brand-messenger{background:#0878f9}.share-brand-line{background:#06b54c}.share-brand-whatsapp{background:#10b95a}.share-brand-x{background:#111}.share-brand-wechat{background:#07ae50}.share-brand-instagram{background:#b73588}.share-notice{color:var(--text-2);margin:1rem 0;font-size:.875rem;line-height:1.6}.share-notice:empty{margin:0 0 1rem}.property-action-button{border:1px solid var(--line-2);text-align:center;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;min-height:52px;padding:.75rem 1rem;font-size:.925rem;font-weight:500;line-height:1.4;text-decoration:none;display:inline-flex}.property-action-button svg{flex-shrink:0;width:20px;height:20px}.action-primary{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--text-on-accent)}.action-secondary{background:var(--surface-1);color:var(--text-1)}.action-full{width:100%}.share-qr-card{color:#111;background:#fff;border:1px solid #e7e3dc;border-radius:20px;width:min(100%,288px);margin:0 auto 1.25rem;padding:1rem}.share-qr-card img{aspect-ratio:1;object-fit:contain;width:100%;height:auto;display:block}.share-qr-wordmark{text-align:center;letter-spacing:.3em;color:#786647;margin:.3rem 0 0;font-size:.8rem}.share-view-heading{text-align:center;overflow-wrap:anywhere;margin:0 0 .65rem;font-size:1.2rem;font-weight:500}.share-view-help{max-width:36ch;color:var(--text-2);text-align:center;margin:0 auto 1.5rem;font-size:.925rem;line-height:1.7}.share-view-actions{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:.75rem;margin-top:1rem;display:grid}.share-view-actions>:only-child{grid-column:1/-1}.share-app-heading{width:64px;height:64px;margin:0 auto 1rem;display:grid}.share-app-heading svg{width:32px;height:32px}.action-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes property-dialog-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width:560px){.property-enquiry-intro{gap:.8rem}.property-enquiry-monogram{border-radius:12px;flex-basis:42px;height:46px;font-size:1.7rem}.property-enquiry-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.enquiry-channel{flex-direction:column;justify-content:center;align-items:flex-start;gap:.65rem;min-height:122px;padding:1rem .85rem;display:flex}.enquiry-channel:only-child{grid-column:1/-1}.enquiry-channel>svg:last-child{display:none}.enquiry-channel strong{font-size:.925rem}.enquiry-channel small,.enquiry-wechat-action{font-size:.8rem}.enquiry-wechat-action>span{max-width:5.5rem}}@media (max-width:640px){.action-dialog{border-bottom:0;border-radius:24px 24px 0 0;width:100%;max-height:calc(100dvh - 16px);margin:0;inset:auto 0 0}.action-dialog-header{min-height:72px;padding:.8rem 1.25rem}.action-dialog-body{padding:1.25rem 1.25rem max(1.25rem, env(safe-area-inset-bottom))}}@media (max-width:359px){.property-enquiry-actions{grid-template-columns:1fr}.enquiry-channel{grid-template-columns:24px minmax(0,1fr);min-height:84px;display:grid}}@media (prefers-reduced-motion:reduce){.action-dialog[open]{animation:none}}
.property-page-wrapper{background:var(--surface-1);background:var(--surface-1);padding-bottom:4rem}.hero-section{background:var(--surface-band);width:100%;height:60vh;min-height:450px;position:relative}.heroSwiper{width:100%;height:100%}.heroSwiper .swiper-slide{cursor:zoom-in}.heroSwiper img{object-fit:cover;width:100%;height:100%}.main-content-container{margin-top:3rem;padding-top:0}.main-content-container .row{grid-template-columns:1.3fr .7fr;align-items:start;gap:40px;display:grid}.details-column,.sidebar-column{width:100%;margin:0;padding:0}.property-header-block{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.hero-badges{gap:10px;display:flex}.badge-type{background:var(--surface-sunken);color:var(--text-1);text-transform:uppercase;border:1px solid var(--line-2);padding:6px 12px;font-size:.8rem;font-weight:600}.badge-status.sold{color:var(--text-on-accent);background:#d32f2f;border-color:#d32f2f}.badge-status{background:var(--surface-band);color:var(--text-on-band);text-transform:uppercase;padding:6px 12px;font-size:.8rem;font-weight:600}.booking-card{background:var(--surface-1);border:1px solid var(--line-1);border-radius:12px;height:fit-content;padding:2rem;box-shadow:0 4px 20px #0000000d}.booking-header-row{border-bottom:1px solid #f9f9f9;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.agent-info{align-items:center;gap:12px;display:flex}.agent-avatar{background:var(--surface-sunken);width:48px;height:48px;color:var(--text-3);border-radius:50%;justify-content:center;align-items:center;display:flex}.agent-text h4{margin:0;font-size:1rem;font-weight:600}.agent-text p{color:var(--text-3);margin:0;font-size:.85rem}.price-header{text-align:right}.price-header .amount{color:var(--text-1);font-size:1.5rem;font-weight:600}.price-header .label{color:var(--text-3);text-transform:uppercase;font-size:.8rem}.specs-grid{flex-wrap:wrap;gap:3rem;margin-bottom:2.5rem;display:flex}.spec-card{flex-direction:column;gap:.25rem;display:flex}.spec-val{font-size:1.5rem;font-weight:500;font-family:var(--font-heading)}.spec-lb{color:var(--text-3);text-transform:uppercase;white-space:nowrap;align-items:center;font-size:.85rem;display:inline-flex}.divider{border-top:1px solid var(--line-1);margin:2rem 0}.section-heading{font-family:var(--font-heading);margin-bottom:1rem;font-size:1.5rem}.editorial-text{color:#444;font-size:1.05rem;line-height:1.8}@media (max-width:900px){.main-content-container .row{grid-template-columns:1fr;gap:2rem}.details-column{padding-right:0}.sidebar-column{margin-top:0}.specs-grid{grid-template-columns:repeat(2,1fr);gap:2rem}}.booking-form .form-group{margin-bottom:1rem}.booking-form .form-control{border:1px solid var(--line-1);background:var(--surface-1);border-radius:0;width:100%;padding:14px;transition:all .2s}.booking-form .form-control:focus{background:var(--surface-1);border-color:var(--text-1);outline:none}.btn-book{background:var(--accent-strong);width:100%;color:var(--text-on-accent);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;border:none;border-radius:0;margin-top:1rem;margin-bottom:.8rem;padding:16px;font-size:1rem;font-weight:600;transition:all .3s}.btn-book:hover{background:var(--color-accent-dark)}.btn-line{color:#00b900;background:var(--surface-1);border:1px solid #00b900;border-radius:0;justify-content:center;align-items:center;gap:8px;padding:12px;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.btn-line:hover{color:var(--text-on-accent);background:#00b900}.btn-calculator{color:var(--accent-ink);border:1px solid var(--color-accent);background:var(--surface-1);border-radius:0;justify-content:center;align-items:center;gap:8px;margin-top:.8rem;padding:12px;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.btn-calculator:hover{background:var(--accent-strong);color:var(--text-on-accent)}@media (max-width:991px){.main-content-container{margin-top:0}.details-column{box-shadow:none;padding:2rem}.sidebar-column{margin-top:2rem;padding-left:15px;padding-right:15px}.hero-title{font-size:2rem}.specs-grid{grid-template-columns:repeat(2,1fr);gap:2rem}}.property-header-block{margin-bottom:var(--space-lg);display:block}.prop-type-badge{margin-bottom:var(--space-sm);border-radius:var(--radius-full);background:var(--accent-wash);color:var(--accent-ink);font-size:var(--step--1);letter-spacing:.06em;padding:5px 12px;font-weight:600;display:inline-block}.property-header-block .page-title{font-size:var(--step-4);margin-bottom:var(--space-2xs)}.prop-location{color:var(--text-3);font-size:var(--step-0);margin-bottom:var(--space-sm)}.prop-price{margin-bottom:var(--space-2xs);color:var(--accent-ink)}.prop-price-row{align-items:baseline;gap:.6rem;margin:0 0 .15rem;display:flex}.prop-price-kind{min-width:3.5em;font-family:var(--font-body);font-size:var(--step-0);letter-spacing:.03em;color:var(--text-3);font-weight:500}.prop-price-amount{font-family:var(--font-display);font-size:var(--step-3);letter-spacing:var(--tracking-tight);font-weight:500;line-height:1.15}.prop-price-per{font-family:var(--font-body);font-size:var(--step-0);letter-spacing:0;color:var(--text-3);margin-left:.35rem;font-weight:400}.prop-price-dual .prop-price-amount{font-size:var(--step-2)}.prop-code{font-size:var(--step--1);color:var(--text-3);margin:0}.prop-flag{margin-bottom:var(--space-lg);border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-2);font-size:var(--step--1);align-items:center;gap:.5rem;padding:.6rem 1rem;display:inline-flex}.prop-description,.prop-map{margin-bottom:var(--space-lg);max-width:68ch}.prop-description p{color:var(--text-2);margin-bottom:1rem;line-height:1.8}.prop-description-body ul,.prop-description-body ol{color:var(--text-2);margin:0 0 1rem;padding-left:1.25rem}.prop-description-body li{margin-bottom:.4rem;line-height:1.8}.prop-description-body strong{color:var(--text-1);font-weight:500}.prop-description-body a{color:var(--accent-ink)}.prop-description-body p:empty{display:none}.prop-description-body h1,.prop-description-body h2,.prop-description-body h3{font-size:var(--step-1);margin:var(--space-sm) 0 .5rem}.section-heading{font-size:var(--step-2);margin-bottom:var(--space-sm)}.property-page-wrapper{padding-top:var(--space-lg)}.property-gallery .gallery-main{aspect-ratio:16/9;max-height:62svh}@media (max-width:991px){.property-page-wrapper{padding-top:var(--space-md)}.property-gallery .gallery-main{aspect-ratio:4/3;max-height:none}}
