.menu-header {
  background-color: var(--color-green-primary);
  color: var(--color-white);
  padding: 80px 20px;
  text-align: center;
}
.menu-header h1 { color: var(--color-white); font-size: 3rem; margin-bottom: 10px; }
.menu-header p { font-size: 1.2rem; color: var(--color-beige-bg); }

.menu-container {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}
.menu-filters {
  flex: 0 0 250px;
  background-color: var(--color-white);
  padding: 30px;
  border-radius: 12px;
  box-shadow: var(--shadow-sm);
  position: sticky;
  top: 100px;
}
.menu-filters h3 {
  margin-bottom: 20px;
  font-size: 1.3rem;
  border-bottom: 2px solid var(--color-beige-bg);
  padding-bottom: 10px;
  color: var(--color-green-primary);
}
.menu-filters ul li {
  padding: 12px 15px;
  cursor: pointer;
  border-radius: 8px;
  margin-bottom: 5px;
  transition: all var(--transition-fast);
  font-weight: 500;
  color: var(--color-text-light);
}
.menu-filters ul li:hover, .menu-filters ul li.active {
  background-color: var(--color-gold-accent);
  color: var(--color-white);
}

.menu-content { flex: 1; }
.menu-search { margin-bottom: 30px; }
.menu-search input {
  width: 100%;
  padding: 15px 20px;
  border-radius: 50px;
  border: 1px solid #ddd;
  font-size: 1.05rem;
  font-family: var(--font-main);
  box-shadow: var(--shadow-sm);
  outline: none;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.menu-search input:focus { 
  border-color: var(--color-gold-accent); 
  box-shadow: 0 0 0 4px rgba(198, 168, 124, 0.2); 
}

@media (max-width: 900px) {
  .menu-container { flex-direction: column; }
  .menu-filters { width: 100%; flex: auto; position: static; }
}
