/* SamiMap R92 Professional Navigation UI — mobile + desktop */
:root{
  --sami-panel:rgba(3,19,32,.965);
  --sami-panel-2:rgba(5,29,48,.97);
  --sami-border:rgba(71,174,238,.28);
  --sami-blue:#21b9ff;
  --sami-blue2:#0b8fe8;
  --sami-text:#fff;
  --sami-muted:#91a8ba;
  --sami-green:#16d493;
}
body.bx-r38-ui.navigation-active{
  --sami-safe-top:max(10px,env(safe-area-inset-top,0px));
  --sami-safe-bottom:max(10px,env(safe-area-inset-bottom,0px));
}
body.bx-r38-ui.navigation-active #bxV290SearchDock,
body.bx-r38-ui.navigation-active #searchResults,
body.bx-r38-ui.navigation-active #gps-pill,
body.bx-r38-ui.navigation-active .gps-pill{
  display:none!important;
}
body.bx-r38-ui.navigation-active #menuButton{
  left:14px!important;
  top:calc(var(--sami-safe-top) + 4px)!important;
  width:54px!important;height:54px!important;
  border-radius:18px!important;
  background:var(--sami-panel)!important;
  border:1px solid rgba(255,255,255,.09)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.34)!important;
}
body.bx-r38-ui.navigation-active #bxRouteCancelX{
  left:14px!important;
  top:calc(var(--sami-safe-top) + 67px)!important;
  width:54px!important;height:54px!important;
  border-radius:18px!important;
  background:var(--sami-panel)!important;
  border:1px solid rgba(255,255,255,.09)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.34)!important;
}
body.bx-r38-ui.navigation-active #rightRail{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  position:fixed!important;
  right:max(12px,env(safe-area-inset-right,0px))!important;
  top:50%!important;
  transform:translateY(-44%)!important;
  bottom:auto!important;
  width:58px!important;
  gap:10px!important;
  z-index:2147483040!important;
}
body.bx-r38-ui.navigation-active #rightRail button{
  width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;
  border-radius:50%!important;
  background:rgba(3,18,31,.94)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(0,0,0,.31),inset 0 1px 0 rgba(255,255,255,.04)!important;
}
body.bx-r38-ui.navigation-active #rightRail button svg{width:25px!important;height:25px!important;stroke-width:2!important}
body.bx-r38-ui.navigation-active #railLocateButton{color:#4ed8ff!important}
body.bx-r38-ui.navigation-active #bxSatelliteButton{color:#fff!important}
body.bx-r38-ui.navigation-active #bxAngleButton{color:#fff!important}
body.bx-r38-ui.navigation-active #routePanelButton,
body.bx-r38-ui.navigation-active #twoDButton,
body.bx-r38-ui.navigation-active #modeButton,
body.bx-r38-ui.navigation-active #soundButton,
body.bx-r38-ui.navigation-active #exitButton{display:none!important}

