/* ==========================================================================
   MOBILE & TABLET RESPONSIVE OPTIMIZATION (Desktop Unchanged)
   ========================================================================== */

@media screen and (max-width: 1024px) {
    /* TABLET OPTIMIZATIONS */
    
    /* Typography scaling */
    h1, .h1, .elementor-heading-title.elementor-size-xl {
        font-size: clamp(2rem, 5vw, 2.75rem) !important;
        line-height: 1.2 !important;
    }
    h2, .h2, .elementor-heading-title.elementor-size-lg {
        font-size: clamp(1.6rem, 4vw, 2.1rem) !important;
        line-height: 1.25 !important;
    }
    h3, .h3, .elementor-heading-title.elementor-size-md {
        font-size: clamp(1.3rem, 3vw, 1.6rem) !important;
    }

    /* Container Spacing & Layout */
    .elementor-section, .elementor-container, .section {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    .elementor-column-gap-default > .elementor-column > .elementor-element-populated {
        padding: 15px !important;
    }

    /* Card Layouts Stack & Grids */
    .elementor-grid, .grid, .gallery, .products-grid {
        grid-gap: 15px !important;
    }
}

@media screen and (max-width: 767px) {
    /* MOBILE OPTIMIZATIONS */

    /* Universal Spacing Adjustments */
    .elementor-section, .section {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    .elementor-column {
        width: 100% !important;
        margin-bottom: 20px !important;
    }
    .elementor-column:last-child {
        margin-bottom: 0 !important;
    }

    /* Typography */
    h1, .h1, .elementor-heading-title.elementor-size-xl {
        font-size: 1.85rem !important;
        line-height: 1.25 !important;
        letter-spacing: -0.5px !important;
    }
    h2, .h2, .elementor-heading-title.elementor-size-lg {
        font-size: 1.5rem !important;
        line-height: 1.3 !important;
    }
    h3, .h3, .elementor-heading-title.elementor-size-md {
        font-size: 1.25rem !important;
    }
    p, span, li, a {
        font-size: 15px !important;
        line-height: 1.5 !important;
    }

    /* Stack Column Adjustments */
    .elementor-row, .elementor-container, .row, .flex-container {
        flex-direction: column !important;
        display: flex !important;
    }

    /* Buttons Mobile Friendly */
    .elementor-button, .btn, button, input[type="submit"] {
        width: 100% !important;
        text-align: center !important;
        padding: 14px 24px !important;
        font-size: 16px !important;
        display: block !important;
    }

    /* Image Scaling & Responsiveness */
    img {
        max-width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }

    /* Mobile Navigation & Header Fixes */
    .site-header, .elementor-header {
        padding: 10px 15px !important;
    }
    .ast-mobile-menu-trigger, .mobile-menu-toggle {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        padding: 10px !important;
    }
    .main-navigation ul, .nav-menu {
        padding: 15px 0 !important;
    }

    /* Forms Mobile Optimization */
    input[type="text"], input[type="email"], input[type="tel"], textarea, select {
        width: 100% !important;
        min-height: 48px !important;
        padding: 12px 16px !important;
        font-size: 16px !important; /* Prevents auto zoom-in on iOS Safari */
        border-radius: 6px !important;
        margin-bottom: 12px !important;
    }
    form .form-row {
        flex-direction: column !important;
        margin-bottom: 0 !important;
    }

    /* Statistics section fix */
    .elementor-counter-title {
        font-size: 14px !important;
    }
    .elementor-counter-number-wrapper {
        font-size: 32px !important;
    }

    /* Clean grids/cards alignment */
    .elementor-posts-container, .elementor-grid {
        grid-template-columns: 1fr !important;
    }
}
