/* Shawn Realty Home Search – mobile app shell (v1.4.1; v1.4.3 tab states). Only loaded on Home Search, listing, My Account and Deep Search. */
:root{--srmls-app:#1d3557;--srmls-tab-h:60px}
.srmls-tabbar,.srmls-sheet,.srmls-install{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.srmls-tabbar{display:none}
@media (max-width:820px){
  body.srmls-app{padding-bottom:calc(var(--srmls-tab-h) + env(safe-area-inset-bottom,0px)) !important}
  .srmls-tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:99990;height:calc(var(--srmls-tab-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:#fff;border-top:1px solid #d5dbe3;box-shadow:0 -2px 12px rgba(0,0,0,.08)}
  .srmls-tabbar>a,.srmls-tabbar>button{position:relative;flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;padding:6px 2px 4px;margin:0;border:0;background:none;color:#4a5568;font-size:11px;font-weight:600;line-height:1.1;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:rgba(29,53,87,.18);touch-action:manipulation;user-select:none;-webkit-user-select:none;transition:color .12s,background-color .12s}
  .srmls-tabbar svg{fill:currentColor;width:24px;height:24px}
  .srmls-tabbar span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  /* v1.4.3 active tab (aria-current) + pressed feedback */
  .srmls-tabbar a.on,.srmls-tabbar a[aria-current="page"]{color:var(--srmls-app)}
  .srmls-tabbar a.on span,.srmls-tabbar a[aria-current="page"] span{font-weight:800}
  .srmls-tabbar a.on::before,.srmls-tabbar a[aria-current="page"]::before{content:"";position:absolute;top:0;left:22%;right:22%;height:3px;border-radius:0 0 3px 3px;background:var(--srmls-app)}
  .srmls-tabbar a.on svg{transform:scale(1.08)}
  .srmls-tabbar a:active,.srmls-tabbar a.is-pressed{background:#e8eef6;color:var(--srmls-app)}
  .srmls-tabbar a:active svg,.srmls-tabbar a.is-pressed svg{transform:scale(.92)}
  .srmls-tabbar a.is-loading{opacity:.75}
  .srmls-tabbar a:focus-visible,.srmls-tabbar button:focus-visible{outline:3px solid #2a6f97;outline-offset:-3px}
  .srmls-tabbar svg{transition:transform .1s}
  .srmls-tabbar .srmls-tab-call{color:#fff;background:#e63946;border-radius:14px;margin:6px 6px 6px 2px;flex:1.15 1 0}
  .srmls-tabbar .srmls-tab-call:active{background:#c62f3b}
  /* sticky search bar on Home Search */
  body.srmls-app .srmls-sbar{position:sticky;top:0;z-index:9990;background:#fff;margin-left:-4px;margin-right:-4px;padding:8px 4px;box-shadow:0 3px 10px rgba(0,0,0,.08)}
  body.srmls-app.admin-bar .srmls-sbar{top:46px}
  body.srmls-app .srmls-sbar-r2{display:flex !important;flex-wrap:nowrap;overflow-x:auto;gap:6px;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}
  body.srmls-app .srmls-sbar-r2::-webkit-scrollbar{display:none}
  body.srmls-app .srmls-sbar-r2>*{flex:0 0 auto;max-width:none}
  body.srmls-app .srmls-sbar-r2 details[open]{position:static}
  body.srmls-app .srmls-sbar-r2 details[open]>.srmls-pop-body{position:fixed;left:8px;right:8px;top:auto;max-height:70vh;overflow:auto;z-index:99991}
  /* full-screen map + list (already combined) */
  body.srmls-app .srmls-split-map .srmls-map{height:46vh;min-height:260px}
  html.srmls-standalone body.srmls-app .srmls-split-map .srmls-map{height:52vh}
  /* tap-friendly listing contact links */
  body.srmls-app .srmls-detail a[href^="tel:"],body.srmls-app .srmls-detail a[href^="sms:"]{display:inline-block;padding:6px 0}
}
/* standalone (installed) app: no browser chrome, so keep the app header compact and respect the notch */
html.srmls-standalone body.srmls-app{padding-top:env(safe-area-inset-top,0px)}
html.srmls-standalone .srmls-tabbar{display:flex}
@media (min-width:821px){html.srmls-standalone body.srmls-app{padding-bottom:calc(var(--srmls-tab-h) + 8px) !important}html.srmls-standalone .srmls-tabbar{position:fixed;left:50%;transform:translateX(-50%);bottom:8px;width:min(560px,96vw);height:var(--srmls-tab-h);border:1px solid #d5dbe3;border-radius:16px;background:#fff;z-index:99990;box-shadow:0 4px 18px rgba(0,0,0,.12)}html.srmls-standalone .srmls-tabbar>a,html.srmls-standalone .srmls-tabbar>button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:0;background:none;font-size:12px;color:#4a5568;text-decoration:none}html.srmls-standalone .srmls-tabbar svg{fill:currentColor;width:24px;height:24px}html.srmls-standalone .srmls-tabbar .on{color:var(--srmls-app)}html.srmls-standalone .srmls-tabbar a:active,html.srmls-standalone .srmls-tabbar a.is-pressed{background:#e8eef6;border-radius:12px}html.srmls-standalone .srmls-tabbar .srmls-tab-call{background:#e63946;color:#fff;border-radius:12px;margin:6px}}
/* call / text sheet */
.srmls-sheet{position:fixed;inset:0;z-index:99995;background:rgba(15,23,42,.45);display:flex;align-items:flex-end;justify-content:center}
.srmls-sheet[hidden]{display:none}
.srmls-sheet-card{background:#fff;width:100%;max-width:520px;border-radius:18px 18px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));box-shadow:0 -6px 24px rgba(0,0,0,.2);display:flex;flex-direction:column;gap:10px}
.srmls-sheet-h{margin:0 0 4px;text-align:center;color:#1f2937;font-size:15px}
.srmls-sheet-btn{display:block;text-align:center;padding:14px;border-radius:12px;background:var(--srmls-app);color:#fff !important;font-weight:700;font-size:17px;text-decoration:none !important}
.srmls-sheet-btn2{background:#2a6f97}
.srmls-sheet-cancel{padding:12px;border:0;border-radius:12px;background:#eef1f5;color:#1f2937;font-size:16px;font-weight:600}
/* install banner */
.srmls-install{position:fixed;left:8px;right:8px;bottom:calc(var(--srmls-tab-h) + 10px + env(safe-area-inset-bottom,0px));z-index:99992;display:flex;align-items:center;gap:10px;padding:10px 10px 10px 12px;background:#fff;border:1px solid #d5dbe3;border-left:5px solid var(--srmls-app);border-radius:14px;box-shadow:0 8px 28px rgba(0,0,0,.18);max-width:560px;margin:0 auto}
.srmls-install[hidden]{display:none}
.srmls-install img{border-radius:10px;flex:0 0 auto}
.srmls-install-txt{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;font-size:13px;line-height:1.3;color:#334155}
.srmls-install-txt strong{font-size:15px;color:#0f172a}
.srmls-install-txt svg{vertical-align:-3px;fill:#0a84ff}
.srmls-install-go{flex:0 0 auto;border:0;border-radius:10px;background:var(--srmls-app);color:#fff;font-weight:700;padding:10px 14px;font-size:14px}
.srmls-install-x{flex:0 0 auto;border:0;background:none;font-size:24px;line-height:1;color:#64748b;padding:4px 6px}
@media (min-width:821px){html:not(.srmls-standalone) .srmls-install{bottom:16px}}
/* offline banner (live pages) */
.srmls-offline-banner{position:sticky;top:0;z-index:99993;background:#7a2e0e;color:#fff;padding:10px 14px;font:600 15px/1.35 system-ui,sans-serif;text-align:center}
.srmls-offline-banner[hidden]{display:none}
/* push opt-in (My Account) */
.srmls-push-optin{border:2px solid var(--srmls-app);border-radius:10px;padding:12px 14px;margin:12px 0;background:#f7f9fc}
.srmls-push-optin p{margin:6px 0}
.srmls-push-optin button{background:var(--srmls-app);color:#fff;border:0;border-radius:8px;padding:10px 14px;font-weight:700}
.srmls-push-optin .srmls-push-off{background:#fff;color:var(--srmls-app);border:1px solid var(--srmls-app)}
.srmls-push-optin button[disabled]{opacity:.5}
.srmls-push-ios{font-size:.92em;color:#7a2e0e}
.srmls-push-msg{font-size:.92em;color:#334155;min-height:1em}
/* offline page */
.srmls-offline-page{margin:0;min-height:100vh;background:#f4f6f9;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#1f2937}
.srmls-off-head{display:flex;align-items:center;gap:12px;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;background:#1d3557;color:#fff;font-weight:700;font-size:18px}
.srmls-off-head img{border-radius:12px}
.srmls-off-main{max-width:560px;margin:0 auto;padding:24px 18px 40px;text-align:center}
.srmls-off-icon{font-size:64px;line-height:1;color:#7a2e0e;margin:10px 0}
.srmls-off-main h1{font-size:26px;margin:6px 0 10px;color:#0f172a}
.srmls-off-main h2{font-size:16px;margin:18px 0 6px}
.srmls-off-main ul{list-style:none;padding:0;text-align:left}
.srmls-off-main li a{display:block;padding:10px 12px;background:#fff;border:1px solid #d5dbe3;border-radius:10px;margin:6px 0;color:#1d3557;text-decoration:none}
.srmls-off-btn{display:inline-block;margin:6px 4px;padding:12px 18px;border:0;border-radius:12px;background:#1d3557;color:#fff !important;font-weight:700;font-size:16px;text-decoration:none}
.srmls-off-btn2{background:#2a6f97}
.srmls-off-contact{margin-top:22px;padding:14px;background:#fff;border-radius:12px;border:1px solid #d5dbe3}
.srmls-off-contact p{margin:4px 0}
