/* 3D-CNC-Modellwerk – responsive mobile layer */
html,body{max-width:100%;overflow-x:hidden}
.mobile-nav-toggle,.mobile-nav-panel{display:none}
@media(max-width:767px){
body{min-width:0!important;overflow-x:hidden!important}
nav.fixed{height:58px!important}
nav.fixed>div,nav.fixed>.max-w-7xl{height:58px!important;min-height:58px!important;padding-left:14px!important;padding-right:14px!important;gap:10px!important}
nav.fixed>div>div:nth-child(2),nav.fixed>div>div:nth-child(3),nav.fixed>.max-w-7xl>div:nth-child(2),nav.fixed>.max-w-7xl>div:nth-child(3){display:none!important}
nav.fixed>div>div:first-child,nav.fixed>.max-w-7xl>div:first-child{min-width:0!important;flex:1 1 auto!important}
nav.fixed>div>div:first-child a,nav.fixed>.max-w-7xl>div:first-child a{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.mobile-nav-toggle{display:flex!important;width:40px;height:40px;flex:0 0 40px;align-items:center;justify-content:center;border:1px solid #27272a;border-radius:12px;background:#121215;color:#fff;font-size:20px;line-height:1;cursor:pointer}
.mobile-nav-panel{position:absolute;top:64px;left:10px;right:10px;z-index:100;padding:10px;border:1px solid #27272a;border-radius:16px;background:rgba(18,18,21,.98);box-shadow:0 20px 50px rgba(0,0,0,.45)}
.mobile-nav-panel.open{display:block!important}.mobile-nav-panel a{display:flex!important;align-items:center;min-height:46px;padding:0 14px;border-radius:11px;color:#cbd5e1;text-decoration:none;font-size:13px;font-weight:500}.mobile-nav-panel a:hover{background:#08080a;color:#fff}
main,main.max-w-7xl,main.max-w-6xl,main.max-w-5xl,main.max-w-4xl{width:100%!important;max-width:none!important;box-sizing:border-box!important;padding-left:14px!important;padding-right:14px!important}
main.pt-28,main.pt-12,main.pt-8,main.py-10{padding-top:76px!important}
input,select,textarea{font-size:16px!important;min-height:44px}button{min-height:42px}button,a{-webkit-tap-highlight-color:transparent}
#sub-categories-container{justify-content:flex-start!important;scrollbar-width:none}#sub-categories-container::-webkit-scrollbar{display:none}
.checkout-stepper{width:100%!important;min-width:0!important;display:flex!important;align-items:flex-start!important;gap:0!important;margin-bottom:38px!important}
.checkout-stepper .step{width:34px!important;min-width:34px!important;height:34px!important;flex:0 0 34px!important;border-radius:50%!important}
.checkout-stepper .step span{font-size:12px!important}.checkout-stepper .step small{top:41px!important;font-size:8px!important;line-height:10px!important;width:50px!important;white-space:normal!important;text-align:center!important}.checkout-stepper .step.active small{color:#fff!important}.checkout-stepper .step-line{height:2px!important;margin-top:16px!important;min-width:5px!important}
#cart-items>div{flex-direction:column!important;align-items:stretch!important;gap:12px!important;padding-bottom:14px!important}
#cart-items>div>div:first-child{width:100%!important;min-width:0!important}#cart-items>div>div:first-child h3{font-size:12px!important;line-height:16px!important;overflow-wrap:anywhere}
#cart-items>div>div:last-child{width:100%!important;justify-content:flex-end!important;gap:10px!important}#cart-items>div>div:last-child button{min-width:40px!important;min-height:40px!important}#cart-items>div>div:last-child span{width:auto!important;min-width:72px!important}#checkout-btn{width:100%!important;min-height:48px!important}
.order-button{width:100%!important;min-height:50px!important}.info-row{gap:12px!important;flex-wrap:wrap!important}
#auth-container{width:100%!important;padding:20px!important}#profile-container .account-nav{position:static!important;display:flex!important;overflow-x:auto!important;gap:6px!important;padding:6px!important;scrollbar-width:none}#profile-container .account-nav::-webkit-scrollbar{display:none}#profile-container .account-nav button{flex:0 0 auto!important;white-space:nowrap!important;width:auto!important;min-height:42px!important;padding:0 13px!important}#profile-container .account-nav .border-t{display:none}#profile-container .grid{gap:14px!important}#profile-container section{padding:18px!important}
body>header>div{padding:12px 14px!important;min-height:58px!important}body>header a:first-child{font-size:15px!important;max-width:70vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body>header a:last-child{font-size:12px!important;white-space:nowrap}
table{display:block;width:100%;overflow-x:auto}pre,code{max-width:100%;overflow-x:auto}
}
@media(max-width:380px){.checkout-stepper .step{width:30px!important;min-width:30px!important;height:30px!important;flex-basis:30px!important}.checkout-stepper .step-line{margin-top:14px!important}.checkout-stepper .step small{top:37px!important;width:44px!important;font-size:7px!important;line-height:9px!important}nav.fixed>div>div:first-child a{font-size:13px!important}}

/* ===== Mobile Navigation v3 ===== */
@media (max-width: 767px) {
    nav.fixed {
        height: 64px !important;
        overflow: visible !important;
    }
    nav.fixed > div,
    nav.fixed > .max-w-7xl {
        height: 64px !important;
        min-height: 64px !important;
        padding: 0 12px !important;
        gap: 10px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    nav.fixed > div > div:first-child,
    nav.fixed > .max-w-7xl > div:first-child {
        min-width: 0 !important;
        flex: 1 1 auto !important;
        overflow: hidden !important;
    }
    nav.fixed > div > div:first-child a,
    nav.fixed > .max-w-7xl > div:first-child a {
        display: block !important;
        max-width: 100% !important;
        width: max-content !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        font-size: 14px !important;
        line-height: 1.2 !important;
    }
    nav.fixed > div > div:nth-child(2),
    nav.fixed > div > div:nth-child(3),
    nav.fixed > .max-w-7xl > div:nth-child(2),
    nav.fixed > .max-w-7xl > div:nth-child(3) {
        display: none !important;
    }
    .mobile-nav-toggle {
        display: flex !important;
        flex: 0 0 42px !important;
        width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1px solid #27272a !important;
        border-radius: 12px !important;
        background: #121215 !important;
        color: #fff !important;
        font-size: 20px !important;
        padding: 0 !important;
        cursor: pointer !important;
        box-sizing: border-box !important;
    }
    .mobile-menu-icon { display: block; line-height: 1; }
    .mobile-nav-panel {
        display: none !important;
        position: absolute !important;
        top: 70px !important;
        left: 10px !important;
        right: 10px !important;
        z-index: 9999 !important;
        padding: 8px !important;
        border: 1px solid #27272a !important;
        border-radius: 16px !important;
        background: rgba(18,18,21,.98) !important;
        box-shadow: 0 24px 60px rgba(0,0,0,.55) !important;
        backdrop-filter: blur(18px) !important;
    }
    .mobile-nav-panel.open { display: block !important; }
    .mobile-nav-panel a {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        min-height: 48px !important;
        padding: 0 14px !important;
        margin: 2px 0 !important;
        border-radius: 11px !important;
        color: #cbd5e1 !important;
        text-decoration: none !important;
        font-size: 13px !important;
        font-weight: 500 !important;
    }
    .mobile-nav-panel a:active,
    .mobile-nav-panel a:hover { background: #08080a !important; color: #fff !important; }
    .mobile-cart-badge {
        display: none;
        align-items: center;
        justify-content: center;
        min-width: 20px;
        height: 20px;
        padding: 0 6px;
        margin-left: 8px;
        border-radius: 999px;
        background: #f97316;
        color: #fff;
        font-size: 10px;
        font-weight: 700;
    }
    main.pt-28, main.pt-12, main.pt-8, main.py-10 { padding-top: 84px !important; }
}
@media (max-width: 380px) {
    nav.fixed > div > div:first-child a,
    nav.fixed > .max-w-7xl > div:first-child a { font-size: 13px !important; }
    .mobile-nav-toggle { flex-basis: 40px !important; width: 40px !important; height: 40px !important; }
}

/* ===== MOBILE V4: echte Smartphone-Navigation ===== */
html { width:100%; max-width:100%; }
body { width:100%; max-width:100%; }
@media (max-width: 767px) {
  nav.fixed { height:64px!important; width:100%!important; left:0!important; right:0!important; overflow:visible!important; }
  nav.fixed > .site-nav-inner { height:64px!important; width:100%!important; padding:0 14px!important; display:flex!important; align-items:center!important; justify-content:space-between!important; gap:12px!important; box-sizing:border-box!important; }
  nav.fixed .desktop-nav-links, nav.fixed .desktop-nav-actions { display:none!important; }
  nav.fixed .site-brand { min-width:0!important; flex:1 1 auto!important; overflow:hidden!important; }
  nav.fixed .site-brand a { display:block!important; max-width:100%!important; overflow:hidden!important; text-overflow:ellipsis!important; white-space:nowrap!important; font-size:14px!important; }
  nav.fixed .mobile-nav-toggle { display:flex!important; flex:0 0 42px!important; width:42px!important; height:42px!important; min-height:42px!important; align-items:center!important; justify-content:center!important; border:1px solid #27272a!important; border-radius:12px!important; background:#121215!important; color:#fff!important; font-size:20px!important; padding:0!important; }
  nav.fixed .mobile-nav-panel { display:none!important; position:absolute!important; top:70px!important; left:10px!important; right:10px!important; width:auto!important; z-index:99999!important; padding:8px!important; border:1px solid #27272a!important; border-radius:16px!important; background:rgba(18,18,21,.99)!important; box-shadow:0 24px 60px rgba(0,0,0,.65)!important; }
  nav.fixed .mobile-nav-panel.open { display:block!important; }
  nav.fixed .mobile-nav-panel a { display:flex!important; align-items:center!important; min-height:50px!important; padding:0 14px!important; color:#e2e8f0!important; font-size:14px!important; text-decoration:none!important; border-radius:11px!important; }
  nav.fixed .mobile-nav-panel a:hover, nav.fixed .mobile-nav-panel a:active { background:#08080a!important; color:#fff!important; }
  main { width:100%!important; max-width:100%!important; box-sizing:border-box!important; }
  input,select,textarea { font-size:16px!important; }
}
@media (max-width:380px) {
  nav.fixed .site-brand a { font-size:13px!important; }
  nav.fixed .mobile-nav-toggle { width:40px!important; height:40px!important; flex-basis:40px!important; }
}
