/* BIKUBOO homepage/header polish */
html,body{margin:0!important;padding:0!important;overflow-x:hidden!important}
main{padding-top:0!important;margin-top:0!important;width:100%!important;max-width:none!important}
main:before{display:none!important;content:none!important}
body>.site-header{margin-top:-78px!important}
main>.bk-launch{margin-top:-68px!important}
.bk-launch{width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:0!important;margin-bottom:0!important;display:block!important;position:relative!important}
.bk-launch .bk-mainhero,.bk-launch .bk-top,.bk-launch .bk-quick,.bk-launch .bk-rider-gallery,.bk-launch .bk-popular,.bk-launch .bk-split{width:100%!important;box-sizing:border-box!important}
.bk-launch .bk-mainhero{min-width:0!important}
.bk-launch .bk-hero-grid{width:min(1240px,86vw)!important;max-width:1240px!important;margin-left:auto!important;margin-right:auto!important}

.site-header{height:74px!important;min-height:74px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;padding:0 5%!important;box-sizing:border-box!important;position:sticky!important;top:0!important;z-index:10000!important;background:rgba(255,255,255,.98)!important;border-bottom:1px solid #e8eee4!important}
.site-header .logo{flex:0 0 auto!important;display:flex!important;align-items:center!important;min-width:110px!important;color:#172019!important;font-family:Inter,Arial,sans-serif!important;font-size:23px!important;font-weight:900!important;line-height:1!important;white-space:nowrap!important}
.site-header nav#mainNav{flex:1 1 auto!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:24px!important;margin:0!important;padding:0!important;font:600 14px/1 Inter,Arial,sans-serif!important}
.site-header nav#mainNav .nav-main{position:relative!important;display:inline-flex!important;align-items:center!important;height:74px!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#59635a!important;font:600 14px/1 Inter,Arial,sans-serif!important;white-space:nowrap!important;box-shadow:none!important}
.site-header nav#mainNav .nav-main.active{color:#172019!important;background:transparent!important}
.site-header nav#mainNav .nav-main:after{content:""!important;position:absolute!important;left:0!important;right:100%!important;bottom:17px!important;height:2px!important;background:#8fd34a!important;transition:right .2s ease!important}
.site-header nav#mainNav .nav-main:hover:after,.site-header nav#mainNav .nav-main.active:after{right:0!important}
.more-wrap{display:flex!important;align-items:center!important;position:relative!important}
.more-nav-btn{appearance:none!important;border:0!important;background:transparent!important;color:#59635a!important;padding:0!important;margin:0!important;font:600 14px/1 Inter,Arial,sans-serif!important;display:inline-flex!important;align-items:center!important;gap:8px!important;height:74px!important;cursor:pointer!important}
.more-nav-btn span{display:inline-block!important;width:6px!important;height:6px!important;border-right:1.5px solid currentColor!important;border-bottom:1.5px solid currentColor!important;transform:rotate(45deg)!important;font-size:0!important;margin-top:-3px!important}
.more-wrap.open .more-nav-btn span,.more-nav-btn[aria-expanded="true"] span{transform:rotate(225deg)!important;margin-top:3px!important}
.more-nav-btn:after{display:none!important}
.site-header .header-tools{flex:0 0 auto!important;display:flex!important;align-items:center!important;margin-left:auto!important}
.site-header #authArea{display:flex!important;align-items:center!important}
.site-header #authArea .outline{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:40px!important;padding:0 18px!important;border:1px solid #dce5d7!important;border-radius:12px!important;background:#fff!important;color:#172019!important;font:700 14px/1 Inter,Arial,sans-serif!important}

/* Mobile header: show the hamburger in the actual sticky header. */
@media(max-width:700px){
  body>.site-header{
    margin-top:0!important;
    top:0!important;
    height:70px!important;
    min-height:70px!important;
    padding:0 14px!important;
    z-index:10000!important;
  }
  .site-header .logo{min-width:auto!important;font-size:22px!important}
  .site-header nav#mainNav{display:none!important}
  .site-header .mobile-menu-btn{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 42px!important;
    width:42px!important;
    height:42px!important;
    margin-left:auto!important;
    padding:0!important;
    border:1px solid #dfe8d9!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#172019!important;
    font-size:21px!important;
    line-height:1!important;
    cursor:pointer!important;
    z-index:10001!important;
  }
  .site-header .header-tools{display:none!important}
  #mobileAuthActions{
    position:sticky!important;
    top:70px!important;
    z-index:9999!important;
  }
  .bk-launch{margin-top:0!important}
  .bk-launch .bk-hero-grid{width:90vw!important}
  .bk-launch .bk-search,.bk-launch .search-box,.bk-launch .bk-search-box{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) 125px!important}
  .bk-launch .bk-field{padding:9px 10px!important}
  .bk-launch .bk-field input,.bk-launch input[placeholder="Leaving from?"],.bk-launch input[placeholder="Going to?"]{font-size:14px!important}
  .bk-launch button[type="submit"],.bk-launch .bk-search-btn,.bk-launch .find-ride-btn{font-size:14px!important}
}
@media(max-width:900px){
  .site-header{padding:0 3%!important}
  .site-header nav#mainNav{gap:13px!important}
  .bk-launch .bk-hero-grid{width:92vw!important}
  .bk-launch .bk-search,.bk-launch .search-box,.bk-launch .bk-search-box{grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr) 155px!important}
  .bk-launch .bk-field{padding:10px 12px!important}
  .bk-launch button[type="submit"],.bk-launch .bk-search-btn,.bk-launch .find-ride-btn{font-size:14px!important}
}

