@font-face {
  font-family: Thmanyah;
  src: url('/assets/fonts/thmanyah-sans-regular.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: Thmanyah;
  src: url('/assets/fonts/thmanyah-sans-bold.woff2') format('woff2');
  font-weight: 700;
  font-display: swap;
}
:root {
  --red: #df0712;
  --banner-height: calc(28px + env(safe-area-inset-top, 0px));
  font-family: Thmanyah, Tahoma, Arial, sans-serif;
  background: white;
}
*, *::before, *::after { box-sizing: border-box; }
html, body { width: 100%; height: 100%; margin: 0; overflow: hidden; background: white; }
[hidden] { display: none !important; }
.menu-frame {
  position: fixed;
  top: var(--banner-height);
  left: 0;
  display: block;
  width: 100%;
  height: calc(100vh - var(--banner-height));
  height: calc(100dvh - var(--banner-height));
  border: 0;
  background: white;
}
.loading {
  position: fixed;
  z-index: 1;
  top: var(--banner-height);
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
  display: grid;
  place-content: center;
  pointer-events: none;
}
.loading::after {
  content: '';
  width: 30px;
  height: 30px;
  border: 3px solid rgba(4,60,75,.14);
  border-top-color: #043c4b;
  border-radius: 50%;
  animation: spin .75s linear infinite;
}
.load-error {
  position: fixed;
  z-index: 3;
  right: 16px;
  bottom: max(16px, env(safe-area-inset-bottom));
  left: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  width: fit-content;
  max-width: calc(100% - 32px);
  margin-inline: auto;
  padding: 12px 16px;
  border: 1px solid #f2d4d5;
  border-radius: 16px;
  color: var(--red);
  background: white;
  box-shadow: 0 8px 30px rgba(0,0,0,.14);
}
.load-error p { margin: 0; font-size: 14px; }
.load-error button {
  justify-self: center;
  border: 0;
  border-radius: 999px;
  padding: 9px 16px;
  color: white;
  background: var(--red);
  font: 700 14px Thmanyah, Tahoma, Arial, sans-serif;
  cursor: pointer;
}
.load-error button:focus-visible { outline: 3px solid #ffc928; outline-offset: 3px; }
.no-script { position: fixed; z-index: 3; bottom: 0; width: 100%; padding: 20px; text-align: center; background: white; }
@keyframes spin { to { transform: rotate(360deg); } }
.delivery-banner {
  position: fixed;
  inset: 0 0 auto;
  z-index: 2;
  height: var(--banner-height);
  padding-top: env(safe-area-inset-top, 0px);
  overflow: hidden;
  color: white;
  background: var(--red);
  box-shadow: 0 1px 0 rgba(120,0,0,.12);
  direction: ltr;
}
.delivery-banner__track {
  display: flex;
  width: max-content;
  height: 28px;
  animation: delivery-scroll 32s linear infinite;
  will-change: transform;
}
.delivery-banner__group {
  display: flex;
  align-items: center;
  justify-content: space-around;
  flex-shrink: 0;
  min-width: 100vw;
}
.delivery-banner__item {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  gap: 36px;
  padding-inline: 18px;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
}
.delivery-banner__item::after { content: '-'; color: white; font-size: 12px; opacity: .65; }
@keyframes delivery-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .delivery-banner__track, .loading::after { animation: none; will-change: auto; }
}
