/* V29 app shell: service hub, 5-slot bottom nav with raised Ride button, sheet-style ride card. */
:root{--lsm29-g:#0b7a53;--lsm29-ink:#0d1f18}
.lsm29-hub{display:none}
@media(max-width:720px){
 .lsm29-hub{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 14px 6px;position:relative;z-index:3}
 .lsm29-hub a{display:flex;flex-direction:column;justify-content:space-between;min-height:112px;padding:14px;border-radius:22px;color:#fff;text-decoration:none;background:linear-gradient(150deg,rgba(255,255,255,.2),rgba(255,255,255,.07));border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 10px 28px rgba(0,0,0,.22);transition:transform .15s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
 .lsm29-hub a:active{transform:scale(.96)}
 .lsm29-hub .ic{font-size:30px;line-height:1}
 .lsm29-hub b{font-size:16px;letter-spacing:.2px}
 .lsm29-hub small{display:block;font-size:11px;opacity:.82;margin-top:2px}
 .lsm29-hub a.ride{background:linear-gradient(150deg,#12b37a,#0b7a53)}
 .lsm-mobile-bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important;height:64px!important;border-radius:22px 22px 0 0;box-shadow:0 -8px 28px rgba(0,0,0,.28)}
 .lsm-mobile-bottom-nav>*:nth-child(4),.lsm-mobile-bottom-nav>*:nth-child(5){display:none!important}
 .lsm-mobile-bottom-nav>*:nth-child(1){order:1}.lsm-mobile-bottom-nav>*:nth-child(2){order:2}
 .lsm-mobile-bottom-nav>*:nth-child(6){order:3;position:relative;top:-16px;min-height:64px!important;border-radius:50%;background:linear-gradient(150deg,#12b37a,#0b7a53);color:#fff;box-shadow:0 8px 20px rgba(11,122,83,.55)}
 .lsm-mobile-bottom-nav>*:nth-child(3){order:4}.lsm-mobile-bottom-nav>*:nth-child(7){order:5}
 .lsm-mobile-bottom-nav small{font-size:10px!important}
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
 #vehicle-hire #rideBookingMap{height:42dvh!important;min-height:260px;border-radius:0 0 24px 24px}
 #vehicle-hire form#rideBookingForm{position:relative;margin-top:-22px;border-radius:24px 24px 0 0;box-shadow:0 -10px 30px rgba(0,0,0,.25)}
 #vehicle-hire input,#vehicle-hire select,#vehicle-hire textarea{min-height:48px;font-size:16px}
}
@media(min-width:721px){.lsm29-hub{display:none}}
@media(prefers-reduced-motion:reduce){.lsm29-hub a{transition:none}}