/* Final mobile navigation fix: the hamburger was toggling .open, but a later
   mobile rule kept #mainNav at display:none!important. */
@media(max-width:700px){
  .site-header nav#mainNav.open{
    display:flex!important;
    position:absolute!important;
    left:10px!important;
    right:10px!important;
    top:70px!important;
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    max-height:calc(100vh - 86px)!important;
    overflow-y:auto!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:2px!important;
    padding:10px!important;
    margin:0!important;
    box-sizing:border-box!important;
    border:1px solid #dfe8d9!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 18px 45px rgba(20,35,20,.18)!important;
    z-index:10002!important;
  }
  .site-header nav#mainNav.open .nav-main,
  .site-header nav#mainNav.open .more-wrap{
    display:flex!important;
    width:100%!important;
    height:46px!important;
    min-height:46px!important;
    align-items:center!important;
    justify-content:flex-start!important;
    padding:0 14px!important;
    box-sizing:border-box!important;
    border-radius:10px!important;
  }
  .site-header nav#mainNav.open .nav-main:hover,
  .site-header nav#mainNav.open .more-nav-btn:hover{
    background:#f3f8ef!important;
  }
  .site-header nav#mainNav.open .more-wrap{
    position:relative!important;
    flex-direction:column!important;
    align-items:stretch!important;
    height:auto!important;
  }
  .site-header nav#mainNav.open .more-nav-btn{
    width:100%!important;
    height:46px!important;
    justify-content:flex-start!important;
    padding:0!important;
  }
  .site-header nav#mainNav.open .more-nav-menu{
    position:static!important;
    width:100%!important;
    box-sizing:border-box!important;
  }
  .site-header nav#mainNav.open .nav-main:after{display:none!important}
}

/* =========================================================
   FINAL iPHONE MOBILE SHELL
   Keep the header, auth row and homepage in normal document flow.
   This intentionally overrides older homepage positioning patches.
   ========================================================= */
