/* Better Properties guided router — "How can we help?" bottom-sheet router.
   Takes the place of the .wa-float button (same spot, same stacking). The JS
   captures the wa-float href first, so listing-specific prefilled WhatsApp
   text is preserved on the Talk-to-Jim paths. */
.router-fab{position:fixed;right:56px;bottom:calc(18px + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:50%;background:#0f4433;border:0;align-items:center;justify-content:center;z-index:9999;box-shadow:0 6px 20px rgba(0,0,0,.35);-webkit-tap-highlight-color:transparent;cursor:pointer;display:none}
.router-fab.show{display:flex}
.router-fab svg{width:26px;height:26px;fill:#fff}
.router-fab:focus-visible{outline:3px solid #d9bd82;outline-offset:2px}
.router-scrim{position:fixed;inset:0;background:rgba(10,20,16,.45);z-index:10000;opacity:0;pointer-events:none;transition:opacity .25s ease}
.router-scrim.open{opacity:1;pointer-events:auto}
.router-sheet{position:fixed;left:0;right:0;bottom:0;z-index:10001;background:#fffef9;border-radius:20px 20px 0 0;box-shadow:0 -12px 40px rgba(0,0,0,.25);transform:translateY(105%);transition:transform .28s ease;max-height:84vh;max-height:84dvh;display:flex;flex-direction:column;visibility:hidden}
.router-sheet.open{transform:translateY(0);visibility:visible}
.router-head{background:#0a2e23;color:#fff;padding:16px 20px;border-radius:20px 20px 0 0;display:flex;align-items:center;gap:10px;flex:none}
.router-head .router-brand{font-weight:800;letter-spacing:.06em;font-size:14px}
.router-head .router-brand em{font-style:normal;color:#d9bd82}
.router-head .router-x{margin-left:auto;background:none;border:0;color:#fff;font-size:26px;line-height:1;cursor:pointer;padding:4px 8px}
.router-body{padding:20px 20px calc(20px + env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch}
.router-q{font-size:19px;font-weight:800;margin:0 0 4px;letter-spacing:-.01em;color:#171a17}
.router-sub{font-size:14px;color:#5b625d;margin:0 0 16px}
.router-opt{display:block;width:100%;text-align:left;background:#f7f5ef;border:2px solid #e5e0d2;border-radius:12px;padding:15px 16px;font-family:inherit;font-weight:700;font-size:16px;color:#171a17;margin-bottom:10px;cursor:pointer}
.router-opt small{display:block;font-weight:500;color:#5b625d;font-size:13px;margin-top:3px}
.router-opt:hover{border-color:#d9bd82}
.router-opt:focus-visible{outline:3px solid #d9bd82;outline-offset:2px}
.router-back{background:none;border:0;color:#5b625d;font-family:inherit;font-size:14px;cursor:pointer;padding:6px 0;margin-bottom:6px}
.router-result{background:#f2f7f4;border:2px solid #0f4433;border-radius:12px;padding:18px;margin-bottom:4px}
.router-result h3{margin:0 0 6px;font-size:17px;color:#171a17}
.router-result p{margin:0 0 14px;font-size:14px;color:#5b625d;line-height:1.5}
.router-cta{display:block;text-align:center;background:#0f4433;color:#fff;text-decoration:none;font-weight:700;padding:14px;border-radius:8px;font-size:16px}
.router-cta:hover{background:#0a2e23}
.router-alt{display:block;text-align:center;margin-top:14px;font-size:14px;color:#0f4433;font-weight:600}
/* Hide the router while a listing gallery lightbox is open — mirrors the wa-float rule */
.lightbox[aria-hidden="false"] ~ .router-fab,
.lightbox[aria-hidden="false"] ~ .router-sheet,
.lightbox[aria-hidden="false"] ~ .router-scrim{display:none !important}
@media (min-width:700px){
  .router-sheet{left:auto;right:24px;bottom:24px;width:380px;border-radius:16px}
  .router-head{border-radius:16px 16px 0 0}
}
@media (prefers-reduced-motion:reduce){
  .router-sheet,.router-scrim{transition:none}
}
