/* ==========================================================================
   Zen2B2 Global Mobile Responsiveness & Touch Optimization
   ========================================================================== */

/* Prevent Horizontal Body Overflow on Mobile Devices */
html, body {
    max-width: 100vw;
    overflow-x: hidden;
}

/* Touch-friendly Viewport Settings & Breakpoint (< 768px) */
@media (max-width: 768px) {

    /* 1. Universal Layout Stacking */
    .app-container,
    .tool-container,
    .grid-layout,
    .main-content,
    .container,
    .tools-section {
        flex-direction: column !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        min-width: 100% !important;
        padding: 12px !important;
        gap: 16px !important;
        box-sizing: border-box !important;
    }

    /* 2. Sidebars and Controls Panels */
    .controls-panel,
    .sidebar,
    .settings-card,
    .editor-container {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        padding: 16px !important;
        border-right: none !important;
        border-bottom: 1px solid #e2e8f0 !important;
        box-sizing: border-box !important;
    }

    /* 3. Preview Panels & Document Containers */
    .preview-panel,
    .result-card,
    .document-preview {
        width: 100% !important;
        padding: 8px !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        box-sizing: border-box !important;
    }

    /* 4. A4 Sheet Paper Containers (Invoice, Payroll, CV, Quotation) */
    .invoice-wrapper,
    .payroll-wrapper,
    .cv-wrapper,
    .quotation-wrapper,
    .expense-wrapper,
    .inventory-wrapper,
    .shift-wrapper,
    #invoice-document,
    #payroll-document,
    #cv-document {
        min-width: 600px !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
    }

    /* 5. Inputs & Form Controls (Prevent iOS Safari Auto-Zoom) */
    input[type="text"],
    input[type="number"],
    input[type="email"],
    input[type="date"],
    input[type="password"],
    textarea,
    select,
    .form-control {
        font-size: 16px !important; /* Mandatory 16px font-size to prevent iOS Safari auto-zoom */
        padding: 12px !important;
        min-height: 44px !important;
        box-sizing: border-box !important;
    }

    /* 6. Buttons & Touch Targets */
    .btn,
    .btn-primary,
    .btn-secondary,
    .btn-danger,
    .actions button {
        width: 100% !important;
        min-height: 44px !important;
        font-size: 15px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-bottom: 8px !important;
        box-sizing: border-box !important;
    }

    /* 7. Navbars & Logos */
    .navbar,
    .app-header,
    header {
        padding: 12px 16px !important;
        flex-wrap: wrap !important;
        gap: 12px !important;
    }

    .nav-links {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 12px !important;
        font-size: 14px !important;
    }

    /* 8. Tables Responsive Wrapping */
    table {
        display: block !important;
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    /* 9. Hero / Header Banner Adjustments */
    .hero-content h1,
    .tool-header h1,
    .news-header h1 {
        font-size: 1.8rem !important;
        line-height: 1.3 !important;
    }
    
    .hero-content p,
    .subtitle {
        font-size: 0.95rem !important;
    }

    /* 10. Tools Grid & Filter Buttons on Homepage */
    .tools-grid {
        grid-template-columns: 1fr !important;
    }
    .category-filters {
        flex-wrap: wrap !important;
        justify-content: center !important;
    }
}