@media(max-width:700px){
  html,body{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
  }

  body{
    padding:0!important;
    margin:0!important;
  }

  body>.site-header{
    position:sticky!important;
    top:0!important;
    left:0!important;
    width:100%!important;
    height:64px!important;
    min-height:64px!important;
    margin:0!important;
    padding:0 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    box-sizing:border-box!important;
    background:#fff!important;
    z-index:30000!important;
  }

  .site-header .logo{
    flex:1 1 auto!important;
    min-width:0!important;
    width:auto!important;
    max-width:150px!important;
    height:52px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    overflow:hidden!important;
  }

  .site-header .mobile-menu-btn{
    order:2!important;
    display:flex!important;
    flex:0 0 42px!important;
    width:42px!important;
    height:42px!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #dfe8d9!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#172019!important;
    font-size:22px!important;
    line-height:1!important;
    z-index:30002!important;
  }

  .site-header .header-tools{
    order:3!important;
    display:flex!important;
    flex:0 0 auto!important;
    margin:0!important;
  }

  .site-header #authArea{
    display:flex!important;
  }

  .site-header #authArea .outline{
    height:42px!important;
    min-width:108px!important;
    padding:0 17px!important;
    border-radius:13px!important;
    font-size:14px!important;
  }

  /* Never let the old desktop nav occupy or clip the mobile viewport. */
  .site-header nav#mainNav{
    display:none!important;
    position:static!important;
    width:auto!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }

  /* The separate mobile menu is the only mobile navigation surface. */
  #bkMobileMenuPanel{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    top:74px!important;
    z-index:40000!important;
    max-height:calc(100dvh - 88px)!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }

  /* Auth buttons belong directly below the header, not over the hero. */
  #mobileAuthActions{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    width:100%!important;
    min-height:70px!important;
    box-sizing:border-box!important;
    z-index:20000!important;
    margin:0!important;
    padding:9px 12px!important;
  }

  /* Remove all old negative hero offsets on mobile. */
  main{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }

  main>.bk-launch,
  .bk-launch{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  .bk-launch .bk-mainhero,
  .bk-launch .bk-top,
  .bk-launch .bk-quick,
  .bk-launch .bk-rider-gallery,
  .bk-launch .bk-popular,
  .bk-launch .bk-split{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .bk-launch .bk-mainhero{
    padding:46px 20px 42px!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  .bk-launch .bk-hero-grid{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    grid-template-columns:1fr!important;
    gap:24px!important;
    box-sizing:border-box!important;
  }

  .bk-launch .bk-mainhero h1{
    max-width:100%!important;
    font-size:clamp(43px,13vw,56px)!important;
    line-height:.98!important;
    letter-spacing:-3px!important;
    overflow-wrap:normal!important;
  }

  .bk-launch .bk-mainhero .lead{
    max-width:100%!important;
    font-size:17px!important;
    line-height:1.5!important;
  }

  .bk-launch .bk-search-card{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    box-sizing:border-box!important;
  }
}


/* FINAL COMPACT MOBILE HEADER - loaded last to override all earlier mobile rules */
@media(max-width:700px){
  body>.site-header{display:grid!important;grid-template-columns:92px 88px 62px minmax(0,1fr)!important;gap:5px!important;width:100%!important;max-width:100vw!important;height:64px!important;min-height:64px!important;padding:0 8px!important;box-sizing:border-box!important;overflow:visible!important}
  body>.site-header .logo{grid-column:1!important;grid-row:1!important;width:92px!important;min-width:92px!important;max-width:92px!important;height:50px!important;flex:none!important;overflow:hidden!important}
  body>.site-header .logo img{width:90px!important;max-width:90px!important;height:auto!important;max-height:46px!important;object-fit:contain!important}
  body>.site-header .mobile-create-btn{grid-column:2!important;grid-row:1!important;width:88px!important;min-width:88px!important;height:38px!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:none!important;padding:0 6px!important;box-sizing:border-box!important;border:0!important;border-radius:11px!important;background:#ff6a1a!important;color:#fff!important;font:800 11px/1.05 Inter,Arial,sans-serif!important;text-align:center!important;white-space:normal!important;order:initial!important}
  body>.site-header .mobile-menu-btn{grid-column:3!important;grid-row:1!important;width:62px!important;min-width:62px!important;height:38px!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:none!important;margin:0!important;padding:0!important;box-sizing:border-box!important;font:800 12px/1 Inter,Arial,sans-serif!important;border-radius:11px!important;order:initial!important}
  body>.site-header .header-tools{grid-column:4!important;grid-row:1!important;width:100%!important;min-width:0!important;display:flex!important;flex:1 1 auto!important;order:initial!important;margin:0!important}
  body>.site-header #authArea{width:100%!important;min-width:0!important;display:flex!important}
  body>.site-header #authArea .outline{width:100%!important;min-width:0!important;height:38px!important;padding:0 6px!important;box-sizing:border-box!important;font:800 13px/1 Inter,Arial,sans-serif!important;white-space:nowrap!important;border-radius:11px!important}
}
@media(max-width:360px){
 body>.site-header{grid-template-columns:78px 78px 58px minmax(0,1fr)!important;gap:4px!important;padding:0 6px!important}
 body>.site-header .logo,body>.site-header .logo img{width:78px!important;min-width:78px!important;max-width:78px!important}
 body>.site-header .mobile-create-btn{width:78px!important;min-width:78px!important;font-size:10px!important}
 body>.site-header .mobile-menu-btn{width:58px!important;min-width:58px!important;font-size:11px!important}
}
