@media (max-width:768px){#mobile-drawer .font-display.text-4xl{font-size:1.75rem!important;line-height:1.25!important;letter-spacing:.04em!important}#mobile-drawer a.text-3xl{font-size:1.3rem!important}#drawer-signin-btn,#mobile-drawer .btn-primary{display:flex!important;align-items:center!important;justify-content:center!important;width:80%!important;max-width:280px!important;height:3.5rem!important;font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.25em!important;margin:0 auto!important;background:linear-gradient(#d4d4d4,#9a9a9a 50%,#5a5a5a)!important;border:none!important;color:#000!important;box-shadow:0 2px 20px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.4)!important;transition:all .3s ease!important}#drawer-signin-btn:after{content:"";pointer-events:none;background:linear-gradient(rgba(255,255,255,.25),rgba(255,255,255,0));width:100%;height:45%;position:absolute;top:0;left:0}#drawer-signin-btn:active{background:rgba(255,255,255,.1)!important;transform:scale(.98)!important}}@media (max-width:480px){#mobile-drawer .font-display.text-4xl{font-size:1.45rem!important}#mobile-drawer a.text-3xl{font-size:1.1rem!important}}#nav-signin-btn{background:linear-gradient(#d4d4d4,#9a9a9a 50%,#5a5a5a)!important;color:#000!important;font-weight:800!important;border:none!important;box-shadow:0 2px 20px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.4)!important;position:relative;overflow:hidden}#nav-signin-btn:after{content:"";pointer-events:none;background:linear-gradient(rgba(255,255,255,.25),rgba(255,255,255,0));width:100%;height:45%;position:absolute;top:0;left:0}@media (max-width:768px){#main-nav .flex.items-center.justify-end.pr-4,#main-nav .flex.justify-start.pl-4{padding-left:0!important;padding-right:0!important}#main-nav{padding-left:1.25rem!important;padding-right:1.25rem!important}}@media (max-width:768px){.hero-title{font-size:2.15rem!important;line-height:1.1!important;margin-bottom:1.25rem!important;letter-spacing:-.02em!important}.hero-description{font-size:.9rem!important;line-height:1.6!important;margin-bottom:2.5rem!important;color:rgba(210,210,210,.9)!important}.hero-title+p+div.flex{gap:.75rem!important}.hero-stats{margin-top:3.5rem!important;padding-top:2rem!important;border-top:1px solid rgba(255,255,255,.08)!important;gap:2rem 1.5rem!important}.hero-stats-item span:first-child{font-size:1.75rem!important;margin-bottom:.25rem!important}.hero-stats-item span:last-child{font-size:8px!important;letter-spacing:.25em!important;color:rgba(192,192,192,.6)!important}.hero-background+div+div{background:linear-gradient(to top,rgba(10,10,10,.95) 0,rgba(10,10,10,.4) 40%,transparent 100%)!important}}@media (max-width:480px){.hero-title{font-size:1.85rem!important}.hero-stats{gap:1.5rem 1rem!important}}@media (max-width:768px){.py-20,.py-24,.py-32,section{padding-top:2rem!important;padding-bottom:2rem!important}section.bg-void.py-24{padding-top:2rem!important;padding-bottom:2rem!important}section.bg-void.py-24 .mb-28{margin-bottom:1rem!important}section.bg-void.py-24 [style*="transform: translateY"],section.bg-void.py-24 [style*=translateY]{transform:none!important;margin-top:0!important}section.bg-void.py-24 .lg\:py-20,section.bg-void.py-24 .py-12{padding-top:1rem!important;padding-bottom:1.5rem!important}section.bg-void.py-24 h2.font-display{font-size:1.75rem!important;margin-bottom:.5rem!important}}@media (max-width:768px){.service-modal{align-items:center!important;justify-content:center!important;padding:1rem!important}.service-modal>.relative.w-full{height:auto!important;max-height:95dvh!important;overflow-y:auto!important;border-radius:4px!important}.service-modal .flex-col.lg\:flex-row{height:auto!important;overflow:visible!important}.service-modal .w-full.lg\:w-\[400px\]{flex:0 0 auto!important}.service-modal .absolute.bottom-10.right-10{position:absolute!important;bottom:.75rem!important;top:auto!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:.6rem!important;background:0 0!important;border:none!important;width:auto!important;z-index:50!important}.service-modal .absolute.bottom-10.right-10 button,.service-modal .absolute.bottom-10.right-10 button:first-child,.service-modal .absolute.bottom-10.right-10 button:last-child{width:2.5rem!important;height:2.5rem!important;min-width:2.5rem!important;min-height:2.5rem!important;padding:0!important;background:rgba(10,10,10,.85)!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:0!important;flex-shrink:0!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 4px 12px rgba(0,0,0,.5)!important;transition:background .2s ease!important}.service-modal .absolute.bottom-10.right-10 button:active{background:rgba(40,40,40,.9)!important}.service-modal .absolute.bottom-10.right-10 button svg,.service-modal .absolute.bottom-10.right-10 button:first-child svg,.service-modal .absolute.bottom-10.right-10 button:last-child svg{width:1rem!important;height:1rem!important;stroke-width:2.5!important}.service-modal .absolute.bottom-10.left-10{position:absolute!important;bottom:.75rem!important;left:.75rem!important;top:auto!important;right:auto!important;background:rgba(0,0,0,.5)!important;padding:.2rem .5rem!important;font-size:10px!important;letter-spacing:.2em!important;z-index:50!important}}@media (max-width:768px){#fleet-modal{align-items:center!important;justify-content:center!important;padding:1rem!important}#fleet-modal>div:nth-child(2){padding:0!important;align-items:center!important;justify-content:center!important;width:100%!important}#fleet-modal .relative.w-full.max-w-7xl{max-width:100vw!important;max-height:95dvh!important;height:auto!important;border:none!important;border-radius:4px!important;display:flex!important;flex-direction:column!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}#fleet-modal .relative.flex-1.bg-void{flex:0 0 230px!important;min-height:200px!important;max-height:230px!important;position:relative!important;overflow:hidden!important}#fleet-modal #fleet-modal-img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}#fleet-modal .absolute.bottom-10.right-10{position:absolute!important;bottom:.75rem!important;top:auto!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:.6rem!important;background:0 0!important;width:auto!important;z-index:30!important}#next-fleet-img,#prev-fleet-img{padding:0!important;width:2.5rem!important;height:2.5rem!important;min-width:2.5rem!important;min-height:2.5rem!important;background:rgba(10,10,10,.85)!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:0!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 4px 12px rgba(0,0,0,.5)!important;flex-shrink:0!important;transition:background .2s ease!important}#next-fleet-img:active,#prev-fleet-img:active{background:rgba(40,40,40,.9)!important}#next-fleet-img svg,#prev-fleet-img svg{width:1rem!important;height:1rem!important;stroke-width:2.5!important;flex-shrink:0!important}#fleet-modal-counter{position:absolute!important;bottom:.75rem!important;left:.75rem!important;top:auto!important;right:auto!important;font-size:9px!important;background:rgba(0,0,0,.55)!important;padding:.2rem .4rem!important;letter-spacing:.15em!important;z-index:30!important}#fleet-modal .w-full.lg\:w-\[400px\]{flex:0 0 auto!important;overflow:visible!important;width:100%!important}#fleet-modal .flex-1.overflow-y-auto{padding:1rem 1rem 0!important}#fleet-modal #fleet-modal-title{font-size:1.4rem!important;margin-bottom:.5rem!important}#fleet-modal .p-8.lg\:p-10.pt-4{padding:.75rem 1rem!important;flex-shrink:0!important;border-top:1px solid rgba(255,255,255,.07)!important}#fleet-modal .fleet-thumb{width:2.25rem!important;height:2.25rem!important}#fleet-modal a.btn-primary{width:100%!important;height:3rem!important;font-size:10px!important;display:flex!important;align-items:center!important;justify-content:center!important}#close-fleet-modal{position:fixed!important;top:.6rem!important;right:.6rem!important;z-index:200!important;background:rgba(0,0,0,.85)!important;border-radius:50%!important;padding:.45rem!important}}@media (max-width:768px){[style*="translateY(30px)"]{transform:none!important}[style*="translateY(20px)"]{transform:none!important}.text-silver-chrome.font-light.leading-relaxed.max-w-sm{font-size:.875rem!important;line-height:1.6!important;margin-bottom:1.5rem!important;max-width:100%!important}a.btn-primary.h-16{height:3rem!important;padding-left:1.5rem!important;padding-right:1.5rem!important}.bg-void.p-10{padding:2rem 1.25rem!important}.sm\:grid-cols-2{grid-template-columns:1fr!important;gap:.75rem!important}}@media (max-width:480px){.text-silver-chrome.font-light.leading-relaxed.max-w-sm{font-size:.8rem!important}}
/* Utility Classes for Mobile */
@media (max-width: 768px) {
    .w-fit {
        width: fit-content !important;
        min-width: 0 !important;
    }
    .self-start {
        align-self: flex-start !important;
    }
    .mx-0 {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    /* Force Dashboard Header Buttons to be small */
    .dashboard-header-action, 
    main section > div > div > button.btn-primary,
    main section > div > div > a.btn-primary {
        width: fit-content !important;
        padding-left: 1.5rem !important;
        padding-right: 1.5rem !important;
        align-self: flex-start !important;
    }
}

/* New Global Mobile Fixes */
html, body {
    overflow-x: hidden !important;
    width: 100% !important;
    position: relative !important;
}

main {
    overflow-x: hidden !important;
}

/* Footer Social Icons Spacing & Padding - Global Fix */
footer .flex.mb-10 a {
    width: 2.75rem !important;
    height: 2.75rem !important;
    min-width: 2.75rem !important;
    min-height: 2.75rem !important;
    padding: 0.65rem !important;
    background: rgba(255, 255, 255, 0.03) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}
footer .flex.mb-10 {
    gap: 1rem !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
}

@media (max-width: 768px) {
    /* Header Logo Fix */
    nav .h-24, nav .lg\:h-32 {
        height: 4rem !important;
    }
    nav img.h-20, nav img.lg\:h-28 {
        height: 3.2rem !important;
    }

    /* Booking Page Steps & Grid */
    .booking-step.grid {
        grid-template-columns: 1fr !important;
        gap: 2rem !important;
    }
    
    /* "Having Trouble" Section Clutter */
    .booking-step aside .bg-white\/\[0\.02\] {
        padding: 1.5rem !important;
        margin-top: 1rem !important;
    }
    
    /* Horizontal Scroll Prevention */
    .max-w-7xl, .max-w-2xl, .max-w-\[1440px\] {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }
    /* Step 2 Vehicle Card Fixes */
    .p-8 .flex.items-start.justify-between.gap-4.mb-4 {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 1.25rem !important;
    }

    .p-8 .flex.items-start.justify-between.gap-4.mb-4 button {
        width: 100% !important;
        height: 3.25rem !important;
        margin-top: 0.5rem !important;
        order: 2 !important;
    }

    .p-8 .flex.items-center.gap-4.mt-2 {
        gap: 1rem !important;
        flex-wrap: wrap !important;
    }

    /* Grid Adjustments for Summary and Info */
    .grid.grid-cols-2.sm\:grid-cols-4, 
    .grid.grid-cols-2.sm\:grid-cols-3 {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 1rem !important;
    }

    @media (max-width: 480px) {
        .grid.grid-cols-2.sm\:grid-cols-4, 
        .grid.grid-cols-2.sm\:grid-cols-3 {
            grid-template-columns: 1fr !important;
        }
    }

    /* Fix for long address overflow in Summary */
    #summary-pickup, #summary-dropoff, 
    #confirm-pickup, #confirm-dropoff {
        white-space: normal !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
        display: block !important;
        max-width: 100% !important;
    }

    /* Step 3 Confirmation Layout */
    [data-step="3"] .grid.lg\:grid-cols-\[1fr_380px\] {
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
    }

    [data-step="3"] aside, [data-step="3"] .sticky {
        position: static !important;
        width: 100% !important;
    }

    /* Previous / Navigation Buttons */
    .booking-step .flex.justify-start.mb-6 button,
    .booking-step .flex.justify-start.mb-8 button {
        width: 100% !important;
        justify-content: center !important;
    }

    /* Selected Vehicle Block in Step 3 */
    #confirm-selected-vehicle .flex.items-center.gap-6 {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 1.25rem !important;
    }

    #confirm-selected-vehicle .relative.w-32.h-20 {
        width: 100% !important;
        height: 180px !important;
    }

    /* Form Field Fixes */
    .grid.grid-cols-2.gap-4 {
        grid-template-columns: 1fr !important;
    }

    /* Padding for mobile */
    /* Fix for "Choose Vehicle" header touching capacity badge */
    [data-step="2"] .flex.items-center.justify-between:has(h2) {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.75rem !important;
        margin-bottom: 1.5rem !important;
    }

    [data-step="2"] .flex.items-center.justify-between span {
        font-size: 9px !important;
        padding: 0.4rem 0.75rem !important;
        border-color: rgba(255, 255, 255, 0.05) !important;
    }

    /* Input Field Icon Padding Fixes */
    input.pl-10, input.pl-12, input.pl-14, input.pl-16, input.pl-20 {
        padding-left: 3.5rem !important;
    }

    .relative svg.absolute.left-4, 
    .relative svg.absolute.left-5 {
        left: 1.25rem !important;
    }

    /* Strict fix for Dashboard KPI block horizontal scroll */
    .grid.grid-cols-1.md\:grid-cols-3 .card-dark,
    .card-dark.p-6.rounded-none.relative.overflow-hidden {
        overflow-x: hidden !important;
    }

    /* Custom Premium Scrollbar for Table */
    .custom-scrollbar::-webkit-scrollbar {
        height: 3px !important;
        display: block !important;
    }
    .custom-scrollbar::-webkit-scrollbar-track {
        background: rgba(255, 255, 255, 0.03) !important;
    }
    .custom-scrollbar::-webkit-scrollbar-thumb {
        background: linear-gradient(90deg, #9ca3af, #f3f4f6, #9ca3af) !important;
        border-radius: 10px !important;
    }
    .custom-scrollbar {
        overflow-x: auto !important;
        -ms-overflow-style: auto !important;
        scrollbar-width: thin !important;
        scrollbar-color: #9ca3af transparent !important;
    }

    /* Hero top padding: 50% of desktop pt-36 (9rem) on mobile */
    .flex-1.flex.items-center > .max-w-7xl {
        padding-top: 4.5rem !important;
    }

    /* Date & Time Input Mobile Sizing and Boundary Fixes */
    #ride_date, #ride_time, .flatpickr-input {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Step Indicator Bar Mobile Responsive & Wrap Layout (Prevents horizontal overflow and page crop) */
    #step-bar-wrapper {
        flex-direction: column !important;
        align-items: center !important;
        gap: 1.25rem !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        box-sizing: border-box !important;
    }
    #step-prev-slot {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 auto !important;
        justify-content: center !important;
        display: flex !important;
    }
    #step-prev-btn {
        width: 100% !important;
        max-width: 280px !important;
        justify-content: center !important;
    }
    #step-bar-spacer {
        display: none !important;
    }
    #step-bar-wrapper > div.flex-1 {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Safe Padding for Header Text and Main Reserve Elements to prevent left crop */
    .min-h-screen.bg-void {
        overflow-x: hidden !important;
    }
    .min-h-screen.bg-void > div > .max-w-7xl {
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
        box-sizing: border-box !important;
    }
}