@media (max-width: 1024px) {
    .landing-page-content {
        max-width: 500px;
        padding: 30px;
    }
    
    .landing-page-content h2 {
        font-size: 32px;
    }
    .ride-container {
        flex-direction: column-reverse;
        text-align: center;
    }
    
    .ride-content {
        max-width: 100%;
    }

    .ride-image img {
        width: 100%;
    }

    .ride-btn {
        margin-top: 15px;
    }
    .who-we-are-right {
        text-align: center;
    }

    .overlay-image {
        bottom: -20px;
        right: auto;
        left: 50%;
        transform: translateX(-50%);
    }
    
    .test-trip-content{
        margin-top: 3rem;
    }

    .profile-image i {
        bottom: 69px;
        right: 22px;
    }
}
@media (max-width: 992px) {
    .col-lg-7,
    .col-lg-5 {
        flex: 0 0 calc(100% - 24px);
    }
}
@media (max-width: 991px) {
    .image-login{
        display: none;
    }
}
@media (max-width: 768px) {
    .car-book {
        height: 400px;
        justify-content: center;
        text-align: center;
    }
    
    .landing-page-content {
        max-width: 90%;
        padding: 20px;
    }

    .landing-page-content h2 {
        font-size: 28px;
    }
    .trip-features {
        flex-direction: column;
        align-items: center;
    }

    .feature-box {
        width: 90%;
    }
   
    .form-group.half {
        width: 100%;
        padding: 0px;
    }
    .card-body {
        padding: 20px;
    }

    .card-title {
        font-size: 18px;
        margin-bottom: 20px;
    }

    .btn-group {
        flex-direction: column;
    }

    .btn {
        width: 100%;
    }

    .form-control,
    .form-control-lg,
    .form-select {
        padding: 12px 12px;
        font-size: 14px;
    }

    .btn-gradient-primary {
        padding: 12px 20px;
        font-size: 14px;
    }
}
@media (max-width: 480px) {
    .card-body {
        padding: 15px;
    }

    .card-title {
        font-size: 16px;
        gap: 8px;
    }

    .card-title i {
        font-size: 20px;
    }

    .row {
        margin-right: 0;
        margin-left: 0;
    }

    .col-lg-7,
    .col-lg-5 {
        padding-right: 0;
        padding-left: 0;
    }

    label {
        font-size: 13px;
        margin-bottom: 6px;
    }

    .form-control,
    .form-control-lg,
    .form-select {
        /* padding: 10px 12px; */
        font-size: 13px;
    }

    .btn {
        padding: 8px 16px;
        font-size: 13px;
    }

    .input-group-text {
        padding: 10px 12px;
        font-size: 14px;
    }

    .input-group .form-control {
        padding: 10px 12px;
    }


    .mb-3 {
        margin-bottom: 15px !important;
    }

    .mb-4 {
        margin-bottom: 20px !important;
    }

    .mt-3 {
        margin-top: 15px !important;
    }
}
@media (max-width: 450px) {
    .car-section {
        display: block;
    }

    .faq-t {
        display: none;
    }

    .question {
        padding-right: 0px;
    }

    .answer {
        margin-bottom: 30px;
        padding-left: 0px;
        padding-right: 0px;
    }

    .download-app-content {
        text-align: center;
        align-items: anchor-center;
    }
    .tab-buttons{
        gap: 10px;
    }
    .car-book {
        height: 350px;
    }

    .landing-page-content h2 {
        font-size: 24px;
    }

    .btn {
        font-size: 14px;
        padding: 8px 18px;
    }
    .tab-buttons button {
        width: 100%;
    }
    .heading-register{
        font-size: 21px;
        margin-bottom: 2px !important;
    }
    .sub-heading p {
        display: flex;
        font-size: 10px;
        text-align: start;
        margin-bottom: 10px;
    }

    p.leading-mobile {
        display: flex;
        font-size: 9px;
        text-align: start;
    }
    .login-forgot {
        display: block; 
    }
    input.sub-btn.register-btn {
        width: 100%;
    }
    .forgot-password{
        margin-top: 4px;
    }
    p.account {
        font-size: 14px;
        margin-top: 5px;
    }
    .terms{
        font-size: 10px;
    }
    .form-label{
        font-size: 13px;
    }
    .who-we-are-right{
        display: none;
    }
    .profile-block {
        flex: auto;
    }
    .profile-image{
        display: flex;
        margin: auto;
    }
    .profile-image i {
        bottom: 8px;
    }
    .profile-caption .page-heading{
        margin-bottom: 0px;
        padding-bottom: 0px;
    }
    .profile-earning{
        padding: 0px 0px 40px;
    }

    .login-signup .row > [class*="col-"]{
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
}

@media (max-width:425px) {
    .tab-buttons button {
        font-size: 12px;
    }
}


/* ==========================================================
   Header & Footer Responsive Adjustments
========================================================== */

/* Tablet and Mobile (<= 991px) */
@media (max-width: 991px) {
    /* Header Navigation */
    .navbar-collapse {
        background-color: var(--primary-color) !important;
        padding: 15px;
        border-radius: 0 0 15px 15px;
        box-shadow: 0 10px 15px rgba(0,0,0,0.1);
    }
    .navbar-nav .nav-item {
        margin-bottom: 8px;
        border-bottom: 1px solid rgba(255,255,255,0.1);
        padding-bottom: 8px;
    }
    .navbar-nav .nav-link {
        padding-left: 10px !important;
    }
    #offcanvasNavbar .btn {
        display: block;
        width: 100%;
        text-align: center;
        margin-bottom: 10px;
        margin-right: 0 !important;
        padding: 12px 0;
        font-size: 16px;
        font-weight: 600;
        border-radius: 8px;
    }
    .profile-container {
        justify-content: flex-start;
        margin-top: 15px;
        background: rgba(0,0,0,0.1);
        padding: 10px 15px;
        border-radius: 8px;
    }

    /* Tablet Footer Adjustments */
    .footer-dynamic .col-md-6 {
        margin-bottom: 30px;
    }
}

