/* v7.8.50 — mobile-first navigation, ad spacing and user-location markers */

/* AdSense should never sit on top of navigation or look glued into copy. */
.google-auto-placed,
ins.adsbygoogle,
.adsbygoogle-noablate,
.ad-slot,
[data-ad-slot]{
  float:none!important;
  clear:both!important;
  max-width:100%!important;
}
main .google-auto-placed,
main ins.adsbygoogle,
main .ad-slot,
main [data-ad-slot]{
  display:block!important;
  margin:clamp(28px,5vw,56px) auto!important;
  min-height:0!important;
}
.prose>.google-auto-placed,
.prose>ins.adsbygoogle,
.prose>.ad-slot,
.editorial .google-auto-placed,
.editorial ins.adsbygoogle{
  margin-block:2.25rem!important;
}
body.gb-nav-active .google-auto-placed,
body.gb-nav-active ins.adsbygoogle,
body.gb-nav-active iframe[id^="google_ads_iframe"],
body.gb-nav-active iframe[id^="aswift"]{
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Desktop: submenus open into available horizontal space, especially Vehicles. */
@media (min-width:981px){
  .nav-dropdown{max-width:min(92vw,760px)!important}
  .nav-dropdown-vehicles{
    left:auto!important;
    right:0!important;
    width:min(700px,calc(100vw - 32px))!important;
    grid-template-columns:repeat(2,minmax(220px,1fr))!important;
  }
}

/* Mobile/tablet: the whole navigation is a viewport sheet with its own scroll. */
@media (max-width:980px){
  .header{position:sticky!important;top:0!important;z-index:2147483647!important}
  #siteNav.nav-groups{
    position:fixed!important;
    top:var(--gb-header-h,72px)!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    max-height:calc(100dvh - var(--gb-header-h,72px))!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    padding:10px 14px calc(22px + env(safe-area-inset-bottom))!important;
    background:#fff!important;
    box-shadow:0 18px 55px rgba(3,29,23,.2)!important;
  }
  #siteNav .nav-group{
    width:100%!important;
    grid-template-columns:minmax(0,1fr) 48px!important;
    border-bottom:1px solid #e7eeea!important;
  }
  #siteNav .nav-group-main{
    min-width:0!important;
    white-space:normal!important;
    font-size:1.05rem!important;
    line-height:1.25!important;
  }
  #siteNav .nav-group-toggle{
    width:42px!important;
    height:42px!important;
    margin:4px 0!important;
  }
  #siteNav .nav-dropdown{
    position:static!important;
    grid-column:1/-1!important;
    width:100%!important;
    max-width:none!important;
    max-height:none!important;
    overflow:visible!important;
    margin:0!important;
    padding:4px 8px 12px 18px!important;
    background:#f7faf8!important;
    border:0!important;
    box-shadow:none!important;
  }
  #siteNav .nav-dropdown a{
    display:block!important;
    white-space:normal!important;
    padding:12px 10px!important;
    line-height:1.3!important;
  }
  body.gb-nav-active{overflow:hidden!important}
}

/* User position is deliberately unlike data points. */
.gb-user-location-marker,
.ev-user-marker{
  width:26px!important;
  height:26px!important;
  border-radius:50%!important;
  background:#fff!important;
  border:4px solid #071f1a!important;
  box-shadow:0 0 0 5px rgba(169,255,39,.78),0 4px 16px rgba(0,0,0,.35)!important;
  position:relative!important;
}
.gb-user-location-marker:after,
.ev-user-marker:after{
  content:"";
  position:absolute;
  width:8px;height:8px;border-radius:50%;
  background:#7cc817;
  left:50%;top:50%;transform:translate(-50%,-50%);
}
.gb-gas-marker{
  width:14px;height:14px;border-radius:50%;border:2px solid #fff;
  background:#2f6ed6;box-shadow:0 1px 5px rgba(0,0,0,.35);cursor:pointer;
}
.gb-map-user-popup{font:700 14px/1.3 system-ui;color:#0a3028}
.gb-map-user-popup small{display:block;font-weight:500;color:#60736d;margin-top:3px}
