.menu-today {
    background: var(--color-surface);
    border-radius: var(--radius);
    padding: 1.5rem;
    border: 1px solid var(--color-border);
}

.menu-today__header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 1.25rem;
}

.menu-today__price {
    font-size: var(--text-lg);
    font-weight: 700;
    color: var(--color-accent);
}

.menu-section { margin-bottom: 1.25rem; }
.menu-section:last-child { margin-bottom: 0; }

.menu-section__title {
    font-size: var(--text-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--color-text-muted);
    margin-bottom: .75rem;
    padding-bottom: .25rem;
    border-bottom: 1px solid var(--color-border);
}

.menu-item {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
    padding: .4rem 0;
    border-bottom: 1px dashed var(--color-border);
}

.menu-item:last-child { border-bottom: none; }

.menu-item__content { flex: 1; }
.menu-item__name { font-weight: 500; }

.menu-item__desc {
    font-size: var(--text-sm);
    color: var(--color-text-muted);
    margin-top: .1rem;
}

.menu-item__badges {
    display: flex;
    gap: .25rem;
    margin-top: .2rem;
}

.diet-badge {
    font-size: 10px;
    font-weight: 600;
    padding: 1px 5px;
    border-radius: 3px;
    background: #d4edda;
    color: #155724;
}

.menu-item__price {
    font-weight: 700;
    color: var(--color-accent);
    white-space: nowrap;
    font-size: var(--text-sm);
}

.menu-empty {
    text-align: center;
    padding: 2.5rem 1rem;
    color: var(--color-text-muted);
}

.menu-empty p { font-size: var(--text-sm); margin-bottom: .75rem; }

.menu-claim-cta {
    margin-top: 1rem;
    text-align: center;
}

.menu-claim-cta a {
    display: inline-block;
    padding: .6rem 1.5rem;
    background: var(--color-primary);
    color: #fff;
    border-radius: var(--radius);
    font-size: var(--text-sm);
    font-weight: 600;
    transition: background .15s;
}

.menu-claim-cta a:hover {
    background: var(--color-primary-light);
    text-decoration: none;
}