/* Mobile Devices (<= 767px) */
@media (max-width: 767px) {
    .footer-dynamic {
        text-align: center;
        padding-top: 40px !important;
    }
    .footer-dynamic .row > div {
        margin-bottom: 35px;
        border-bottom: 1px dashed rgba(255,255,255,0.2);
        padding-bottom: 20px;
    }
    .footer-dynamic .row > div:last-child {
        border-bottom: none;
        margin-bottom: 0;
    }
    .footer-dynamic h5 {
        font-size: 22px;
        margin-bottom: 15px;
        font-weight: 600;
    }
    .footer-dynamic .footer-logo {
        margin-bottom: 15px;
    }
    .footer-dynamic .d-flex.justify-content-between {
        flex-direction: column;
        align-items: center;
        gap: 15px;
        margin-top: 20px;
    }
    .footer-dynamic .d-flex.gap-3 {
        justify-content: center;
        flex-wrap: wrap;
    }

}
    /* ==========================================================
       Home Page Specific Responsive CSS
    ========================================================== */
    @media (max-width: 991px) {
        /* Hero Section */
        .car-book {
            height: auto;
            min-height: 500px;
            padding: 40px 20px;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }
        .landing-page-content {
            text-align: center;
            margin-bottom: 30px;
            max-width: 100%;
        }
        .booking-panel {
            flex-direction: column;
            gap: 20px;
            width: 100%;
            max-width: 500px;
            margin: 0 auto;
        }

        /* Ride Section */
        .ride-section .container {
            flex-direction: column-reverse;
            text-align: center;
        }
        .ride-content {
            margin-top: 30px;
        }
        .ride-image img {
            max-width: 100%;
            height: auto;
        }

        /* Who We Are Section */
        .who-we-are .container .row {
            flex-direction: column-reverse;
        }
        .who-we-are-right {
            text-align: center;
            margin-bottom: 30px;
        }
        .who-we-are-left {
            margin-top: 30px;
        }

        /* App Download Section */
        .download-app .row {
            flex-direction: column;
            text-align: center;
        }
        .download-text-column {
            margin-bottom: 30px;
        }
        
        /* How It Works Section */
        .how-work-area .row {
            flex-direction: column;
        }
        .how-work-area .single-work {
            margin-bottom: 30px;
        }
    }

    @media (max-width: 767px) {
        .landing-page-content h2 {
            font-size: 28px;
            line-height: 1.3;
        }
        .landing-page-content .hero-tagline {
            font-size: 16px;
        }
        .trip-features {
            flex-direction: column;
            gap: 30px;
        }
        .feature-box {
            width: 100%;
            padding: 20px;
        }
        .achievement-section .row > div {
            margin-bottom: 30px;
        }
        .test-trip-content {
            padding: 20px;
        }
    }

/* Tablet & Mobile Overrides for Home Page Flex Columns */
@media (max-width: 991px) {
    .who-we-are .container .row > .col-md-6,
    .download-app .row > .col-md-6 {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
    }
}

/* Hero Banner Laptop Adjustments */
@media (max-width: 1199px) {
    .car-book {
        padding: 0 30px;
        gap: 20px;
    }
    .landing-page-content h2 {
        font-size: 38px;
    }
}

