/* Mobile Optimization for How It Works & Support Pages */

@media (max-width: 768px) {
    /* Ensure proper viewport sizing */
    body {
        overflow-x: hidden !important;
        width: 100% !important;
        max-width: 100vw !important;
    }
    
    /* Force all containers to be mobile-friendly */
    * {
        max-width: 100vw !important;
        box-sizing: border-box !important;
    }
    
    /* Container adjustments */
    .container,
    .content-container,
    .main-content,
    main {
        padding: 16px !important;
        margin: 0 auto !important;
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Hero section mobile */
    .hero {
        padding: 24px 16px !important;
        max-width: 100% !important;
    }
    
    .hero h1 {
        font-size: 24px !important;
        line-height: 1.3 !important;
        margin-bottom: 12px !important;
    }
    
    .hero p {
        font-size: 15px !important;
        line-height: 1.5 !important;
        padding: 0 !important;
        max-width: 100% !important;
    }
    
    .hero div,
    .hero section {
        max-width: 100% !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
    
    /* Steps/Cards section */
    .steps-container,
    .how-steps,
    .steps-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        padding: 16px !important;
    }
    
    .step-card,
    .step,
    .how-step {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 16px 0 !important;
        padding: 20px 16px !important;
        box-sizing: border-box;
    }
    
    .step-card h3,
    .step h3 {
        font-size: 18px !important;
    }
    
    .step-card p,
    .step p {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }
    
    /* FAQ Section */
    .faq-section,
    .faqs-container {
        padding: 16px !important;
        width: 100% !important;
    }
    
    .faq-item {
        margin-bottom: 12px !important;
        width: 100% !important;
        box-sizing: border-box;
    }
    
    .faq-question {
        font-size: 15px !important;
        padding: 12px 16px !important;
    }
    
    .faq-answer {
        font-size: 14px !important;
        padding: 12px 16px !important;
        line-height: 1.5 !important;
    }
    
    /* Support sections */
    .support-grid,
    .contact-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        padding: 0 !important;
    }
    
    .support-card,
    .contact-card {
        width: 100% !important;
        margin: 0 !important;
        padding: 16px !important;
    }
    
    /* Compatibility section */
    .compatibility-section,
    .device-check {
        padding: 20px 16px !important;
        margin: 16px 0 !important;
    }
    
    .compatibility-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
    }
    
    /* Text sizing */
    h2 {
        font-size: 22px !important;
        line-height: 1.3 !important;
        margin-bottom: 16px !important;
    }
    
    h3 {
        font-size: 18px !important;
        line-height: 1.3 !important;
    }
    
    p, li {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }
    
    /* Images */
    img {
        max-width: 100% !important;
        height: auto !important;
    }
    
    /* Buttons */
    button,
    .btn,
    .button {
        width: 100% !important;
        padding: 12px 16px !important;
        font-size: 15px !important;
    }
    
    /* Remove horizontal scroll */
    * {
        max-width: 100vw !important;
    }
    
    /* Fix any overflow issues */
    .section,
    section {
        overflow-x: hidden !important;
        width: 100% !important;
    }
    
    /* Lists in content */
    ul, ol {
        padding-left: 24px !important;
        margin: 12px 0 !important;
        max-width: 100% !important;
    }
    
    li {
        margin-bottom: 8px !important;
        word-wrap: break-word !important;
    }
    
    /* All divs should respect mobile width */
    div {
        max-width: 100% !important;
    }
    
    /* Compatibility check boxes and info boxes */
    .hero div[style*="padding"] {
        padding: 16px !important;
        margin: 16px 0 !important;
    }
}

@media (max-width: 480px) {
    /* Extra small phones */
    .hero h1 {
        font-size: 20px !important;
    }
    
    .step-card,
    .support-card {
        padding: 16px 12px !important;
    }
    
    h2 {
        font-size: 20px !important;
    }
    
    h3 {
        font-size: 16px !important;
    }
}
