/* One visual vocabulary for public search, map and listing metadata. */
.ui-icon{display:inline-block;width:18px;height:18px;flex:0 0 18px;vertical-align:middle;pointer-events:none}
.ui-fact,.ui-icon-text{display:inline-flex;align-items:center;gap:7px}.ui-fact{white-space:nowrap}.ui-fact .ui-icon{width:17px;height:17px;flex-basis:17px;color:#62666d}
body.property-page .property-search>label.has-field-icon{position:relative;padding-left:41px}
.property-search>.has-field-icon>.ui-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:21px;height:21px;color:#41464d}
.search-controls>.has-field-icon>.ui-icon{align-self:center}.search-controls>.has-field-icon{position:relative;padding-left:35px}.search-controls>.has-field-icon>.ui-icon{position:absolute;left:10px;top:50%}
#home-search .field-symbol .ui-icon{width:21px;height:21px}.property-card .facts{flex-wrap:wrap;row-gap:9px}.property-card .location .ui-icon{width:15px;height:15px}
body.property-page .property-view-controls{flex-wrap:wrap;gap:8px;max-width:100%}body.property-page .property-toolbar{flex-wrap:wrap}
body.property-page .property-view-controls label{gap:7px}body.property-page .property-view-controls label>.ui-icon{width:17px;height:17px}
body.property-page .property-view{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border:1px solid #dedfe2;border-radius:5px;background:#fff;color:#333;line-height:1.2;text-decoration:none}
body.property-page .property-view.selected{color:#fff;background:#b50923;border-color:#b50923}
body.property-page .property-view:hover{border-color:#b50923}body.property-page .property-view:focus-visible{outline:3px solid #d99622;outline-offset:3px}
body.property-page .property-location{display:flex;align-items:center}.property-facts .ui-fact{gap:6px}
/* Mask the photograph itself so its rectangular source edge cannot show through. */
body.property-page main>.heading:before{inset:0 0 0 32%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 34%,#000 94%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 34%,#000 94%,transparent 100%)}
body.property-page main>.heading:after{background:linear-gradient(90deg,#fff 0%,#fff 30%,#fffffff2 40%,#ffffffb3 49%,#ffffff00 69%)}
body.property-page #title{max-width:57%;font-size:clamp(36px,4.6vw,70px)}
body.property-page #title .hero-title-line{display:block}
body.property-page #intro{max-width:560px}
body.family-page #title{font-size:clamp(36px,4.2vw,65px);max-width:61%}
body.family-page #intro{max-width:550px}
@media(min-width:1101px){body.property-page:not(.family-page) #title .hero-title-line{white-space:nowrap}}
@media(min-width:761px) and (max-width:1100px){body.property-page #title{max-width:75%;font-size:clamp(40px,4.8vw,54px)}body.property-page #intro{max-width:70%}body.property-page main>.heading:before{left:27%}body.property-page main>.heading:after{background:linear-gradient(90deg,#fff 0%,#fffffff5 35%,#ffffffa6 55%,transparent 90%)}}
@media(max-width:760px){body.property-page #title,body.family-page #title{max-width:100%;font-size:36px}body.property-page #intro,body.family-page #intro{max-width:100%;font-size:15px}body.property-page main>.heading:before{left:0;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 55%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 55%,transparent 100%)}body.property-page main>.heading:after{background:linear-gradient(90deg,#fffffff7 0%,#ffffffeb 45%,#ffffffa6 100%)}body.property-page .property-view-controls{gap:8px}body.property-page .property-view{padding:10px 12px}body.property-page .property-facts{gap:10px 14px}}
.listing-facts{display:flex;flex-wrap:wrap;gap:10px 14px;font:12px/1.4 Arial,sans-serif;color:#555;margin:12px 0}.offer-card .property-location{font-size:13px;color:#636a73;margin:8px 0}
body.property-page .property-view-controls label>span{display:inline-flex;align-items:center;gap:8px}body.property-page #intro{text-wrap:balance}

/* Explicit desktop copy layout wins over generic balanced hero wrapping. */
@media(min-width:1000px){body.family-page.family-short_stay #intro{max-width:none;white-space:nowrap;text-wrap:nowrap;font-size:clamp(16px,1.4vw,20px)}}
