/* The same physical button response on the restaurant and menu pages. */
:root{--control-ink:#34251e;--control-orange:#ec8a42;--control-paper:#fff9ef;--control-ease:cubic-bezier(.16,1,.3,1)}
:is(.button,.open-button,.close-menu,.category-scroll button,.review-cta,.menu-contact){display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:12px 20px;border:2px solid var(--control-ink);border-radius:8px;background:var(--control-orange);color:var(--control-ink);box-shadow:3px 3px 0 var(--control-ink);font:700 15px/1.3 Karla,Arial,sans-serif;text-decoration:none;transition:transform 180ms var(--control-ease),box-shadow 180ms var(--control-ease),background-color 180ms ease}
:is(.close-menu,.category-scroll button,.review-cta){background:var(--control-paper)}
.category-scroll button{font-size:13px;padding:10px 14px;white-space:normal}
.category-scroll [aria-pressed=true]{background:var(--control-orange);color:var(--control-ink);border-color:var(--control-ink)}
:is(.button,.open-button,.close-menu,.category-scroll button,.review-cta,.menu-contact):active{transform:translate(3px,3px);box-shadow:0 0 0 var(--control-ink)}
:is(.button,.open-button):disabled{opacity:.65;cursor:default;transform:none}
:is(.button,.open-button,.close-menu,.category-scroll button,.review-cta,.menu-contact):focus-visible{outline:3px solid #591e26;outline-offset:6px}
:is(.button,.open-button,.close-menu,.review-cta,.menu-contact) svg{width:20px;height:20px;flex-shrink:0;transition:transform 180ms var(--control-ease)}
@media(hover:hover) and (pointer:fine){
 :is(.button,.open-button,.close-menu,.category-scroll button,.review-cta,.menu-contact):not(:disabled):hover{transform:translate(-1px,-2px);box-shadow:4px 5px 0 var(--control-ink)}
 :is(.button,.open-button,.close-menu,.review-cta,.menu-contact):hover svg{transform:translateX(3px)}
 .category-scroll button:not([aria-pressed=true]):hover{background:#f6e6cf}
}
@media(prefers-reduced-motion:reduce){:is(.button,.open-button,.close-menu,.category-scroll button,.review-cta,.menu-contact),:is(.button,.open-button,.close-menu,.review-cta,.menu-contact) svg{transition:none}}
/* Shared accessibility refinements: clear focus, touch targets and safe areas. */
:is(.site-header nav a,.language-switch a,.menu-languages a,.back-link,.menu-reviews-link){min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.menu-languages{gap:8px}
.menu-skip{position:fixed;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));z-index:50;padding:12px 20px;background:var(--control-paper);color:var(--control-ink);border-radius:8px;transform:translateY(-180%)}
.menu-skip:focus{transform:none}
.menu-page :is(a,button,input){-webkit-tap-highlight-color:#ec8a4240}
.menu-page :is(a,button,input):focus-visible{outline:3px solid #591e26;outline-offset:5px}
#dish-detail{overscroll-behavior:contain;max-height:calc(100dvh - 32px);overflow-y:auto}
.review-person>div,.review-invitation>div{min-width:0}.review h3,.review blockquote{overflow-wrap:anywhere}
.menu-header{padding-left:max(var(--layout-gutter),env(safe-area-inset-left));padding-right:max(var(--layout-gutter),env(safe-area-inset-right))}
#menu-content{padding-bottom:env(safe-area-inset-bottom)}
:where(section[id]){scroll-margin-top:24px}
@media(max-width:620px){.site-header nav{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:8px;overflow-x:auto;max-width:100%;scrollbar-width:thin}.site-header nav a{flex:0 0 auto;white-space:nowrap;padding-inline:4px;font-size:12px}.menu-languages a{padding-inline:8px}.back-link{justify-content:flex-start}}
