/* menu-page.css — sidebar nav, categories, items with PLN prices, allergen labels */

.ka-menu-layout {
    display: flex;
    flex-direction: column;
    gap: var(--s-40);
}

/* Sidebar nav — horizontal scroll on mobile */
.ka-menu-sidebar {
    position: relative;
}

.ka-menu-sidebar__nav {
    display: flex;
    gap: var(--s-8);
    list-style: none;
    padding: var(--s-8) 0;
    margin: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: var(--c-border) transparent;
    border-bottom: 1px solid var(--c-border);
}

.ka-menu-sidebar__nav::-webkit-scrollbar {
    height: 4px;
}

.ka-menu-sidebar__nav::-webkit-scrollbar-track {
    background: transparent;
}

.ka-menu-sidebar__nav::-webkit-scrollbar-thumb {
    background-color: var(--c-border);
    border-radius: 2px;
}

.ka-menu-sidebar__nav a {
    display: block;
    white-space: nowrap;
    padding: var(--s-8) var(--s-16);
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--c-text-dim);
    text-decoration: none;
    border-radius: 4px;
    transition: color var(--dur) var(--ease), background-color var(--dur) var(--ease);
}

.ka-menu-sidebar__nav a:hover,
.ka-menu-sidebar__nav a.is-active {
    color: var(--c-white);
    background-color: var(--c-accent-soft);
}

/* Menu content */
.ka-menu-content {
    flex: 1;
}

/* Menu category */
.ka-menu-category {
    margin-bottom: var(--s-48);
    scroll-margin-top: calc(var(--header-h) + var(--s-16));
}

.ka-menu-category__title {
    font-family: var(--f-heading);
    font-size: clamp(1.25rem, 2.5vw, 1.75rem);
    font-weight: 700;
    color: var(--c-white);
    margin-bottom: var(--s-24);
    padding-bottom: var(--s-12);
    border-bottom: 1px solid var(--c-border);
}

.ka-menu-category__note {
    font-size: 0.8125rem;
    color: var(--c-text-dim);
    font-style: italic;
    margin-top: var(--s-16);
    padding: var(--s-12) var(--s-16);
    background-color: var(--c-accent-soft);
    border-radius: 8px;
}

/* Subcategory */
.ka-menu-subcategory {
    margin-bottom: var(--s-24);
}

.ka-menu-subcategory__title {
    font-family: var(--f-heading);
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--c-accent-hover);
    margin-bottom: var(--s-16);
}

/* Allergen labels */
.ka-allergen-info {
    margin-top: var(--s-48);
    padding: var(--s-24);
    background-color: var(--c-surface);
    border: 1px solid var(--c-border);
    border-radius: 8px;
}

.ka-allergen-info__title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--c-white);
    margin-bottom: var(--s-12);
}

.ka-allergen-info p {
    font-size: 0.875rem;
    color: var(--c-text-dim);
}
