/*===================================================
    Media Query
====================================================*/

/* Tablet Devices */
@media (max-width: 992px) {
    .padding{ padding: 50px 0; }
    .sm-padding{ padding: 15px; }
    p br{ display: none; }
    span br{ display: none; }
    .default-btn{ 
        padding: 0 30px; 
        min-height: 44px; /* Touch-friendly button size */
        font-size: 16px; /* Prevent zoom on iOS */
    }
    .section-heading h2{
        font-size: 32px;
        line-height: 42px;
    }
    .section-heading br{ display: inherit; }
    .grid-post{ margin: 0; }
    .about-info{
        display: block;
        column-gap: 20px;
    }
    .about-info li h2{margin-top: 25px;}
    .about-img:before{
        right: 90px; 
        bottom: 0;
    }
    .about-img .about-img1 {
        transform: translate(-35px, -40px);
        max-width: 100%;
        height: auto;
    }
    .about-img .about-img2 {
        right: 30px;
        bottom: -100px;
        max-width: 100%;
        height: auto;
    }
    .service-section .bg-half{
        height: 496px;
    }
    .swiper-outside .swiper-nav{ display: none; }
    .booking-car,
    .booking-section:before{ display: none;}
    .booking-section:after {
        clip-path: polygon(0 0, 100% 0%, 100% 100%, 20% 100%);
        height: 60px;
    }
    .booking-wrap .section-heading h2{ font-size: 32px; }
    .taxi-holder{
        background-image: none;
    }
    .taxi-holder .mockup,
    .location-marker,
    .taxi-holder .taxi,
    .taxi-holder .charecter{
        display: none;
    }
    .testimonial-section{ padding: 50px 0; }
    .feature-wrap{
        margin-left: 0;
        padding: 50px;
        margin-top: 80px;
    }
    .header-info{
        flex-wrap: wrap;
        gap: 15px;
    }
    .header-info li{
        flex: 1 1 calc(50% - 15px);
        min-width: 200px;
    }
    .footer-call p span{
        display: inline-block;
        font-size: 32px;
        line-height: 1;
        margin-bottom: 0;
        margin-right: 20px;
    }
    .cta-men{ display: none; }
    .cta-content h2{ font-size: 36px; }
    .cta-section{ clip-path: inherit; }
    .cta-content{ text-align: center; }
    .cta-content .cta-call{ justify-content: center; }
    .cta-content .cta-call p span{ text-align: left; }
    .booking-form-2{margin-bottom: 50px;}
    .cta-section-2 .cta-content {
        text-align: left;
        margin-bottom: 35px;
        width: 50%;
    }
    .cta-section-2 .cta-men{
        display: block;
        background-size: 90%;
        right: 10px;
        
    }
    .page-header-shape{
        width: 30%;
        height: 60px;
    }
    .page-header-shape:after{ height: 45px; }
    .video-box-inner > img{display: none;}
    .taxi-details .section-heading{margin-top: 40px;}
    .driver-details{ margin-top: 40px; }    
    .testimonial-section-2 .testi-pagination .swiper-pagination{
        bottom: -20px;
    }
    .contact-form-group .default-btn{ font-size: 14px; }

}

