/* Menu-specific layout; the shared request UI keeps its standalone /music route. */
:root { --menu-header-height: 76px; }
#drink-journey-app [hidden] { display: none !important; }
.topbar.menu-header { position: sticky; top: 0; height: var(--menu-header-height); display: flex; justify-content: center; gap: 1rem; padding: 10px 16px; background: rgba(0,0,0,.94); }
.menu-header .brand { margin: 0; flex: 0 0 auto; }
.menu-controls { display: flex; align-items: center; gap: .75rem; min-width: 0; }
.menu-cart { position: relative; flex: 0 0 52px; width: 52px; height: 52px; display: grid; place-items: center; padding: 0; border: 1px solid #8f8054; border-radius: 50%; color: var(--accent); background: #11100d; cursor: pointer; }
.menu-cart-count { position: absolute; top: -5px; right: -5px; min-width: 21px; height: 21px; padding: 0 4px; border-radius: 999px; display: grid; place-items: center; background: var(--accent); color: #17140b; font: 700 .75rem var(--font-sans); }
.menu-cart:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.menu-categories { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .5rem; }
.menu-categories .top-link { min-height: 52px; min-width: 104px; padding: .65rem 1rem; font-size: 1rem; }
#drink-journey-app .intro { margin-top: 1rem; }
#filter { top: calc(var(--menu-header-height) + .5rem); }
#filter .journey-section-btn { min-height: 44px; padding: .6rem 1rem; font: 500 .9rem/1.2 var(--font-sans); }
.menu-categories :focus-visible, #filter button:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.menu-music { position: relative; z-index: 1; padding: 0 0 2rem; scroll-margin-top: var(--menu-header-height); }
.menu-music .music-hero { padding: .8rem 0 1.5rem; }
.menu-music .music-hero h2 { color: var(--accent); font: 400 clamp(1.8rem,7vw,2.7rem)/1.15 var(--font-serif); margin: 0 0 1rem; }
.menu-music .music-orbit, .menu-music .music-hero .eyebrow, .menu-music .music-hero > .music-caption { display: none; }
.menu-music .music-caption, .menu-music .music-track p { color: #c7c0b0; }
.menu-music .button-link { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: .65rem 1rem; border: 1px solid #8f8054; border-radius: 999px; color: var(--accent); background: #11100d; font: 600 .9rem var(--font-sans); text-decoration: none; }
.menu-music .music-primary { color: #17140b; background: var(--accent); }
.menu-music .input { min-height: 48px; padding: .7rem; color: var(--text); background: #111; border: 1px solid #8f8054; border-radius: 8px; max-width: 100%; }
.menu-music .music-track { scroll-margin-top: calc(var(--menu-header-height) + 1rem); }
@media(max-width: 640px) {
 :root { --menu-header-height: 164px; }
 .topbar.menu-header { flex-direction: column; gap: 10px; }
 .menu-header .brand img { height: 32px; }
 .menu-controls { width: min(100%,480px); gap: .6rem; }
 .menu-cart { flex-basis: 48px; width: 48px; height: 48px; }
 .menu-categories { flex: 1; min-width: 0; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
 .menu-categories .top-link { min-width: 0; min-height: 48px; padding: .6rem .75rem; }
}
