/* Property pages only. Loaded after the shared theme to keep the layout consistent. */
.sh-luxury .property-detail{padding:36px 0 64px!important}
.property-detail .container,.property-detail .gallery{width:calc(100% - 64px);max-width:1240px;margin-inline:auto}
.property-detail .rr-header{padding:0;margin-bottom:28px}
.property-detail .breadcrumbs{margin:0 0 28px;font-size:11px;line-height:1.8;letter-spacing:.04em;color:var(--sh-muted);overflow-wrap:anywhere}
.property-detail .breadcrumbs a{color:inherit}
.property-heading-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:center}
.property-detail .eyebrow{margin:0 0 12px;color:var(--sh-brass-dark);font-size:11px;letter-spacing:.13em;text-transform:uppercase}
.property-detail .rr-title{max-width:880px;font-size:clamp(34px,3.8vw,52px)!important;line-height:1.08!important;margin:0 0 16px}
.property-detail .rr-sub{font-size:16px!important;color:var(--sh-muted);margin:0 0 10px}
.property-detail .rr-meta{font-size:12px!important;line-height:1.7;letter-spacing:.04em}
.property-heading-price{display:flex;flex-direction:column;gap:8px;border-left:1px solid var(--sh-line);padding-left:32px;white-space:nowrap}
.property-heading-price .eyebrow{margin:0}
.property-heading-price strong{font:500 34px/1.2 var(--sh-sans);color:var(--sh-ink)}
.property-heading-price>span:last-child{font-size:12px;color:var(--sh-muted)}
.property-detail .property-primary-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:24px}
.property-detail .property-primary-actions .btn{min-height:46px;padding:12px 20px;font-size:13px}
.property-detail .property-whatsapp-link{font-size:13px;color:var(--sh-ink)}
.property-detail .gallery{margin-bottom:40px}
.property-detail .hero-stage{position:relative;height:clamp(300px,42vw,560px);overflow:hidden;background:var(--sh-ivory);border-radius:10px}
.property-detail .hero-stage .hero-photo{display:block;width:100%;height:100%!important;object-fit:cover;border-radius:0!important}
.property-detail .carousel-nav{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid #ffffff60;border-radius:50%;background:#17201caa;color:#fff;cursor:pointer;z-index:2}
.property-detail .carousel-nav:hover{background:var(--sh-ink)}
.property-detail .carousel-nav[hidden]{display:none}
.property-detail .prev{left:20px}.property-detail .next{right:20px}
.property-detail .photo-count{position:absolute;bottom:20px;right:20px;background:#17201ccc;color:#fff;padding:7px 13px;border-radius:20px;font:500 12px var(--sh-sans);z-index:2}
.property-detail .thumbs{display:flex!important;flex-wrap:nowrap;gap:10px!important;overflow-x:auto;margin:12px 0 0!important;padding:4px 2px 8px;scrollbar-width:thin}
.property-detail .thumbs .thumb,.property-detail .thumbs .thumb:nth-of-type(n+5){display:block!important;flex:0 0 112px;width:112px;height:76px!important;padding:0;border:0;background:var(--sh-ivory);border-radius:5px!important;opacity:.65;cursor:pointer;overflow:hidden}
.property-detail .thumbs .thumb img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}
.property-detail .thumbs .thumb.active{opacity:1;outline:2px solid var(--sh-brass-dark);outline-offset:2px}
.property-detail .thumbs .thumb:hover{opacity:1}
.property-detail :is(a,button,input,textarea,.hero-stage):focus-visible{outline:2px solid var(--sh-brass-dark);outline-offset:4px}
.property-detail .detail{display:grid;grid-template-columns:minmax(0,1fr) 360px!important;gap:48px!important;align-items:start}
.property-detail .detail>div,.property-detail aside{min-width:0}
.property-detail .property-snapshot{margin:0 0 32px;padding:0;border:0}
.property-detail h2{font:500 32px/1.15 var(--sh-serif);margin:0 0 22px;color:var(--sh-ink)}
.property-detail .property-snapshot dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;gap:0;border:1px solid var(--sh-line);border-radius:8px;overflow:hidden;background:var(--sh-white)}
.property-detail .property-snapshot dl>div{min-height:92px;padding:18px;border-bottom:1px solid var(--sh-line);background:transparent}
.property-detail .property-snapshot dt{font-size:10px;line-height:1.5;color:var(--sh-muted);letter-spacing:.07em;text-transform:uppercase}
.property-detail .property-snapshot dd{margin:8px 0 0;font:500 16px/1.45 var(--sh-sans);overflow-wrap:anywhere}
.property-detail .property-content-section{padding:30px 0;border-top:1px solid var(--sh-line)}
.property-detail .property-content-section p,.property-detail .rte{font-size:16px;line-height:1.85;color:var(--sh-text);overflow-wrap:anywhere}
.property-detail .property-content-section p{margin:0 0 18px}
.property-detail .rte :is(h2,h3,h4){font:600 21px/1.4 var(--sh-serif);margin:26px 0 12px}
.property-detail .rte :is(ul,ol){padding-left:24px;margin:16px 0}.property-detail .rte li{margin-bottom:8px}
.property-detail .rte div+div{margin-top:12px}
.property-detail .highlights{display:grid;grid-template-columns:1fr;gap:0;list-style:none;margin:0;padding:0}
.property-detail .highlights li{padding:14px 0!important;line-height:1.85;font-size:16px;background:none;border:0!important;overflow-wrap:anywhere}
.property-detail .highlights li+li{border-top:1px solid var(--sh-line)!important}
.property-detail .property-particulars{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.property-detail .check{color:var(--sh-brass-dark);margin-right:8px}
.property-detail .stats{display:flex;flex-wrap:wrap;gap:10px}
.property-detail .stats .chip{padding:9px 14px!important;border:1px solid var(--sh-line);border-radius:4px!important;background:var(--sh-white)!important;font-size:13px}
.property-detail aside>.panel{position:static;margin:0;padding:28px!important;background:var(--sh-white)!important;border:1px solid var(--sh-line)!important;border-top:3px solid var(--sh-brass)!important;border-radius:8px!important}
.property-detail #enquiryPanel{scroll-margin-top:110px}
.property-detail .side-contact{position:static;margin:0}
.property-detail .side-contact h2{font-size:30px;margin-bottom:12px}
.property-detail .enquiry-intro{font-size:14px;line-height:1.6;color:var(--sh-muted);margin:0 0 24px}
.property-detail .contact-form{display:grid;gap:16px}
.property-detail .form-field{display:flex;flex-direction:column;gap:7px;min-width:0}
.property-detail .form-field label{font-size:12px;font-weight:500;color:var(--sh-ink)}
.property-detail .side-contact input,.property-detail .side-contact textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:11px 12px!important;min-height:46px;font:inherit;font-size:16px;border:1px solid var(--sh-line)!important;border-radius:4px!important;background:#fff}
.property-detail .side-contact textarea{resize:vertical;line-height:1.5}
.property-detail .form-actions .btn{width:100%;font-size:13px;white-space:normal;min-height:48px}
.property-detail .map-embed{overflow:hidden;border:1px solid var(--sh-line);border-radius:8px!important}
.property-detail .map-embed iframe{display:block;width:100%;height:320px;border:0}
.has-agent-sticky-bar{padding-bottom:84px}
.has-agent-sticky-bar .agent-sticky{position:fixed;inset:auto 0 0;z-index:30;background:var(--sh-ink)!important;padding-bottom:env(safe-area-inset-bottom)}
.has-agent-sticky-bar .agent-sticky .inner{display:flex;align-items:center;gap:24px;max-width:1240px;width:calc(100% - 64px);margin:auto;padding:12px 0;color:#fff}
.has-agent-sticky-bar .agent-sticky .name{font-size:13px}.has-agent-sticky-bar .agent-sticky .name a{color:#fff}
.has-agent-sticky-bar .agent-sticky .cta{display:flex;gap:10px;margin-left:auto}
.has-agent-sticky-bar .agent-sticky .cta a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:8px 18px;border:1px solid #ffffff50;border-radius:4px;color:#fff;text-decoration:none;font-size:12px}
.has-agent-sticky-bar .agent-sticky .cta a span{display:inline}
.has-agent-sticky-bar .whatsapp-float{display:none!important}
@media(min-width:981px) and (min-height:850px){.property-detail aside{position:sticky;top:100px}}
@media(max-width:980px){
 .property-detail .detail{grid-template-columns:minmax(0,1fr)!important;gap:32px!important}
 .property-detail aside{width:100%}
 .property-detail .contact-form{grid-template-columns:repeat(2,minmax(0,1fr))}
 .property-detail .form-field:has(textarea),.property-detail .form-actions{grid-column:1/-1}
}
@media(max-width:640px){
 .sh-luxury .property-detail{padding:24px 0 40px!important}
 .property-detail .container,.property-detail .gallery{width:calc(100% - 32px)}
 .property-detail .breadcrumbs{font-size:10px;margin-bottom:22px}
 .property-heading-grid{grid-template-columns:1fr;gap:20px}
 .property-detail .rr-title{font-size:36px!important}
 .property-heading-price{border-left:0;border-top:1px solid var(--sh-line);padding:18px 0 0;gap:5px}
 .property-heading-price strong{font-size:28px}
 .property-detail .property-primary-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:20px}
 .property-detail .property-primary-actions .btn{text-align:center}
 .property-detail .property-whatsapp-link{text-align:center;padding:8px}
 .property-detail .hero-stage{height:300px;border-radius:6px}
 .property-detail .prev{left:12px}.property-detail .next{right:12px}
 .property-detail .carousel-nav{width:42px;height:42px}
 .property-detail .thumbs .thumb,.property-detail .thumbs .thumb:nth-of-type(n+5){flex-basis:88px;width:88px;height:62px!important}
 .property-detail .property-snapshot dl{grid-template-columns:repeat(2,minmax(0,1fr))}
 .property-detail .property-particulars,.property-detail .contact-form{grid-template-columns:1fr}
 .property-detail h2{font-size:28px}
 .property-detail aside>.panel{padding:22px!important}
 .has-agent-sticky-bar .agent-sticky .inner{width:100%;padding:8px 12px!important}
 .has-agent-sticky-bar .agent-sticky .name{display:none}
 .has-agent-sticky-bar .agent-sticky .cta{width:100%;margin:0;gap:8px}
 .has-agent-sticky-bar .agent-sticky .cta a{flex:1;min-width:0!important;flex-direction:row;height:46px!important;padding:8px;border:1px solid #ffffff50}
 .has-agent-sticky-bar .agent-sticky .cta a span{font-size:11px}
}

/* Plain-text feature blocks have their own hierarchy rather than paragraph spacing. */
.property-detail .property-content-section .description-highlights-title{margin:28px 0 16px;font:600 25px/1.25 var(--sh-serif);color:var(--sh-ink)}
.property-detail .description-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;list-style:none;margin:0 0 24px;padding:0;border-top:1px solid var(--sh-line)}
.property-detail .description-highlights li{position:relative;margin:0;padding:14px 0 14px 22px;border-bottom:1px solid var(--sh-line);font-size:15px;line-height:1.6;overflow-wrap:anywhere}
.property-detail .description-highlights li::before{content:'✓';position:absolute;left:0;top:14px;color:var(--sh-brass-dark);font-size:13px;font-weight:600}
.property-detail .description-highlights li strong{font-weight:600}
@media(max-width:640px){.property-detail .description-highlights{grid-template-columns:1fr}}
