/* Боковое меню */
.sidebar-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
z-index: 9998;
display: none;
}

.sidebar-overlay.active {
display: block;
}

.sidebar-menu {
position: fixed;
top: 0;
left: -400px;
width: 400px;
max-width: 90%;
height: 100%;
background: white;
z-index: 9999;
transition: left 0.3s ease;
overflow-y: auto;
box-shadow: 2px 0 10px rgba(0,0,0,0.1);
}

.sidebar-menu.active {
left: 0;
}

.sidebar-header {
padding: 20px;
border-bottom: 1px solid #eee;
display: flex;
justify-content: space-between;
align-items: center;
position: sticky;
top: 0;
background: white;
z-index: 10;
}

.sidebar-header h3 {
margin: 0;
font-size: 1.5rem;
}

.sidebar-close {
background: none;
border: none;
font-size: 1.5rem;
cursor: pointer;
color: #333;
}

.sidebar-content {
padding: 20px;
}

.category-item {
padding: 12px 15px;
border-bottom: 1px solid #f0f0f0;
cursor: pointer;
transition: background 0.2s;
display: flex;
justify-content: space-between;
align-items: center;
}

.category-item:hover {
background: #f8f9fa;
}

.category-item.active {
background: #e9ecef;
font-weight: 600;
}

.category-name {
font-size: 1rem;
}

.category-arrow {
transition: transform 0.3s;
}

.category-item.active .category-arrow {
transform: rotate(90deg);
}

.products-list {
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease;
background: #f8f9fa;
}

.products-list.active {
max-height: 500px;
overflow-y: auto;
}

.product-item {
padding: 10px 15px 10px 30px;
border-bottom: 1px solid #e9ecef;
transition: background 0.2s;
}

.product-item:hover {
background: #e9ecef;
}

.product-item a {
text-decoration: none;
color: #333;
display: block;
font-size: 0.95rem;
}

.product-item a:hover {
color: #3b5d50;
}