/* OVbord beta release 2026-10-24: isolated map overlay; renderer unchanged. */
#mapActions #contactMapLink{
 position:relative!important;inset:auto!important;transform:none!important;
 width:40px!important;height:40px!important;min-width:40px!important;
 padding:0!important;margin:0!important;display:grid!important;place-items:center!important;
 border-radius:14px!important;border:1px solid var(--border,#d8e2e8)!important;
 background:var(--surface,#fff)!important;color:var(--ink,#16384f)!important;
 box-shadow:var(--shadow,0 8px 25px rgba(15,35,50,.22))!important;
 text-decoration:none!important;flex:0 0 40px!important;
}
#mapActions #contactMapLink svg{width:21px!important;height:21px!important}
#ovbordBetaPromo{box-sizing:border-box;position:fixed;z-index:24;bottom:80px;right:16px;
 font-family:system-ui,-apple-system,"Segoe UI",sans-serif;max-width:320px;
 color:var(--ink,#193a50);}
#ovbordBetaPromo.ovbord-beta-card{width:min(320px,calc(100vw - 28px));background:var(--surface,#fff);
 border:1px solid var(--border,#d9e4e7);border-radius:15px;
 padding:17px 18px 15px;box-shadow:0 9px 30px rgba(17,43,56,.2)}
#ovbordBetaPromo .ovbord-beta-heading{font-size:15px;line-height:1.35;font-weight:800;
 display:block;margin:0 26px 6px 0}
#ovbordBetaPromo .ovbord-beta-subtitle{font-size:12px;line-height:1.5;
 color:var(--muted,#637b86);margin:0 0 14px}
#ovbordBetaPromo .ovbord-beta-download{display:flex;align-items:center;justify-content:center;gap:8px;
 padding:11px 13px;min-height:40px;color:#fff;background:#1d6f42;text-decoration:none;
 border-radius:10px;font-size:13px;font-weight:750}
#ovbordBetaPromo .ovbord-beta-download:hover{background:#145f36}
#ovbordBetaPromo .ovbord-beta-close{position:absolute;top:10px;right:10px;width:30px;height:30px;
 background:none;border:0;border-radius:8px;color:var(--ink,#193a50);
 cursor:pointer;font-family:inherit;font-size:22px;line-height:1}
#ovbordBetaPromo.ovbord-beta-pill{display:block;width:auto;max-width:max-content}
#ovbordBetaPromo .ovbord-beta-pill-link{display:flex;align-items:center;gap:7px;
 min-height:39px;padding:8px 15px;border-radius:24px;background:#1d6f42;
 color:#fff;font-size:13px;font-weight:800;text-decoration:none;box-shadow:0 5px 18px #143c2961}
#ovbordBetaPromo a:focus-visible,#ovbordBetaPromo button:focus-visible,#mapActions #contactMapLink:focus-visible{outline:3px solid #5cb3ec;outline-offset:3px}
body:has(#mapTools.mobile-open) #ovbordBetaPromo,
body:has(.detail-panel.open) #ovbordBetaPromo,
body:has(.leaflet-popup:not(.leaflet-zoom-animated[style*="display: none"])) #ovbordBetaPromo{display:none}
@media(max-width:760px){
 #ovbordBetaPromo{right:12px;bottom:calc(112px + env(safe-area-inset-bottom,0px))}
 #ovbordBetaPromo.ovbord-beta-card{padding:14px 15px 13px}
 #mapActions #contactMapLink{width:40px!important;height:40px!important;min-width:40px!important;border-radius:12px!important}
}
@media(max-width:400px){
 #ovbordBetaPromo{bottom:calc(108px + env(safe-area-inset-bottom,0px))}
 #ovbordBetaPromo.ovbord-beta-card{max-width:min(320px,calc(100vw - 28px))}
}


/* Isolated dialog. The footer stays outside the scrolling content on short phones. */
#ovbordBetaPromo button{font-family:inherit;cursor:pointer}
#ovbordBetaPromo .ovbord-beta-pill-link{border:0;min-height:44px;line-height:1.3}
#ovbordBetaPromo .ovbord-beta-pill-link svg{width:18px;height:18px;flex:none}
#ovbordBetaPromo .ovbord-beta-download{width:100%;border:0;box-sizing:border-box;font-family:inherit}
#ovbordBetaPromo.ovbord-beta-card{cursor:pointer}
#ovbordOverlay,#ovbordOverlay *{box-sizing:border-box}
#ovbordOverlay[hidden]{display:none!important}
#ovbordOverlay{
 position:fixed;inset:0;z-index:2147483600;display:grid;place-items:center;
 padding:24px;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
 color:#173a53;line-height:1.4;isolation:isolate;
}
#ovbordOverlay .ovbord-backdrop{
 position:absolute;inset:0;background:rgba(16,47,69,.58);touch-action:none;
 opacity:0;transition:opacity .2s ease;
}
#ovbordOverlay .ovbord-dialog{
 position:relative;width:min(1120px,100%);max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);
 min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#fff;
 border:1px solid #d9e4e7;border-radius:22px;box-shadow:0 22px 72px #102f4550;
 opacity:0;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease;
}
#ovbordOverlay.is-open .ovbord-backdrop,#ovbordOverlay.is-open .ovbord-dialog{opacity:1}
#ovbordOverlay.is-open .ovbord-dialog{transform:translateY(0)}
#ovbordOverlay .ovbord-dialog-header{flex:none;position:relative;padding:25px 32px 18px}
#ovbordOverlay .ovbord-title-row{display:flex;align-items:center;gap:11px;padding-right:42px}
#ovbordOverlay h2{font-size:29px;line-height:1.15;letter-spacing:-.6px;font-weight:800;margin:0;color:#173a53}
#ovbordOverlay .ovbord-beta-label{display:inline-flex;align-items:center;border-radius:20px;padding:5px 11px;background:#e8f5ee;color:#1d6f42;font-size:13px;line-height:1.3;font-weight:750}
#ovbordOverlay #ovbordOverlaySubtitle{font-size:17px;line-height:1.4;font-weight:500;margin:7px 0 0;color:#637b86}
#ovbordOverlay .ovbord-dialog-close{position:absolute;right:17px;top:15px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:12px;background:transparent;color:#526b78;font:400 31px/1 system-ui;cursor:pointer}
#ovbordOverlay .ovbord-dialog-close:hover{background:#edf4f2}
#ovbordOverlay .ovbord-sheet-handle{display:none}
#ovbordOverlay .ovbord-dialog-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 32px 18px}
#ovbordOverlay .ovbord-shot-window{width:100%;overflow-x:auto;overflow-y:hidden;border:1px solid #d9e4e7;border-radius:14px;background:#fff;box-shadow:0 3px 13px #102f4510}
#ovbordOverlay .ovbord-shot-canvas{width:100%;min-width:900px;aspect-ratio:1080 / 324;overflow:hidden;background:#fff}
#ovbordOverlay .ovbord-app-shot{display:block;width:100%;max-width:none;height:auto;margin-top:-2.222223%}
/* 24 source pixels are clipped above; only the upper 324 pixels of the actual board remain. */
#ovbordOverlay .ovbord-details{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;margin-top:19px}
#ovbordOverlay .ovbord-benefits{display:grid;gap:10px;list-style:none;margin:0;padding:0}
#ovbordOverlay .ovbord-benefits li{display:flex;align-items:center;gap:13px;font-size:16px;font-weight:600;line-height:1.4}
#ovbordOverlay .ovbord-benefit-icon{display:grid;place-items:center;flex:0 0 35px;width:35px;height:35px;background:#e8f5ee;color:#087e80;border-radius:50%}
#ovbordOverlay .ovbord-benefit-icon svg{width:22px;height:22px}
#ovbordOverlay .ovbord-qr{display:flex;align-items:center;gap:16px;max-width:340px}
#ovbordOverlay .ovbord-qr img{display:block;width:136px;height:136px;flex:none}
#ovbordOverlay .ovbord-qr p{margin:0;font-size:16px;font-weight:700;line-height:1.5}
#ovbordOverlay .ovbord-dialog-footer{flex:0 0 auto;padding:0 32px 19px;background:#fff}
#ovbordOverlay .ovbord-metadata{margin:0;text-align:center;font-size:12px;line-height:1.5;color:#637b86}
#ovbordOverlay .ovbord-overlay-download{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;padding:13px 16px;border:0;border-radius:12px;background:#1d6f42;color:#fff;text-decoration:none;font-size:16px;font-weight:750;line-height:1.35}
#ovbordOverlay .ovbord-overlay-download:hover{background:#145f36}
#ovbordOverlay .ovbord-overlay-download svg{width:23px;height:23px;flex:none}
#ovbordOverlay .ovbord-overlay-download+.ovbord-metadata{margin-top:9px}
#ovbordOverlay .ovbord-iphone-note{display:block;margin:0 0 12px;padding:0;border-radius:0;background:none;color:#526b78;font-size:14px;font-weight:500;line-height:1.5;text-align:center}
#ovbordOverlay .ovbord-iphone-note svg{width:24px;height:27px;flex:none}
#ovbordOverlay button:focus-visible,#ovbordOverlay a:focus-visible{outline:3px solid #5cb3ec;outline-offset:3px}
body.ovbord-modal-open{overscroll-behavior:none}
@media(max-width:760px){
 #ovbordOverlay{place-items:end center;padding:0}
 #ovbordOverlay .ovbord-dialog{
  width:100%;height:min(740px,calc(100vh - 64px));height:min(740px,calc(100dvh - 64px));
  max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px);
  border:0;border-radius:24px 24px 0 0;transform:translateY(100%);
 }
 #ovbordOverlay.is-open .ovbord-dialog{transform:translateY(0)}
 #ovbordOverlay .ovbord-sheet-handle{display:block;width:38px;height:4px;margin:0 auto 18px;border-radius:4px;background:#cad5d9}
 #ovbordOverlay .ovbord-dialog-header{padding:10px 20px 16px}
 #ovbordOverlay h2{font-size:25px}
 #ovbordOverlay #ovbordOverlaySubtitle{font-size:15px;margin-top:5px}
 #ovbordOverlay .ovbord-dialog-close{top:22px;right:10px}
 #ovbordOverlay .ovbord-dialog-body{padding:0 20px 16px}
 #ovbordOverlay .ovbord-shot-canvas{min-width:0;aspect-ratio:1080 / 450}
 #ovbordOverlay .ovbord-details{display:flex;flex-direction:column;align-items:stretch;gap:18px;margin-top:19px}
 #ovbordOverlay .ovbord-benefits{gap:11px}
 #ovbordOverlay .ovbord-benefits li{font-size:14px;gap:10px}
 #ovbordOverlay .ovbord-benefit-icon{width:33px;height:33px;flex-basis:33px}
 #ovbordOverlay .ovbord-benefit-icon svg{width:20px;height:20px}
 #ovbordOverlay .ovbord-qr{max-width:none;justify-content:center}
 #ovbordOverlay .ovbord-dialog-footer{padding:13px 20px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid #e5edeb;box-shadow:0 -4px 16px #173a5308}
 #ovbordOverlay .ovbord-overlay-download{min-height:52px;font-size:15px}
}
@media(prefers-reduced-motion:reduce){
 #ovbordOverlay .ovbord-dialog,#ovbordOverlay .ovbord-backdrop{transition:none}
}


/* QR remains the primary desktop action; the direct APK link is subordinate. */
#ovbordOverlay .ovbord-qr-image{display:flex;flex-direction:column;align-items:center;gap:7px;width:150px;flex:none}
#ovbordOverlay .ovbord-direct-apk{font-size:11px;line-height:1.4;font-weight:400;color:#637b86;text-align:center;text-underline-offset:2px}

#ovbordOverlay .ovbord-iphone-tip{margin:10px 0;font-size:12px;line-height:1.45;text-align:center;color:#637b86}
