
/* AI BUILD mobile/AR/fullscreen repair. Keep it as final stylesheet to override old demo layouts. */
html,body{max-width:100%;overflow-x:hidden}
body:not(.aib-map-fullscreen){overflow-y:auto!important}
body[data-ai-build-view="ar"] #thirdTabLaunch,
body[data-ai-build-view="map"] #thirdTabLaunch{display:none!important}
@media(max-width:850px){
 #app .page-title-row{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;min-height:0!important;margin:0!important}
 #app .page-title-row .page-title{display:block!important;width:100%!important;max-width:100%!important;flex:0 0 auto!important}
 #app .page-title-row .page-title .section-eyebrow{font-size:10px!important;line-height:1.4!important;margin:0 0 6px!important}
 #app .page-title-row .page-title h1{font-size:clamp(23px,5.8vw,32px)!important;line-height:1.13!important;margin:0 0 7px!important;width:100%!important}
 #app .page-title-row .page-title p{display:block!important;max-width:100%!important;margin:0!important;font-size:12px!important;line-height:1.55!important;color:#718081!important}
 #app .page-title-row .page-actions{width:100%!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;flex-wrap:wrap!important;max-width:100%!important}
 #app .page-title-row .page-actions .demo-ribbon{display:block!important;max-width:100%!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;font-size:10px!important;padding:6px 9px!important;flex:0 1 auto!important}
 #app .page-title-row .page-actions .btn{padding:7px 12px!important;font-size:11px!important;min-height:36px!important;flex:0 0 auto!important}
 #app .container.page-top{padding-top:14px!important;padding-bottom:7px!important;max-height:none!important;height:auto!important}
 #app .section{margin-top:0!important;padding-top:14px!important}
 #app .section .source-count{margin-top:8px!important}
 #app .catalog-area{margin-top:6px!important}
 #app .primary-tag-row{scroll-padding-inline:6px}
 #app .page-title-row .page-title .section-eyebrow{max-width:100%}
 #app .map-page{padding-top:0!important}
}
@media(max-width:620px){
 #app .hero-main{padding-bottom:17px!important}
 #app .section-head{gap:10px!important}
 #app .section-head h2{font-size:20px!important}
 #app .section-head p{font-size:12px!important}
 #app .source-count{font-size:11px!important;line-height:1.4!important}
 #thirdTabLaunch{right:10px!important;bottom:90px!important;opacity:.97}
}
/* Shared AR viewport coordination; all elements occupy unique fixed vertical zones. */
#arPage.ar-page{--ar-safe-shift:0px;position:relative!important;isolation:isolate!important;overflow:hidden!important;min-height:540px}
#arPage .ar-backdrop{z-index:0!important}
#arPage .ar-top-panel{top:calc(10px + var(--ar-safe-shift))!important;left:11px!important;right:11px!important;inset-inline:11px!important;height:52px!important;max-height:52px!important;display:flex!important;align-items:center!important;gap:6px!important;justify-content:space-between!important;z-index:20!important}
#arPage .ar-top-panel .ar-title{min-width:0!important;flex:1 1 auto!important;max-width:calc(100% - 156px)!important;min-height:43px!important;max-height:50px!important;padding:6px 8px!important;gap:6px!important;border-radius:12px!important}
#arPage .ar-top-panel .ar-title .svg-icon{width:20px!important;height:20px!important;flex:none!important}
#arPage .ar-top-panel .ar-title>div{min-width:0!important;flex:1 1 auto!important;overflow:hidden!important}
#arPage .ar-top-panel .ar-title b{display:block!important;font-size:11px!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important}
#arPage .ar-top-panel .ar-title small{display:block!important;font-size:8px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#arPage .ar-controls{position:static!important;display:flex!important;flex:0 0 auto!important;gap:5px!important;z-index:20!important}
#arPage .ar-controls button{width:37px!important;min-width:37px!important;height:38px!important;padding:7px!important;border-radius:10px!important;box-shadow:none!important;background:#28373bd9!important}
#arPage .ar-controls .svg-icon{width:18px!important;height:18px!important}
#arPage .ar-filter-wrap{position:absolute!important;left:11px!important;right:11px!important;inset-inline:11px!important;top:calc(70px + var(--ar-safe-shift))!important;height:43px!important;max-height:43px!important;display:flex!important;align-items:center!important;gap:7px!important;padding:2px 0!important;white-space:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;flex-wrap:nowrap!important;scrollbar-width:none!important;z-index:13!important}
#arPage .ar-filter-wrap .tag{flex:0 0 auto!important;min-height:36px!important;height:36px!important;padding:7px 11px!important;font-size:11px!important;border-radius:12px!important;white-space:nowrap!important}
#arPage .ar-sub-tag-row{position:absolute!important;left:11px!important;right:11px!important;inset-inline:11px!important;top:calc(117px + var(--ar-safe-shift))!important;height:41px!important;max-height:41px!important;min-height:41px!important;display:flex!important;align-items:center!important;overflow-x:auto!important;overflow-y:hidden!important;flex-wrap:nowrap!important;padding:4px 7px!important;z-index:13!important;border-radius:10px!important}
#arPage .ar-sub-tag-row .tag{flex:0 0 auto!important;white-space:nowrap!important;min-height:29px!important;height:29px!important;font-size:10px!important;padding:5px 10px!important}
#arPage .ar-heading-status{position:absolute!important;top:calc(172px + var(--ar-safe-shift))!important;left:auto!important;right:11px!important;inset-inline-end:11px!important;z-index:14!important;padding:6px 9px!important;font-size:10px!important;max-height:31px!important}
#arPage .aib-radar-module{position:absolute!important;top:calc(172px + var(--ar-safe-shift))!important;bottom:auto!important;left:11px!important;right:auto!important;width:97px!important;height:110px!important;padding:6px!important;z-index:14!important;border-radius:14px!important;pointer-events:none!important}
#arPage .aib-radar-module #aibRadar{width:84px!important;height:84px!important;max-width:84px!important;max-height:84px!important}
#arPage .aib-radar-module #aibRadarCaption{font-size:9px!important;max-width:100%!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important}
#arPage .aib-city-beacon{position:absolute!important;top:calc(216px + var(--ar-safe-shift))!important;left:50%!important;right:auto!important;transform:translate(-50%,0)!important;width:156px!important;max-width:156px!important;min-height:91px!important;height:auto!important;padding:9px 10px!important;z-index:11!important;border-radius:14px!important;box-shadow:0 6px 16px #172c3023!important}
#arPage .aib-city-beacon b{font-size:27px!important;line-height:1.1!important}
#arPage .aib-city-beacon span{font-size:10px!important;line-height:1.4!important;font-weight:600!important}
#arPage .aib-city-beacon small{font-size:9px!important}
#arPage .ar-crosshair{z-index:3!important;pointer-events:none!important;top:48%!important;left:50%!important;opacity:.65!important}
#arPage .ar-camera-start{top:46%!important;left:50%!important;z-index:15!important;max-width:min(300px,calc(100% - 48px))!important}
#arPage .aib-camera-status{top:calc(164px + var(--ar-safe-shift))!important;z-index:21!important;max-width:calc(100% - 24px)!important}
#arPage .ar-cards-field{position:absolute!important;top:auto!important;bottom:135px!important;left:11px!important;right:11px!important;inset-inline:11px!important;width:auto!important;height:143px!important;max-height:143px!important;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;overflow-x:auto!important;overflow-y:hidden!important;z-index:15!important;padding:5px 1px!important;scrollbar-width:none!important;scroll-snap-type:x proximity!important;pointer-events:auto!important}
#arPage .ar-cards-field::-webkit-scrollbar{display:none!important}
#arPage .qa-ar-card.ar-business-card{position:relative!important;top:auto!important;left:auto!important;bottom:auto!important;right:auto!important;transform:none!important;display:flex!important;flex-direction:column!important;gap:7px!important;flex:0 0 180px!important;min-width:180px!important;width:180px!important;max-width:180px!important;height:133px!important;min-height:133px!important;max-height:133px!important;padding:11px 12px!important;border-radius:13px!important;background:#fffffff0!important;border:1px solid #ffffffde!important;box-shadow:0 5px 17px #172f3329!important;color:#253238!important;scroll-snap-align:start!important;white-space:normal!important;direction:inherit!important;text-align:start!important;opacity:1!important;pointer-events:auto!important;animation:none!important}
#arPage .qa-ar-card.ar-business-card:after{display:none!important}
#arPage .ar-business-card .ar-firm-brand{display:flex;align-items:center;gap:8px;min-width:0;width:100%;height:52px}
#arPage .ar-business-card .ar-firm-brand .logo-square{width:43px!important;height:43px!important;min-width:43px!important;border-radius:10px!important}
#arPage .ar-business-card .ar-firm-name{display:block;flex:1;min-width:0}
#arPage .ar-business-card .ar-firm-name strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12px!important;line-height:1.32!important;font-weight:800!important;letter-spacing:-.015em;max-height:32px;color:#273337}
#arPage .ar-business-card .ar-firm-name small{display:block;font-size:10px!important;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6a767a}
#arPage .ar-business-card .ar-firm-tag{align-self:flex-start;background:#eee5df;color:#9b4f3c;border-radius:6px;padding:3px 6px;max-width:100%;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:17px}
#arPage .ar-business-card .ar-firm-contact{display:flex;align-items:center;justify-content:space-between;gap:5px;border-top:1px solid #dbe0dc;padding-top:7px;margin-top:auto;min-width:0;color:#56666b}
#arPage .ar-business-card .ar-firm-phone{font-size:10px;max-width:107px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:ltr;text-align:left}
#arPage .ar-business-card .ar-firm-profile{font-size:10px;color:#ab5a44;white-space:nowrap;font-weight:700}
#arPage .ar-bottom{position:absolute!important;left:11px!important;right:11px!important;inset-inline:11px!important;bottom:14px!important;top:auto!important;z-index:15!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:stretch!important;gap:9px!important;height:89px!important;max-height:89px!important;padding:0!important}
#arPage .ar-bottom .ar-message{display:none!important}
#arPage .ar-bottom .radius-card,#arPage .ar-bottom .ar-heading-manual{display:flex!important;flex-direction:column!important;justify-content:space-between!important;width:100%!important;min-width:0!important;max-width:none!important;min-height:89px!important;height:89px!important;box-sizing:border-box!important;padding:11px 12px!important;margin:0!important;border-radius:12px!important}
#arPage .ar-bottom label,#arPage .ar-bottom .ar-heading-manual span{font-size:11px!important;line-height:1.2!important;white-space:nowrap!important;display:flex!important;justify-content:space-between!important;gap:5px!important;min-width:0}
#arPage .ar-bottom input[type=range]{width:100%!important;max-width:100%!important;margin:5px 0!important;min-height:20px!important}
#arPage .ar-heading-manual output{font-weight:700;flex:none}
#arPage .ar-empty{top:44%!important;left:50%!important;transform:translate(-50%,-50%)!important;max-width:230px!important;font-size:11px!important;padding:12px!important}
#arPage .aib-radar-module,#arPage .ar-bottom,#arPage .ar-controls button{backdrop-filter:none!important}
#arPage:fullscreen,#arPage.pseudo-full{--ar-safe-shift:0px}
@media(max-width:850px){
 #arPage:fullscreen,#arPage.pseudo-full{--ar-safe-shift:54px}
 #arPage.pseudo-full,#arPage:fullscreen{height:100dvh!important;min-height:0!important;position:fixed!important;inset:0!important;z-index:9998!important;border:0!important;border-radius:0!important}
 #arPage .ar-top-panel .ar-title{max-width:calc(100% - 154px)!important}
 #arPage .aib-radar-module{width:93px!important;height:105px!important}
 #arPage .aib-radar-module #aibRadar{width:80px!important;height:80px!important}
 #arPage .aib-city-beacon{left:50%!important;width:145px!important;max-width:145px!important}
 #arPage .ar-business-card .ar-firm-name strong{font-size:11px!important}
 #arPage .qa-ar-card.ar-business-card{flex-basis:165px!important;min-width:165px!important;width:165px!important;max-width:165px!important}
}
@media(max-width:580px){
 #arPage .ar-business-card .ar-firm-name strong{font-size:11px!important}
 #arPage .ar-cards-field{bottom:132px!important;height:140px!important}
 #arPage .qa-ar-card.ar-business-card{height:128px!important;min-height:128px!important;max-height:128px!important;flex-basis:162px!important;width:162px!important;min-width:162px!important;max-width:162px!important}
 #arPage .ar-top-panel .ar-title{max-width:calc(100% - 160px)!important}
 #arPage .ar-top-panel .ar-title b{font-size:10px!important}
 #arPage .ar-top-panel .ar-title small{font-size:8px!important}
 #arPage .ar-controls button{width:36px!important;min-width:36px!important;height:36px!important}
 #arPage .aib-city-beacon{min-height:82px!important}
 #arPage .ar-bottom .radius-card,#arPage .ar-bottom .ar-heading-manual{padding:10px!important;min-height:86px!important;height:86px!important}
 #arPage .ar-bottom{height:86px!important}
}
@media(max-height:690px){
 #arPage .aib-radar-module{top:calc(159px + var(--ar-safe-shift))!important;width:78px!important;height:90px!important}
 #arPage .aib-radar-module #aibRadar{width:70px!important;height:70px!important}
 #arPage .aib-city-beacon{top:calc(184px + var(--ar-safe-shift))!important}
 #arPage .ar-cards-field{bottom:112px!important;height:117px!important}
 #arPage .qa-ar-card.ar-business-card{height:110px!important;min-height:110px!important;max-height:110px!important}
 #arPage .ar-bottom{height:72px!important}
 #arPage .ar-bottom .radius-card,#arPage .ar-bottom .ar-heading-manual{height:72px!important;min-height:72px!important;padding:8px!important}
}
/* Map fullscreen: one compact, swipeable control strip and real map below. */
#mapCanvas:fullscreen,#mapCanvas.pseudo-full{height:100dvh!important;width:100vw!important;position:fixed!important;inset:0!important;z-index:9998!important;border-radius:0!important;max-height:none!important;overflow:hidden!important}
#mapCanvas:fullscreen #leafletMap,#mapCanvas.pseudo-full #leafletMap{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
@media(max-width:850px){
 #mapCanvas .map-overlay{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;max-width:calc(100% - 20px)!important;width:calc(100% - 20px)!important;left:10px!important;right:10px!important;inset-inline:10px!important;gap:6px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;z-index:1200!important;touch-action:pan-x!important}
 #mapCanvas .map-overlay::-webkit-scrollbar{display:none!important}
 #mapCanvas .map-overlay>.btn{display:grid!important;place-items:center!important;flex:0 0 36px!important;width:36px!important;min-width:36px!important;height:36px!important;padding:6px!important;font-size:0!important;border-radius:10px!important}
 #mapCanvas .map-overlay>.btn .svg-icon{width:18px!important;height:18px!important}
 #mapCanvas .map-overlay>.btn span{font-size:0!important}
 #mapCanvas .map-layer-picker{flex:0 0 auto!important;max-height:40px!important;padding:3px!important}
 #mapCanvas .map-layer-button{min-height:34px!important;padding:5px 8px!important;font-size:10px!important}
 #mapCanvas .map-layer-button span{font-size:10px!important}
 #mapCanvas.pseudo-full .map-overlay,#mapCanvas:fullscreen .map-overlay{top:max(55px,env(safe-area-inset-top))!important}
 #mapCanvas.pseudo-full .map-footnote,#mapCanvas:fullscreen .map-footnote{bottom:max(20px,env(safe-area-inset-bottom))!important}
}
/* Hide the unrelated floating Governments control on AR and map even if Safari lacks :has() */
body[data-ai-build-view=ar] #thirdTabLaunch,
body[data-ai-build-view=map] #thirdTabLaunch{display:none!important}