/* Hero Banner Mobile Adjustments */
@media (max-width: 767px) {
    .booking-card-banner {
        flex-direction: column;
        text-align: center;
        padding: 20px;
    }
    .booking-card-banner br {
        display: none;
    }
    .booking-card-text span {
        display: block;
        margin-top: 5px;
        margin-bottom: 10px;
    }
    .booking-card-btn {
        width: 100%;
        text-align: center;
    }
}

/* Tablet & Mobile Overrides for Ride Section and How It Works */
@media (max-width: 991px) {
    .ride-content {
        max-width: 100% !important;
        width: 100% !important;
    }
    .ride-image {
        width: 100% !important;
        margin-bottom: 30px;
    }
    .ride-section {
        padding: 40px 20px !important;
    }
    section.div-padding.how-work-area {
        padding: 0px !important;
        margin-bottom: 0px !important;
    }
    .icons-div-v-2 {
        margin-top: 30px;
    }
}

@media (max-width: 767px) {
    .ride-title {
        font-size: 28px !important;
    }
    .content-wrapper .left-content .how-it-works-title {
        font-size: 28px !important;
        margin-bottom: 20px !important;
    }
}

/* How It Works Mobile Fixes (Icon Timeline) */
@media (max-width: 767px) {
    .icons-div-v-2 .icon-item-wrap {
        align-items: flex-start !important;
        gap: 15px !important;
        padding-bottom: 30px;
        margin-bottom: 0 !important;
    }
    
    .icons-div-v-2 .single-icon, .icons-div-v-2 .single-icons {
        height: 65px !important;
        width: 65px !important;
        line-height: 65px !important;
        flex: 0 0 65px !important;
    }
    
    .icons-div-v-2 .single-icon img, .icons-div-v-2 .single-icons img {
        width: 32px !important;
        object-fit: contain;
    }
    
    .how-it-works-text-wrapper {
        padding-top: 5px;
    }
    
    .how-it-works-text-wrapper h3 {
        font-size: 20px !important;
        margin-bottom: 10px !important;
    }
    
    .how-it-works-text-wrapper p {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }
    
    /* Dynamic Vertical Line based on Wrapper Height */
    .icons-div-v-2 .single-icon::after, .icons-div-v-2 .single-icons::after {
        display: none !important; /* Hide old fixed-height line */
    }
    
    .icons-div-v-2 .icon-item-wrap::before {
        content: "";
        position: absolute;
        left: 32.5px; /* Center of 65px icon */
        top: 65px; /* Bottom of icon */
        bottom: 0; /* Stretch to bottom of wrapper (which has 30px padding-bottom) */
        width: 2px;
        background-color: #ccc;
        transform: translateX(-50%);
    }
    
    .icons-div-v-2 .icon-item-wrap:last-child::before {
        display: none !important;
    }
    .icons-div-v-2 .icon-item-wrap:last-child {
        padding-bottom: 0;
    }
}

