:root{
  --orange:#ff5a1f;--orange-dark:#ee4f18;--ink:#101827;--muted:#6b7688;--line:#e4e8ee;--soft:#f7f8fa;--white:#fff;
}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}button,a{font:inherit}button{cursor:pointer;color:inherit}a{text-decoration:none;color:inherit}.rb-container{width:min(1240px,calc(100% - 48px));margin-inline:auto}
.rb-filterbar small,.rb-filterbar strong,.rb-specs small,.rb-specs strong,.rb-tags span,.rb-meta-row,.rb-agency small,.rb-map-specs span,.rb-map-specs small,.rb-map-agency small{font-size:.85rem}
.rb-price-row span,.rb-address{font-size:.95rem}

/* ---------------------------------------------------------------------- */
/* Search-first header (partials/realybee-search-header.blade.php) —      */
/* used on the properties list + map instead of the classic nav header.   */
/* ---------------------------------------------------------------------- */
.rb-search-header{ background:#fff; border-bottom:1px solid var(--line); }
.rb-search-header-inner{ height:76px; display:flex; align-items:center; gap:18px; }
.rb-sh-brand{
  flex:0 0 auto; display:inline-flex; align-items:center; gap:8px;
  font-size:1.3rem; font-weight:800; letter-spacing:-.02em; color:var(--ink); text-decoration:none;
}
.rb-sh-brand span{ color:var(--orange); }
.rb-sh-brand-mark{ color:var(--orange); display:inline-flex; }
.rb-sh-brand-mark svg{ stroke:currentColor; fill:none; stroke-width:1.9; }

.rb-sh-search{
  position:relative; flex:1 1 auto; min-width:0; max-width:640px; display:flex; align-items:center; gap:10px;
  height:48px; padding:0 8px 0 16px; border:1px solid var(--line); border-radius:12px; background:#fff;
}
.rb-sh-search svg{ flex:0 0 auto; stroke:#8a95a6; fill:none; stroke-width:1.9; }
.rb-sh-search input{ flex:1 1 auto; min-width:0; border:0; outline:0; background:transparent; font:inherit; font-size:14.5px; color:var(--ink); }
.rb-sh-search-filter{
  flex:0 0 auto; width:36px; height:36px; border-radius:9px; border:1px solid var(--line); background:#fff;
  display:grid; place-items:center; color:#6b7688;
}
.rb-sh-search-filter:hover{ border-color:#c9d0db; }
.rb-sh-suggest{
  position:absolute; top:calc(100% + 8px); left:0; right:0; max-height:320px; overflow-y:auto;
  background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 18px 40px rgba(16,24,39,.16);
  padding:6px; z-index:60;
}

.rb-sh-actions{ flex:0 0 auto; display:flex; align-items:center; gap:9px; }
.rb-sh-icon{
  position:relative; height:48px; min-width:48px; display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:0 14px;
  border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); cursor:pointer; font-size:13.5px; font-weight:700;
}
.rb-sh-icon:hover{ border-color:#c9d0db; }
.rb-sh-icon svg{ stroke:currentColor; fill:none; stroke-width:1.9; }
.rb-sh-badge{
  position:absolute; top:-4px; right:-4px; min-width:17px; height:17px; padding:0 4px; border-radius:999px;
  background:var(--orange); color:#fff; font-size:10px; font-weight:800; display:grid; place-items:center;
}
.rb-sh-lang span{ font-size:12.5px; }
.rb-sh-cta{
  height:48px; display:inline-flex; align-items:center; gap:7px; padding:0 18px; border-radius:12px; border:0;
  background:var(--orange); color:#fff; font-weight:750; font-size:13.5px; text-decoration:none; white-space:nowrap;
}
.rb-sh-cta:hover{ background:var(--orange-dark); }
@media(max-width:900px){
  .rb-sh-brand span:last-child{ display:none; }
  .rb-sh-lang span, .rb-sh-cta span, .rb-sh-cta{ font-size:0; padding:0 12px; }
  .rb-sh-actions{ gap:6px; }
}

/* title + action row */
.rb-listing-head{ padding:18px 0 20px; }
.rb-title-row{ margin-top:22px; }
.rb-title-row h1{ font-size:1.85rem; line-height:1.15; margin:0 0 4px; letter-spacing:-.03em; }
.rb-title-row p{ margin:0; color:#8792a4; font-size:.88rem; }

.rb-action-row{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-top:16px; }
.rb-action-row-left{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.rb-save-search-form{ display:inline-flex; }
.rb-save-search{
  height:44px; padding:0 16px; border-radius:10px; border:1px solid var(--line); background:#fff;
  display:inline-flex; align-items:center; gap:8px; font-size:.86rem; font-weight:650; color:var(--ink); white-space:nowrap;
}
.rb-save-search:hover{ border-color:#c9d0db; }
.rb-save-search svg{ flex:0 0 auto; color:#6b7688; }
.rb-map-view-btn{
  height:44px; padding:0 18px; border-radius:10px; border:0; background:var(--ink); color:#fff;
  display:inline-flex; align-items:center; gap:8px; font-size:.86rem; font-weight:700; white-space:nowrap;
}
.rb-map-view-btn:hover{ background:#1a2440; }
.rb-map-view-btn svg{ stroke:#fff; fill:none; }

/* filter row — independent floating pills directly on the page background,
   NOT a bordered/backgrounded toolbar. Each trigger is a self-contained
   button (own border/radius/shadow), same visual language as Map View's
   .mt-dd controls. No overflow:hidden on the row — dropdown panels are
   absolutely positioned children that must be free to extend below it. */
.rb-filterbar{ margin-top:9px; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.rb-filterbar .mt-dd{ position:relative; }

.mt-dd-trigger{
  height:46px; display:inline-flex; align-items:center; gap:8px;
  border:1px solid var(--line); border-radius:10px; background:#fff;
  padding:0 14px; text-align:left; cursor:pointer; color:var(--ink); font-size:13.5px; font-weight:650;
  transition:border-color .12s ease, box-shadow .12s ease, background .12s ease;
}
.mt-dd-trigger:hover{ border-color:#c9d0db; }
.mt-dd-trigger:focus-visible{ outline:2px solid var(--orange); outline-offset:1px; }
.mt-dd-trigger>svg{ flex:0 0 auto; color:#8a95a6; }
.mt-dd-label{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:160px; }
.mt-dd-chev{ flex:0 0 auto; color:#8a95a6; transition:transform .18s ease; }
.mt-dd.is-open .mt-dd-chev{ transform:rotate(180deg); }
.mt-dd.is-open .mt-dd-trigger{ border-color:var(--orange); box-shadow:0 0 0 3px rgba(255,90,31,.12); }
.mt-dd-trigger.has-value{ border-color:var(--orange); color:var(--orange); background:#fff9f6; }
.mt-dd-trigger.has-value svg{ color:var(--orange); }

.mt-dd-panel{position:absolute;top:calc(100% + 8px);left:0;min-width:250px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px rgba(16,24,39,.16);padding:8px;z-index:60;display:none;animation:mtPop .15s ease}
@keyframes mtPop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.mt-dd.is-open .mt-dd-panel{display:block}
.mt-dd-panel--sm{min-width:170px}
.mt-dd-panel--form{min-width:270px;padding:14px}
.mt-dd-panel--rooms{min-width:280px;padding:14px}
.mt-dd-panel--typedeal{min-width:380px;max-width:420px;max-height:560px;overflow-y:auto}
.mt-dd-search{padding:4px 6px 8px}
.mt-dd-search input{width:100%;height:38px;border:1px solid var(--line);border-radius:8px;padding:0 10px;font:inherit;font-size:13px}
.mt-dd-search input:focus{outline:0;border-color:var(--orange)}
.mt-dd-list{list-style:none;margin:0;padding:0;max-height:280px;overflow-y:auto}
.mt-dd-list li{padding:10px 12px;border-radius:8px;font-size:13.5px;font-weight:550;cursor:pointer;color:var(--ink);display:flex;align-items:center;justify-content:space-between}
.mt-dd-list li:hover,.mt-dd-list li.is-focused{background:#f4f5f7}
.mt-dd-list li.is-selected{color:var(--orange);font-weight:750;background:#fff3ec}
.mt-dd-list li[hidden]{display:none}
.mt-dd-empty{padding:16px 10px;text-align:center;font-size:12.5px;color:#8a95a6}
/* type+deal popover: icon rows instead of the plain li text rows above */
.mt-deal-toggle{ display:flex; gap:6px; padding:0 4px 8px; margin-bottom:6px; border-bottom:1px solid var(--line); }
.mt-deal-toggle button{ flex:1; height:36px; border:1px solid var(--line); border-radius:8px; background:#fff; font-weight:700; font-size:13px; cursor:pointer; color:var(--ink); }
.mt-deal-toggle button.is-selected{ background:var(--ink); border-color:var(--ink); color:#fff; }
.mt-dd-list--icons li{ gap:10px; justify-content:flex-start; }
.mt-dd-list--icons li svg{ flex:0 0 auto; stroke:currentColor; fill:none; stroke-width:1.8; color:#6b7688; }
.mt-dd-list--icons li.is-selected svg{ color:var(--orange); }
.mt-dd-list--icons li::after{ display:none; }

/* location: city autocomplete (header search bar) */
.mss-item{ padding:10px 12px; border-radius:8px; font-size:13.5px; font-weight:600; color:var(--ink); cursor:pointer; }
.mss-item:hover, .mss-item.is-focused{ background:#f4f5f7; }
.mss-item small{ display:block; font-weight:500; color:#8a95a6; font-size:11.5px; margin-top:1px; }
.rb-city-list li{flex-direction:column;align-items:flex-start;gap:1px}
.rb-city-name{font-size:13.5px}
.rb-city-name mark{background:#ffe4d4;color:var(--orange-dark);border-radius:2px;padding:0 1px}
.rb-city-region{font-size:11.5px;font-weight:500;color:#8a95a6}
.rb-city-list li.is-selected .rb-city-region{color:#e39273}

.mt-price-row{display:flex;gap:10px}
.mt-price-row label{display:flex;flex-direction:column;gap:5px;font-size:11.5px;color:#8a95a6;font-weight:650;flex:1}
.mt-price-row input{height:40px;border:1px solid var(--line);border-radius:8px;padding:0 10px;font:inherit;font-size:13.5px;color:var(--ink)}
.mt-price-row input:focus{outline:0;border-color:var(--orange)}
.mt-dd-apply{width:100%;height:40px;margin-top:10px;border:0;border-radius:9px;background:var(--orange);color:#fff;font-weight:700;font-size:13.5px;cursor:pointer}
.mt-dd-apply:hover{background:var(--orange-dark)}

.mt-dd--sort{position:relative}
.mt-dd--sort .mt-dd-trigger{height:44px;padding:0 14px;border:1px solid var(--line);border-radius:10px;gap:7px;width:auto;background:#fff}
.mt-dd--sort .mt-dd-label{font-size:.86rem;font-weight:650;white-space:nowrap;max-width:none}

@media(max-width:900px){
  .rb-filterbar{ flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; padding-bottom:2px; }
  .rb-filterbar::-webkit-scrollbar{ display:none; }
  .rb-filterbar .mt-dd{ flex:0 0 auto; }
  .mt-dd-panel{left:0;right:auto;max-width:calc(100vw - 40px)}
}

/* ---------------------------------------------------------------------- */
/* Advanced filters — grouped panel, real DB fields only (see             */
/* Front\PropertyController::applyFilters()). Replaces the old flat       */
/* <label>+<select> grid that had no structure and read as unfinished.    */
/* ---------------------------------------------------------------------- */
/* display is intentionally NOT set here — .mt-dd-panel already defaults to
   display:none (above) and .mt-dd[data-dd="more"].is-open .mt-dd-panel
   below is what reveals it. This rule previously set display:flex
   unconditionally, which — being a same-specificity class selector defined
   after .mt-dd-panel — silently beat the .is-open gate and left the "More
   filters" panel permanently open on every page load regardless of clicks. */
.mt-more-panel{ width:min(900px, 92vw); max-height:min(600px, 80vh); padding:0; flex-direction:column; }
.mt-dd[data-dd="more"].is-open .mt-dd-panel{ display:flex; }
.mt-more-head{ display:none; } /* desktop: dd already closes via click-outside; mobile shows this */
.mt-more-scroll{ flex:1 1 auto; overflow-y:auto; padding:6px 22px; }
.mt-more-section{ padding:16px 2px; border-bottom:1px solid var(--line); }
.mt-more-section:first-child{ padding-top:14px; }
.mt-more-section:last-child{ border-bottom:0; }
.mt-more-section h4{
  display:flex; align-items:center; gap:8px; margin:0 0 12px;
  font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:#8a95a6;
}
.mt-more-section h4 svg{ color:#c2c8d3; }
.mt-more-chiprow{ display:flex; flex-wrap:wrap; gap:8px; }
.mt-chip-check{
  display:inline-flex; align-items:center; gap:7px; height:38px; padding:0 14px; border:1px solid var(--line);
  border-radius:9px; font-size:12.5px; font-weight:650; cursor:pointer; color:var(--ink); background:#fff;
  transition:border-color .12s ease, background .12s ease;
}
.mt-chip-check:hover{ border-color:#c9d0db; }
.mt-chip-check:has(input:checked){ border-color:var(--ink); color:#fff; background:var(--ink); }
.mt-more-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px 14px; }
.mt-more-grid--2{ grid-template-columns:repeat(2,1fr); }
.mt-more-grid .field{ display:flex; flex-direction:column; gap:6px; }
.mt-more-grid .field small{ font-size:11.5px; color:#8a95a6; font-weight:650; }
.mt-more-grid select, .mt-more-grid input[type=number]{
  height:40px; border:1px solid var(--line); border-radius:8px; padding:0 12px; font:inherit; font-size:13px;
  transition:border-color .12s ease, box-shadow .12s ease;
}
.mt-more-grid select:focus, .mt-more-grid input[type=number]:focus{
  outline:0; border-color:var(--orange); box-shadow:0 0 0 3px rgba(255,90,31,.12);
}
.mt-more-amenities{ display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.mt-more-amenities label{
  display:inline-flex; align-items:center; gap:6px; height:38px; border:1px solid var(--line); border-radius:9px;
  padding:0 13px; font-size:12.5px; font-weight:600; cursor:pointer; color:var(--ink); background:#fff;
  transition:border-color .12s ease, background .12s ease;
}
.mt-more-amenities label:hover{ border-color:#c9d0db; }
.mt-more-amenities label:has(input:checked){ border-color:var(--orange); color:var(--orange); background:#fff3ec; }

/* EPC segmented control — was previously unstyled on this page (raw
   default <button> chrome), because .rb-pill only existed in map-app.css
   (Map View's own stylesheet, which this page must not depend on / touch).
   Same visual language, defined locally so the listing page's EPC filter
   isn't left with browser-default buttons. */
.rb-pill-group{ display:flex; flex-wrap:wrap; gap:6px; }
.rb-pill{
  height:36px; min-width:36px; padding:0 12px; border:1px solid var(--line); border-radius:8px; background:#fff;
  font-size:12.5px; font-weight:700; color:var(--ink); cursor:pointer;
  transition:border-color .12s ease, color .12s ease, background .12s ease;
}
.rb-pill:hover{ border-color:#c9d0db; }
.rb-pill.is-selected{ border-color:var(--orange); color:var(--orange); background:#fff3ec; }

.mt-more-actions{
  flex:0 0 auto; display:flex; justify-content:space-between; align-items:center; gap:10px;
  padding:16px 22px; border-top:1px solid var(--line); background:#fff; border-radius:0 0 14px 14px;
}
.mt-more-actions button{ height:44px; padding:0 20px; border-radius:9px; font-weight:700; font-size:13.5px; cursor:pointer; }
.mt-more-actions .reset{ background:#fff; border:1px solid var(--line); color:var(--ink); }
.mt-more-actions .reset:hover{ border-color:#c9d0db; }
.mt-more-actions .apply{ background:var(--orange); border:0; color:#fff; }
.mt-more-actions .apply:hover{ background:var(--orange-dark); }
.mt-more-badge{
  display:inline-grid; place-items:center; min-width:18px; height:18px; padding:0 4px; border-radius:999px;
  background:var(--ink); color:#fff; font-size:10.5px; font-weight:800;
}
@media(max-width:900px){ .mt-more-grid{ grid-template-columns:1fr 1fr; } .mt-more-grid--2{ grid-template-columns:1fr 1fr; } }
@media(max-width:600px){
  .mt-more-panel{
    position:fixed; inset:0; z-index:200; width:100%; max-width:100%; height:100%;
    border-radius:0; margin:0; display:none; animation:none; max-height:none;
  }
  .mt-dd[data-dd="more"].is-open .mt-dd-panel{ display:flex; }
  .mt-more-head{ display:flex; align-items:center; justify-content:space-between; padding:16px; border-bottom:1px solid var(--line); }
  .mt-more-head strong{ font-size:15px; }
  .mt-more-close{ width:34px; height:34px; border-radius:50%; border:1px solid var(--line); background:#fff; display:grid; place-items:center; }
  .mt-more-grid{ grid-template-columns:1fr 1fr; }
  .mt-more-actions{ padding-bottom:calc(16px + env(safe-area-inset-bottom)); border-radius:0; }
}
@media(max-width:420px){ .mt-more-grid, .mt-more-grid--2{ grid-template-columns:1fr; } }

/* list mode */
/* ---------------------------------------------------------------------- */
/* Property card — compact, gallery+content only. No agency footer, no    */
/* metadata row (both deliberately removed in this design). Image column  */
/* and content column end at roughly the same height instead of leaving   */
/* a tall blank area to the right of a large gallery.                     */
/* ---------------------------------------------------------------------- */
.rb-results{padding:10px 0 44px;background:#fff}
.rb-property-card{
  display:grid; grid-template-columns:minmax(0,42%) minmax(0,1fr); align-items:start; gap:0 22px;
  border:1px solid var(--line); border-radius:18px; background:#fff; padding:12px;
  box-shadow:0 8px 22px rgba(16,24,39,.05); overflow:hidden;
}
.rb-gallery{min-width:0}
/* 3/2 rather than the old 4/3 — this is a search-result thumbnail, not the
   Property Details hero image, so it should read as compact, not tall. */
.rb-gallery-main{aspect-ratio:3/2;position:relative;overflow:hidden;border-radius:13px;background:#eceef1}
.rb-gallery-main img{width:100%;height:100%;display:block;object-fit:cover}
.rb-gallery-link{position:absolute;inset:0;display:block}
.heart,.prev,.next,.counter,.rb-featured{z-index:2}
.rb-featured{position:absolute;left:12px;top:12px;height:30px;display:inline-flex;align-items:center;gap:5px;padding:0 10px;border-radius:8px;background:var(--orange);color:#fff;font-size:.72rem;font-weight:800}
.heart,.prev,.next{position:absolute;border:0;background:#fff;box-shadow:0 4px 12px rgba(16,24,39,.12)}
.heart{right:12px;top:12px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center}
.prev,.next{top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;display:grid;place-items:center}
.prev{left:12px}.next{right:12px}
.counter{position:absolute;left:12px;bottom:11px;padding:5px 8px;border-radius:7px;background:rgba(16,24,39,.88);color:#fff;font-size:.72rem}
/* Thumbnails previously had a hardcoded height:52px against a width of
   ~1/5 of the gallery column (~120-140px) — a ~2.3:1 sliver, not a photo.
   aspect-ratio keeps them proportional at any card width instead. */
.rb-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:6px}
.rb-thumbs img,.more-photos{aspect-ratio:4/3;height:auto;border-radius:8px;cursor:pointer}
.rb-thumbs img{width:100%;object-fit:cover;opacity:.65;border:2px solid transparent;transition:opacity .12s ease,border-color .12s ease}
.rb-thumbs img.is-active{opacity:1;border-color:var(--orange)}
.more-photos{display:grid;place-items:center;background:#111a30;color:#fff;font-size:1.2rem}

.rb-property-info{min-width:0;padding:4px 4px 0;display:flex;flex-direction:column}
.rb-price-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.rb-price-row>div:first-child{display:flex;align-items:baseline;gap:10px;min-width:0}
.rb-price-row strong{font-size:1.9rem;letter-spacing:-.03em;line-height:1}
.rb-price-row span{color:#6c788b;font-size:.85rem}
.rb-quick-actions{display:flex;gap:6px;flex:0 0 auto}
.rb-quick-actions button{width:38px;height:38px;border-radius:9px;border:1px solid var(--line);background:#fff;display:grid;place-items:center}
.rb-quick-actions button:hover{border-color:#c9d0db}
.rb-property-info h2{font-size:1.2rem;line-height:1.25;margin:10px 0 4px;letter-spacing:-.02em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rb-address{margin:0;display:flex;align-items:center;gap:5px;color:#5d697c;font-size:.83rem}

.rb-desc-wrap{margin-top:8px}
.rb-desc{margin:0;color:var(--muted);font-size:.85rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rb-desc-wrap.is-expanded .rb-desc{-webkit-line-clamp:unset}
.rb-desc-toggle{margin-top:3px;border:0;background:none;padding:0;display:inline-flex;align-items:center;gap:4px;color:var(--ink);font-weight:700;font-size:.8rem;cursor:pointer}
.rb-desc-toggle svg{transition:transform .15s ease}
.rb-desc-wrap.is-expanded .rb-desc-toggle svg{transform:rotate(180deg)}

.rb-specs{display:flex;align-items:stretch;gap:0;margin:12px 0 4px;flex-wrap:wrap}
.rb-specs span{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:7px;min-width:70px;padding:0 14px 0 0;margin-right:14px;border-right:1px solid var(--line)}
.rb-specs span:last-child{border-right:0;margin-right:0;padding-right:0}
.rb-specs b{grid-row:1/3;align-self:start;color:#8a95a5}
.rb-specs strong{font-size:.88rem}
.rb-specs small{font-size:.7rem;color:#8a95a5}

.rb-epc{display:flex;align-items:center;gap:10px;margin-top:10px}
.rb-epc strong{font-size:.72rem;font-weight:800;color:#8a95a6;text-transform:uppercase;letter-spacing:.03em}
.epc-row{display:flex;gap:3px}
.epc-row span{position:relative;width:24px;height:22px;border-radius:4px;display:grid;place-items:center;color:#fff;background:#cfd4dd;font-size:.7rem;font-weight:700}
.epc-row span.epc-a{background:#0da653}.epc-row span.epc-b{background:#5cb82f}.epc-row span.epc-c{background:#a8c825}
.epc-row span.epc-d{background:#f1c400}.epc-row span.epc-e{background:#f39a00}.epc-row span.epc-f{background:#ef631c}.epc-row span.epc-g{background:#d51d20}
.epc-row span.active{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ink)}
.epc-arrow{position:absolute;left:50%;bottom:-13px;transform:translateX(-50%) rotate(90deg);color:#18a14e}

.rb-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.rb-tags span{padding:6px 10px;border-radius:7px;background:#f2f4f7;font-size:.74rem;color:var(--ink);font-weight:600}

.rb-actions2{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:12px}
.rb-actions2 button,.rb-actions2 a{height:40px;padding:0 14px;border:1px solid var(--line);background:#fff;border-radius:9px;font-size:.82rem;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;color:inherit}
.rb-actions2 button:hover,.rb-actions2 a:hover{border-color:#c9d0db}
.js-view-details{border-color:var(--orange)!important;color:var(--orange)!important}

.rb-property-card+.rb-property-card{margin-top:16px}
.rb-pagination{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:25px}.rb-pagination button{width:36px;height:36px;border:1px solid var(--line);background:#fff;border-radius:8px}.rb-pagination .active{background:var(--orange);border-color:var(--orange);color:#fff}
.rb-empty{padding:70px 20px;text-align:center;color:#8a95a6}.rb-empty svg{color:#c7cedb;margin:0 auto 14px}.rb-empty h3{margin:0 0 6px;color:var(--ink);font-size:1.15rem}.rb-empty p{margin:0;font-size:.9rem}
.rb-empty-clear{margin-top:18px;height:42px;padding:0 20px;border:0;border-radius:9px;background:var(--orange);color:#fff;font-weight:700;font-size:.85rem;cursor:pointer}.rb-empty-clear:hover{background:var(--orange-dark)}

/* Share popover — a single reused element repositioned to whichever .js-share
   button was clicked, instead of one popover per card. */
.rb-share-pop{position:absolute;width:220px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px rgba(16,24,39,.18);padding:8px;z-index:500;animation:mtPop .15s ease}
.rb-share-pop strong{display:block;padding:8px 10px 6px;font-size:.72rem;font-weight:700;color:#8a95a6;text-transform:uppercase;letter-spacing:.02em}
.rb-share-pop button,.rb-share-pop a{width:100%;display:flex;align-items:center;gap:10px;height:40px;padding:0 10px;border:0;background:none;border-radius:9px;font-size:.86rem;font-weight:600;color:var(--ink);cursor:pointer;text-align:left}
.rb-share-pop button:hover,.rb-share-pop a:hover{background:#f4f5f7}
.rb-share-pop svg{flex:0 0 auto;color:#6b7688}
.rb-share-pop [data-action="whatsapp"] svg{color:#25d366}
.rb-share-pop [data-action="facebook"] svg{color:#1877f2}

@media(max-width:900px){
  html{font-size:15px}
  .rb-search-header-inner{height:64px;gap:10px}
  .rb-listing-head{padding-top:14px}
  .rb-title-row{margin-top:16px}.rb-title-row h1{font-size:1.5rem}
  .rb-action-row{margin-top:12px}
  .rb-save-search{width:44px;padding:0;justify-content:center}.rb-save-search span{display:none}
  .rb-map-view-btn span{display:inline}
  .rb-property-card{grid-template-columns:1fr;padding:10px;border-radius:16px}
  .rb-thumbs{grid-template-columns:repeat(4,1fr)}.rb-thumbs img:nth-child(n+5),.more-photos{display:none}
  .rb-property-info{padding:14px 2px 0}
  .rb-price-row strong{font-size:1.7rem}.rb-price-row span{font-size:.78rem}
  .rb-property-info h2{font-size:1.2rem;margin-top:14px}
  .rb-specs{margin:14px 0 4px}
  .rb-actions2{gap:7px}.rb-actions2 button,.rb-actions2 a{flex:1 1 auto;padding:0 8px;font-size:.78rem}
}
