/* Theme „Klassik“ – gedruckte Speisekarte */

.theme-classic .site-header { border-bottom: 1px solid var(--c-border); }
.theme-classic .header-inner { justify-content: center; flex-direction: column; padding-block: 1.75rem 1rem; gap: .75rem; }
.theme-classic .brand-logo { max-height: 84px; }
.theme-classic .brand-name { font-size: calc(clamp(1.75rem, 5vw, 2.4rem) * var(--heading-scale)); font-style: italic; }
.theme-classic .main-nav { gap: 2rem; text-transform: uppercase; letter-spacing: .14em; font-size: .75rem; }

.theme-classic .menu-head { text-align: center; padding-block: 3rem 1.5rem; }
.theme-classic .menu-title { font-size: calc(clamp(2.2rem, 7vw, 3.4rem) * var(--heading-scale)); font-weight: 400; font-style: italic; color: var(--c-primary); }
.theme-classic .ornament { display: flex; align-items: center; justify-content: center; gap: .9rem; color: var(--c-accent); margin: 1rem auto; max-width: 260px; }
.theme-classic .ornament span { flex: 1; height: 1px; background: currentColor; opacity: .6; }
.theme-classic .ornament i { font-style: normal; font-size: .9rem; }
.theme-classic .menu-intro { max-width: 36rem; margin: 0 auto; color: var(--c-muted); font-style: italic; }

.theme-classic .cat-nav { background: color-mix(in srgb, var(--c-bg) 92%, transparent); backdrop-filter: blur(6px); }
.theme-classic .cat-nav-inner { justify-content: safe center; }
.theme-classic .cat-nav a { border-radius: var(--radius); background: transparent; font-family: var(--font-heading); }

.theme-classic .cat { padding-top: 3.5rem; }
.theme-classic .cat-head { text-align: center; margin-bottom: 1.75rem; }
.theme-classic .cat-img { width: 100%; max-height: 240px; object-fit: cover; border-radius: var(--radius); margin-bottom: 1.75rem; }
.theme-classic .cat-title { display: flex; align-items: center; gap: 1rem; font-size: calc(clamp(1.5rem, 4.5vw, 2rem) * var(--heading-scale)); color: var(--c-primary); }
.theme-classic .cat-title::before, .theme-classic .cat-title::after { content: ""; flex: 1; height: 1px; background: var(--c-border); }
.theme-classic .cat-desc { color: var(--c-muted); font-style: italic; margin-top: .6rem; }

.theme-classic .items { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.4rem; }
.theme-classic .item { display: flex; gap: 1rem; align-items: flex-start; }
.theme-classic .item-img { width: 64px; height: 64px; object-fit: cover; border-radius: var(--radius-img); flex: none; border: 1px solid var(--c-border); }
.theme-classic .item-body { flex: 1; min-width: 0; }
.theme-classic .item-line { display: flex; align-items: baseline; gap: .5rem; }
.theme-classic .item-name { font-size: calc(1.12rem * var(--heading-scale)); font-weight: 700; min-width: 0; }
.theme-classic .item-dots { flex: 1; min-width: 1.5rem; border-bottom: 2px dotted var(--c-border); transform: translateY(-.3em); }
.theme-classic .price { font-size: 1.08rem; }
.theme-classic .item-desc { color: var(--c-muted); font-style: italic; margin-top: .2rem; font-size: .95em; max-width: 46rem; }

.theme-classic .legend { background: transparent; border-style: double; border-width: 3px; }

@media (max-width: 520px) {
    .theme-classic .item-line { flex-wrap: wrap; }
    .theme-classic .item-dots { display: none; }
    .theme-classic .item-line .price { margin-left: auto; }
    .theme-classic .item-img { width: 52px; height: 52px; }
}
