/* Mobile Responsiveness Enhancements - SoftiCation Technology */

/* Enhanced Mobile Breakpoints */
@media (max-width: 768px) {
    /* Ensure all elements are mobile-friendly */
    * {
        box-sizing: border-box;
    }
    
    /* Fix potential overflow issues */
    .container, .container-fluid {
        padding-left: 15px !important;
        padding-right: 15px !important;
        overflow-x: hidden;
    }
    
    /* Enhanced mobile typography */
    h1, .h1 { font-size: 28px !important; line-height: 1.3; }
    h2, .h2 { font-size: 24px !important; line-height: 1.4; }
    h3, .h3 { font-size: 20px !important; line-height: 1.4; }
    h4, .h4 { font-size: 18px !important; line-height: 1.4; }
    h5, .h5 { font-size: 16px !important; line-height: 1.4; }
    h6, .h6 { font-size: 14px !important; line-height: 1.4; }
    
    /* Enhanced mobile spacing */
    .section-padding {
        padding: 40px 0 !important;
    }
    
    .section-padding-lg {
        padding: 60px 0 !important;
    }
    
    /* Mobile-optimized grids */
    .row {
        margin-left: -10px !important;
        margin-right: -10px !important;
    }
    
    .col, .col-1, .col-2, .col-3, .col-4, .col-5, .col-6,
    .col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    
    /* Enhanced mobile cards */
    .card, .service-card, .benefit-item {
        margin-bottom: 20px !important;
        border-radius: 15px !important;
    }
    
    /* Mobile-optimized images */
    img {
        max-width: 100% !important;
        height: auto !important;
        border-radius: 10px !important;
    }
    
    /* Enhanced mobile forms */
    .form-control, input, textarea, select {
        font-size: 16px !important; /* Prevents zoom on iOS */
        border-radius: 8px !important;
        padding: 12px 15px !important;
    }
    
    /* Mobile-optimized buttons */
    .btn, .theme-btn {
        padding: 12px 20px !important;
        font-size: 14px !important;
        border-radius: 8px !important;
        min-height: 44px !important; /* Touch-friendly */
    }
    
    /* Enhanced mobile navigation */
    .mobile-menu {
        z-index: 99999 !important;
    }
    
    .mobile-menu .navigation li {
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    
    .mobile-menu .navigation li a {
        padding: 15px 20px !important;
        font-size: 16px !important;
    }
    
    /* Mobile-optimized tables */
    .table-responsive {
        border-radius: 10px !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }
    
    /* Enhanced mobile modals */
    .modal-dialog {
        margin: 10px !important;
        max-width: calc(100% - 20px) !important;
    }
    
    /* Mobile-optimized carousels */
    .owl-carousel .owl-nav button {
        width: 40px !important;
        height: 40px !important;
        font-size: 18px !important;
    }
    
    /* Enhanced mobile footer */
    .footer-widget {
        margin-bottom: 30px !important;
        text-align: center !important;
    }
    
    /* Mobile-optimized AI widget */
    .ai-widget {
        bottom: 20px !important;
        right: 20px !important;
        width: calc(100% - 40px) !important;
        max-width: 350px !important;
    }
    
    .ai-widget .chatbot-container {
        border-radius: 15px !important;
    }
    
    .ai-widget .quick-actions-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 8px !important;
    }
    
    .ai-widget .quick-action-btn {
        padding: 8px 6px !important;
        font-size: 11px !important;
        min-height: 32px !important;
    }

    /* Contact page mobile optimizations */
    .contact-hero {
        margin-top: 0 !important;
        padding: 80px 0 60px !important;
        min-height: 500px !important;
    }
    
    .contact-hero h1 {
        font-size: 2.5rem !important;
        line-height: 1.2 !important;
        margin-bottom: 20px !important;
    }
    
    .contact-hero .subtitle {
        font-size: 1.1rem !important;
        margin-bottom: 30px !important;
        padding: 0 20px !important;
    }
    
    .hero-cta-buttons {
        flex-direction: column !important;
        align-items: center !important;
        gap: 15px !important;
        margin-bottom: 40px !important;
    }
    
    .hero-cta-button {
        width: 100% !important;
        max-width: 300px !important;
        justify-content: center !important;
        padding: 15px 25px !important;
        font-size: 1rem !important;
    }
    
    .contact-stats {
        flex-direction: column !important;
        gap: 20px !important;
        padding: 0 20px !important;
    }
    
    .contact-stat {
        padding: 20px 15px !important;
        text-align: center !important;
    }
}