/* Global Section Spacing and Alignment for Mobile/Tablet */
@media (max-width: 991px) {
    /* Reduce top/bottom padding for all sections */
    section {
        padding-top: 50px !important;
        padding-bottom: 50px !important;
    }
    
    /* Ensure no unwanted horizontal scroll */
    body, html {
        overflow-x: hidden;
    }
    
    /* Center align section titles */
    .section-title, .trip-header h2, .how-it-works-title, .section-title-achievment, .ride-title {
        text-align: center;
        margin-bottom: 30px !important;
    }
    
    /* Center text content in columns when stacked */
    .who-we-are-left, .achievement-text, .ride-content {
        text-align: center;
        padding: 0 15px;
    }
    
    /* Add spacing between stacked columns */
    .row > [class*="col-"]:not(:last-child) {
        margin-bottom: 30px;
    }
    
    /* Container side paddings */
    .container {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

@media (max-width: 767px) {
    /* Further reduce padding for small mobile */
    section {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }
    
    /* Reduce heading sizes */
    h2, .section-title, .trip-header h2, .how-it-works-title, .section-title-achievment, .ride-title {
        font-size: 26px !important;
        line-height: 1.3 !important;
    }
    
    /* Paragraph sizes */
    p {
        font-size: 15px !important;
        line-height: 1.5 !important;
    }
}

/* Fix car-section padding so it doesn't get pushed down */
@media (max-width: 991px) {
    section.car-section {
        padding-top: 20px !important;
        padding-bottom: 20px !important;
    }
}

/* Force correct height for car-book on tablet/mobile */
@media (max-width: 768px) {
    .car-book {
        height: auto !important;
        min-height: auto !important;
        padding: 40px 20px !important;
        justify-content: center !important;
        align-items: center !important;
    }
    .landing-page-content {
        max-width: 100% !important;
        padding: 0 !important;
    }

    .feature-text{
        text-align: left;
    }
}

/* Centering Download App & About Us on Tablet/Mobile */
@media (max-width: 991px) {
    /* Download App Section Centering */
    .download-app-content {
        text-align: center !important;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    .download-app-content .who-we-are-btn,
    .download-app-content .get-app {
        margin: 0 auto !important;
    }

    /* About Us Section Centering */
    .who-we-are-left {
        text-align: center !important;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    .who-we-are-features {
        text-align: center;
        justify-content: center;
        align-items: center;
    }
    
    .who-we-are-left .who-we-are-btn {
        margin: 0 auto !important;
    }
}

/* Ensure About Us List Items center properly */
@media (max-width: 991px) {
    .who-we-are-list {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .who-we-are-list li {
        justify-content: center;
        text-align: center;
        width: 100%;
    }
}

/* Fix About Us List Centering so Checkmarks Line Up */
@media (max-width: 991px) {
    .who-we-are-list {
        display: inline-block !important; /* Make it block but shrink to content */
        text-align: left !important; /* Keep items left aligned inside the block */
        margin: 0 auto 30px auto !important; /* Center the block horizontally */
    }
    .who-we-are-list li {
        justify-content: flex-start !important; /* Revert to left alignment */
        text-align: left !important;
        width: auto !important;
    }
}

/* Force Full Width for Stacked Columns on Tablet/Mobile to Remove Right-Side Empty Space */
@media (max-width: 991px) {
    .who-we-are-left, 
    .download-app-content, 
    .achievement-text,
    .ride-content {
        max-width: 100% !important;
        margin: 0 auto !important;
        width: 100% !important;
    }
}

/* Fix Ride Features List Centering at 1024px */
@media (max-width: 1024px) {
    .ride-features {
        display: inline-block !important;
        text-align: left !important;
        margin: 0 auto 20px auto !important;
    }
    .ride-features li {
        justify-content: flex-start !important;
        width: auto !important;
    }
}

/* Fix Book Your Ride Button Alignment next to Ride Features */
@media (max-width: 1024px) {
    .ride-features {
        display: block !important;
        width: fit-content !important;
        margin: 0 auto 20px auto !important;
        text-align: left !important;
    }
    .ride-btn {
        display: inline-block !important;
        margin: 0 auto !important;
    }
}

/* Revert About Us text to Left Align and fix Image to Full Width Center */
@media (max-width: 991px) {
    /* Text Left Aligned */
    .who-we-are-left {
        text-align: left !important;
        display: block !important;
    }
    .who-we-are-left .section-title {
        text-align: left !important;
    }
    .who-we-are-left p {
        text-align: left !important;
    }
    .who-we-are-list {
        display: block !important;
        text-align: left !important;
        margin: 0 0 20px 0 !important;
    }
    .who-we-are-list li {
        justify-content: flex-start !important;
        text-align: left !important;
    }
    .who-we-are-left .who-we-are-btn {
        margin: 0 !important;
        display: inline-block !important;
    }
    
    /* Image Full Width Center */
    .who-we-are-right {
        max-width: 100% !important;
        width: 100% !important;
        text-align: center;
        display: flex;
        justify-content: center;
    }
    .who-we-are-right .main-image {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto;
    }
}

/* --- Auth Pages (Login/Register) Responsive Fixes --- */
@media (max-width: 991px) {
    .log-in-form {
        padding: 40px 15px !important;
    }
    .login-signup {
        width: 100%;
        max-width: 100%;
        padding: 25px 15px !important;
        margin: 0 auto;
    }
    .heading-box {
        font-size: 28px !important;
        margin-bottom: 15px;
    }
    .heading-register {
        font-size: 22px !important;
        margin-bottom: 15px !important;
        margin-top: 0 !important; /* Avoid double margin */
    }
    .sub-heading p {
        font-size: 14px !important;
    }
    .form-group.floating-label, .form-label-group.input-group {
        width: 100%;
        /* margin-bottom: 0 !important;  */
    }
    .form-control {
        width: 100% !important;
        font-size: 14px !important;
    }
    .sub-btn {
        width: 100% !important;
        padding: 12px !important;
        font-size: 16px !important;
        margin-top: 0 !important;
    }
    .border-style {
        padding: 0 !important;
        border: none !important;
    }
    .login-signup .row > [class*="col-"] {
        margin-bottom: 0px !important;
        /* padding-left: 0px !important;
        padding-right: 0px !important; */
    }
    .form-group.terms {
        margin-bottom: 20px !important;
        margin-top: 0 !important;
    }
    .phone-combo-wrapper{
        margin-bottom: 20px !important;
    }
    /* Fix Login Button & Forgot PIN layout */
    .login-forgot {
        flex-direction: column !important;
        gap: 15px;
        align-items: center !important;
    }
}
