/* =====================================================================
   RICH PROPERTY — DESIGN LAYER 2026-10-17
   One spacing / type / card / button system for home, catalogue, off-plan,
   blog, listing pages. Colour-neutral: it only reuses the approved palette
   (ground #F6F1E7, ink #263c31, green #176E48, gold #B49A68).
   Loaded LAST. To undo: remove its <link> from inc/header.php.
   ===================================================================== */

/* ---------- 0. tokens ---------- */
html:root{
  --rp2-ground:#F6F1E7; --rp2-paper:#FCFAF4; --rp2-line:#E2DACA;
  --rp2-ink:#263c31; --rp2-soft:#5a665b;
  --rp2-green:#176E48; --rp2-green-d:#145A3D;
  --rp2-gold:#B49A68; --rp2-gold-d:#8f6417; --rp2-on-gold:#14100a;
  --rp2-serif:Didot,"Bodoni 72","Bodoni MT",Georgia,"Times New Roman",serif;
  --rp2-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --rp2-gap:24px;           /* grid gutter */
  --rp2-sec:clamp(64px,7vw,104px); /* space between sections */
  --rp2-r:2px;              /* images, buttons, inputs */
  --rp2-h2:clamp(34px,4.2vw,52px);
  --rp2-card-title:26px;
}
@media (max-width:767.98px){ html:root{ --rp2-card-title:24px; } }

/* ---------- 1. helpers ---------- */
html:root .visually-hidden,html:root .sr-only{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}

