/* SEFIR Mobile Navigation 2026-10-15 | Isolated, additive interface layer. */
.sefir-mobile-shell,.sefir-mobile-backdrop{display:none}
@media(max-width:860px){
 body.sefir-mobile-enabled{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px)) !important}
 body.sefir-mobile-enabled nav.nav{display:none !important}
 .sefir-mobile-shell{display:block;position:fixed;left:0;right:0;bottom:0;z-index:9000;pointer-events:none;font-family:system-ui,-apple-system,'Segoe UI',sans-serif}
 .sefir-mobile-tabbar{pointer-events:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;min-height:66px;padding:7px 7px calc(8px + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(183,67,77,.42);background:linear-gradient(180deg,rgba(27,23,25,.98),rgba(7,7,8,.98));box-shadow:0 -12px 32px rgba(0,0,0,.55);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
 .sefir-mobile-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:49px;border:1px solid transparent;border-radius:10px;background:none;color:#b6afb0;text-decoration:none;cursor:pointer;font:inherit;font-weight:700;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
 .sefir-mobile-tab svg{width:21px;height:21px;flex:0 0 auto;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}
 .sefir-mobile-tab span{font-size:10px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
 .sefir-mobile-tab:hover,.sefir-mobile-tab:focus-visible,.sefir-mobile-tab[aria-current="page"],.sefir-mobile-tab[aria-expanded="true"]{background:rgba(210,41,60,.12);color:#fff;border-color:rgba(202,56,70,.3);outline-offset:2px}
 .sefir-mobile-tab[aria-current="page"] svg{color:#ff6470}
 .sefir-mobile-backdrop{position:fixed;inset:0;z-index:9001;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
 .sefir-mobile-shell .sefir-mobile-drawer{pointer-events:auto;position:fixed;z-index:9002;right:0;left:0;bottom:calc(66px + env(safe-area-inset-bottom,0px));max-height:min(69dvh,610px);overflow:auto;overscroll-behavior:contain;visibility:hidden;opacity:0;transform:translateY(12px);transition:transform .16s ease,opacity .16s ease,visibility .16s;background:linear-gradient(180deg,#1b1517,#0a090a);border:1px solid #5a3038;border-bottom:0;border-radius:18px 18px 0 0;box-shadow:0 -16px 46px rgba(0,0,0,.52);padding:14px 14px 20px}
 .sefir-mobile-shell .sefir-mobile-drawer[aria-hidden="false"]{visibility:visible;opacity:1;transform:none}
 .sefir-mobile-backdrop[data-open="true"]{display:block}
 .sefir-mobile-drawer-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 1px 13px;color:#f4f1f1;font-size:12px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
 .sefir-mobile-close{min-height:44px;min-width:44px;border:1px solid #643239;border-radius:9px;background:#241316;color:#ffb3ba;cursor:pointer;font-size:22px}
 .sefir-mobile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .sefir-mobile-grid a{display:flex;align-items:center;min-height:51px;gap:10px;border:1px solid #37272b;border-radius:10px;background:#161113;color:#eee;padding:8px 12px;text-decoration:none;font-size:13px;font-weight:700}
 .sefir-mobile-grid a svg{width:19px;height:19px;flex:none;stroke:#f16c78;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
 .sefir-mobile-grid a[aria-current="page"],.sefir-mobile-grid a:focus-visible{border-color:#b53c48;background:#29151b}
 .sefir-mobile-grid a:active,.sefir-mobile-tab:active{transform:scale(.98)}
 body.sefir-mobile-menu-open{overflow:hidden !important}
 @media(prefers-reduced-motion:reduce){.sefir-mobile-shell .sefir-mobile-drawer{transition:none}}
}
@media(max-width:350px){.sefir-mobile-tab span{font-size:9px}.sefir-mobile-grid{gap:6px}.sefir-mobile-grid a{padding:7px 8px;font-size:12px}}

/* Live-map was wider than the mobile viewport because its overscan map escaped the stage. */
@media(max-width:860px){
 html:has(body.sefir-live-map-page){overflow-x:clip}
 body.sefir-live-map-page.sefir-mobile-enabled{max-width:100vw;overflow-x:clip !important}
 body.sefir-live-map-page.sefir-mobile-enabled .map-stage{overflow:hidden !important}
 body.sefir-live-map-page.sefir-mobile-enabled #map-container{width:100% !important;left:0 !important;top:-130px !important}
}
