.mobile-nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 100;
    background: rgba(250, 249, 246, 0.95); backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--border);
}
.mobile-nav-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 1rem 1.5rem; max-width: 1400px; margin: 0 auto;
}
.mobile-logo {
    font-family: var(--font-display); font-size: 1.5rem;
    letter-spacing: 0.2em; font-weight: 600;
}
.icon-btn {
    background: none; border: none; color: var(--text);
    font-size: 1.5rem; position: relative; padding: 0.5rem;
}
.cart-count {
    position: absolute; top: 0; right: 0;
    background: var(--accent); color: var(--bg);
    font-size: 0.7rem; width: 18px; height: 18px;
    border-radius: 50%; display: flex; align-items: center;
    justify-content: center; font-weight: 600;
}

.sidebar {
    position: fixed; top: 0; left: -300px; width: 280px;
    height: 100dvh; background: var(--bg); z-index: 200;
    transition: left 0.3s ease; border-right: 1px solid var(--border);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.sidebar-content { padding: 2rem; min-height: 100%; }
.sidebar.open { left: 0; }
.sidebar-content { padding: 2rem; }
.close-btn {
    background: none; border: none; color: var(--text);
    font-size: 2rem; position: absolute; top: 1rem; right: 1rem;
}
.sidebar-nav { margin-top: 3rem; display: flex; flex-direction: column; gap: 0.5rem; }
.nav-link {
    display: block; padding: 0.75rem 0; font-size: 1rem;
    color: var(--text-secondary); transition: var(--transition);
    border-bottom: 1px solid var(--border);
}
.nav-link:hover, .nav-link.active { color: var(--text); }