/* ---------- 2. section headers (eyebrow + H2 + lead) ---------- */
html:root.rp-luxury .section-title{margin:0 0 40px!important;padding:0!important;text-align:left!important}
html:root.rp-luxury .section-title h3{display:block!important;position:static!important;padding:0!important;margin:0 0 14px!important;text-align:left!important;text-indent:0!important;font:600 12px/1.4 var(--rp2-sans)!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:var(--rp2-green)!important}
html:root.rp-luxury .section-title h3::before,html:root.rp-luxury .section-title h3::after{display:none!important;content:none!important}
html:root.rp-luxury .section-title h2,
html:root.rp-luxury .section-title h4#rp-type-heading,
html:root.rp-luxury .lp-head h2{font-family:var(--rp2-serif)!important;font-weight:400!important;font-size:var(--rp2-h2)!important;line-height:1.1!important;letter-spacing:-.02em!important;margin:0!important;color:var(--rp2-ink)!important;text-align:left!important}
html:root.rp-luxury .section-title p,
html:root.rp-luxury .lp-head p{max-width:640px;margin:14px 0 0!important;font-size:17px!important;line-height:1.6!important;color:var(--rp2-soft)!important;text-align:left!important}
/* hero, page banners and the green CTA band keep light text */
html:root.rp-luxury .hero .section-title h3,html:root.rp-luxury .hero-content .section-title h3,html:root.rp-luxury .page-header .section-title h3,html:root.rp-luxury .page-header1 .section-title h3,html:root.rp-luxury .infobar-cta .section-title h3{color:#fff!important}
html:root.rp-luxury .hero .section-title,html:root.rp-luxury .hero-content .section-title,html:root.rp-luxury .page-header .section-title,html:root.rp-luxury .page-header1 .section-title{margin-bottom:0!important}
/* the lp-* header used by Signature / Off-plan / Luxury Collection */
html:root.rp-luxury .lp-head{display:block!important;text-align:left!important;max-width:none!important;margin:0 0 40px!important;padding:0!important}
html:root.rp-luxury .lp-eyebrow{display:block!important;margin:0 0 14px!important;padding:0!important;text-align:left!important;font:600 12px/1.4 var(--rp2-sans)!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:var(--rp2-green)!important}
html:root.rp-luxury .lp-eyebrow::before,html:root.rp-luxury .lp-eyebrow::after{display:none!important;content:none!important}
/* Luxury Collection header: eyebrow, H2, lead and the "View all" link on one tidy grid */
html:root.rp-luxury .rp-collection-heading{display:flex!important;flex-wrap:wrap!important;align-items:flex-end!important;column-gap:24px!important;row-gap:0!important;position:relative!important}
html:root.rp-luxury .rp-collection-heading .lp-eyebrow{order:1;flex:0 0 100%}
html:root.rp-luxury .rp-collection-heading h2{order:2;flex:1 1 auto}
html:root.rp-luxury .rp-collection-heading p{order:4;flex:0 0 100%}
html:root.rp-luxury .rp-collection-heading .rp-view-all{order:3;position:static!important;flex:0 0 auto;margin:0 0 6px!important;align-self:flex-end;display:inline-flex!important;align-items:center!important;min-height:44px!important;font:600 13px/1.2 var(--rp2-sans)!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:var(--rp2-green)!important;text-decoration:underline!important;text-decoration-color:var(--rp2-gold)!important;text-decoration-thickness:1px!important;text-underline-offset:7px!important;border:0!important;padding:0!important;white-space:nowrap}
@media (max-width:767.98px){
  html:root.rp-luxury .rp-collection-heading .rp-view-all{order:5;flex:0 0 auto;margin:18px 0 0!important;align-self:flex-start}
}

/* ---------- 3. container alignment: every block starts on the site gutter ---------- */
/* .lp-wrap is a container on the off-plan page, but on the home page it sits inside another container (double gutter) */
html:root.rp-luxury .container .lp-wrap,
html:root.rp-luxury #search-results-container .lp-wrap{width:100%!important;max-width:none!important;margin-inline:0!important;padding-inline:0!important}
html:root.rp-luxury footer.footer,
html:root.rp-luxury .footer{margin:clamp(48px,5vw,72px) 0 0!important}
html:root.rp-luxury .rp-collection-heading,
html:root.rp-luxury .lp-head{margin-inline:0!important}

/* ---------- 4. uniform card grids: 3 / 2 / 1 columns, 24px gutter ---------- */
html:root.rp-luxury .lp-grid,
html:root.rp-luxury #rp-home-projects{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:var(--rp2-gap)!important;row-gap:48px!important;width:100%!important;margin:0!important;padding:0!important}
@media (max-width:991.98px){ html:root.rp-luxury .lp-grid,html:root.rp-luxury #rp-home-projects{grid-template-columns:repeat(2,minmax(0,1fr))!important} }
@media (max-width:575.98px){ html:root.rp-luxury .lp-grid,html:root.rp-luxury #rp-home-projects{grid-template-columns:minmax(0,1fr)!important;row-gap:40px!important} }
/* the catalogue row already carries a 24px column gap: no extra negative margin / column padding */
html:root.rp-luxury #property-list{margin-left:0!important;margin-right:0!important;column-gap:var(--rp2-gap)!important;row-gap:48px!important}
html:root.rp-luxury #property-list > [class*="col-"]{margin:0!important;padding-left:0!important;padding-right:0!important}
html:root.rp-luxury .latest-posts .row{margin-left:-12px!important;margin-right:-12px!important}
html:root.rp-luxury .latest-posts .row > [class*="col-"]{padding-left:12px!important;padding-right:12px!important;margin-bottom:40px!important}

/* ---------- 5. PROPERTY CARDS (.rp-lux-card) ---------- */
html:root.rp-luxury :is(#property-list,body) .rp-lux-card{display:flex!important;flex-direction:column!important;height:100%!important;width:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;transform:none!important}
html:root.rp-luxury :is(#property-list,body) .rp-lux-card:hover{transform:none!important;box-shadow:none!important}
html:root.rp-luxury .rp-lux-card .rp-property-photo-link{display:block!important;position:relative!important;text-decoration:none!important}
html:root.rp-luxury .rp-lux-card .property-header{position:relative!important;aspect-ratio:6/5;overflow:hidden!important;border-radius:var(--rp2-r)!important;margin:0!important;padding:0!important;background:#ebe6dd}
html:root.rp-luxury .rp-lux-card .property-header figure{margin:0!important;height:100%!important;width:100%!important}
html:root.rp-luxury .rp-lux-card .property-header img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;border-radius:0!important}
html:root.rp-luxury :is(#property-list,body) .rp-lux-card .property-body{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;padding:20px 0 0!important;margin:0!important;text-align:left!important}
html:root.rp-luxury :is(#property-list,body) .rp-lux-card .rp-lux-location{display:block!important;order:0;margin:0 0 8px!important;padding:0!important;text-align:left!important;font:600 12px/1.4 var(--rp2-sans)!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--rp2-soft)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html:root.rp-luxury .rp-lux-card .rp-lux-location i{display:none!important}
html:root.rp-luxury .rp-lux-card .rp-lux-location .address{margin:0!important;display:inline!important}
html:root.rp-luxury :is(#property-list,body) .rp-lux-card .property-body h3.responsive-text{order:1;margin:0 0 10px!important;padding:0!important;min-height:calc(2 * 1.2em);font-size:var(--rp2-card-title)!important;line-height:1.2!important;text-align:left!important}
html:root.rp-luxury :is(#property-list,body) .rp-lux-card .property-body h3.responsive-text a.rp-card-title{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;max-width:100%!important;font-family:var(--rp2-serif)!important;font-size:var(--rp2-card-title)!important;line-height:1.2!important;font-weight:400!important;letter-spacing:-.01em!important;color:var(--rp2-ink)!important;text-decoration:none!important;white-space:normal!important;text-overflow:clip!important}
html:root.rp-luxury :is(#property-list,body) .rp-lux-card .property-body .rp-lux-price{order:2;display:block!important;width:auto!important;height:auto!important;margin:0 0 14px!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;text-align:left!important;font:400 var(--rp2-card-title)/1.15 var(--rp2-serif)!important;letter-spacing:0!important;color:var(--rp2-green)!important;cursor:pointer}
html:root.rp-luxury .rp-lux-card .property-meta{order:3;display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:6px 20px!important;margin:0!important;padding:0 0 18px!important;border:0!important;border-bottom:1px solid var(--rp2-line)!important}
html:root.rp-luxury .rp-lux-card .property-meta .property-amenity-item{display:inline-flex!important;align-items:center;gap:6px;margin:0!important;padding:0!important;font:400 14px/1.4 var(--rp2-sans)!important;color:var(--rp2-ink)!important}
html:root.rp-luxury .rp-lux-card .property-meta .property-amenity-item b{font-weight:400!important}
html:root.rp-luxury .rp-lux-card .property-meta .property-amenity-item.rp-lux-old-price,html:root.rp-luxury .rp-lux-card .rp-lux-old-price{display:none!important}
html:root.rp-luxury :is(#property-list,body) .rp-lux-card .property-footer{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:16px!important;margin:0!important;padding:18px 0 0!important;border:0!important}
html:root.rp-luxury .rp-lux-card .property-footer .agent-info{display:none!important}
html:root.rp-luxury .rp-lux-card .property-footer > div:not(.rp-lux-contacts){margin:0!important;padding:0!important}
html:root.rp-luxury :is(#property-list,body) .rp-lux-card .property-footer a.btn-default{display:inline-flex!important;align-items:center!important;align-self:flex-start!important;width:auto!important;height:auto!important;min-height:44px!important;margin:0!important;padding:0!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;font:600 13px/1.2 var(--rp2-sans)!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:var(--rp2-green)!important;text-decoration:underline!important;text-decoration-color:var(--rp2-gold)!important;text-decoration-thickness:1px!important;text-underline-offset:7px!important}
html:root.rp-luxury .rp-lux-card .rp-lux-contacts{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:100%!important;margin:0!important;padding:0!important}
html:root.rp-luxury .rp-lux-card .rp-lux-contacts a{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;box-sizing:border-box!important;width:auto!important;min-width:0!important;height:46px!important;margin:0!important;padding:0 8px!important;border-radius:var(--rp2-r)!important;font:600 13px/1 var(--rp2-sans)!important;letter-spacing:.04em!important;white-space:nowrap!important;text-decoration:none!important}
html:root.rp-luxury .rp-lux-card .rp-lux-contacts a.pty_contacts{background:transparent!important;border:1px solid var(--rp2-gold)!important;color:var(--rp2-green)!important}
html:root.rp-luxury .rp-lux-card .rp-lux-contacts a.pty_contacts:hover{background:var(--rp2-green)!important;border-color:var(--rp2-green)!important;color:#fff!important}
html:root.rp-luxury .rp-lux-card .rp-lux-contacts a[href*="wa.me"]{background:var(--rp2-green)!important;border:1px solid var(--rp2-green)!important;color:#fff!important}
html:root.rp-luxury .rp-lux-card .rp-lux-contacts a[href*="wa.me"]:hover{background:var(--rp2-green-d)!important;border-color:var(--rp2-green-d)!important}
html:root.rp-luxury .rp-lux-card .rp-lux-contacts a[href*="wa.me"] svg{display:block!important;width:16px!important;height:16px!important;fill:#fff!important;flex:0 0 auto}
html:root.rp-luxury .rp-lux-card .rp-lux-contacts a[href*="wa.me"]::after{content:"WhatsApp";color:#fff}
html:root.rp-luxury .rp-lux-card .rp-lux-contacts a i{font-size:13px}

/* ---------- 6. PROJECT CARDS (.lp-card: Signature collection, off-plan hub) ---------- */
html:root.rp-luxury .lp-card{display:flex!important;flex-direction:column!important;height:100%!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
html:root.rp-luxury .lp-card:hover{transform:none!important}
html:root.rp-luxury .lp-media{position:relative!important;aspect-ratio:6/5!important;overflow:hidden!important;border-radius:var(--rp2-r)!important;margin:0!important}
html:root.rp-luxury .lp-media img{width:100%!important;height:100%!important;object-fit:cover!important}
html:root.rp-luxury .lp-body{display:flex!important;flex-direction:column!important;flex:1 1 auto!important;gap:0!important;padding:20px 0 0!important;margin:0!important}
html:root.rp-luxury .lp-loc{display:block!important;order:0;margin:0 0 8px!important;padding:0!important;font:600 12px/1.4 var(--rp2-sans)!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--rp2-soft)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html:root.rp-luxury .lp-loc svg{display:none!important}
html:root.rp-luxury .lp-title{order:1;margin:0 0 12px!important;min-height:calc(2 * 1.2em);font-family:var(--rp2-serif)!important;font-weight:400!important;font-size:var(--rp2-card-title)!important;line-height:1.2!important;letter-spacing:-.01em!important;color:var(--rp2-ink)!important}
html:root.rp-luxury .lp-title a{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;font-family:var(--rp2-serif)!important;font-size:var(--rp2-card-title)!important;line-height:1.2!important;font-weight:400!important;letter-spacing:-.01em!important;color:var(--rp2-ink)!important;text-decoration:none!important;white-space:normal!important;text-overflow:clip!important}
html:root.rp-luxury .lp-foot{order:2;display:flex!important;flex-direction:row!important;text-align:left!important;align-items:flex-end!important;justify-content:space-between!important;gap:16px!important;margin-top:auto!important;padding:16px 0 0!important;border:0!important;border-top:1px solid var(--rp2-line)!important}
html:root.rp-luxury .lp-price{display:block!important;text-align:left!important;font:400 24px/1.15 var(--rp2-serif)!important;color:var(--rp2-green)!important}
html:root.rp-luxury .lp-price small{display:block!important;margin:0 0 6px!important;font:600 12px/1.3 var(--rp2-sans)!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:var(--rp2-soft)!important}
html:root.rp-luxury .lp-cta{display:inline-flex!important;align-items:center!important;min-height:44px!important;margin:0!important;padding:0!important;background:none!important;border:0!important;border-radius:0!important;font:600 13px/1.2 var(--rp2-sans)!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:var(--rp2-green)!important;text-decoration:underline!important;text-decoration-color:var(--rp2-gold)!important;text-decoration-thickness:1px!important;text-underline-offset:7px!important;white-space:nowrap}
html:root.rp-luxury .lp-card:hover .lp-cta{background:none!important;color:var(--rp2-green)!important}

/* ---------- 7. BADGES on photos: one readable style ---------- */
html:root.rp-luxury .lp-badge,html:root.rp-luxury .lp-badge.offplan,html:root.rp-luxury .lp-badge.ready,
html:root.rp-luxury .property-label,html:root.rp-luxury .property-label.rp-lab-featured,html:root.rp-luxury .rp-badge{position:absolute!important;top:14px!important;left:14px!important;right:auto!important;z-index:2;display:inline-block!important;margin:0!important;padding:7px 11px!important;background:var(--rp2-gold)!important;border:0!important;border-radius:var(--rp2-r)!important;font:600 11px/1.2 var(--rp2-sans)!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--rp2-on-gold)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;text-shadow:none!important}

/* ---------- 8. PROPERTY TYPE TILES ---------- */
html:root.rp-luxury .rp-type-section{padding:0!important;margin:var(--rp2-sec) 0 0!important}
html:root.rp-luxury .rp-type-section .rp-type-grid{gap:var(--rp2-gap)!important}
html:root.rp-luxury .rp-type-section .rp-type-card{border-radius:12px!important}
@media (min-width:768px){ html:root.rp-luxury .rp-type-section .rp-type-card{padding:28px 26px!important} }
html:root.rp-luxury .rp-type-section .rp-type-card h3{font-family:var(--rp2-serif)!important;font-size:var(--rp2-card-title)!important;line-height:1.2!important;color:var(--rp2-ink)!important;margin:0 0 8px!important;letter-spacing:-.01em!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
@media (max-width:767.98px){ html:root.rp-luxury .rp-type-section .rp-type-grid{gap:12px!important} html:root.rp-luxury .rp-type-section .rp-type-card h3{font-size:20px!important} html:root.rp-luxury .rp-type-section .rp-type-card{padding:22px 16px!important} }

/* ---------- 9. BLOG CARDS (home news + /blog index) ---------- */
html:root.rp-luxury .latest-posts .post-item{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
html:root.rp-luxury .latest-posts .post-featured-image{border-radius:var(--rp2-r)!important;overflow:hidden!important;margin:0 0 18px!important}
html:root.rp-luxury .latest-posts .post-featured-image img{width:100%!important;height:auto!important;aspect-ratio:16/9;object-fit:cover!important;border-radius:0!important}
html:root.rp-luxury .latest-posts .post-body{padding:0!important}
html:root.rp-luxury .latest-posts .post-category{margin:0 0 8px!important}
html:root.rp-luxury .latest-posts .post-category ul{margin:0!important;padding:0!important;list-style:none}
html:root.rp-luxury .latest-posts .post-category a{font:600 12px/1.4 var(--rp2-sans)!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--rp2-soft)!important;text-decoration:none!important;pointer-events:none}
html:root.rp-luxury .latest-posts .post-body h3,
html:root.rp-luxury .latest-posts .post-body h3.truncate-heading{margin:0!important;font-family:var(--rp2-serif)!important;font-size:var(--rp2-card-title)!important;line-height:1.2!important;font-weight:400!important;letter-spacing:-.01em!important}
html:root.rp-luxury .latest-posts .post-body h3 a{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;overflow:hidden!important;font-family:var(--rp2-serif)!important;font-size:var(--rp2-card-title)!important;line-height:1.2!important;font-weight:400!important;color:var(--rp2-ink)!important;text-decoration:none!important}


/* ---------- 11. WhatsApp / phone floating buttons never cover content on phones ---------- */
@media (max-width:767.98px){
  html:root.rp-luxury .rp-cc{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
}

/* ---------- 12. CALL-TO-ACTION BUTTONS: one shape, one height ---------- */
html:root.rp-luxury .featured-property .text-center > a.btn-default,
html:root.rp-luxury .container[style*="text-align:center"] > a.btn-default,
html:root.rp-luxury .lp-more a{display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;min-height:52px!important;margin:0!important;padding:0 36px!important;border-radius:var(--rp2-r)!important;font:600 13px/1 var(--rp2-sans)!important;letter-spacing:.1em!important;text-transform:uppercase!important;text-decoration:none!important}
html:root.rp-luxury .featured-property .text-center,
html:root.rp-luxury .lp-more{margin-top:56px!important;text-align:center!important}
html:root.rp-luxury .container[style*="text-align:center"]:has(> a.btn-default){margin:28px 0 0!important}
html:root.rp-luxury .lp-more a{background:transparent!important;border:1px solid var(--rp2-green)!important;color:var(--rp2-green)!important}
html:root.rp-luxury .lp-more a:hover{background:var(--rp2-green)!important;color:#fff!important}
html:root.rp-luxury .featured-property .text-center > a.btn-default,
html:root.rp-luxury .container[style*="text-align:center"] > a.btn-default{background:var(--rp2-green)!important;border:1px solid var(--rp2-green)!important;color:#fff!important}
/* gold button on photo/hero: dark text (contrast 6.9:1) */
html:root.rp-luxury .rp-lux-hero-actions .btn-default:not(.rp-lux-outline){background:var(--rp2-gold)!important;border-color:var(--rp2-gold)!important;color:var(--rp2-on-gold)!important}
@media (max-width:575.98px){
  html:root.rp-luxury .rp-lux-hero-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  html:root.rp-luxury .rp-lux-hero-actions > *{width:100%!important;max-width:none!important;margin:0!important;justify-content:center!important;text-align:center!important}
  html:root.rp-luxury .infobar-cta .cta-button{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  html:root.rp-luxury .infobar-cta .cta-button > a{width:100%!important;max-width:none!important;margin:0!important;justify-content:center!important;text-align:center!important}
}
