/**
 * LocateGH Frontend Styles
 * ========================
 * Extracted from templates/app.php into this standalone file for maintainability.
 * Enqueued by public/class-public.php via wp_enqueue_style('locategh-app').
 *
 * SECTIONS (use Ctrl+F on the comment headers below to jump):
 *   ── WordPress theme compatibility overrides
 *   ── Page system
 *   ── Topbar
 *   ── Hero
 *   ── Search box
 *   ── Filters / fbar
 *   ── Property cards
 *   ── Detail page
 *   ── Agents
 *   ── Post Listing
 *   ── Dashboard
 *   ── Auth overlay
 *   ── Toast / utilities
 */
/* ── WordPress theme compatibility overrides ─────────────────────────────────
   body.locategh-page is added by the plugin on pages with the [locategh] shortcode.
   These rules neutralise common theme containers so our full-width SPA works. */
body.locategh-page,
body.locategh-page *:not(.lgh-wp-wrap):not(.lgh-wp-wrap *) {
  /* Allow overflow:visible on containers between body and our wrapper */
}
body.locategh-page .site,
body.locategh-page .site-content,
body.locategh-page #page,
body.locategh-page #content,
body.locategh-page main,
body.locategh-page .main,
body.locategh-page #main,
body.locategh-page article,
body.locategh-page .hentry,
body.locategh-page .entry-content,
body.locategh-page .post-content,
body.locategh-page .page-content,
body.locategh-page .wp-block-post-content {
  overflow: visible !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Push our SPA down when the WP admin bar is visible */
body.locategh-page.admin-bar .lgh-topbar-spacer { display: block; height: 32px; }
@media (max-width: 782px) {
  body.locategh-page.admin-bar .lgh-topbar-spacer { height: 46px; }
}

:root{
  --blue:#006AFF;--blue-dark:#0055CC;--blue-light:#EAF1FF;--blue-mid:#C8DEFF;
  --text:#1A1A2E;--text2:#44475A;--text3:#7A7A8C;
  --border:#E4E6EF;--bg:#F8F9FC;--white:#fff;
  --green:#00A86B;--green-bg:#E6F7F1;
  --orange:#FF6B35;--red:#FF4757;
  --shadow-sm:0 1px 4px rgba(0,0,0,.07);
  --shadow-md:0 4px 20px rgba(0,0,0,.09);
  --shadow-lg:0 12px 40px rgba(0,0,0,.13);
  --r:12px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans',sans-serif;background:var(--white);color:var(--text);font-size:14px;line-height:1.5;overflow-x:hidden}

/* ─── PAGE SYSTEM ─── */
.lgh-page{display:none;min-height:100vh;flex-direction:column}
.lgh-page.lgh-active{display:flex}
/* No-JS / pre-JS fallback: body gets class="js-loading" until JS runs.
   Shows home page immediately so Brave/slow-JS never shows a blank page.
   JS removes js-loading from body the instant it executes. */
body.js-loading #page-home{display:flex}

/* ─── TOPBAR ─── */
.topbar{background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:300;box-shadow:var(--shadow-sm)}
.tbi{max-width:1320px;margin:0 auto;display:flex;align-items:center;gap:16px;padding:0 24px;height:64px}
.logo{font-size:22px;font-weight:800;color:var(--blue);letter-spacing:-.5px;white-space:nowrap;cursor:pointer}
.logo span{color:var(--text)}
.nav-srch{flex:1;max-width:460px;display:flex;align-items:center;background:var(--bg);border:1.5px solid var(--border);border-radius:9px;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.nav-srch:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,106,255,.1)}
.nav-srch input{flex:1;min-width:0;border:none;background:transparent;padding:11px 14px;font-family:inherit;font-size:13px;color:var(--text);outline:none}
.nav-srch input::placeholder{color:var(--text3)}
.nav-srch button{
  padding:11px 16px;background:var(--blue);border:none;color:#fff;
  font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;
  transition:background .2s,letter-spacing .22s,box-shadow .2s;
  letter-spacing:.1px;position:relative;overflow:hidden;flex-shrink:0;min-width:72px;
}
/* Shine sweep identical to hero button */
.nav-srch button::after{
  content:'';position:absolute;top:0;left:-100%;width:55%;height:100%;
  background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.2) 50%,transparent 60%);
  transition:left .35s ease;pointer-events:none;
}
.nav-srch button:hover::after{left:140%}
.nav-srch button:hover{background:var(--blue-dark);letter-spacing:.7px;box-shadow:0 4px 14px rgba(0,106,255,.35)}
.nav-srch button:active{transform:scale(.97)}
/* Ripple on nav button */
.nav-srch button .nav-ripple{
  position:absolute;border-radius:50%;background:rgba(255,255,255,.3);
  transform:scale(0);animation:navRipple .5s ease-out forwards;pointer-events:none;
}
@keyframes navRipple{to{transform:scale(4);opacity:0}}
/* Spinner inside nav button */
.nav-srch .nav-spinner{
  display:none;width:13px;height:13px;
  border:2px solid rgba(255,255,255,.35);border-top-color:#fff;
  border-radius:50%;animation:navSpin .6s linear infinite;
  vertical-align:middle;margin-right:5px;
}
.nav-srch button.nav-loading .nav-spinner{display:inline-block}
.nav-srch button.nav-loading{letter-spacing:.1px;opacity:.88;pointer-events:none}
.nav-srch button.nav-done{background:#16a34a;letter-spacing:.4px}
@keyframes navSpin{to{transform:rotate(360deg)}}
.nav-links{display:flex;align-items:center;gap:2px}
.nl{padding:8px 13px;border-radius:8px;font-size:13px;font-weight:500;color:var(--text2);cursor:pointer;border:none;background:transparent;font-family:inherit;transition:all .15s;white-space:nowrap}
.nl:hover,.nl.act{background:var(--blue-light);color:var(--blue)}
.nav-ctas{display:flex;gap:8px;margin-left:auto;align-items:center}
.btn-si{padding:9px 16px;border-radius:8px;border:1.5px solid var(--border);background:#fff;font-size:13px;font-weight:600;font-family:inherit;color:var(--text);cursor:pointer;transition:all .2s;white-space:nowrap}
.btn-si:hover{border-color:var(--blue);background:var(--blue-light);color:var(--blue)}
.btn-post{padding:10px 20px;border-radius:9px;background:var(--orange);color:#fff;font-size:13px;font-weight:700;font-family:inherit;border:none;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:0 2px 10px rgba(255,107,53,.4);display:flex;align-items:center;gap:6px}
.btn-post:hover{background:#e55a24;transform:translateY(-1px);box-shadow:0 5px 16px rgba(255,107,53,.45)}
.hmbg{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;background:none;border:none;border-radius:7px;margin-left:auto}
.hmbg span{width:22px;height:2px;background:var(--text);border-radius:2px;display:block;transition:all .3s}
.hmbg.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hmbg.open span:nth-child(2){opacity:0}
.hmbg.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.mob-menu{display:none;flex-direction:column;padding:12px 16px 20px;gap:4px;border-top:1px solid var(--border);background:#fff}
.mob-menu.open{display:flex}
.mob-menu .nl{text-align:left;font-size:14px;padding:12px 14px}
.mob-post{width:100%;margin-top:8px;padding:13px;background:var(--orange);color:#fff;border:none;border-radius:9px;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;box-shadow:0 2px 8px rgba(255,107,53,.35)}

/* ─── HERO ─── */
.hero{position:relative;overflow:hidden;background:linear-gradient(160deg,#EAF1FF 0%,#F5F8FF 45%,#fff 100%);padding:76px 24px 60px;text-align:center}
.hero::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='80' height='80' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='40' cy='40' r='1' fill='%23006AFF' opacity='.05'/%3E%3C/svg%3E") repeat;pointer-events:none}
.hero-in{position:relative;max-width:760px;margin:0 auto}
.hero-tag{display:inline-flex;align-items:center;gap:7px;background:var(--blue-light);color:var(--blue);border:1px solid rgba(0,106,255,.2);border-radius:100px;padding:5px 15px;font-size:12px;font-weight:600;margin-bottom:22px;animation:fadeUp .6s ease both}
.ping{width:8px;height:8px;background:var(--blue);border-radius:50%;animation:pulse 2s infinite}
.hero h1{font-size:clamp(2.2rem,5vw,3.8rem);font-weight:800;line-height:1.1;letter-spacing:-1.5px;color:var(--text);animation:fadeUp .6s .08s ease both}
.hero h1 span{color:var(--blue)}
.hero p{margin:16px auto 0;max-width:500px;font-size:15px;color:var(--text2);line-height:1.7;animation:fadeUp .6s .16s ease both}

/* ─── SEARCH BOX ─── */
.hs-box{margin:32px auto 0;max-width:820px;background:var(--white);border:1.5px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);padding:12px;position:relative}
.hs-tabs{display:flex;gap:4px;margin-bottom:10px;border-bottom:1px solid var(--border);padding-bottom:8px;justify-content:center}
.hst{padding:8px 28px;border-radius:8px;border:none;background:transparent;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;color:var(--text3);transition:all .2s}
.hst.act{background:var(--blue);color:#fff}
/* Desktop: single row */
.hs-row{display:flex;align-items:center;gap:8px}
.hs-f{flex:1;min-width:0;position:relative}
.hs-f label{position:absolute;top:6px;left:13px;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text3);pointer-events:none;z-index:1}
.hs-f input,.hs-f select{width:100%;border:1.5px solid var(--border);border-radius:10px;background:var(--bg);padding:22px 13px 8px;font-family:inherit;font-size:13px;color:var(--text);outline:none;transition:border-color .2s;-webkit-appearance:none;appearance:none}
.hs-f input:focus,.hs-f select:focus{border-color:var(--blue);background:#fff}
.hs-sep{width:1px;height:44px;background:var(--border);flex-shrink:0}
.btn-sh{
  padding:16px 28px;background:var(--blue);border:none;border-radius:11px;
  color:#fff;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;
  transition:background .25s,transform .2s,box-shadow .25s,letter-spacing .2s;
  display:flex;align-items:center;gap:8px;white-space:nowrap;flex-shrink:0;
  position:relative;overflow:hidden;
  box-shadow:0 4px 18px rgba(0,106,255,.38);
  letter-spacing:.2px;
}
/* Shine sweep on hover */
.btn-sh::after{
  content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;
  background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.22) 50%,transparent 60%);
  transition:left .4s ease;
}
.btn-sh:hover::after{left:140%}
.btn-sh:hover{background:var(--blue-dark);transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,106,255,.52);letter-spacing:.6px}
.btn-sh:active{transform:translateY(0) scale(.98);box-shadow:0 2px 8px rgba(0,106,255,.3)}
/* Ripple wave on click */
.btn-sh .ripple{
  position:absolute;border-radius:50%;
  background:rgba(255,255,255,.32);
  transform:scale(0);animation:shRipple .6s ease-out forwards;
  pointer-events:none;
}
@keyframes shRipple{to{transform:scale(5);opacity:0}}
/* Spinner while searching */
.btn-sh .sh-spinner{
  width:15px;height:15px;
  border:2.5px solid rgba(255,255,255,.35);
  border-top-color:#fff;border-radius:50%;
  animation:shSpin .65s linear infinite;
  display:none;flex-shrink:0;
}
@keyframes shSpin{to{transform:rotate(360deg)}}
.btn-sh.loading .sh-spinner{display:block}
.btn-sh.loading .sh-ico{display:none}
.btn-sh.loading{letter-spacing:.1px;pointer-events:none;opacity:.9}
/* Done state — green flash */
.btn-sh.done{background:#16a34a;box-shadow:0 4px 18px rgba(22,163,74,.45);letter-spacing:.4px}
.btn-sh.done .sh-ico{display:block}
.hero-meta{margin-top:26px;display:flex;justify-content:center;align-items:center;gap:30px;flex-wrap:wrap;animation:fadeUp .6s .32s ease both}
.hms strong{display:block;font-size:20px;font-weight:800;color:var(--text)}
.hms span{font-size:11px;color:var(--text3)}
.hmd{width:1px;height:34px;background:var(--border)}

/* ─── SELLER BANNER ─── */
.seller-banner{background:linear-gradient(90deg,#0D1B3E,#1A3A8F);color:#fff;padding:13px 24px;display:flex;align-items:center;gap:14px;font-size:14px;font-weight:500}
.sb-text{flex:1}.sb-text strong{color:#fff}
.sb-btn{padding:8px 20px;background:var(--orange);border:none;border-radius:8px;font-family:inherit;font-size:13px;font-weight:700;color:#fff;cursor:pointer;white-space:nowrap;transition:all .2s}
.sb-btn:hover{background:#e55a24;transform:translateY(-1px)}
.sb-x{background:none;border:none;color:rgba(255,255,255,.4);font-size:18px;cursor:pointer;padding:2px 6px;line-height:1;flex-shrink:0}
.sb-x:hover{color:#fff}

/* ─── FILTER BAR ─── */
.fbar{background:var(--white);border-bottom:1px solid var(--border);padding:10px 24px;display:flex;align-items:center;gap:8px;overflow-x:auto;flex-wrap:wrap}
.fbar::-webkit-scrollbar{display:none}
.fbar-sep{width:1px;background:var(--border);align-self:stretch;margin:4px 4px;flex-shrink:0}
.fc{display:flex;align-items:center;gap:5px;padding:7px 14px;border-radius:8px;border:1.5px solid var(--border);background:var(--white);font-family:inherit;font-size:12px;font-weight:600;color:var(--text2);cursor:pointer;white-space:nowrap;transition:all .15s}
.fc:hover,.fc.act{border-color:var(--blue);color:var(--blue);background:var(--blue-light)}

/* ─── SECTIONS ─── */
.sec{padding:72px 24px}
.sec-in{max-width:1320px;margin:0 auto}
.sh{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px;gap:16px;flex-wrap:wrap}
.sh-ey{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--blue);margin-bottom:5px}
.sh-ti{font-size:clamp(1.4rem,2.8vw,1.9rem);font-weight:800;color:var(--text);letter-spacing:-.5px;line-height:1.2}
.sh-lk{font-size:13px;font-weight:600;color:var(--blue);border-bottom:1.5px solid rgba(0,106,255,.3);padding-bottom:1px;white-space:nowrap;cursor:pointer;background:none;border-left:none;border-right:none;border-top:none;font-family:inherit}
.sh-lk:hover{border-color:var(--blue)}

/* ─── HOME CARDS GRID — 3 col desktop (Zillow), 2 col tablet, 2 col mobile ─── */
.home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

/* ─── BROWSE LAYOUT ─── */
/* Full-width grid like Airbnb/Zillow — no map sidebar */
.browse-wrap{display:grid;max-width:1320px;margin:0 auto;padding:24px;gap:20px;align-items:start;flex:1}
.lp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:16px;flex-wrap:wrap}
.browse-search-bar{display:flex;align-items:center;background:#fff;border:1.5px solid var(--border);border-radius:10px;overflow:hidden;flex:1;min-width:160px;max-width:320px;transition:border-color .2s,box-shadow .2s}
.browse-search-bar:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,106,255,.1)}
.browse-search-bar svg{margin-left:12px;flex-shrink:0;color:var(--text3)}
.browse-search-bar input{flex:1;border:none;outline:none;padding:9px 10px;font-family:inherit;font-size:13px;color:var(--text);background:transparent}
.browse-search-bar input::placeholder{color:var(--text3)}
.browse-search-bar button{padding:9px 16px;background:var(--blue);border:none;color:#fff;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background .2s,letter-spacing .2s;letter-spacing:.1px;white-space:nowrap;flex-shrink:0}
.browse-search-bar button:hover{background:var(--blue-dark);letter-spacing:.5px}

.lp-count{font-size:20px;font-weight:800;color:#111}
.lp-count span{font-size:14px;font-weight:400;color:#6b7280}
.sort-sel{border:1.5px solid #e5e7eb;border-radius:10px;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:600;color:#374151;background:#fff;cursor:pointer;outline:none;transition:border-color .2s,box-shadow .2s}
.sort-sel:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,106,255,.1)}
/* 3 cols desktop (Zillow/Airbnb style), 2 cols tablet, 1 col mobile */
.browse-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

/* ─── PROPERTY CARD — Airbnb/Zillow style ─── */
.pcard{display:block;text-decoration:none;color:inherit;background:#fff;border-radius:20px;overflow:hidden;cursor:pointer;transition:box-shadow .3s,transform .3s;border:1px solid #e5e7eb}
.pcard:hover{box-shadow:0 12px 40px rgba(0,0,0,.15);transform:translateY(-5px)}
.pcard-img{position:relative;height:280px;overflow:hidden;background:linear-gradient(135deg,#d5e3f5,#b8cfe8);display:flex;align-items:center;justify-content:center;font-size:72px}
.pcard-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.pcard:hover .pcard-img img{transform:scale(1.04)}
.pov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.5) 0%,transparent 40%)}
.pbadges{position:absolute;top:14px;left:14px;display:flex;gap:6px;flex-wrap:wrap}
.bdg{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:5px 12px;border-radius:100px;color:#fff;backdrop-filter:blur(4px)}
.bdg-sale{background:rgba(0,106,255,.9)}.bdg-rent{background:rgba(0,168,107,.9)}
.bdg-agent{background:rgba(30,64,175,.9);color:#fff}
.bdg-fsbo{background:rgba(6,95,70,.9);color:#fff}.bdg-sold{background:rgba(107,114,128,.9)}
.pdays{position:absolute;bottom:14px;left:14px;background:rgba(0,0,0,.6);color:#fff;font-size:11px;font-weight:600;padding:4px 10px;border-radius:100px;backdrop-filter:blur(4px)}
.pcb{padding:20px}
.pc-price{font-size:26px;font-weight:800;color:#111;letter-spacing:-.8px}
.pc-price small{font-size:15px;font-weight:500;color:#6b7280}
.pc-addr{margin-top:6px;font-size:16px;color:#374151;font-weight:600;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pc-area{font-size:13px;color:#9ca3af;margin-top:4px;font-weight:500}
.pdiv{height:1px;background:#f3f4f6;margin:14px 0}
.pspecs{display:flex;gap:18px}
.psp{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:#111}
.psp small{font-size:12px;font-weight:500;color:#6b7280}
.pagent{display:flex;align-items:center;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid #f3f4f6}
.pava{width:36px;height:36px;border-radius:50%;background:#eff6ff;display:flex;align-items:center;justify-content:center;font-size:16px;border:2px solid #bfdbfe;flex-shrink:0}
.pan{font-size:13px;font-weight:700;color:#111}.pat{font-size:12px;color:#9ca3af}
/* Role pill on listing card */
.pvrf{font-size:11px;font-weight:700;margin-left:auto;white-space:nowrap;
  padding:4px 12px;border-radius:20px;border:1px solid transparent}
.pvrf-agent{background:#eff6ff;color:#2563eb;border-color:#bfdbfe}
.pvrf-fsbo{background:#ecfdf5;color:#16a34a;border-color:#bbf7d0}
.pacts{display:flex;gap:8px;margin-top:12px}
.btn-ct{width:100%;padding:11px;background:var(--blue);border:none;border-radius:10px;font-family:inherit;font-size:14px;font-weight:700;color:#fff;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center;gap:6px}
.btn-ct:hover{background:var(--blue-dark)}

/* ─── AGENTS ─── */
.agents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.agcard{background:var(--white);border:1.5px solid var(--border);border-radius:var(--r);padding:22px 18px;text-align:center;transition:box-shadow .25s,transform .25s;cursor:pointer}
.agcard:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.agava{width:64px;height:64px;border-radius:50%;background:var(--blue-light);margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-size:26px;border:3px solid #fff;box-shadow:0 0 0 2px var(--blue-mid)}
.agn{font-size:14px;font-weight:700;color:var(--text)}.agr{font-size:11px;color:var(--text3);margin-top:2px}
.agbdg{display:inline-flex;align-items:center;gap:4px;background:var(--green-bg);color:var(--green);border-radius:100px;padding:3px 9px;font-size:10px;font-weight:700;margin-top:7px}
.agst{display:flex;justify-content:center;gap:18px;margin:13px 0;padding:13px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.agst strong{display:block;font-size:17px;font-weight:800;color:var(--text)}
.agst small{font-size:10px;color:var(--text3)}
.btn-avp{width:100%;padding:9px;background:var(--blue);border:none;border-radius:7px;font-family:inherit;font-size:12px;font-weight:700;color:#fff;cursor:pointer;margin-top:10px;transition:background .2s;display:flex;align-items:center;justify-content:center;gap:5px}
.btn-avp:hover{background:var(--blue-dark)}

/* ─── LIST CTA ─── */
.list-cta-sec{background:linear-gradient(135deg,#0D1B3E 0%,#1A2E6B 55%,#0D1B3E 100%);padding:84px 24px;position:relative;overflow:hidden}
.list-cta-sec::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='30' cy='30' r='1.5' fill='%23fff' opacity='.04'/%3E%3C/svg%3E") repeat;pointer-events:none}
.lci{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 380px;gap:60px;align-items:center;position:relative}
.lc-ey{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(200,222,255,.7);margin-bottom:14px}
.lc-ti{font-size:clamp(2rem,4vw,3rem);font-weight:800;color:#fff;letter-spacing:-1.5px;line-height:1.1;margin-bottom:14px}
.lc-sub{font-size:15px;color:rgba(255,255,255,.65);line-height:1.7;margin-bottom:26px;max-width:440px}
.lc-perks{display:flex;flex-direction:column;gap:10px;margin-bottom:32px}
.lc-perk{display:flex;align-items:center;gap:10px;font-size:14px;color:rgba(255,255,255,.85)}
.lc-pico{width:20px;height:20px;border-radius:50%;background:var(--green);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.lc-btns{display:flex;gap:12px;flex-wrap:wrap}
.lc-btn-main{padding:14px 26px;background:var(--orange);border:none;border-radius:11px;font-family:inherit;font-size:14px;font-weight:700;color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 4px 16px rgba(255,107,53,.4)}
.lc-btn-main:hover{background:#e55a24;transform:translateY(-2px)}
.lc-btn-sec{padding:14px 26px;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.25);border-radius:11px;font-family:inherit;font-size:14px;font-weight:700;color:#fff;cursor:pointer;transition:all .2s}
.lc-btn-sec:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}
.lc-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:18px;padding:28px;backdrop-filter:blur(10px)}
.lc-steps-label{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(200,222,255,.6);margin-bottom:18px}
.lc-step{display:flex;align-items:flex-start;gap:14px;margin-bottom:17px}
.lc-sn{width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}
.lc-step strong{display:block;font-size:13px;font-weight:700;color:#fff;margin-bottom:2px}
.lc-step p{font-size:12px;color:rgba(255,255,255,.5);line-height:1.4}
.lc-card-btn{width:100%;padding:13px;background:var(--blue);border:none;border-radius:10px;font-family:inherit;font-size:14px;font-weight:700;color:#fff;cursor:pointer;transition:all .2s;margin-top:6px}
.lc-card-btn:hover{background:var(--blue-dark);transform:translateY(-1px)}
@media(max-width:900px){.lci{grid-template-columns:1fr}.lc-card{display:none}}

/* ─── NUMBERS SECTION ─── */
.numbers-sec{background:var(--bg);padding:80px 24px}
.numbers-in{max-width:1100px;margin:0 auto}
.num-head{text-align:center;margin-bottom:52px}
.num-ey{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.num-ti{font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:800;color:var(--text);letter-spacing:-1px;line-height:1.2;margin-bottom:10px}
.num-sub{font-size:14px;color:var(--text3);max-width:440px;margin:0 auto;line-height:1.7}
.num-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border-radius:16px;overflow:hidden}
.ncard{background:#fff;padding:36px 28px;text-align:center;position:relative;transition:background .2s}
.ncard:hover{background:var(--blue-light)}
.ncard::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:40px;height:3px;background:var(--blue);border-radius:0 0 3px 3px}
.nc-num{font-size:clamp(2rem,4vw,3rem);font-weight:800;color:var(--blue);letter-spacing:-2px;line-height:1;margin-bottom:8px}
.nc-lbl{font-size:13px;font-weight:700;color:var(--text);margin-bottom:6px}
.nc-sub{font-size:12px;color:var(--text3);line-height:1.5}
.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}
.tcard{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:28px 24px;display:flex;align-items:flex-start;gap:14px}
.tc-ico{width:44px;height:44px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.tc-ico.blue{background:var(--blue-light)}.tc-ico.green{background:var(--green-bg)}.tc-ico.orange{background:#FFF3EC}
.tc-title{font-size:14px;font-weight:700;color:var(--text);margin-bottom:4px}
.tc-desc{font-size:12px;color:var(--text3);line-height:1.6}

/* ─── FOOTER ─── */
.hf-ft{background:#0D0D1A}
.ft-top{max-width:1320px;margin:0 auto;padding:56px 24px 40px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}
.ft-br .logo{color:var(--blue);font-size:22px;display:inline-block;margin-bottom:12px;cursor:pointer}
.ft-br p{font-size:12px;color:rgba(255,255,255,.4);line-height:1.7;max-width:200px}
.ftc h5{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:14px}
.ftc a{display:block;font-size:12px;color:rgba(255,255,255,.6);text-decoration:none;margin-bottom:9px;cursor:pointer;transition:color .2s}
.ftc a:hover{color:#fff}
.ft-bt{max-width:1320px;margin:0 auto;padding:16px 24px;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center;font-size:11px;color:rgba(255,255,255,.3)}

/* ─── PROPERTY DETAIL PAGE ─── */
.detail-wrap{max-width:1200px;margin:0 auto;padding:0 0 80px}
.back-btn{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--text2);background:none;border:none;cursor:pointer;margin-bottom:20px;padding:0;font-family:inherit;transition:color .2s;margin-left:24px;margin-top:24px}
.back-btn:hover{color:var(--blue)}
.detail-grid{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start;padding:0 24px}

/* Gallery - 5 photos */
.gallery-wrap{position:relative}
.gallery-main{border-radius:0;overflow:hidden;height:460px;background:linear-gradient(135deg,#d5e3f5,#b8cfe8);position:relative;display:flex;align-items:center;justify-content:center;font-size:80px;cursor:pointer}
.gallery-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}
.gallery-main img.active{display:block}
.gallery-emoji{font-size:80px;transition:opacity .3s}
.gallery-badges{position:absolute;top:16px;left:16px;display:flex;gap:7px;z-index:2}
.gal-count{position:absolute;bottom:16px;right:16px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;font-weight:600;padding:4px 10px;border-radius:100px;z-index:2}
.gal-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.9);border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;z-index:2;transition:all .2s;box-shadow:var(--shadow-md)}
.gal-nav:hover{background:#fff;transform:translateY(-50%) scale(1.08)}
.gal-prev{left:12px}.gal-next{right:12px}
/* Thumbnail strip */
.thumbs-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:10px}
.thumb{height:64px;border-radius:9px;background:linear-gradient(135deg,#c5d8f0,#a8c0e0);border:2.5px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:22px;transition:all .2s;overflow:hidden;position:relative}
.thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none}
.thumb img.active{display:block}
.thumb.act{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.thumb:hover{border-color:var(--blue-mid)}

.det-title{font-size:clamp(1.4rem,2.5vw,2rem);font-weight:800;color:var(--text);letter-spacing:-.5px;line-height:1.2;margin-bottom:6px;margin-top:14px}
.det-loc{font-size:14px;color:var(--text3);margin-bottom:16px}
.gps-field-wrap{background:linear-gradient(135deg,#f0f7ff,#e8f3ff);border:1.5px solid #c8deff;border-radius:10px;padding:12px 14px;margin-bottom:14px}
.gps-field-label{font-size:12px;font-weight:600;color:#006AFF;margin-bottom:4px;display:flex;align-items:center;gap:6px}
.gps-field-label span{background:#006AFF;color:#fff;font-size:10px;padding:1px 7px;border-radius:10px}
.gps-field-note{font-size:11px;color:#44475A;margin-top:5px;line-height:1.5}
.gps-field-note a{color:#006AFF;text-decoration:none}
.btn-directions{display:inline-flex;align-items:center;gap:7px;margin-top:10px;padding:9px 18px;background:#1a73e8;color:#fff;border:none;border-radius:8px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .2s}
.btn-directions:hover{background:#1557b0}
.btn-directions svg{flex-shrink:0}
.btn-wa{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:13px 18px;background:#25D366;color:#fff;border:none;border-radius:10px;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;transition:background .2s;letter-spacing:.01em}
.btn-wa:hover{background:#1ebe5d}
.btn-wa svg{flex-shrink:0;width:20px;height:20px}
.wa-divider{display:flex;align-items:center;gap:10px;margin:14px 0;color:var(--text3);font-size:12px}
.wa-divider::before,.wa-divider::after{content:'';flex:1;height:1px;background:var(--border)}
.det-price{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;color:var(--blue);letter-spacing:-.5px;margin-bottom:20px}
.det-price small{font-size:14px;font-weight:400;color:var(--text3)}
.det-specs{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.dsp{background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:10px 14px;text-align:center}
.dsp .num{font-size:18px;font-weight:800;color:var(--text)}
.dsp .lbl{font-size:10px;color:var(--text3);margin-top:2px;text-transform:uppercase;letter-spacing:.5px}
.det-desc{font-size:14px;color:var(--text2);line-height:1.8;margin-bottom:20px}
.amenities-wrap{margin-bottom:24px}
.amenities-wrap h4{font-size:11px;font-weight:700;color:var(--text);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}
.amenity-tags{display:flex;flex-wrap:wrap;gap:7px}
.atag{display:flex;align-items:center;gap:5px;padding:6px 12px;background:var(--green-bg);color:var(--green);border-radius:8px;font-size:12px;font-weight:600}

/* ── ROOM TOUR ────────────────────────────────────────────────── */
#detRoomTabs{display:flex;-webkit-overflow-scrolling:touch;scrollbar-width:none}
#detRoomTabs::-webkit-scrollbar{display:none}
.det-rtab{flex-shrink:0;padding:10px 16px;cursor:pointer;border-bottom:2.5px solid transparent;color:var(--text3);font-size:12px;transition:all .15s;white-space:nowrap;text-align:center}
.det-rtab:hover{color:var(--text)}
.det-rtab.act{color:var(--blue);border-bottom-color:var(--blue);font-weight:700}
.det-rtab-name{display:block;font-weight:500}
.det-rtab-cnt{display:block;font-size:10px;opacity:.65;margin-top:1px}
.pp-room-select{width:100%;margin-top:5px;font-size:11px;padding:5px 6px;border:1px solid var(--border);border-radius:6px;background:var(--white);color:var(--text2);font-family:inherit;cursor:pointer;font-weight:500;display:block}

.map-det{height:260px;border-radius:12px;overflow:hidden;border:1.5px solid var(--border);margin-bottom:24px}

/* Contact card — replaced WhatsApp with enquiry form */
.contact-card{background:var(--white);border:1.5px solid var(--border);border-radius:20px;padding:24px;box-shadow:var(--shadow-lg);position:sticky;top:82px}
.cc-agent{display:flex;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.cc-ava{width:52px;height:52px;border-radius:50%;background:var(--blue-light);display:flex;align-items:center;justify-content:center;font-size:22px;border:2px solid var(--blue-mid);flex-shrink:0}
.cc-name{font-size:15px;font-weight:700;color:var(--text)}
.cc-role{font-size:12px;color:var(--text3);margin-top:2px}
/* Verified/Owner badge in listing detail page contact card
   .cc-vrf-agent = blue pill  ·  .cc-vrf-fsbo = green pill          */
.cc-vrf{display:inline-block;font-size:11px;font-weight:700;
  padding:3px 10px;border-radius:20px;border:1px solid transparent;margin-top:4px}
.cc-vrf-agent{background:#EAF1FF;color:var(--blue);border-color:var(--blue-mid)}
.cc-vrf-fsbo{background:#ECFDF5;color:#15803d;border-color:#86EFAC}
.cc-stats{display:flex;justify-content:space-around;margin-bottom:18px}
.cc-stat strong{display:block;font-size:15px;font-weight:800;color:var(--text);text-align:center}
.cc-stat small{font-size:10px;color:var(--text3)}
.cc-divider{height:1px;background:var(--border);margin-bottom:18px}
/* Enquiry form inside contact card */
.enq-title{font-size:14px;font-weight:700;color:var(--text);margin-bottom:14px}
.enq-form .fg{margin-bottom:10px}
.enq-form .fl{display:block;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text3);margin-bottom:4px}
.enq-form .fi,.enq-form .fta{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:8px;font-family:inherit;font-size:13px;color:var(--text);background:var(--bg);outline:none;transition:border-color .2s}
.enq-form .fi:focus,.enq-form .fta:focus{border-color:var(--blue);background:#fff}
.enq-form .fta{resize:none;height:80px}
.btn-enq{width:100%;padding:13px;background:var(--blue);border:none;border-radius:10px;font-family:inherit;font-size:14px;font-weight:700;color:#fff;cursor:pointer;transition:all .2s;margin-top:4px}
.btn-enq-toggle{width:100%;padding:12px 16px;background:var(--bg);border:1.5px solid var(--blue);border-radius:10px;color:var(--blue);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;text-align:center;transition:background .18s,color .18s}
.btn-enq-toggle:hover{background:var(--blue);color:#fff}
.btn-enq:hover{background:var(--blue-dark);transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,106,255,.3)}
.enq-sent{display:none;background:var(--green-bg);border:1.5px solid var(--green);border-radius:10px;padding:16px;text-align:center;font-size:13px;color:var(--green);font-weight:600;line-height:1.6}
.cc-note{font-size:11px;color:var(--text3);text-align:center;margin-top:12px;line-height:1.5}

/* ─── POST LISTING PAGE ─── */
.pl-page{background:var(--bg)}
.prog-bar{background:var(--white);border-bottom:1px solid var(--border);padding:16px 24px}
.prog-in{max-width:700px;margin:0 auto;display:flex;align-items:center}
.pstep{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--text3);flex:1;position:relative}
.pstep:not(:last-child)::after{content:'';position:absolute;left:calc(50% + 17px);right:calc(-50% + 17px);top:13px;height:2px;background:var(--border);z-index:0;transition:background .4s}
.pstep.done:not(:last-child)::after{background:var(--blue)}
.psc{width:26px;height:26px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;background:#fff;color:var(--text3);flex-shrink:0;position:relative;z-index:1;transition:all .3s}
.pstep.act .psc,.pstep.done .psc{border-color:var(--blue);background:var(--blue);color:#fff}
.pstep-lbl{display:none}
@media(min-width:480px){.pstep-lbl{display:block}}
.pstep.act .pstep-lbl,.pstep.done .pstep-lbl{color:var(--text)}
.pl-main{max-width:1000px;margin:0 auto;padding:36px 24px 80px}
.pls{display:none;animation:fadeUp .3s ease}.pls.act{display:block}
.s1wrap{max-width:660px;margin:0 auto;text-align:center}
.s-ey{font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--blue);margin-bottom:8px}
.s-ti{font-size:clamp(1.7rem,4vw,2.4rem);font-weight:800;color:var(--text);letter-spacing:-1px;line-height:1.15;margin-bottom:10px}
.s-sub{font-size:14px;color:var(--text3);line-height:1.7;max-width:440px;margin:0 auto 36px}
.role-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:28px;text-align:left}
.rcard{background:var(--white);border:2.5px solid var(--border);border-radius:16px;padding:28px 22px;cursor:pointer;position:relative;overflow:hidden;transition:all .25s}
.rcard:hover{border-color:var(--blue);transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.rcard.sel{border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,106,255,.12);background:var(--blue-light)}
.rck{position:absolute;top:14px;right:14px;width:20px;height:20px;border-radius:50%;border:2px solid var(--border);background:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;color:#fff;transition:all .2s}
.rcard.sel .rck{background:var(--blue);border-color:var(--blue)}
.rcico{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:26px;margin-bottom:14px}
.rcico.fsbo{background:#FFF3EC}.rcico.agt{background:var(--blue-light)}
.rct{font-size:17px;font-weight:800;color:var(--text);margin-bottom:3px}
.rcs{font-size:11px;font-weight:600;color:var(--blue);margin-bottom:8px}
.rcd{font-size:12px;color:var(--text3);line-height:1.6;margin-bottom:12px}
.rcps{display:flex;flex-direction:column;gap:5px}
.rcp{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text2)}
.rcp::before{content:'✓';color:var(--green);font-weight:700}
.btn-cont{width:100%;max-width:340px;padding:15px;background:var(--blue);border:none;border-radius:11px;font-family:inherit;font-size:14px;font-weight:700;color:#fff;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:7px;margin:0 auto}
.btn-cont:hover{background:var(--blue-dark);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,106,255,.3)}
.btn-cont:disabled{background:var(--border);color:var(--text3);cursor:not-allowed;transform:none;box-shadow:none}
.s2wrap{max-width:480px;margin:0 auto}
.auth-card{background:var(--white);border:1.5px solid var(--border);border-radius:16px;padding:36px;box-shadow:var(--shadow-md)}
.atag-role{display:inline-flex;align-items:center;gap:6px;background:var(--blue-light);color:var(--blue);border-radius:100px;padding:4px 13px;font-size:11px;font-weight:700;margin-bottom:16px}
.atog-row{display:flex;background:var(--bg);border-radius:9px;padding:3px;margin-bottom:18px}
.atr{flex:1;padding:9px;border:none;border-radius:7px;background:transparent;font-family:inherit;font-size:13px;font-weight:600;color:var(--text3);cursor:pointer;transition:all .2s}
.atr.act{background:#fff;color:var(--blue);box-shadow:var(--shadow-sm)}
.soc-row{display:flex;gap:9px;margin-bottom:14px}
.socb{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px;border:1.5px solid var(--border);border-radius:9px;background:#fff;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;color:var(--text);transition:all .2s}
.socb:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-light)}
.dvor{text-align:center;position:relative;margin:14px 0}
.dvor::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border)}
.dvor span{position:relative;background:#fff;padding:0 12px;font-size:11px;color:var(--text3)}
.info-box{background:var(--blue-light);border:1px solid var(--blue-mid);border-radius:9px;padding:12px 14px;font-size:12px;color:var(--blue);line-height:1.6;margin-bottom:14px;display:flex;gap:8px}
.fg{margin-bottom:12px}
.fl{display:block;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text3);margin-bottom:4px}
.fi,.fs,.fta{width:100%;padding:11px 12px;border:1.5px solid var(--border);border-radius:9px;font-family:inherit;font-size:13px;color:var(--text);background:var(--bg);outline:none;transition:border-color .2s,background .2s,box-shadow .2s}
.fi:focus,.fs:focus,.fta:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px rgba(0,106,255,.08)}
.fta{resize:vertical;min-height:90px}
.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.btn-auth{width:100%;padding:13px;background:var(--blue);border:none;border-radius:9px;font-family:inherit;font-size:14px;font-weight:700;color:#fff;cursor:pointer;transition:all .2s;margin-top:3px}
.btn-auth:hover{background:var(--blue-dark);transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,106,255,.3)}
.auth-foot{text-align:center;margin-top:12px;font-size:12px;color:var(--text3)}
.auth-foot a{color:var(--blue);font-weight:600;text-decoration:none;cursor:pointer}

.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
/* ── ROLE PICKER cards (auth register form) ─────────────────────────────────
   Two cards: Homeowner (FSBO) and Licensed Agent.
   .ropt.act = selected → thick blue border + blue tint + glow
   .ropt-desc = small description line under the role name              */
.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.ropt{
  padding:18px 10px 14px;border:2px solid var(--border);border-radius:12px;
  cursor:pointer;text-align:center;font-family:inherit;font-size:13px;
  font-weight:700;color:var(--text2);background:#fff;transition:all .2s;
  line-height:1.3;display:flex;flex-direction:column;align-items:center
}
.ropt .rico{display:block;font-size:30px;margin-bottom:6px}
.ropt-name{font-size:13px;font-weight:700}
.ropt-desc{display:block;font-size:10px;font-weight:500;color:var(--text3);margin-top:5px;line-height:1.4}
.ropt:hover{border-color:var(--blue-mid);background:var(--blue-light)}
.ropt.act{
  border-color:var(--blue);background:var(--blue-light);color:var(--blue);
  box-shadow:0 0 0 3px rgba(0,106,255,.14)
}
.ropt.act .ropt-name{color:var(--blue)}
.ropt.act .ropt-desc{color:var(--blue);opacity:.8}
.rico{display:block;font-size:30px;margin-bottom:6px}
.s3wrap{max-width:800px;margin:0 auto}
.fcard{background:var(--white);border:1.5px solid var(--border);border-radius:14px;padding:32px;box-shadow:var(--shadow-md);margin-bottom:18px}
.fct{font-size:15px;font-weight:800;color:var(--text);margin-bottom:18px;padding-bottom:12px;border-bottom:1.5px solid var(--border);display:flex;align-items:center;gap:9px}
.fcico{width:32px;height:32px;border-radius:8px;background:var(--blue-light);display:flex;align-items:center;justify-content:center;font-size:16px}
.ptog-row{display:flex;gap:7px}
.ptog{padding:7px 15px;border:1.5px solid var(--border);border-radius:7px;background:#fff;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;color:var(--text3);transition:all .2s}
.ptog.act{border-color:var(--blue);background:var(--blue-light);color:var(--blue)}
.am-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.amch{display:flex;align-items:center;gap:7px;padding:9px 11px;border:1.5px solid var(--border);border-radius:7px;cursor:pointer;font-size:12px;font-weight:500;color:var(--text2);transition:all .2s;user-select:none}
.amch input{display:none}
.amch:has(input:checked){border-color:var(--blue);background:var(--blue-light);color:var(--blue)}
.sub-card{background:linear-gradient(135deg,#EAF1FF,#F0F6FF);border:1.5px solid var(--blue-mid);border-radius:16px;padding:32px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.sub-l h3{font-size:18px;font-weight:800;color:var(--text);margin-bottom:5px}
.sub-l p{font-size:12px;color:var(--text3);line-height:1.6}
.btn-sub{padding:14px 32px;background:var(--blue);border:none;border-radius:11px;font-family:inherit;font-size:15px;font-weight:800;color:#fff;cursor:pointer;display:flex;align-items:center;gap:7px;transition:all .2s;white-space:nowrap}
.btn-sub:hover{background:var(--blue-dark);transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,106,255,.35)}
.s4wrap{max-width:540px;margin:0 auto;text-align:center;padding-top:20px}
.suco{width:86px;height:86px;border-radius:50%;background:var(--green-bg);margin:0 auto 24px;display:flex;align-items:center;justify-content:center;font-size:42px;animation:popIn .5s cubic-bezier(.34,1.56,.64,1)}
.suti{font-size:2rem;font-weight:800;color:var(--text);letter-spacing:-1px;margin-bottom:10px}
.susub{font-size:14px;color:var(--text3);line-height:1.7;margin-bottom:32px}
.nxt-steps{background:var(--white);border:1.5px solid var(--border);border-radius:14px;padding:24px;margin-bottom:24px;text-align:left}
.nxt-steps h4{font-size:14px;font-weight:700;margin-bottom:14px;color:var(--text)}
.nsi{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}
.nsn{width:24px;height:24px;border-radius:50%;background:var(--blue);color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.nsi p{font-size:12px;color:var(--text2);line-height:1.6}
.suc-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.btn-dash{padding:12px 26px;background:var(--blue);border:none;border-radius:9px;font-family:inherit;font-size:13px;font-weight:700;color:#fff;cursor:pointer}
.btn-anot{padding:12px 26px;background:#fff;border:1.5px solid var(--border);border-radius:9px;font-family:inherit;font-size:13px;font-weight:600;color:var(--text2);cursor:pointer}
.btn-anot:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-light)}

/* ─── AGENTS PAGE ─── */
.agents-page-wrap{max-width:1320px;margin:0 auto;padding:40px 24px 80px;flex:1}
.agents-page-head{margin-bottom:40px}
.agents-page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
/* Richer agent card for agents page */
.ag-pro-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;overflow:hidden;transition:box-shadow .25s,transform .25s;cursor:pointer}
.ag-pro-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.ag-pro-cover{height:90px;background:linear-gradient(135deg,#0D1B3E,#1A3A8F);position:relative}
.ag-pro-ava{position:absolute;bottom:-28px;left:20px;width:56px;height:56px;border-radius:50%;background:var(--blue-light);display:flex;align-items:center;justify-content:center;font-size:24px;border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.ag-pro-body{padding:40px 20px 20px}
.ag-pro-name{font-size:16px;font-weight:800;color:var(--text);margin-bottom:2px}
.ag-pro-role{font-size:12px;color:var(--text3);margin-bottom:8px}
.ag-pro-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.ag-badge{font-size:10px;font-weight:700;padding:3px 9px;border-radius:100px}
.ag-badge.verified{background:var(--green-bg);color:var(--green)}
.ag-badge.top{background:#FFF3EC;color:var(--orange)}
.ag-pro-stats{display:flex;gap:0;border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:14px}
.ag-pro-stat{flex:1;padding:10px 8px;text-align:center;border-right:1px solid var(--border)}
.ag-pro-stat:last-child{border-right:none}
.ag-pro-stat strong{display:block;font-size:15px;font-weight:800;color:var(--text)}
.ag-pro-stat small{font-size:10px;color:var(--text3)}
.btn-view-agent{width:100%;padding:10px;background:var(--blue);border:none;border-radius:9px;font-family:inherit;font-size:13px;font-weight:700;color:#fff;cursor:pointer;transition:background .2s}
.btn-view-agent:hover{background:var(--blue-dark)}

/* ─── AGENT PROFILE PAGE ─── */
.agent-profile-wrap{max-width:1100px;margin:0 auto;padding:32px 24px 80px;flex:1}
.agent-profile-grid{display:grid;grid-template-columns:320px 1fr;gap:32px;align-items:start}
.ap-sidebar{position:sticky;top:82px}
.ap-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-md)}
.ap-cover{height:110px;background:linear-gradient(135deg,#0D1B3E,#1A3A8F)}
.ap-ava-wrap{padding:0 24px;margin-top:-32px;margin-bottom:16px}
.ap-ava{width:64px;height:64px;border-radius:50%;background:var(--blue-light);display:flex;align-items:center;justify-content:center;font-size:28px;border:4px solid #fff;box-shadow:0 2px 10px rgba(0,0,0,.1)}
.ap-info{padding:0 24px 24px}
.ap-name{font-size:20px;font-weight:800;color:var(--text);margin-bottom:4px}
.ap-role-tag{font-size:12px;color:var(--text3);margin-bottom:10px}
.ap-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.ap-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border-radius:10px;overflow:hidden;margin-bottom:16px}
.ap-stat{background:#fff;padding:12px 8px;text-align:center}
.ap-stat strong{display:block;font-size:16px;font-weight:800;color:var(--text)}
.ap-stat small{font-size:10px;color:var(--text3)}
/* Star rating widget */
/* Contact agent form on sidebar */
.contact-agent-form{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:22px;box-shadow:var(--shadow-sm);margin-top:16px}
.caf-title{font-size:14px;font-weight:700;color:var(--text);margin-bottom:14px}
.caf-field{margin-bottom:10px}
.caf-field label{display:block;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text3);margin-bottom:4px}
.caf-field input,.caf-field textarea{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:8px;font-family:inherit;font-size:13px;color:var(--text);background:var(--bg);outline:none;transition:border-color .2s}
.caf-field input:focus,.caf-field textarea:focus{border-color:var(--blue);background:#fff}
.caf-field textarea{resize:none;height:80px}
.btn-caf{width:100%;padding:12px;background:var(--blue);border:none;border-radius:9px;font-family:inherit;font-size:13px;font-weight:700;color:#fff;cursor:pointer;transition:all .2s}
.btn-caf:hover{background:var(--blue-dark);transform:translateY(-1px)}
.caf-sent{display:none;background:var(--green-bg);border:1px solid var(--green);border-radius:8px;padding:12px;text-align:center;font-size:12px;color:var(--green);font-weight:600;margin-top:10px}
/* Agent main content */
.ap-main{}
.ap-listings-title{font-size:17px;font-weight:800;color:var(--text);margin-bottom:18px}
.ap-listings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
/* Reviews section */
.ap-reviews{margin-top:36px}
.rev-head{font-size:17px;font-weight:800;color:var(--text);margin-bottom:18px}
.rev-summary{display:flex;align-items:center;gap:20px;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:20px}
.rev-big-num{font-size:3.5rem;font-weight:800;color:var(--text);letter-spacing:-2px;line-height:1}
.rev-stars-row{font-size:20px;margin-bottom:4px}
.rev-count{font-size:12px;color:var(--text3)}
.rev-bars{flex:1}
.rev-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.rev-bar-row span{font-size:11px;color:var(--text3);width:8px}
.rev-bar-bg{flex:1;height:6px;background:var(--border);border-radius:3px;overflow:hidden}
.rev-bar-fill{height:100%;background:var(--orange);border-radius:3px}
.review-cards{display:flex;flex-direction:column;gap:14px}
.rev-card{background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:18px}
.rev-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.rev-ava{width:36px;height:36px;border-radius:50%;background:var(--blue-light);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.rev-name{font-size:13px;font-weight:700;color:var(--text)}
.rev-date{font-size:11px;color:var(--text3)}
.rev-rating{font-size:13px;margin-bottom:6px}
.rev-text{font-size:13px;color:var(--text2);line-height:1.6}

/* ─── AUTH OVERLAY ─── */
.auth-ov{display:none;position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:20px}
.auth-ov.show{display:flex}
.auth-mo{background:#fff;border-radius:18px;width:100%;max-width:440px;max-height:90vh;overflow-y:auto;padding:32px;animation:popIn .25s ease}
.amh{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}
.amh h2{font-size:20px;font-weight:800;color:var(--text)}
.amcl{background:var(--bg);border:none;border-radius:7px;width:30px;height:30px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--text3)}
.hf-msg{padding:10px 14px;border-radius:9px;font-size:12px;font-weight:500;margin-bottom:14px;line-height:1.5;display:none}
.hf-msg.ok{background:var(--green-bg);color:var(--green);display:block}
.hf-msg.err{background:#fff0f0;color:var(--red);display:block}

/* ─── ANIMATIONS ─── */
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes popIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}

/* ─── RESPONSIVE ─── */
/* 1100px: 3 cols desktop */
@media(max-width:1100px){
  .browse-grid{grid-template-columns:repeat(3,1fr)}
  .home-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:1060px){
  .detail-grid{grid-template-columns:1fr}
  .contact-card{position:static}
  .ft-top{grid-template-columns:1fr 1fr;gap:28px}
  .agent-profile-grid{grid-template-columns:1fr}
  .ap-sidebar{position:static}
  .ap-listings-grid{grid-template-columns:repeat(2,1fr)}
}
/* 900px tablet: 2 cols */
@media(max-width:900px){
  .home-grid{grid-template-columns:repeat(2,1fr)}
  .browse-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  /* On mobile: logo + hamburger only. Nav-links/ctas/search all hidden.
     Users search via the hero form or the Browse page search bar. */
  .tbi{padding:0 16px;gap:10px}
  .nav-srch{display:none}
  .nav-links,.nav-ctas{display:none}
  .hmbg{display:flex}
  .hero{padding:52px 16px 44px}
  .sec{padding:52px 16px}
  .numbers-sec{padding:52px 16px}
  .list-cta-sec{padding:60px 16px}
  .browse-wrap{padding:16px 16px 60px}
 .detail-wrap{padding:16px 16px 120px}
  .sub-card{flex-direction:column}
  .btn-sub{width:100%;justify-content:center}
  .role-cards,.fg-row{grid-template-columns:1fr}
  .ft-top{padding:36px 16px}
  .ft-bt{flex-direction:column;gap:6px;padding:16px}
  .agents-page-wrap{padding:24px 16px 60px}
  .agent-profile-wrap{padding:16px 16px 60px}
  .num-grid{grid-template-columns:1fr 1fr}
  .trust-row{grid-template-columns:1fr}
  .gallery-main{height:280px;border-radius:0}
  .thumbs-strip{grid-template-columns:repeat(5,1fr)}
  .ap-listings-grid{grid-template-columns:repeat(2,1fr)}

  /* Agent grid: single column on tablet (≤768px) */
  .agents-page-grid{grid-template-columns:1fr;gap:14px}
}
/* 600px mobile: single column, full-width cards */
@media(max-width:600px){
  .home-grid{grid-template-columns:1fr}
  .browse-grid{grid-template-columns:1fr}
  .pcard-img{height:240px;font-size:64px}
  .pc-price{font-size:24px}
}

/* ─── VERY SMALL PHONES (≤400px — iPhone SE, Galaxy S) ─── */
@media(max-width:480px){
  .home-grid{grid-template-columns:1fr}
  .browse-grid{grid-template-columns:1fr}
  .pcard-img{height:220px;font-size:48px}
}
@media(max-width:400px){
  .hero h1{font-size:1.8rem}
  .tbi{gap:8px}
  .logo{font-size:18px}
}

/* ─── MOBILE SEARCH (Zillow-style stacked layout) ─── */
@media(max-width:600px){
  .hs-row{flex-direction:column;gap:8px}
  .hs-sep{display:none}
  .hs-f{width:100%}
  .hs-f input,.hs-f select{padding:14px 12px 14px 12px}
  .hs-f label{display:none}
  .hs-f input::placeholder{color:var(--text3)}
  .btn-sh{width:100%;justify-content:center;padding:14px}
  /* On mobile: show placeholder text instead of floating labels */
  .hs-f input,.hs-f select{padding:12px 13px}
}
/* ─── TABLET SEARCH (601–768px) ─── */
/* At this width the hero inputs + search button are too cramped on one row.
   Stack Type and Price below Location so every field stays readable. */
@media(min-width:601px) and (max-width:900px){
  .hs-row{flex-wrap:wrap;gap:8px}
  .hs-f:first-child{flex:1 1 100%} /* Location takes full first row */
  .hs-sep{display:none}            /* Hide separators in wrapped layout */
  .hs-f:not(:first-child){flex:1 1 calc(50% - 4px)} /* Type + Price split 50/50 */
  .btn-sh{flex:1 1 100%;justify-content:center;padding:14px} /* Button full width below */
}
/* ─── PHOTO UPLOAD ─── */
.photo-upload-area{border:2px dashed var(--border);border-radius:12px;padding:20px;text-align:center;cursor:pointer;transition:all .2s;background:var(--bg);margin-top:4px}
.photo-upload-area:hover,.photo-upload-area.drag{border-color:var(--blue);background:var(--blue-light)}
.pua-ico{font-size:28px;margin-bottom:6px}
.pua-txt{font-size:13px;font-weight:600;color:var(--text2);margin-bottom:3px}
.pua-sub{font-size:11px;color:var(--text3)}
.photo-previews{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.photo-preview{position:relative;width:110px;flex-shrink:0;border-radius:9px;background:var(--bg);border:1.5px solid var(--border);padding-bottom:6px}
.photo-preview img{width:100%;height:72px;object-fit:cover;border-radius:7px 7px 0 0;display:block}
.photo-preview .pp-del{position:absolute;top:3px;right:3px;width:18px;height:18px;background:rgba(0,0,0,.65);border:none;border-radius:50%;color:#fff;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}
.photo-preview .pp-del:hover{background:var(--red)}
.pp-uploading{position:absolute;top:0;left:0;right:0;height:72px;background:rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--blue);font-weight:600;border-radius:7px 7px 0 0}
.pp-err{position:absolute;top:0;left:0;right:0;height:72px;background:rgba(255,240,240,.9);display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--red);font-weight:600;text-align:center;padding:4px;border-radius:7px 7px 0 0}
.pp-room-select{display:block;width:calc(100% - 8px);margin:4px 4px 2px;font-size:10px;padding:3px 4px;border:1px solid var(--border);border-radius:5px;background:var(--white);color:var(--text2);font-family:inherit;cursor:pointer;font-weight:500}
/* ─── DASHBOARD ─── */
.dash-wrap{max-width:860px;margin:0 auto;padding:32px 24px 80px;flex:1}
.dash-welcome-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:22px 26px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;box-shadow:var(--shadow-sm)}
.dwc-left{display:flex;align-items:center;gap:14px}
.dwc-ava{width:50px;height:50px;border-radius:50%;background:var(--blue-light);display:flex;align-items:center;justify-content:center;font-size:22px;border:2.5px solid var(--blue-mid);flex-shrink:0}
.dwc-name{font-size:18px;font-weight:800;color:var(--text);letter-spacing:-.3px}
.dwc-role{display:flex;align-items:center;gap:7px;margin-top:4px}
.role-bdg{padding:2px 10px;border-radius:100px;font-size:10px;font-weight:700}
.rb-fsbo{background:#FFF3EC;color:var(--orange)}
.rb-agent{background:var(--blue-light);color:var(--blue)}
.dwc-sub{font-size:12px;color:var(--text3)}
.btn-add-listing{display:flex;align-items:center;gap:7px;padding:11px 22px;background:var(--orange);border:none;border-radius:9px;font-family:inherit;font-size:13px;font-weight:700;color:#fff;cursor:pointer;box-shadow:0 2px 8px rgba(255,107,53,.35);transition:all .2s;white-space:nowrap}
.btn-add-listing:hover{background:#e55a24;transform:translateY(-1px)}
.btn-signout{padding:9px 16px;border:1.5px solid var(--border);border-radius:8px;background:#fff;font-family:inherit;font-size:13px;font-weight:600;color:var(--text2);cursor:pointer;transition:all .2s}
.btn-signout:hover{border-color:var(--red);color:var(--red)}
/* Admin notice */
.admin-notice{background:var(--blue-light);border:1.5px solid var(--blue-mid);border-radius:12px;padding:14px 18px;margin-bottom:22px;display:flex;gap:12px;font-size:13px;color:var(--blue);line-height:1.6}
.an-ico{font-size:18px;flex-shrink:0;margin-top:1px}
/* Listings section */
.dash-sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.dash-sec-title{font-size:15px;font-weight:700;color:var(--text)}
.dash-sec-count{font-size:12px;color:var(--text3)}
/* Individual listing card */
.my-listing-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:16px 20px;margin-bottom:11px;display:grid;grid-template-columns:46px 1fr auto;gap:14px;align-items:center;transition:box-shadow .2s,border-color .2s}
.my-listing-card:hover{box-shadow:var(--shadow-md);border-color:#C8DEFF}
.mlc-thumb{width:46px;height:40px;border-radius:9px;background:linear-gradient(135deg,#d5e3f5,#b8cfe8);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.mlc-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:4px}
.mlc-meta{font-size:11px;color:var(--text3);display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.mlc-price{font-weight:700;color:var(--blue);font-size:12px}
.mlc-dot{width:3px;height:3px;border-radius:50%;background:var(--border)}
.mlc-status-row{margin-top:7px}
.status-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:100px;font-size:11px;font-weight:700}
.sp-live{background:var(--green-bg);color:var(--green)}
.sp-pending{background:#FFF3EC;color:var(--orange)}
.sp-draft{background:var(--bg);color:var(--text3);border:1px solid var(--border)}
.sp-rejected{background:#FFF0F0;color:var(--red)}
.mlc-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.btn-mlc-del{padding:6px 13px;border:1.5px solid var(--border);border-radius:7px;background:#fff;font-family:inherit;font-size:11px;font-weight:600;color:var(--text3);cursor:pointer;transition:all .2s;white-space:nowrap}
.btn-mlc-del:hover{border-color:var(--red);color:var(--red);background:#FFF0F0}
.btn-mlc-view{padding:6px 13px;border:1.5px solid var(--border);border-radius:7px;background:#fff;font-family:inherit;font-size:11px;font-weight:600;color:var(--text2);cursor:pointer;transition:all .2s;white-space:nowrap}
.btn-mlc-view:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-light)}
/* Empty state */
.dash-empty{background:#fff;border:1.5px dashed var(--border);border-radius:14px;padding:48px 24px;text-align:center}
.de-ico{font-size:40px;margin-bottom:12px}
.de-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:6px}
.de-sub{font-size:13px;color:var(--text3);line-height:1.6;max-width:300px;margin:0 auto 18px}
.btn-de-add{display:inline-flex;align-items:center;gap:7px;padding:11px 22px;background:var(--blue);border:none;border-radius:9px;font-family:inherit;font-size:13px;font-weight:700;color:#fff;cursor:pointer;transition:all .2s}
.btn-de-add:hover{background:var(--blue-dark);transform:translateY(-1px)}
/* Add listing modal */
.add-modal-ov{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);z-index:400;align-items:center;justify-content:center;padding:20px}
.add-modal-ov.open{display:flex}
.add-modal{background:#fff;border-radius:18px;width:100%;max-width:540px;max-height:90vh;overflow-y:auto;animation:popIn .2s ease}
.am-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border);position:sticky;top:0;background:#fff;border-radius:18px 18px 0 0;z-index:1}
.am-title{font-size:16px;font-weight:800;color:var(--text)}
.am-close{width:30px;height:30px;border-radius:7px;background:var(--bg);border:none;cursor:pointer;font-size:16px;color:var(--text3);display:flex;align-items:center;justify-content:center}
.am-close:hover{background:var(--border)}
.am-body{padding:22px 24px;overflow-y:auto;max-height:calc(90vh - 120px)}
.am-foot{padding:14px 24px;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;position:sticky;bottom:0;background:#fff;border-radius:0 0 18px 18px}
.ptog-row{display:flex;gap:8px;margin-bottom:0}
.ptog-btn{flex:1;padding:10px 8px;border:1.5px solid var(--border);border-radius:9px;background:#fff;font-family:inherit;font-size:12px;font-weight:600;color:var(--text3);cursor:pointer;text-align:center;transition:all .2s}
.ptog-btn.act{border-color:var(--blue);background:var(--blue-light);color:var(--blue)}
/* Delete confirm modal */
.del-modal{background:#fff;border-radius:16px;width:100%;max-width:380px;padding:30px;text-align:center;animation:popIn .2s ease}
.dm-ico{font-size:38px;margin-bottom:12px}
.dm-title{font-size:16px;font-weight:800;color:var(--text);margin-bottom:6px}
.dm-sub{font-size:13px;color:var(--text3);line-height:1.6;margin-bottom:22px}
.dm-btns{display:flex;gap:10px;justify-content:center}
.btn-dm-keep{padding:10px 22px;border:1.5px solid var(--border);border-radius:9px;background:#fff;font-family:inherit;font-size:13px;font-weight:600;color:var(--text2);cursor:pointer}
.btn-dm-del{padding:10px 22px;background:var(--red);border:none;border-radius:9px;font-family:inherit;font-size:13px;font-weight:700;color:#fff;cursor:pointer}
.btn-dm-del:hover{background:#d91e35}
/* Toast */
.mlc-views{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500;color:var(--text2);background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:2px 9px;margin-top:6px}
.mlc-views svg{opacity:.6}
.dash-stat-row{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.dash-stat{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:10px 16px;flex:1;min-width:100px}
.dash-stat-num{font-size:22px;font-weight:700;color:var(--blue);margin-bottom:2px}
.dash-stat-label{font-size:11px;color:var(--text3)}
.dash-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(80px);background:#1A1A2E;color:#fff;padding:12px 22px;border-radius:100px;font-size:13px;font-weight:600;z-index:500;transition:transform .3s ease;white-space:nowrap;box-shadow:0 8px 30px rgba(0,0,0,.25);pointer-events:none}
.dash-toast.show{transform:translateX(-50%) translateY(0)}
/* Cancel btn in modal */
.btn-am-cancel{padding:10px 18px;border:1.5px solid var(--border);border-radius:9px;background:#fff;font-family:inherit;font-size:13px;font-weight:600;color:var(--text2);cursor:pointer}
.btn-am-submit{padding:10px 24px;background:var(--blue);border:none;border-radius:9px;font-family:inherit;font-size:13px;font-weight:700;color:#fff;cursor:pointer;transition:all .2s}
.btn-am-submit:hover{background:var(--blue-dark);transform:translateY(-1px)}
@media(max-width:600px){
  .map-det{display:none}
  .dash-wrap{padding:20px 16px 60px}
  .my-listing-card{grid-template-columns:40px 1fr;gap:10px}
  .mlc-actions{flex-direction:row;grid-column:1/-1;justify-content:flex-start}
  .dash-welcome-card{padding:16px;flex-direction:column;align-items:flex-start}
  .dash-welcome-card>div:last-child{width:100%;justify-content:space-between}
  .btn-add-listing{flex:1;justify-content:center}
}



/* ══════════════════════════════════════════════
   SEARCH FEATURE — animated letters + working search
   ══════════════════════════════════════════════ */

/* Typewriter blinking cursor on placeholder */
#heroLoc::placeholder{ color:var(--text3);transition:color .2s }
#heroLoc:focus::placeholder{ color:#ccc }

/* Search result pill that pops up after searching */

/* Pulse animation for verified-agent badge */
@keyframes pulse-green {
  0%  { box-shadow: 0 0 0 0   rgba(34,197,94,.4) }


  70%{box-shadow:0 0 0 7px rgba(34,197,94,0)}
  100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}
}



/* Browse page search box focus glow */
#browseQ{transition:border-color .2s,box-shadow .2s}
#browseQ:focus{
  border-color:var(--blue) !important;
  box-shadow:0 0 0 3px rgba(0,106,255,.13);
  outline:none;
}

/* Hero search box breathing glow */
@keyframes hsGlow{
  0%,100%{box-shadow:0 8px 32px rgba(0,0,0,.08)}
  50%{box-shadow:0 8px 32px rgba(0,106,255,.18)}
}
.hs-box{animation:fadeUp .5s .2s ease both;animation-fill-mode:both}
.hs-box:not(:focus-within){animation:fadeUp .5s .2s ease both,hsGlow 4s 1.8s ease-in-out infinite}
.hs-box:focus-within{box-shadow:0 0 0 3px rgba(0,106,255,.15),0 12px 40px rgba(0,0,0,.12)}

/* ── PREVIEW ONLY — not in style.css or WordPress plugin ───────────────────
   At 481-768 px (artifact iframe): show nav-srch + hamburger, hide nav-links
   and nav-ctas (they live inside the hamburger menu). This gives nav-srch
   all the available width so the Search button is never clipped. */

/* ─── WordPress Theme Integration ───────────────────────────────────────────
   Forces the SPA to fill the full viewport width regardless of which WP theme
   is active. Works with Twenty*, Astra, GeneratePress, OceanWP, Divi, Elementor.
   The negative margin trick expands content beyond the theme's max-width column. */
.lgh-wp-wrap{
  position:relative;
  width:100vw;
  left:50%;
  right:50%;
  margin-left:-50vw;
  margin-right:-50vw;
  overflow-x:hidden;
}
/* Reset any theme padding on the WP content container */
.lgh-wp-wrap .topbar,
.lgh-wp-wrap .lgh-page,
.lgh-wp-wrap .hf-ft { max-width:none; }
/* Hide default WP page title if theme shows it above shortcode */
.lgh-wp-wrap ~ *,
.entry-title:has(+ * .lgh-wp-wrap),
body.page-template-default .entry-title { display:none; }

/* ── Toast notifications ──────────────────────────────────────── */
#lgh-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:#1a1a2e;color:#fff;padding:12px 20px;border-radius:10px;font-size:13px;font-weight:500;z-index:99999;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;max-width:320px;text-align:center;box-shadow:0 4px 20px rgba(0,0,0,.3)}
#lgh-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
#lgh-toast.toast-ok{background:#065f46}
#lgh-toast.toast-err{background:#991b1b}

/* ── MOBILE STICKY BOTTOM BAR ────────────────────────────────────────── */
.det-mob-bar{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--white);border-top:1px solid var(--border);padding:12px 16px;z-index:9999;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -4px 16px rgba(0,0,0,.15)}
.det-mob-price{font-size:18px;font-weight:800;color:var(--blue)}
.det-mob-price small{font-size:12px;font-weight:400;color:var(--text3)}
.det-mob-wa{background:#25D366;color:#fff;border:none;border-radius:10px;padding:11px 18px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
/* @media(max-width:1060px){.det-mob-bar{display:flex !important}} */ Hidden the sticky bar
.det-mob-bar.det-hidden{display:none !important}