/* Extra Small Mobile Devices */
@media (max-width: 480px) {
    /* Enhanced small mobile typography */
    h1, .h1 { font-size: 24px !important; }
    h2, .h2 { font-size: 20px !important; }
    h3, .h3 { font-size: 18px !important; }
    
    /* Enhanced small mobile spacing */
    .section-padding {
        padding: 30px 0 !important;
    }
    
    .section-padding-lg {
        padding: 40px 0 !important;
    }
    
    /* Enhanced small mobile containers */
    .container, .container-fluid {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    
    /* Enhanced small mobile buttons */
    .btn, .theme-btn {
        padding: 10px 16px !important;
        font-size: 13px !important;
        min-height: 40px !important;
    }
    
    /* Enhanced small mobile forms */
    .form-control, input, textarea, select {
        padding: 10px 12px !important;
        font-size: 15px !important;
    }
    
    /* Enhanced small mobile AI widget */
    .ai-widget {
        bottom: 15px !important;
        right: 15px !important;
        width: calc(100% - 30px) !important;
        max-width: 320px !important;
    }
    
    .ai-widget .quick-actions-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 6px !important;
    }
    
    .ai-widget .quick-action-btn {
        padding: 6px 4px !important;
        font-size: 10px !important;
        min-height: 28px !important;
    }

    /* Contact page extra small mobile optimizations */
    .contact-hero {
        padding: 60px 0 40px !important;
        min-height: 400px !important;
    }
    
    .contact-hero h1 {
        font-size: 2rem !important;
        margin-bottom: 15px !important;
    }
    
    .contact-hero .subtitle {
        font-size: 1rem !important;
        margin-bottom: 25px !important;
        padding: 0 15px !important;
    }
    
    .hero-cta-buttons {
        gap: 12px !important;
        margin-bottom: 30px !important;
    }
    
    .hero-cta-button {
        padding: 12px 20px !important;
        font-size: 0.9rem !important;
    }
    
    .contact-stats {
        gap: 15px !important;
    }
    
    .contact-stat {
        padding: 15px 10px !important;
    }
    
    .contact-stat-number {
        font-size: 1.6rem !important;
    }
    
    .contact-stat-label {
        font-size: 0.85rem !important;
    }
}

/* Landscape Mobile Devices */
@media (max-width: 768px) and (orientation: landscape) {
    /* Enhanced landscape mobile */
    .hero-section {
        min-height: 60vh !important;
    }
    
    .hero-title {
        font-size: 24px !important;
    }
    
    .hero-subtitle {
        font-size: 14px !important;
    }
    
    .section-padding {
        padding: 30px 0 !important;
    }
}

/* Touch Device Optimizations */
@media (hover: none) and (pointer: coarse) {
    /* Enhanced touch interactions */
    .btn, .theme-btn, .card, .service-card {
        transition: transform 0.1s ease !important;
    }
    
    .btn:active, .theme-btn:active, .card:active, .service-card:active {
        transform: scale(0.98) !important;
    }
    
    /* Enhanced touch targets */
    .nav-link, .dropdown-toggle, .mobile-nav-toggler {
        min-height: 44px !important;
        min-width: 44px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

/* High DPI Mobile Devices */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    /* Enhanced high DPI support */
    .logo img, .hero-image img {
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
    }
}

/* Print Styles for Mobile */
@media print {
    /* Enhanced mobile print */
    .mobile-menu, .ai-widget, .mobile-nav-toggler {
        display: none !important;
    }
    
    .container, .container-fluid {
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    .row {
        margin: 0 !important;
    }
    
    .col, .col-1, .col-2, .col-3, .col-4, .col-5, .col-6,
    .col-7, .col-8, .col-9, .col-10, .col-11, .col-12 {
        padding: 0 !important;
        margin: 0 !important;
        width: 100% !important;
    }
} 