/* Primary maneuver card — single source of visible maneuver guidance. */
body.bx-r38-ui.navigation-active #bxR38TurnCard{
  display:grid!important;
  position:fixed!important;
  background:linear-gradient(145deg,#07314d 0%,#041e31 100%)!important;
  border:1px solid rgba(38,166,246,.35)!important;
  color:#fff!important;
  box-shadow:0 18px 44px rgba(0,0,0,.33),inset 0 1px 0 rgba(255,255,255,.055)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
}
body.bx-r38-ui.navigation-active #bxR38TurnCard[hidden]{display:none!important}
body.bx-r38-ui.navigation-active #bxR38TurnArrow{
  align-self:center!important;justify-self:center!important;
  width:58px!important;height:58px!important;
  display:grid!important;place-items:center!important;
}
body.bx-r38-ui.navigation-active #bxR38TurnArrow svg{width:52px!important;height:52px!important}
body.bx-r38-ui.navigation-active #bxR38TurnDistance{font-size:25px!important;line-height:1!important;font-weight:900!important}
body.bx-r38-ui.navigation-active #bxR38TurnText{font-size:24px!important;line-height:1.08!important;font-weight:900!important;margin-top:5px!important}
body.bx-r38-ui.navigation-active #bxR38TurnArabic{font-size:12px!important;line-height:1.2!important;color:#acc6d8!important;margin-top:5px!important}
body.bx-r38-ui.navigation-active #bxR38TurnRoad{font-size:12px!important;color:#44c5ff!important;margin-top:4px!important}
body.bx-r38-ui.navigation-active #bxR38TopLanes{
  align-self:center!important;display:flex!important;gap:4px!important;padding:5px!important;
  border-radius:12px!important;background:rgba(0,13,23,.76)!important;border:1px solid rgba(255,255,255,.07)!important;
}
body.bx-r38-ui.navigation-active #bxR38TopLanes[hidden]{display:none!important}
body.bx-r38-ui.navigation-active .bx91-top-lane{
  width:30px!important;height:46px!important;border-radius:8px!important;background:rgba(255,255,255,.035)!important;color:#8297a7!important;
  display:grid!important;place-items:center!important
}
body.bx-r38-ui.navigation-active .bx91-top-lane.active{
  color:#fff!important;background:linear-gradient(180deg,#1ab0ff,#087ed7)!important;
  box-shadow:0 0 18px rgba(24,179,255,.46)!important
}

