/*
Theme Name: 3D Printshop
Theme URI: https://instant3dshop.com
Description: Custom thema voor 3D printshop — B2B + B2C
Version: 3.1.1
Author: Printshop
Text Domain: printshop
Requires at least: 6.4
Requires PHP: 8.0
*/

/* ========================================
   MOBILE RESPONSIVE FIX v3.1.1
   ======================================== */

/* Ensure viewport scaling works */
html, body { -webkit-text-size-adjust: 100%; }

/* Fix body overflow */
body.ps-dark { overflow-x: hidden; }

/* Container fluid on mobile */
@media (max-width: 768px) {
    .ps-container { padding: 0 16px !important; width: 100% !important; max-width: 100% !important; }
    
    /* Header */
    .ps-header-inner { padding: 0 16px !important; flex-wrap: wrap !important; gap: 8px !important; }
    .ps-logo-text { font-size: 0.85rem !important; }
    .ps-header-actions .ps-btn { display: none !important; }
    
    /* Navigation overlay fix */
    .ps-nav { 
        position: fixed !important; 
        inset: 56px 0 0 0 !important; 
        background: rgba(6,6,10,.98) !important; 
        backdrop-filter: blur(24px) !important;
        padding: 32px 24px !important; 
        transform: translateX(100%) !important; 
        opacity: 0 !important; 
        pointer-events: none !important;
        transition: transform .35s cubic-bezier(.25,.46,.45,.94), opacity .25s !important; 
        z-index: 1002 !important;
        width: 100% !important; height: calc(100vh - 56px) !important;
        display: flex !important; flex-direction: column !important; justify-content: flex-start !important;
    }
    .ps-nav.open { 
        transform: translateX(0) !important; 
        opacity: 1 !important; 
        pointer-events: auto !important;
    }
    .ps-nav-list { 
        flex-direction: column !important; 
        gap: 8px !important; 
        align-items: flex-start !important;
        width: 100% !important;
    }
    .ps-nav-list a { 
        font-size: 1.1rem !important; 
        padding: 12px 0 !important; 
        display: block !important; 
        width: 100% !important; 
        border-bottom: 1px solid var(--border) !important;
    }
    
    /* Hamburger toggle visibility */
    .ps-nav-toggle { display: flex !important; }
    
    /* Hero */
    .ps-hero-v2 { padding: calc(var(--header-h) + 32px) 0 40px !important; }
    .ps-hero-v2-title { font-size: 1.7rem !important; line-height: 1.25 !important; }
    .ps-hero-v2-subtitle { font-size: 1rem !important; }
    .ps-hero-v2-cta { flex-direction: column !important; gap: 12px !important; }
    .ps-hero-v2-cta .ps-btn { width: 100% !important; justify-content: center !important; }
    .ps-hero-v2-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
    .ps-hero-v2-visual { order: -1 !important; }
    .ps-hero-v2-badges { flex-wrap: wrap !important; }
    
    /* Upload section */
    .ps-upload-zone { padding: 24px 16px !important; }
    .ps-upload-zone .ps-upload-icon { width: 40px !important; height: 40px !important; }
    
    /* Steps */
    .ps-steps-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
    .ps-step-connector { display: none !important; }
    
    /* Materials */
    .ps-material-grid-v2 { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
    .ps-material-card-v2 { padding: 20px 16px !important; }
    .ps-material-card-v2 h3 { font-size: 0.9rem !important; }
    
    /* Portfolio */
    .ps-portfolio-grid { grid-template-columns: 1fr !important; }
    .ps-portfolio-large { grid-column: span 1 !important; }
    
    /* B2B */
    .ps-b2b-v2-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
    .ps-b2b-v2-stats { grid-template-columns: repeat(2, 1fr) !important; }
    
    /* Footer */
    .ps-footer-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
    .ps-footer-bottom { flex-direction: column !important; text-align: center !important; gap: 8px !important; }
    
    /* Section spacing */
    .ps-section { padding: 48px 0 !important; }
    .ps-section-header { margin-bottom: 28px !important; }
    .ps-section-header h2 { font-size: 1.5rem !important; }
}

@media (max-width: 480px) {
    .ps-material-grid-v2 { grid-template-columns: 1fr !important; }
    .ps-b2b-v2-stats { grid-template-columns: 1fr !important; }
    .ps-hero-v2-title { font-size: 1.5rem !important; }
}

/* ========================================
   CHOOSE FILE KNOP - DEFINITIEF VERBORGEN
   ======================================== */
input[type="file"],
input[type="file"]::-webkit-file-upload-button,
input[type="file"]::file-selector-button,
::-webkit-file-upload-button { 
    opacity: 0 !important; 
    position: absolute !important; 
    width: 0.1px !important; 
    height: 0.1px !important; 
    pointer-events: none !important; 
    clip: rect(0,0,0,0) !important;
    clip-path: inset(100%) !important;
    padding: 0 !important; border: 0 !important;
    overflow: hidden !important;
}
