/* ==========================================================================
   MOBILE RESPONSIVENESS (Ensures Desktop Remains Untouched)
   ========================================================================== */

/* Prevent Horizontal Scrolling */
html, body {
    overflow-x: hidden;
    width: 100%;
}

/* --- TABLET & SMALL DESKTOP ADJUSTMENTS (max-width: 1024px) --- */
@media screen and (max-width: 1024px) {
    .container {
        padding: 0 20px;
    }
    
    .split-layout, .about-inner, .hero-inner, .contact-inner {
        flex-direction: column !important;
        text-align: center;
        gap: 40px;
    }
    
    .split-content, .split-image, .hero-content, .hero-image {
        width: 100%;
    }
    
    .split-image img {
        margin: 0 auto;
    }
    
    .services-grid-2col, .platter-grid, .why-us-grid, .blog-layout, .blog-main, .portfolio-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    .main-footer {
        grid-template-columns: repeat(2, 1fr) !important;
        text-align: center;
    }
    
    .footer-col h4::after {
        left: 50%;
        transform: translateX(-50%);
    }
    
    .social-links {
        justify-content: center;
    }
    
    .footer-logo img {
        margin: 0 auto;
    }
}

/* --- MOBILE PHONES ADJUSTMENTS (max-width: 768px) --- */
@media screen and (max-width: 768px) {
    /* General Spacing */
    .section-padding {
        padding: 60px 0 !important;
    }
    
    /* Typography Scaling */
    h1 { font-size: 32px !important; line-height: 1.2 !important; }
    h2, .fluid-h2 { font-size: 28px !important; line-height: 1.3 !important; }
    h3, .fluid-h3 { font-size: 22px !important; }
    p, .fluid-p { font-size: 15px !important; }
    
    /* Mobile Navigation Menu */
    .nav-menu {
        border-top: 1px solid #eee;
        box-shadow: 0 10px 15px rgba(0,0,0,0.05) !important;
    }
    .nav-links {
        flex-direction: column !important;
        align-items: center !important;
        gap: 15px !important;
        padding: 10px 0;
    }
    .nav-links li { width: 100%; text-align: center; }
    .nav-links a { display: block; padding: 12px 10px; font-size: 18px; }
    
    /* Mobile Dropdown Fix */
    .dropdown-menu {
        position: relative !important;
        box-shadow: none !important;
        background: #fafafa !important;
        transform: none !important;
        opacity: 1 !important;
        display: none;
        padding: 10px 0;
        margin-top: 10px;
        border-radius: 8px;
        text-align: center;
    }
    
    /* Grids to Single Column */
    .services-grid, .platter-grid, .why-us-grid, .photo-services-grid, 
    .blog-grid, .portfolio-grid, .services-grid-2col {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }
    
    /* Forms */
    .contact-grid-form, .form-grid { grid-template-columns: 1fr !important; }
    .form-group.full, .contact-grid-form textarea, .contact-grid-form button { grid-column: span 1 !important; }
    input, textarea, select { -webkit-appearance: none; border-radius: 6px; }
    
    /* Layout Reversals */
    .reverse-mobile { flex-direction: column-reverse !important; }
    
    /* 3D Modelling Timeline Specific Fixes */
    .timeline-center-line { display: none !important; }
    .timeline-row { flex-direction: column !important; justify-content: center !important; }
    .timeline-content { width: 100% !important; text-align: center !important; flex-direction: column; align-items: center; }
    .timeline-content::after { display: none !important; }
    
    /* Hero Sections */
    .page-hero { padding: 120px 0 60px !important; height: auto !important; }
    
    /* Stats & About Overrides */
    .stats-container { flex-direction: column; gap: 30px; }
    .stat-block { width: 100%; margin-bottom: 0; }
    .stat-divider { display: none; }
    .offer-card { flex-direction: column; text-align: center; align-items: center; }
    .offset-card { margin-left: 0 !important; }
    
    /* Testimonials Override */
    .testi-center { padding: 30px !important; }
    .testi-author { flex-direction: column; text-align: center; }
    .testi-info { border-left: none; border-top: 1px solid #eee; padding-left: 0; padding-top: 15px; margin-top: 15px; }
    
    /* Footer Adjustments */
    .main-footer { grid-template-columns: 1fr !important; gap: 40px; }
    .footer-contacts { flex-direction: column; gap: 30px; }
    .fc-item { flex-direction: column; text-align: center; }
    .newsletter-bar { padding: 40px 0; }
    .nl-text { flex-direction: column; text-align: center; margin-bottom: 20px; }
    .nl-form { flex-direction: column; background: transparent; box-shadow: none; padding: 0; gap: 15px; }
    .nl-form input { background: #fff; border-radius: 6px; text-align: center; padding: 15px; }
    .nl-form button { width: 100%; border-radius: 6px !important; }
}

/* --- EXTRA SMALL MOBILE SCREENS (max-width: 480px) --- */
@media screen and (max-width: 480px) {
    .growth-stats { grid-template-columns: 1fr !important; }
    h1 { font-size: 28px !important; }
    .btn { padding: 14px 28px; width: 100%; text-align: center; }
    .client-marquee img { margin: 0 15px; height: 50px; }
    .form-checkboxes { grid-template-columns: 1fr; }
}