/* Mobile: clean Google/Waze-like navigation layout. */
@media(max-width:1023px){
  body.bx-r38-ui.navigation-active #bxR38TurnCard{
    top:calc(var(--sami-safe-top) + 4px)!important;
    left:82px!important;right:78px!important;width:auto!important;
    min-height:116px!important;padding:14px 14px!important;
    border-radius:26px!important;
    grid-template-columns:58px minmax(0,1fr) auto!important;
    column-gap:11px!important;align-items:center!important;
  }
  body.bx-r38-ui.navigation-active #bxR40TurnSign,
  body.bx-r38-ui.navigation-active #bxR88Ahead{display:none!important}

  /* Bottom HUD contains road + trip state only. Never a second maneuver. */
  body.bx-r38-ui.navigation-active #driveHud{
    display:block!important;
    left:10px!important;right:10px!important;width:auto!important;
    bottom:var(--sami-safe-bottom)!important;
    height:112px!important;min-height:112px!important;
    border-radius:28px!important;overflow:visible!important;
    background:linear-gradient(150deg,rgba(4,21,34,.965),rgba(2,14,24,.985))!important;
    border:1px solid var(--sami-border)!important;
    box-shadow:0 16px 40px rgba(0,0,0,.38)!important;
  }
  body.bx-r38-ui.navigation-active #driveHud>#bxR40RoadHud{
    height:100%!important;padding:0!important;
    display:grid!important;
    grid-template-columns:1fr 1fr 1fr!important;
    grid-template-rows:48px 64px!important;
    grid-template-areas:"road road road" "arrival eta remain"!important;
    gap:0!important
  }
  body.bx-r38-ui.navigation-active .bx40-road-sign{
    grid-area:road!important;
    display:flex!important;align-items:center!important;
    margin:0!important;padding:6px 15px!important;
    border:0!important;border-bottom:1px solid rgba(255,255,255,.07)!important;
    background:transparent!important;border-radius:0!important
  }
  body.bx-r38-ui.navigation-active .bx40-road-mini{width:29px!important;height:29px!important;color:#30bdff!important;margin-right:9px!important}
  body.bx-r38-ui.navigation-active .bx40-road-name{min-width:0!important}
  body.bx-r38-ui.navigation-active .bx40-road-name span{font-size:8px!important;color:#7f98aa!important}
  body.bx-r38-ui.navigation-active .bx40-road-name strong{font-size:15px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.bx-r38-ui.navigation-active .bx40-road-distance{margin-left:auto!important;color:#45c8ff!important;font-size:13px!important;font-weight:900!important}
  body.bx-r38-ui.navigation-active .bx40-arrival{grid-area:arrival!important}
  body.bx-r38-ui.navigation-active .bx40-eta{grid-area:eta!important}
  body.bx-r38-ui.navigation-active .bx40-remain{grid-area:remain!important}
  body.bx-r38-ui.navigation-active .bx40-metric{
    min-width:0!important;padding:8px 9px!important;
    display:grid!important;grid-template-columns:22px minmax(0,1fr)!important;
    column-gap:6px!important;align-items:center!important;
    border-right:1px solid rgba(255,255,255,.07)!important;background:transparent!important
  }
  body.bx-r38-ui.navigation-active .bx40-metric:last-child{border-right:0!important}
  body.bx-r38-ui.navigation-active .bx40-metric-icon{color:#48c6ff!important}
  body.bx-r38-ui.navigation-active .bx40-metric-copy span{font-size:8px!important;color:#8298a8!important}
  body.bx-r38-ui.navigation-active .bx40-metric-copy strong{font-size:17px!important;line-height:1.05!important;color:#fff!important;margin-top:3px!important}
  body.bx-r38-ui.navigation-active .bx40-metric-copy small{display:none!important}

  /* Speed + limit float above HUD like navigation apps. */
  body.bx-r38-ui.navigation-active .bx40-speed-zone{
    position:absolute!important;
    left:10px!important;bottom:calc(100% + 12px)!important;
    width:auto!important;height:68px!important;padding:0!important;
    display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px!important;
    background:transparent!important;border:0!important
  }
  body.bx-r38-ui.navigation-active .bx40-current-speed{
    width:68px!important;height:68px!important;min-width:68px!important;
    border-radius:50%!important;border:4px solid #22bdf8!important;
    background:rgba(3,17,29,.97)!important;
    box-shadow:0 10px 26px rgba(0,0,0,.38),0 0 16px rgba(33,190,255,.18)!important
  }
  body.bx-r38-ui.navigation-active .bx40-current-speed strong{font-size:25px!important}
  body.bx-r38-ui.navigation-active .bx40-current-speed span{font-size:9px!important;color:#b7d7e7!important}
  body.bx-r38-ui.navigation-active .bx40-limit-sign{
    width:62px!important;height:62px!important;min-width:62px!important;
    border-radius:50%!important;border:6px solid #ff454d!important;background:#fff!important;
    box-shadow:0 10px 26px rgba(0,0,0,.36)!important
  }
  body.bx-r38-ui.navigation-active .bx40-limit-sign strong{font-size:24px!important;color:#111!important}
  body.bx-r38-ui.navigation-active .bx40-limit-sign.unknown strong{font-size:0!important}
  body.bx-r38-ui.navigation-active .bx40-limit-sign.unknown strong::after{content:"--"!important;font-size:22px!important;color:#17212a!important}

  body.bx-r38-ui.navigation-active #rightRail{
    right:12px!important;top:48%!important;transform:translateY(-42%)!important;
  }
  body.bx-r38-ui.navigation-active #rightRail button{
    width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important
  }
}

/* Narrow phones. */
@media(max-width:480px){
  body.bx-r38-ui.navigation-active #menuButton,
  body.bx-r38-ui.navigation-active #bxRouteCancelX{width:50px!important;height:50px!important;border-radius:16px!important;left:10px!important}
  body.bx-r38-ui.navigation-active #bxRouteCancelX{top:calc(var(--sami-safe-top) + 61px)!important}
  body.bx-r38-ui.navigation-active #bxR38TurnCard{
    left:70px!important;right:66px!important;
    min-height:104px!important;padding:11px 11px!important;border-radius:23px!important;
    grid-template-columns:48px minmax(0,1fr)!important;
  }
  body.bx-r38-ui.navigation-active #bxR38TopLanes{display:none!important}
  body.bx-r38-ui.navigation-active #bxR38TurnArrow{width:46px!important;height:46px!important}
  body.bx-r38-ui.navigation-active #bxR38TurnArrow svg{width:43px!important;height:43px!important}
  body.bx-r38-ui.navigation-active #bxR38TurnDistance{font-size:21px!important}
  body.bx-r38-ui.navigation-active #bxR38TurnText{font-size:20px!important}
  body.bx-r38-ui.navigation-active #bxR38TurnArabic,
  body.bx-r38-ui.navigation-active #bxR38TurnRoad{font-size:10px!important}
  body.bx-r38-ui.navigation-active #rightRail{right:8px!important}
  body.bx-r38-ui.navigation-active #rightRail button{width:52px!important;height:52px!important;min-width:52px!important;min-height:52px!important}
  body.bx-r38-ui.navigation-active #driveHud{left:7px!important;right:7px!important;height:108px!important;min-height:108px!important;border-radius:24px!important}
  body.bx-r38-ui.navigation-active #driveHud>#bxR40RoadHud{grid-template-rows:46px 62px!important}
  body.bx-r38-ui.navigation-active .bx40-road-mini{display:none!important}
  body.bx-r38-ui.navigation-active .bx40-road-name strong{font-size:13px!important}
  body.bx-r38-ui.navigation-active .bx40-metric-copy strong{font-size:15px!important}
  body.bx-r38-ui.navigation-active .bx40-current-speed{width:64px!important;height:64px!important;min-width:64px!important}
  body.bx-r38-ui.navigation-active .bx40-limit-sign{width:58px!important;height:58px!important;min-width:58px!important}
}

/* Desktop/laptop — same design language, more map visible. */
@media(min-width:1024px){
  body.bx-r38-ui.navigation-active #menuButton{
    left:18px!important;top:18px!important;width:56px!important;height:56px!important
  }
  body.bx-r38-ui.navigation-active #bxRouteCancelX{
    left:18px!important;top:84px!important;width:56px!important;height:56px!important
  }
  body.bx-r38-ui.navigation-active #bxR38TurnCard{
    top:18px!important;left:92px!important;right:auto!important;
    width:min(610px,calc(100vw - 320px))!important;
    min-height:118px!important;padding:15px 17px!important;
    border-radius:27px!important;
    grid-template-columns:64px minmax(0,1fr) auto!important;
    column-gap:14px!important;align-items:center!important
  }
  body.bx-r38-ui.navigation-active #rightRail{
    right:18px!important;top:50%!important;transform:translateY(-48%)!important;
    width:60px!important;gap:11px!important
  }
  body.bx-r38-ui.navigation-active #rightRail button{
    width:60px!important;height:60px!important;min-width:60px!important;min-height:60px!important
  }
  body.bx-r38-ui.navigation-active #driveHud{
    display:block!important;
    left:50%!important;right:auto!important;
    transform:translateX(-50%)!important;
    bottom:16px!important;
    width:min(920px,calc(100vw - 230px))!important;
    height:106px!important;min-height:106px!important;
    border-radius:28px!important;overflow:visible!important;
    background:linear-gradient(150deg,rgba(4,21,34,.965),rgba(2,14,24,.985))!important;
    border:1px solid var(--sami-border)!important;
    box-shadow:0 18px 46px rgba(0,0,0,.38)!important
  }
  body.bx-r38-ui.navigation-active #driveHud>#bxR40RoadHud{
    display:grid!important;height:100%!important;padding:0!important;gap:0!important;
    grid-template-columns:minmax(240px,1.4fr) 170px 142px 142px 142px!important;
    grid-template-areas:"road speed arrival eta remain"!important
  }
  body.bx-r38-ui.navigation-active .bx40-turn-sign,
  body.bx-r38-ui.navigation-active #bxR88Ahead{display:none!important}
  body.bx-r38-ui.navigation-active .bx40-road-sign{
    grid-area:road!important;margin:10px!important;padding:10px 14px!important;
    border-radius:18px!important;background:rgba(6,30,48,.75)!important;border:1px solid rgba(255,255,255,.06)!important;
    display:flex!important;align-items:center!important
  }
  body.bx-r38-ui.navigation-active .bx40-road-mini{width:34px!important;height:34px!important;color:#2ec0ff!important;margin-right:10px!important}
  body.bx-r38-ui.navigation-active .bx40-road-name strong{font-size:17px!important}
  body.bx-r38-ui.navigation-active .bx40-road-name span{font-size:9px!important;color:#829aaa!important}
  body.bx-r38-ui.navigation-active .bx40-road-distance{margin-left:auto!important;color:#4ac9ff!important;font-size:13px!important;font-weight:900!important}
  body.bx-r38-ui.navigation-active .bx40-speed-zone{
    grid-area:speed!important;position:static!important;height:auto!important;
    display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
    padding:8px!important;background:transparent!important;border-left:1px solid rgba(255,255,255,.06)!important;border-right:1px solid rgba(255,255,255,.06)!important
  }
  body.bx-r38-ui.navigation-active .bx40-current-speed{
    width:66px!important;height:66px!important;min-width:66px!important;border:4px solid #22bdf8!important
  }
  body.bx-r38-ui.navigation-active .bx40-limit-sign{
    width:60px!important;height:60px!important;min-width:60px!important;border:6px solid #ff454d!important;background:#fff!important
  }
  body.bx-r38-ui.navigation-active .bx40-limit-sign strong{font-size:23px!important;color:#111!important}
  body.bx-r38-ui.navigation-active .bx40-arrival{grid-area:arrival!important}
  body.bx-r38-ui.navigation-active .bx40-eta{grid-area:eta!important}
  body.bx-r38-ui.navigation-active .bx40-remain{grid-area:remain!important}
  body.bx-r38-ui.navigation-active .bx40-metric{
    min-width:0!important;padding:10px!important;display:grid!important;grid-template-columns:24px minmax(0,1fr)!important;gap:7px!important;align-items:center!important;
    border-right:1px solid rgba(255,255,255,.07)!important;background:transparent!important
  }
  body.bx-r38-ui.navigation-active .bx40-metric-icon{color:#44c7ff!important}
  body.bx-r38-ui.navigation-active .bx40-metric-copy span{font-size:9px!important;color:#8298a8!important}
  body.bx-r38-ui.navigation-active .bx40-metric-copy strong{font-size:18px!important;color:#fff!important}
  body.bx-r38-ui.navigation-active .bx40-metric-copy small{display:none!important}
}

/* Landscape phone: compact without hiding map. */
@media(max-width:1023px) and (orientation:landscape){
  body.bx-r38-ui.navigation-active #bxR38TurnCard{
    top:8px!important;left:72px!important;right:76px!important;min-height:78px!important;
    padding:7px 10px!important;border-radius:20px!important
  }
  body.bx-r38-ui.navigation-active #bxR38TurnDistance{font-size:18px!important}
  body.bx-r38-ui.navigation-active #bxR38TurnText{font-size:17px!important}
  body.bx-r38-ui.navigation-active #bxR38TurnArrow svg{width:35px!important;height:35px!important}
  body.bx-r38-ui.navigation-active #bxR38TopLanes{display:none!important}
  body.bx-r38-ui.navigation-active #driveHud{height:88px!important;min-height:88px!important}
  body.bx-r38-ui.navigation-active #driveHud>#bxR40RoadHud{grid-template-rows:38px 50px!important}
  body.bx-r38-ui.navigation-active .bx40-speed-zone{bottom:calc(100% + 5px)!important}
}

/* Browse/search stays clean and professional on both form factors. */
body.bx-r38-ui:not(.navigation-active) #bxV290SearchDock{
  top:max(12px,env(safe-area-inset-top,0px))!important;
}
body.bx-r38-ui:not(.navigation-active) #searchForm.search-shell{
  background:rgba(3,17,29,.94)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;
}
@media(max-width:1023px){
  body.bx-r38-ui:not(.navigation-active) #bxV290SearchDock{left:72px!important;right:10px!important;width:auto!important}
}
@media(min-width:1024px){
  body.bx-r38-ui:not(.navigation-active) #bxV290SearchDock{left:92px!important;right:auto!important;width:min(620px,calc(100vw - 250px))!important}
}

/* Keep attribution unobtrusive during active driving. */
body.bx-r38-ui.navigation-active #attributionInfoButton{opacity:.42!important;transform:scale(.9)!important}
