:root{--mm-charcoal:#303030;--mm-charcoal-rgb:48,48,48;}
/* Production popup enhancement. Original links, content and action owners are retained. */
html[data-mm-main-motion="on"] :is(.menu-panel,.language-panel,.reservation-panel),
html[data-mm-main-motion="on"] [data-mahina-navigation-panel] { transition: none !important; }
html[data-mm-main-motion="on"] .overlay-backdrop { transition: none; }
html[data-mm-main-motion="on"] :is(.menu-overlay,.language-overlay)[data-mm-exiting="true"] { visibility: visible !important; pointer-events: none !important; }
html[data-mm-main-motion="on"] .popup-navigation { position: relative; isolation: isolate; }
html[data-mm-main-motion="on"] .popup-navigation::before {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: -1;
  left: 12%;
  width: 76%;
  top: var(--mm-nav-y,0px);
  height: var(--mm-nav-h,0px);
  border-radius: 11px;
  background: #f7f4eea8;
  opacity: var(--mm-nav-visible,0);
  transition: top .32s cubic-bezier(.22,1.1,.36,1),height .32s cubic-bezier(.22,1.1,.36,1),opacity .18s;
}
html[data-mm-main-motion="on"] .popup-navigation > :is(a,button) { position: relative; }
html[data-mm-main-motion="on"] .language-grid { position: relative; isolation: isolate; }
html[data-mm-main-motion="on"] .language-grid::before {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: -1;
  left: var(--mm-lang-x,0px);
  top: var(--mm-lang-y,0px);
  width: var(--mm-lang-w,0px);
  height: var(--mm-lang-h,0px);
  border-radius: 14px;
  background: #fff;
  border: 1px solid #30303015;
  box-shadow: 0 5px 16px #30303008;
  opacity: var(--mm-lang-visible,0);
  transition: left .32s cubic-bezier(.22,1.1,.36,1),top .32s cubic-bezier(.22,1.1,.36,1),width .32s cubic-bezier(.22,1.1,.36,1),height .32s cubic-bezier(.22,1.1,.36,1),opacity .18s;
}
html[data-mm-main-motion="on"] .language-grid > button { background: transparent; transition: color .2s; }
html[data-mm-main-motion="on"] .language-grid > button:is(:hover,.is-selected) { background: transparent; color: var(--mm-charcoal); }
html[data-mm-main-motion="on"] .reservation-options a { transition: background .2s,box-shadow .2s; }
html[data-mm-main-motion="on"] .reservation-options a:hover { background: #fff; box-shadow: inset 0 0 0 1px #30303030,0 8px 22px #30303007; }
html[data-mm-main-motion="on"] .reservation-options a svg { transition: transform .28s cubic-bezier(.22,1.1,.36,1); }
html[data-mm-main-motion="on"] .reservation-options a:hover svg { transform: translateX(3px); }
html[data-mm-main-motion="on"] #mahina-delivery-dialog::backdrop { transition: opacity .22s; }
html[data-mm-main-motion="on"] #mahina-delivery-dialog[data-mm-closing="true"]::backdrop { opacity: 0; }
@media (prefers-reduced-motion: reduce) {
  html[data-mm-main-motion="on"] :is(.popup-navigation,.language-grid)::before,
  html[data-mm-main-motion="on"] :is(.reservation-options a,.reservation-options a svg,#mahina-delivery-dialog::backdrop) { transition: none !important; }
}

/* UI palette override. Text labels, layout and media stay unchanged. */
html[data-mm-main-motion] :is(.menu-trigger,.language-trigger,.icon-button,.text-link,.text-button,.solid-button.minimal-button,.mahina-delivery-close){color:var(--mm-charcoal)!important;}
html[data-mm-main-motion] .popup-navigation>:is(a,button):is(.is-current,[aria-current="page"]){color:var(--mm-charcoal)!important;}
html[data-mm-main-motion] :is(.menu-panel,.language-panel,.reservation-panel){box-shadow:0 26px 80px rgba(var(--mm-charcoal-rgb),.12)!important;}
html[data-mm-main-motion] .solid-button.minimal-button{border-color:#30303024;box-shadow:0 8px 24px #3030300a,inset 0 1px #ffffffdb;}
html[data-mm-main-motion] .reservation-options strong{color:var(--mm-charcoal)!important;}
html[data-mm-main-motion="off"] .language-grid>button.is-selected{color:var(--mm-charcoal);background:rgba(var(--mm-charcoal-rgb),.078); }
html[data-mm-main-motion] :is(button,a,input,select,textarea):focus-visible{outline-color:var(--mm-charcoal)!important;}

/* Neutral bases for the existing interactive UI. */
html[data-mm-main-motion] .language-trigger{background:rgba(var(--mm-charcoal-rgb),.05)!important;}
html[data-mm-main-motion] .icon-button:hover{background:rgba(var(--mm-charcoal-rgb),.07)!important;}
html[data-mm-main-motion] .popup-navigation>:is(a,button):is(:hover,:focus-visible,.is-current,[aria-current="page"]){color:var(--mm-charcoal)!important;}
html[data-mm-main-motion] .language-grid>button:is(:hover,:focus-visible,.is-selected){color:var(--mm-charcoal)!important;background:rgba(var(--mm-charcoal-rgb),.08)!important;}
html[data-mm-main-motion="on"] .language-grid>button.is-selected{background:transparent!important;}
html[data-mm-main-motion] :is(.menu-panel-foot,.reservation-options a){border-color:rgba(var(--mm-charcoal-rgb),.12)!important;}
html[data-mm-main-motion] .reservation-mark{background:rgba(var(--mm-charcoal-rgb),.08)!important;}
html[data-mm-main-motion] .site-footer nav>:is(a,button){color:rgba(var(--mm-charcoal-rgb),.54)!important;}
html[data-mm-main-motion] .site-footer nav>:is(a,button):is(:hover,:focus-visible,.is-current,[aria-current="page"]){color:var(--mm-charcoal)!important;}

:root { --am-ink:#303030; --am-ink48:rgba(48,48,48,.48); }
/* The decorative full-card gradient must not intercept the photo button. */
html .dish-card::after { pointer-events:none; }
html[data-am-motion="on"] .contact-form button[type="submit"] { position:relative; min-width:var(--am-submit-width,150px); transition:border-radius 320ms cubic-bezier(.2,.85,.25,1),background 250ms ease,box-shadow 250ms ease; }
html[data-am-motion="on"] .contact-form button[type="submit"][data-am-state="sending"] { border-radius:999px; background:#303030; box-shadow:0 0 0 4px rgba(48,48,48,.08); opacity:1; }
html .contact-form .solid-button.minimal-button { color:#303030; border-color:rgba(48,48,48,.14); box-shadow:0 8px 24px rgba(48,48,48,.04),inset 0 1px rgba(255,255,255,.86); }
html .contact-form .solid-button.minimal-button:hover { color:#303030; border-color:rgba(48,48,48,.27); }
html[data-am-motion="on"] .contact-form button[type="submit"][data-am-state="sending"],html[data-am-motion="on"] .contact-form button[type="submit"][data-am-state="sending"]:hover { color:#fff; }
html .contact-form .form-message.is-error { color:#303030; background:rgba(48,48,48,.06); }
html .image-lightbox .lightbox-backdrop { background:rgba(48,48,48,.76); }
html .image-lightbox figure > img { box-shadow:0 30px 90px rgba(48,48,48,.35); }
.am-submit-glyph { display:none; width:20px; height:20px; align-items:center; justify-content:center; color:inherit; pointer-events:none; flex:none; }
html[data-am-motion="on"] .am-submit-glyph { display:inline-flex; }
html[data-am-motion="on"] .contact-form button[type="submit"] > svg { display:none; }
.am-submit-glyph svg { width:19px; height:19px; display:block; }
html[data-am-motion="on"] [data-am-state="sending"] .am-submit-glyph svg { animation:am-spin 850ms linear infinite; }
html[data-am-motion="on"] .contact-form [data-am-invalid="true"] { border-color:var(--am-ink48); box-shadow:0 0 0 3px rgba(48,48,48,.1); transition:box-shadow 200ms ease,border-color 200ms ease; }
html[data-am-motion="on"] .film-fullscreen-control > svg:not(.am-fullscreen-glyph) { display:none; }
.am-fullscreen-glyph { display:none; }
html[data-am-motion="on"] .film-fullscreen-control > .am-fullscreen-glyph { display:block; }
.image-lightbox .lightbox-close:focus-visible { outline:2px solid white; outline-offset:4px; }
@keyframes am-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .am-submit-glyph svg { animation:none !important; } html[data-am-motion="on"] .contact-form button[type="submit"],html[data-am-motion="on"] .contact-form [data-am-invalid="true"] { transition:none; } }
:root{--ink:#303030;--ink-strong:#303030;--line:rgba(48,48,48,.12);}
html[data-mm-main-motion] :is(.menu-panel,.language-panel,.reservation-panel){border-color:rgba(48,48,48,.12)!important;}
html[data-mm-main-motion] :is(.menu-overlay,.language-overlay,.reservation-overlay)>.overlay-backdrop{background:rgba(48,48,48,.54)!important;}
html[data-mm-main-motion] #mahina-delivery-dialog{color:#303030;border-color:rgba(48,48,48,.12);box-shadow:0 26px 80px rgba(48,48,48,.12);}
html[data-mm-main-motion] #mahina-delivery-dialog::backdrop{background:rgba(48,48,48,.5);}
html[data-mm-main-motion] #mahina-delivery-dialog :is(.md-platform,.md-card,.md-section,.mahina-delivery-close){color:#303030;border-color:rgba(48,48,48,.12);}
html[data-am-motion] .film-controls button{color:rgba(255,255,255,.9);background:linear-gradient(315deg,rgba(255,255,255,.23),rgba(222,228,237,.12) 44%,rgba(48,48,48,.65));border-color:rgba(255,255,255,.22);box-shadow:0 4px 12px rgba(48,48,48,.12);}
html[data-am-motion] .image-lightbox .lightbox-close{color:#fff;background:rgba(48,48,48,.4);box-shadow:0 4px 16px rgba(48,48,48,.18);}
html[data-am-motion] .contact-form :is(input,textarea){color:#303030;border-color:rgba(48,48,48,.16);}
html[data-am-motion] .contact-form :is(input,textarea):focus-visible{outline:2px solid #303030;outline-offset:2px;}
html[data-am-motion="on"] .contact-form button[type="submit"][data-am-state="sending"]{color:#fff!important;}

/* The native delivery close button keeps a 44px target with a simple X. */
html[data-mm-main-motion] #mahina-delivery-dialog .mahina-delivery-close{width:44px;height:44px;min-width:44px;min-height:44px;padding:11px;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#303030!important;}
html[data-mm-main-motion] #mahina-delivery-dialog .mahina-delivery-close:focus-visible{outline:2px solid #303030;outline-offset:2px;}
/* Reserve an empty row above the photo. The native button stays in its figure. */
html[data-am-motion] .image-lightbox{padding:64px 16px 20px!important;box-sizing:border-box;}
html[data-am-motion] .image-lightbox figure{max-height:calc(100svh - 88px);}
html[data-am-motion] .image-lightbox figure>img{display:block;max-width:min(92vw,calc(100vw - 32px));max-height:min(84svh,calc(100svh - 128px));}
html[data-am-motion] .image-lightbox .lightbox-close{top:-52px;right:0;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;color:#fff!important;cursor:pointer;}
html[data-am-motion] .image-lightbox .lightbox-close svg{width:16px;height:16px;}
html[data-am-motion] .image-lightbox .lightbox-close:focus-visible{outline:2px solid #fff;outline-offset:2px;}
