/* Rapid Deals v16 - Property Finder inspired public search and property detail polish. */

/* Wider property search shell: prevent filter labels/buttons from collapsing. */
.pf-properties-head-v15 .site-shell,
.pf-properties-controls-v15 .site-shell,
.pf-properties-results-v15 .site-shell{width:min(1560px,calc(100% - 56px));max-width:none}
.pf-public-filter-v15{grid-template-columns:minmax(270px,1.55fr) minmax(150px,.68fr) minmax(170px,.76fr) minmax(120px,.52fr) minmax(135px,.58fr) minmax(135px,.58fr) minmax(170px,.78fr) minmax(150px,.66fr) minmax(132px,auto) minmax(84px,auto);gap:10px;padding:16px}
.pf-public-filter-v15 label{min-width:0}
.pf-public-filter-v15 label span{font-size:9px;line-height:1.2;white-space:nowrap}
.pf-public-filter-v15 input,.pf-public-filter-v15 select{min-width:0;min-height:46px;padding:9px 12px;font-size:12px;line-height:1.2}
.pf-public-filter-v15 button,.pf-public-filter-v15>a{min-width:0;min-height:46px;padding:10px 15px;font-size:11px;line-height:1.15;white-space:nowrap;word-break:normal;overflow-wrap:normal;writing-mode:horizontal-tb}
.pf-public-filter-v15 button{min-width:132px}
.pf-public-filter-v15>a{min-width:84px}
@media(max-width:1480px){.pf-public-filter-v15{grid-template-columns:repeat(5,minmax(150px,1fr))}.pf-public-filter-v15 label:first-of-type{grid-column:span 2}.pf-public-filter-v15 button,.pf-public-filter-v15>a{width:100%}}
@media(max-width:980px){.pf-properties-head-v15 .site-shell,.pf-properties-controls-v15 .site-shell,.pf-properties-results-v15 .site-shell{width:min(100% - 34px,1560px)}.pf-public-filter-v15{grid-template-columns:repeat(3,minmax(0,1fr))}.pf-public-filter-v15 label:first-of-type{grid-column:span 2}}
@media(max-width:680px){.pf-public-filter-v15{grid-template-columns:1fr 1fr}.pf-public-filter-v15 label:first-of-type{grid-column:1/-1}.pf-public-filter-v15 button,.pf-public-filter-v15>a{min-width:0}}
@media(max-width:470px){.pf-public-filter-v15{grid-template-columns:1fr}.pf-public-filter-v15 label:first-of-type{grid-column:auto}}

