#gmap { position: relative; overflow: hidden; background: #f4f1e9; }
#foxlap3d { position: absolute; inset: 0; z-index: 5; min-height: 550px; background: #f4f1e9; }
#foxlap3d canvas { display: block; width: 100%; height: 100%; touch-action: none; overscroll-behavior: none; }
#gmap:fullscreen, #gmap:-webkit-full-screen { width: 100vw !important; height: 100vh !important; min-height: 100vh !important; background: #f4f1e9; }
#gmap:fullscreen #foxlap3d, #gmap:-webkit-full-screen #foxlap3d { min-height: 100vh; }
.foxlap3d-toolbar { position: absolute; z-index: 8; top: 14px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 6px; padding: 7px; border: 1px solid rgba(255,255,255,.18); border-radius: 9px; background: rgba(7,17,29,.88); box-shadow: 0 8px 24px rgba(0,0,0,.28); color: #fff; }
.foxlap3d-toolbar button { border: 1px solid rgba(255,255,255,.2); border-radius: 5px; padding: 6px 10px; background: #17344d; color: #fff; font-size: 12px; }
.foxlap3d-toolbar button.active { background: #f7941d; border-color: #ffb45a; }
.foxlap3d-control-icon { display: none; font-size: 15px; line-height: 1; }
#foxlap3dFullscreen { min-width: 36px; font-size: 18px; line-height: 1; }
.foxlap3d-toolbar label { margin: 0 4px 0 8px; font-size: 12px; font-weight: 600; white-space: nowrap; }
.foxlap3d-menu { position: relative; }
.foxlap3d-menu > button:after { content: ''; }
.foxlap3d-submenu { position: absolute; z-index: 12; top: calc(100% + 8px); left: 50%; display: none; min-width: 205px; padding: 9px 8px; transform: translateX(-50%); border: 1px solid rgba(255,255,255,.2); border-radius: 8px; background: rgba(7,17,29,.96); box-shadow: 0 10px 28px rgba(0,0,0,.34); }
.foxlap3d-menu:hover .foxlap3d-submenu, .foxlap3d-menu:focus-within .foxlap3d-submenu { display: grid; gap: 8px; }
.foxlap3d-submenu:before { content: ''; position: absolute; left: 0; right: 0; top: -9px; height: 9px; }
.foxlap3d-submenu label { display: flex; align-items: center; gap: 7px; margin: 0; padding: 4px 5px; border-radius: 5px; cursor: pointer; }
.foxlap3d-submenu label:hover { background: rgba(255,255,255,.08); }
.foxlap3d-status { position: absolute; z-index: 8; top: 62px; left: 50%; transform: translateX(-50%); max-width: min(620px,90%); padding: 7px 11px; border-radius: 6px; background: rgba(7,17,29,.82); color: #d9e7f3; font-size: 12px; text-align: center; pointer-events: none; }
.foxlap3d-status.error { color: #ffd2d2; background: rgba(92,17,17,.9); }
.foxlap3d-badge { position: absolute; z-index: 8; right: 14px; top: 14px; padding: 7px 10px; border-radius: 6px; background: rgba(7,17,29,.82); color: #fff; font: 600 12px/1.2 Arial,sans-serif; }
.foxlap3d-desktop-tools { position: absolute; z-index: 9; right: 14px; top: 49px; display: grid; gap: 5px; padding: 5px; border: 1px solid rgba(255,255,255,.18); border-radius: 8px; background: rgba(7,17,29,.88); box-shadow: 0 7px 20px rgba(0,0,0,.24); }
.foxlap3d-desktop-tools button { width: 34px; height: 34px; padding: 0; border: 1px solid rgba(255,255,255,.2); border-radius: 5px; background: #17344d; color: #fff; font: 700 19px/1 Arial,sans-serif; cursor: pointer; }
.foxlap3d-desktop-tools button:hover { background: #245071; }
.foxlap3d-desktop-tools button.active { background: #f7941d; border-color: #ffb45a; color: #fff; }
body.foxlap-session-3d #btnMap, body.foxlap-session-3d [id^="btnmap"] { display: none !important; }
body.foxlap-session-3d #manualCorrection { z-index: 20 !important; }
body.foxlap-session-3d #controlbarb,
body.foxlap-session-3d #bottom,
body.foxlap-session-3d #videooverlay,
body.foxlap-session-3d #sectors,
body.foxlap-session-3d #accelerometer { z-index: 10 !important; }
body.foxlap-session-3d #data-mode { z-index: 10 !important; width: auto !important; right: auto !important; }
@media (max-width: 1100px) {
  .foxlap3d-toolbar { left: 140px; right: 8px; transform: none; justify-content: flex-end; gap: 4px; padding: 5px; }
  .foxlap3d-toolbar button { min-width: 34px; padding: 6px 7px; }
  .foxlap3d-toolbar label { margin: 0 2px; }
  .foxlap3d-toolbar > label .foxlap3d-control-text,
  .foxlap3d-toolbar > button .foxlap3d-control-text,
  .foxlap3d-menu > button .foxlap3d-control-text { display: none; }
  .foxlap3d-toolbar > label .foxlap3d-control-icon,
  .foxlap3d-toolbar > button .foxlap3d-control-icon,
  .foxlap3d-menu > button .foxlap3d-control-icon { display: inline-block; }
  .foxlap3d-submenu { left: auto; right: 0; transform: none; }
  .foxlap3d-badge, .foxlap3d-desktop-tools { display: none; }
}
@media (max-width: 560px) {
  .foxlap3d-toolbar { top: 8px; left: 6px; right: 6px; justify-content: center; flex-wrap: nowrap; }
  .foxlap3d-toolbar button { min-width: 31px; padding: 5px 6px; }
  .foxlap3d-toolbar label { font-size: 11px; }
  .foxlap3d-status { top: 55px; }
  .foxlap3d-submenu { position: fixed; top: 55px; left: 8px; right: 8px; min-width: 0; transform: none; }
  body.foxlap-session-3d #data-mode.foxlap3d-mobile-data-mode {
    position: static !important; inset: auto !important; display: block !important;
    width: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important;
  }
  #data-mode.foxlap3d-mobile-data-mode #dataModeBtn {
    width: 31px; min-width: 31px; height: 30px; margin: 0; padding: 5px;
    border-width: 1px; border-radius: 5px; font-size: 0; transform: none;
  }
  #data-mode.foxlap3d-mobile-data-mode #dataModeBtn > span:first-child { font-size: 14px; line-height: 1; }
  #data-mode.foxlap3d-mobile-data-mode #dataModeBtn [data-i18n-key] { display: none; }
}
