/* SPEEDLINE RESPONSIVE CSS - ADJUSTMENTS FOR ALL VIEWPORTS */

@media (max-width: 1440px) {
    .logo-img {
        height: 105px;
    }
    .desktop-menu {
        margin: 0 20px;
    }
    .hero-title {
        font-size: 5.5rem;
    }
    .container-fluid {
        padding: 0 30px;
    }
    .service-card {
        padding: 40px;
    }
}

@media (max-width: 1200px) {
    html {
        font-size: 15px;
    }
    .hero-title {
        font-size: 4.5rem;
    }
    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .fleet-grid {
        gap: 20px;
    }
    .fleet-image-wrapper {
        height: 380px;
    }
    .projects-masonry {
        gap: 20px;
    }
    .masonry-large, .masonry-small {
        height: 440px;
    }
    .testimonial-card {
        width: 380px;
        min-height: 340px;
        padding: 35px;
    }
    .cta-inner {
        padding: 80px 40px;
    }
}

@media (max-width: 1024px) {
    /* Touch devices: hide custom cursor to avoid tap lag */
    body {
        cursor: auto;
    }
    #custom-cursor, #custom-cursor-dot {
        display: none !important;
    }
    
    .desktop-menu {
        display: none; /* Mobile menu overlay takes over */
    }
    .hamburger-btn {
        display: flex;
    }
    
    .nav-mobile-cta {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background-color: var(--color-accent);
        color: #ffffff !important;
        padding: 6px 12px;
        font-family: var(--font-display);
        font-size: 0.7rem;
        font-weight: 700;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        text-decoration: none;
        border: none;
        box-shadow: 0 0 10px rgba(var(--color-accent-rgb), 0.3);
        transition: var(--transition-fast);
        border-radius: 0;
    }
    
    .nav-mobile-cta:hover {
        background-color: var(--text-primary);
        color: var(--bg-primary) !important;
        box-shadow: 0 0 15px rgba(225, 222, 204, 0.3);
    }
    
    .grid-row {
        gap: 30px;
    }
    .split-half > .grid-col,
    .split-3-7 > .grid-col:first-child,
    .split-3-7 > .grid-col:last-child {
        grid-column: span 12;
    }
    
    .right-content-panel {
        padding-left: 0;
        margin-top: 30px;
    }
    
    .mask-image-container {
        height: 420px;
    }
    
    .stats-text-panel {
        padding-right: 0;
        margin-bottom: 40px;
    }
    
    /* On mobile/tablet, convert horizontal scroll section back to vertical layout for readability */
    #industries {
        height: auto !important;
        padding: 100px 0;
    }
    .horizontal-sticky-wrapper {
        position: relative !important;
        height: auto !important;
        top: auto !important;
        overflow: visible !important;
        padding: 0 !important;
    }
    .horizontal-header-container {
        padding-top: 0;
        margin-bottom: 40px;
    }
    .horizontal-scroll-container {
        display: flex;
        flex-direction: column;
        gap: 30px;
        width: 100% !important;
        transform: none !important;
        padding: 0 !important;
    }
    .industry-card {
        width: 100%;
        height: 380px;
    }
    
    .timeline-line, .timeline-draw-progress {
        left: 20px;
        transform: none;
    }
    .timeline-step {
        width: 100%;
        left: 0 !important;
        justify-content: flex-start !important;
        padding-left: 50px !important;
        padding-right: 0 !important;
        margin-bottom: 40px; /* Restore spacing for stacked mobile view */
    }
    .step-card {
        min-height: auto; /* Reset min-height on mobile */
    }
    .step-num-bubble {
        left: 0 !important;
    }
    
    .fleet-grid {
        grid-template-columns: 1fr;
    }
    .fleet-image-wrapper {
        height: 480px;
    }
    
    .masonry-large, .masonry-small {
        grid-column: span 12;
        height: 400px;
    }
    
    .contact-form-panel {
        padding-right: 0;
    }
    .blueprint-container {
        margin-top: 50px;
    }
    .gallery-slider-wrapper {
        height: 340px;
    }
    .gallery-slide {
        width: 75%;
        margin-left: -37.5%;
    }
}

@media (max-width: 768px) {
    .logo-img {
        height: 68px;
    }
    html {
        font-size: 14px;
    }
    .scroll-section {
        padding: 80px 0;
    }
    .hero-title {
        font-size: 3.5rem;
    }
    .hero-footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .hero-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 15px;
    }
    .stat-box {
        grid-column: span 12;
        text-align: center;
    }
    .services-grid {
        grid-template-columns: 1fr;
    }
    .service-card {
        padding: 35px 25px;
    }
    .testimonial-card {
        width: calc(100vw - 60px);
        max-width: 450px;
        min-height: auto;
    }
    .map-label {
        font-size: 18px;
    }
    .cta-title {
        font-size: 2.8rem;
    }
    .form-row .col-half {
        grid-column: span 12;
    }
    .contact-form {
        gap: 30px;
        padding: 25px;
    }
    .footer-links-grid .links-column {
        grid-column: span 12;
        margin-bottom: 20px;
    }
    .footer-bottom-row {
        display: flex !important;
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }
    .gallery-slider-wrapper {
        height: 290px;
    }
    .gallery-slide {
        width: 82%;
        margin-left: -41%;
    }
    .caption-title {
        font-size: 1.15rem;
    }
    .gallery-caption {
        padding: 18px 20px;
    }
}

@media (max-width: 480px) {
    .container-fluid {
        padding: 0 20px;
    }
    .nav-container {
        padding: 0 15px;
    }
    .nav-actions {
        gap: 12px;
    }
    .hero-title {
        font-size: 2.8rem;
    }
    .hero-actions {
        flex-direction: column;
        width: 100%;
    }
    .hero-actions .btn {
        width: 100%;
        justify-content: center;
    }
    .step-card {
        padding: 20px;
    }
    .testimonial-card {
        width: calc(100vw - 40px);
        max-width: 450px;
        min-height: auto;
        padding: 25px;
    }
    .mobile-menu-overlay {
        padding: 90px 25px 25px;
    }
    .mobile-nav-item {
        font-size: 1.7rem;
    }
    .fleet-image-wrapper {
        height: 300px;
    }
    .project-details {
        padding: 20px;
    }
    .section-title {
        font-size: 2.4rem;
    }
    .cta-inner {
        padding: 50px 20px;
    }
    .cta-title {
        font-size: 2rem;
    }
    .contact-form {
        padding: 20px 15px;
    }
    .gallery-slider-wrapper {
        height: 230px;
    }
    .gallery-slide {
        width: 88%;
        margin-left: -44%;
    }
    .slider-side-arrow {
        width: 36px;
        height: 36px;
    }
    .side-prev {
        left: -5px;
    }
    .side-next {
        right: -5px;
    }
    .whatsapp-float {
        bottom: 20px;
        right: 20px;
    }
    .whatsapp-icon-wrapper {
        width: 52px;
        height: 52px;
    }
    .whatsapp-icon-wrapper svg {
        width: 26px;
        height: 26px;
    }
    .whatsapp-tooltip {
        display: none;
    }
}

/* GLOBAL FOOTER FLEX OVERRIDE FOR GRID COMPATIBILITY */
.footer-bottom-row {
    display: flex !important;
}
