/* Mobile Optimization - Global Styles - Extracted from front-page.php for better performance */
@media (max-width: 767.98px) {
    /* Ensure body/html don't cause overflow */
    body, html {
        overflow-x: hidden !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    
    /* Force all sections to respect viewport */
    section {
        padding-top: clamp(40px, 8vw, 60px) !important;
        padding-bottom: clamp(40px, 8vw, 60px) !important;
        max-width: 100% !important;
        width: 100% !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }
    
    /* Container padding optimization - Force 100% width on mobile */
    .container,
    .container-fluid,
    section .container,
    section .container-fluid,
    .rit-hero .container,
    .rit-pricing .container,
    .rit-services .container,
    .rit-expertise .container,
    .rit-why-choose .container,
    .rit-cases .container,
    .rit-forms .container,
    .rit-stats .container,
    .rit-social-proof .container,
    .rit-faqs .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    /* Ensure no element overflows container */
    .container > *,
    .container-fluid > * {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Fix Bootstrap row - prevent negative margin overflow */
    .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    
    /* Fix Bootstrap columns - ensure proper spacing without overflow */
    .row > [class*="col-"],
    .row > * {
        padding-left: 8px !important;
        padding-right: 8px !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    /* Force all columns to respect container width and stack on mobile */
    [class*="col-"] {
        max-width: 100% !important;
        flex: 0 0 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Ensure row-cols classes work properly on mobile */
    .row-cols-1 > * {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    
    .row-cols-sm-2 > * {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    
    .row-cols-md-3 > * {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    
    /* Ensure all images and SVGs are responsive */
    img, svg, video, iframe, embed, object {
        max-width: 100% !important;
        height: auto !important;
        box-sizing: border-box !important;
    }
    
    /* Ensure all cards and containers don't overflow */
    .card, .rit-pricing .card, .rit-services .card, .rit-cases .card {
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Ensure badges and small elements wrap properly */
    .rit-hero-badges, .rit-badge-item, .rit-trust-badge-container {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Swiper carousel mobile optimizations */
    .rit-services-swiper,
    .rit-expertise-swiper,
    .rit-stats-swiper,
    .rit-prototype-swiper,
    .rit-results-first-swiper {
        overflow: hidden !important;
    }
    
    .rit-services-swiper .swiper-wrapper,
    .rit-expertise-swiper .swiper-wrapper,
    .rit-stats-swiper .swiper-wrapper,
    .rit-prototype-swiper .swiper-wrapper,
    .rit-results-first-swiper .swiper-wrapper {
        display: flex !important;
        align-items: stretch !important;
    }
    
    .rit-services-swiper .swiper-slide,
    .rit-expertise-swiper .swiper-slide,
    .rit-stats-swiper .swiper-slide,
    .rit-prototype-swiper .swiper-slide,
    .rit-results-first-swiper .swiper-slide {
        height: auto !important;
        display: flex !important;
        justify-content: center !important;
        align-items: stretch !important;
    }
    
    /* Center align content within slides */
    .rit-services-swiper .swiper-slide > *,
    .rit-expertise-swiper .swiper-slide > *,
    .rit-stats-swiper .swiper-slide > *,
    .rit-prototype-swiper .swiper-slide > *,
    .rit-results-first-swiper .swiper-slide > * {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .rit-services-swiper .swiper-pagination,
    .rit-expertise-swiper .swiper-pagination,
    .rit-stats-swiper .swiper-pagination,
    .rit-prototype-swiper .swiper-pagination,
    .rit-results-first-swiper .swiper-pagination {
        position: relative !important;
        margin-top: 20px !important;
        bottom: auto !important;
        text-align: center !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }
    
    .rit-services-swiper .swiper-pagination-bullet,
    .rit-expertise-swiper .swiper-pagination-bullet,
    .rit-stats-swiper .swiper-pagination-bullet,
    .rit-prototype-swiper .swiper-pagination-bullet,
    .rit-results-first-swiper .swiper-pagination-bullet {
        width: 10px !important;
        height: 10px !important;
        background: #0ea5e9 !important;
        opacity: 0.3 !important;
        margin: 0 4px !important;
    }
    
    .rit-services-swiper .swiper-pagination-bullet-active,
    .rit-expertise-swiper .swiper-pagination-bullet-active,
    .rit-stats-swiper .swiper-pagination-bullet-active,
    .rit-prototype-swiper .swiper-pagination-bullet-active,
    .rit-results-first-swiper .swiper-pagination-bullet-active {
        opacity: 1 !important;
        background: #0ea5e9 !important;
    }
    
    /* Typography optimization */
    body, p {
        line-height: 1.6 !important;
    }
    
    /* Button touch targets */
    a.button, button.button, .btn, input[type="submit"], input[type="button"],
    .footer-cta, .footer-cta-alt, a[class*="cta"] {
        min-height: 48px !important;
        padding: 14px 20px !important;
        font-size: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Gap spacing optimization */
    .d-flex, .row {
        gap: 12px !important;
    }
    
    /* Overline text - increase from 12px to 14px */
    .overline {
        font-size: 14px !important;
    }
    
    /* Small text - ensure minimum 14px */
    .small, small {
        font-size: 14px !important;
    }
    
    /* Pricing cards mobile optimization */
    .rit-pricing .card {
        padding: 24px 20px !important;
    }
    
    .rit-pricing .card .btn {
        width: 100% !important;
        margin-top: 16px !important;
    }
    
    /* Fix all 12px and 13px font sizes to minimum 14px */
    [style*="font-size:12px"], [style*="font-size:13px"] {
        font-size: 14px !important;
    }
}

/* Tablet optimization */
@media (min-width: 768px) and (max-width: 991.98px) {
    section {
        padding-top: clamp(50px, 6vw, 70px) !important;
        padding-bottom: clamp(50px, 6vw, 70px) !important;
    }
}