/* Property detail: clean PF-inspired information hierarchy while retaining Rapid branding. */
body main .property-luxury-hero .site-shell,
.pf16-property-nav .site-shell,
.pf16-property-core .site-shell{width:min(1440px,calc(100% - 48px));max-width:none}
body main .property-luxury-hero{padding-top:26px!important;padding-bottom:30px!important;background:#f7f6f3!important}
body main .property-luxury-hero .property-gallery-stage-clean{min-height:clamp(470px,48vw,680px)!important;border-radius:22px!important;box-shadow:0 18px 48px rgba(18,32,41,.12)!important}
body main .property-luxury-hero .property-luxury-summary-grid{grid-template-columns:minmax(0,1fr) minmax(330px,390px)!important;gap:18px!important}
body main .property-luxury-hero .property-luxury-summary{padding:26px 28px!important;border-radius:20px!important;background:#fff!important;box-shadow:none!important}
body main .property-luxury-hero h1{max-width:none!important;font-size:clamp(32px,3.2vw,48px)!important;line-height:1.08!important;letter-spacing:-.04em!important}
body main .property-luxury-hero .property-live-price{font-size:clamp(30px,3vw,42px)!important}
.property-luxury-adviser-card{border-radius:20px!important;box-shadow:none!important}

.pf16-property-nav{position:sticky;z-index:65;top:68px;border-top:1px solid #ece7df;border-bottom:1px solid #ded9d1;background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}
.pf16-property-nav .site-shell{display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none}.pf16-property-nav .site-shell::-webkit-scrollbar{display:none}
.pf16-property-nav a{display:inline-flex;align-items:center;min-height:52px;padding:0 15px;border-bottom:2px solid transparent;color:#4c4640;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}.pf16-property-nav a:hover{border-color:#b88b38;color:#1f1a16}

.pf16-property-core{padding:30px 0 44px;background:#fff}.pf16-core-stack{display:grid;gap:20px}
.pf16-section-card{padding:28px;border:1px solid #e1dbd3;border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(36,28,20,.035)}
.pf16-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.pf16-section-head>div{min-width:0}.pf16-section-head small{display:block;margin-bottom:5px;color:#a2762c;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.pf16-section-head h2{margin:0;color:#201b17;font-size:28px;line-height:1.2;letter-spacing:-.025em}.pf16-section-head p{max-width:660px;margin:6px 0 0;color:#746d65;font-size:12px;line-height:1.6}
.pf16-details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #ece7e0;border-left:1px solid #ece7e0;border-radius:14px;overflow:hidden}.pf16-detail-item{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;min-height:92px;padding:16px;border-right:1px solid #ece7e0;border-bottom:1px solid #ece7e0;background:#fff}.pf16-detail-icon,.pf16-amenity-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid #e0d7cc;border-radius:10px;background:#faf8f5;color:#27211b}.pf16-detail-icon svg,.pf16-amenity-icon svg{width:20px;height:20px}.pf16-detail-item span{display:block;color:#81786f;font-size:10px;font-weight:750}.pf16-detail-item strong{display:block;margin-top:3px;color:#211c18;font-size:14px;line-height:1.3;overflow-wrap:anywhere}
.pf16-description{max-width:920px;color:#39332e;font-size:15px;line-height:1.85;white-space:pre-line}.pf16-description-title{margin:0 0 12px;color:#27211c;font-size:18px;line-height:1.35;text-transform:uppercase}.pf16-description-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.pf16-description-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border:1px solid #d8cec2;border-radius:10px;color:#332c26;font-size:11px;font-weight:800;text-decoration:none}.pf16-description-actions a.primary{border-color:#231f1b;background:#231f1b;color:#fff}
.pf16-amenities-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #ece7e0;border-left:1px solid #ece7e0;border-radius:14px;overflow:hidden}.pf16-amenity{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;min-height:72px;padding:13px 16px;border-right:1px solid #ece7e0;border-bottom:1px solid #ece7e0;color:#302a25;font-size:13px;font-weight:650;background:#fff}
.pf16-location-provider{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:20px}.pf16-location-card,.pf16-provider-card{padding:24px;border:1px solid #e1dbd3;border-radius:18px;background:#fbfaf8}.pf16-location-card h3,.pf16-provider-card h3{margin:0 0 8px;font-size:20px}.pf16-location-card p{margin:0;color:#655e57;line-height:1.7}.pf16-map-link{display:inline-flex;margin-top:18px;min-height:42px;align-items:center;padding:9px 14px;border:1px solid #d4c9bc;border-radius:10px;color:#302a25;font-size:11px;font-weight:800;text-decoration:none;background:#fff}.pf16-provider-person{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center}.pf16-provider-person img,.pf16-provider-person>span{width:64px;height:64px;border:2px solid #caa55d;border-radius:50%;object-fit:cover}.pf16-provider-person>span{display:grid;place-items:center;background:#1d2c34;color:#fff;font-size:20px;font-weight:900}.pf16-provider-person small{display:block;color:#8a7d70;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.pf16-provider-person strong{display:block;margin:3px 0;color:#211c18;font-size:17px}.pf16-provider-person em{display:block;color:#6e655d;font-size:11px;font-style:normal}.pf16-provider-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.pf16-provider-meta div{padding:10px 12px;border-radius:10px;background:#fff;border:1px solid #e7e0d8}.pf16-provider-meta span{display:block;color:#81776e;font-size:9px;text-transform:uppercase}.pf16-provider-meta strong{display:block;margin-top:2px;color:#2b2520;font-size:12px;overflow-wrap:anywhere}.pf16-provider-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.pf16-provider-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border:1px solid #d6ccc0;border-radius:10px;color:#2e2823;font-size:11px;font-weight:850;text-decoration:none;background:#fff}.pf16-provider-actions a.whatsapp{border-color:#18885b;background:#18885b;color:#fff}
@media(max-width:1050px){body main .property-luxury-hero .property-luxury-summary-grid{grid-template-columns:1fr!important}.pf16-details-grid,.pf16-amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pf16-location-provider{grid-template-columns:1fr}.pf16-property-nav{top:62px}}
@media(max-width:650px){body main .property-luxury-hero .site-shell,.pf16-property-nav .site-shell,.pf16-property-core .site-shell{width:min(100% - 28px,1440px)}body main .property-luxury-hero .property-gallery-stage-clean{min-height:330px!important}.pf16-section-card{padding:20px 17px;border-radius:16px}.pf16-section-head{align-items:flex-start;flex-direction:column}.pf16-section-head h2{font-size:24px}.pf16-details-grid,.pf16-amenities-grid{grid-template-columns:1fr}.pf16-provider-meta{grid-template-columns:1fr}.pf16-property-nav a{min-height:48px;padding:0 12px}}

/* Rapid property detail V38: centered fact icons + embedded location map */
.pf16-detail-icon,.pf16-amenity-icon{display:flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;padding:0!important}
.pf16-detail-icon svg,.pf16-amenity-icon svg{display:block!important;margin:0 auto!important;flex:0 0 auto!important;transform:none!important}
.pf16-location-card{display:flex!important;flex-direction:column!important;gap:18px!important;padding:24px!important;min-height:0!important}
.pf16-location-copy{display:block}
.pf16-location-copy h3{margin:0 0 8px!important}
.pf16-map-frame{position:relative;width:100%;height:310px;overflow:hidden;border:1px solid #e1dbd3;border-radius:14px;background:#f4f1ed}
.pf16-map-frame iframe{display:block;width:100%;height:100%;border:0}
.pf16-map-link{gap:7px;justify-content:center}
.pf16-map-link-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:16px;line-height:1}
@media(max-width:650px){.pf16-location-card{padding:18px!important}.pf16-map-frame{height:250px}}
