.property-detail { overflow-wrap: anywhere; }
.property-detail h1 { font-size: clamp(1.45rem, 2.3vw, 2rem); line-height: 1.25; }
.property-price { text-align: left; }
.property-detail .card { border-radius: 14px; overflow: hidden; }
.property-detail .property-main-image { height: clamp(240px, 37vw, 510px); object-fit: contain; background: #f1f4f8; cursor: zoom-in; }
.property-detail .property-thumbnails { padding: 12px !important; scrollbar-width: thin; }
.property-detail .thumb-button { flex: 0 0 auto; border-radius: 8px; }
.property-detail .thumb-slide { width: 88px !important; height: 64px !important; }
.property-detail .thumb-button:focus-visible { outline: 3px solid #0d6efd; outline-offset: 3px; }
.property-enquiry { scroll-margin-top: 100px; }
.property-enquiry .card-header { padding: 18px; }
.property-enquiry .card-body { padding: 20px; }
.property-enquiry input, .property-enquiry textarea { font-size: 16px; min-height: 44px; }
.property-enquiry .form-check-input { min-height: auto; }
.gallery-tools { margin-top: -12px; }
.gallery-full-image { max-width: 100%; max-height: calc(100dvh - 220px); object-fit: contain; }
.property-mobile-action { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1025; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: white; border-top: 1px solid #e1e7ef; }
@media (min-width: 992px) {
    .property-enquiry { position: sticky; top: 90px; }
}
@media (max-width: 991.98px) {
    body:has(.property-detail) { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
    .property-detail { padding-top: 16px !important; }
    .property-detail .badge { font-size: .8rem !important; }
    .property-enquiry { position: static; }
}