/* Mobile Devices */
@media all and (max-width: 768px) {
    /* Touch-friendly spacing */
    .padding{ padding: 40px 0; }
    .xs-padding{ padding: 15px; }
    .section-heading p br,
    br{ display: none; }
    .section-heading h2{
        font-size: 26px;
        line-height: 36px;
    }
    
    /* Touch-friendly buttons */
    .default-btn,
    button,
    .submit{
        min-height: 48px;
        padding: 12px 24px;
        font-size: 16px;
        touch-action: manipulation;
    }
    
    /* Improve form inputs */
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    select,
    textarea{
        min-height: 48px;
        font-size: 16px; /* Prevent zoom on iOS */
        padding: 12px 15px;
    }
    .about-img{
        margin-bottom: 60px;
        margin-top: 15px;
        text-align: center;
    }
    .about-img:before {
        right: 50%;
        transform: translateX(50%) skew(-20deg, 0deg);
        bottom: -35px;
        height: calc(100% + 50px);
        width: 150px;
    }
    .about-img .about-img1 {
        max-width: 100%;
        width: 240px;
        height: auto;
        transform: translate(0, 10px);
        display: block;
        margin: 0 auto;
    }
    .about-img .about-img2 {
        position: static;
        max-width: 100%;
        width: 200px;
        height: auto;
        margin: 20px auto 0;
        display: block;
    }
    .service-section{
        padding: 40px 0;
    }
    .service-section .bg-half{
        height: auto;
        min-height: 400px;
    }
    .service-item{
        margin-bottom: 30px;
    }
    .service-content h3{
        font-size: 20px;
        line-height: 28px;
    }
    .service-content p{
        font-size: 15px;
        line-height: 24px;
    }
    .booking-form{
        grid-template-columns: 1fr;
        gap: 15px;
    }
    .booking-form .form-field{
        margin-bottom: 15px;
    }
    .booking-section{
        padding: 40px 0;
    }
    .booking-section:after{ display: none; }
    .booking-wrap{
        padding: 30px 20px;
    }
    .booking-wrap .section-heading h2{ 
        font-size: 26px;
        line-height: 36px;
    }   
    
    .cta-section{
        padding: 40px 0;
    }
    .cta-content{
        padding: 30px 20px;
    }
    .cta-content h2 {
        font-size: 26px;
        line-height: 36px;
        margin-bottom: 20px;
    }
    .cta-content p{
        font-size: 16px;
        margin-bottom: 20px;
    }
    .cta-content .cta-call{ 
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
        margin-bottom: 15px;
    }
    .cta-content .cta-call p{
        margin: 0;
    }
    .cta-content .cta-call p a{ 
        font-size: 20px;
        word-break: break-word;
    }
    /* Mobile header improvements */
    .top-header{
        display: none; /* Hide on mobile for cleaner look */
    }
    .mid-header{
        padding: 15px 0;
    }
    .header-info{
        flex-direction: column;
        gap: 10px;
    }
    .header-info li{
        width: 100%;
    }
    
    /* Mobile menu improvements */
    .nav-menu{
        padding: 0;
    }
    .nav-menu li{
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    .nav-menu li a{
        padding: 15px 20px;
        display: block;
        font-size: 16px;
    }
    
    /* Footer improvements */
    .footer-top .brand:before{
        clip-path: inherit;
    }
    .footer-top-wrap{
        background-color: #222;
        overflow: hidden;
    }
    .footer-call p span,
    .footer-call p a{
        font-size: 18px;
        line-height: 1.4;
    }
    .footer-top .brand{
        display: block;
        padding: 40px 20px;
        text-align: center;
    }
    .footer-top .brand p{
        padding: 0;
        margin-top: 20px;
    }
    .footer-top .brand p:before{
        display: none;
    }
    .footer-mid-wrap{
        padding: 40px 0 80px 0;
    }
    .footer-item{
        margin-bottom: 30px;
    }
    .main-slider-2 .swiper-nav{ display: none; }
    .booking-form-2 .col-lg-8{
        padding: 50px 20px;
    }
    .booking-form-2{clip-path: none;}
    .cta-section-2:before,
    .cta-section-2 .cta-content{width: 100%;}
    .cta-section-2 .cta-men{display: none;}
    .page-header-shape {
        width: 40%;
        height: 50px;
    }
    .page-header-shape:after {
        height: 35px;
        left: -100px;
    }
    .service-details-list,
    .service-features{ grid-template-columns: 1fr; }
    .service-details-list > div{ margin-top: 20px; }
    .taxi-details-img img {
        margin-left: 0;
        margin-top: 30px;
    }
    .taxi-details-img .price{
        right: 35px;
        top: 10px;
    }
    .taxi-features{grid-template-columns: 1fr;}
    .taxi-booking-form{ grid-template-columns: 1fr; }
    .contact-form-group{
        display: block;
    }
    .contact-form-group .form-field:not(:last-of-type){
        margin-bottom: 20px;
    }
    .contact-section .contact-details li{display: block;}
    .contact-section .contact-details li i{
        display: block;
        margin-bottom: 15px;
    }
    
}

@media all and (max-width: 580px) {
    #scrollup {
        bottom: 20px;
        right: 20px;
    }
    .pricing-tab-menu li:not(:last-of-type) {
        padding-right: 25px;
    }
    .pricing-tab-menu li:not(:last-of-type):before {
        width: 15px;
        right: 5px;
    }
    #pricing-tab-content .tab-pane{
        margin-top: 15px;
    }
    .app-feature li:not(:last-of-type){
        margin-bottom: 20px;
    }
    
    /* Even smaller mobile adjustments */
    .section-heading h2{
        font-size: 22px;
        line-height: 32px;
    }
    .cta-content h2{
        font-size: 22px;
        line-height: 32px;
    }
    .slider-caption.big{
        font-size: 28px;
    }
}

/* Extra small devices (phones in portrait, less than 375px) */
@media all and (max-width: 374px) {
    .container{
        padding-left: 15px;
        padding-right: 15px;
    }
    .section-heading h2{
        font-size: 20px;
        line-height: 30px;
    }
    .default-btn{
        padding: 10px 20px;
        font-size: 15px;
    }
    .slider-caption.big{
        font-size: 24px;
        line-height: 32px;
    }
    .slider-caption.medium{
        font-size: 16px;
    }
    .footer-call p span,
    .footer-call p a{
        font-size: 16px;
    }
}

/* Mobile Landscape Mode */
@media all and (max-height: 500px) and (orientation: landscape) {
    .slider-section{
        min-height: 100vh;
    }
    .padding{
        padding: 30px 0;
    }
    .section-heading{
        margin-bottom: 20px;
    }
    .section-heading h2{
        font-size: 24px;
        line-height: 32px;
    }
}

/* Tablet Portrait */
@media (min-width: 768px) and (max-width: 991px) {
    .header-info li{
        flex: 1 1 100%;
    }
    .about-img .about-img1{
        max-width: 280px;
    }
    .service-item{
        max-width: 400px;
        margin: 0 auto 30px;
    }
}

/* Accessibility: Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    .kenburns{
        animation: none !important;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .default-btn,
    button{
        border: 2px solid currentColor;
    }
    a{
        text-decoration: underline;
    }
}