/* Website menu presentation. Ordering, pricing and loyalty logic are unchanged. */
.native-app.platform-web .native-catalog { max-width: 1440px; }
.native-app.platform-web .native-catalog__intro { padding: 28px 24px 20px; }
.native-app.platform-web .native-catalog__eyebrow { font-size: 11px; letter-spacing: .14em; }
.native-app.platform-web .native-catalog h1 { font-size: clamp(28px, 3vw, 44px); letter-spacing: -.035em; }
.native-app.platform-web .native-catalog__subtitle { font-size: 16px; margin-top: 10px; }
.native-app.platform-web .native-catalog__restaurants { font-size: 13px; padding: 12px; }
.native-app.platform-web .native-catalog__sections { padding: 0 24px 48px; min-width: 0; }
.native-app.platform-web .native-catalog__category { padding-top: 28px; padding-bottom: 14px; }
.native-app.platform-web .native-catalog h2 { font-size: 28px; margin-bottom: 20px; letter-spacing: -.025em; }
.native-app.platform-web .native-catalog__grid { gap: 20px; }
.native-app.platform-web .native-dish { border-radius: 22px; border-color: #e8e8df; transition: box-shadow .28s ease, border-color .28s ease; }
.native-app.platform-web .native-dish__media { background: #eeede5; }
.native-app.platform-web .native-dish__media img { transition: transform .5s cubic-bezier(.2,.65,.3,1); }
.native-app.platform-web .native-dish__body { padding: 16px; gap: 12px; background: #fff; }
.native-app.platform-web .native-dish__name { font-size: 17px; line-height: 23px; min-height: 46px; font-weight: 650; }
.native-app.platform-web .native-dish__price { font-size: 20px; line-height: 26px; }
.native-app.platform-web .native-dish__weight { font-size: 13px; line-height: 18px; }
.native-app.platform-web .native-dish__add { width: 42px; height: 42px; flex-basis: 42px; border-radius: 50%; background: #edf1e9; color: #18392a; }
.native-dish__description { display: none; }
.native-category-dock__title { display: none; }
.native-app.platform-web .native-category-dock { display: grid; grid-template-columns: 36px minmax(0,1fr) 36px; align-items: center; padding: 10px 12px; }
.native-app.platform-web .native-category-dock__rail { padding: 3px 4px; scroll-padding-inline: 4px; }
.native-category-dock__arrow { display: grid; place-items: center; width: 32px; height: 40px; border: 1px solid #e0e2d8; border-radius: 10px; background: #fff; color: #18392a; font-size: 28px; line-height: 1; }
.native-app.platform-web .native-category-dock__item { min-height: 42px; font-size: 15px; }
@media (min-width: 960px) {
  .native-app.platform-web { --native-header-height: 88px; }
  .native-app.platform-web .native-header__row { height: 87px; max-width: 1440px; padding: 0 32px; gap: 20px; }
  .native-app.platform-web .native-header__brand { font-size: 30px; line-height: 34px; }
  .native-app.platform-web .native-header__restaurant { flex-basis: 240px; }
  .native-app.platform-web .web-navigation { font-size: 16px; gap: 26px; }
  .native-app.platform-web .native-header__caption { font-size: 15px; }
  .native-app.platform-web .native-catalog { display: grid; grid-template-columns: 204px minmax(0,1fr); gap: 0 32px; padding: 0 32px; }
  .native-app.platform-web .native-catalog__intro { grid-column: 1 / -1; padding: 40px 0 32px; }
  .native-app.platform-web .native-category-dock { display: block; align-self: start; top: calc(var(--native-header-height) + 20px); padding: 16px 10px; border: 1px solid #e4e5dc; border-radius: 20px; background: #fff; max-height: calc(100dvh - var(--native-header-height) - 40px); }
  .native-app.platform-web .native-category-dock__title { display: block; padding: 2px 12px 12px; font-size: 12px; font-weight: 700; letter-spacing: .12em; color: #7b8075; text-transform: uppercase; }
  .native-app.platform-web .native-category-dock__arrow { display: none; }
  .native-app.platform-web .native-category-dock__rail { display: flex; flex-direction: column; align-items: stretch; gap: 3px; padding: 2px; max-height: calc(100dvh - var(--native-header-height) - 110px); overflow-y: auto; overflow-x: hidden; scrollbar-width: thin; scrollbar-color: #d8ddd3 transparent; }
  .native-app.platform-web .native-category-dock__rail::-webkit-scrollbar { display: block; width: 4px; }
  .native-app.platform-web .native-category-dock__rail::-webkit-scrollbar-thumb { background: #d8ddd3; border-radius: 4px; }
  .native-app.platform-web .native-category-dock__item { border: 0; border-radius: 10px; min-height: 40px; padding: 10px 12px; background: transparent; font-size: 15px; line-height: 1.3; white-space: normal; }
  .native-app.platform-web .native-category-dock__item:hover { background: #f1f3ed; color: #18392a; }
  .native-app.platform-web .native-category-dock__item.active { background: #18392a; color: #fff; }
  .native-app.platform-web .native-catalog__sections { padding: 0 0 64px; }
  .native-app.platform-web .native-catalog__category { padding-top: 0; padding-bottom: 40px; scroll-margin-top: calc(var(--native-header-height) + 24px); }
  .native-app.platform-web .native-catalog__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
  .native-app.platform-web .native-dish__name { font-size: 18px; line-height: 24px; min-height: 48px; }
  .native-app.platform-web .native-dish__body { padding: 18px; }
}
@media (min-width: 1280px) {
  .native-app.platform-web .native-catalog__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (hover: hover) and (pointer: fine) and (min-width: 760px) {
  .native-app.platform-web .native-dish { position: relative; padding-bottom: 142px; }
  .native-app.platform-web .native-dish__body { position: absolute; inset: auto 0 0; min-height: 142px; gap: 10px; border-radius: 20px 20px 0 0; }
  .native-app.platform-web .native-dish__description { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; max-height: 0; opacity: 0; margin-top: -10px; color: #68716a; font-size: 14px; line-height: 21px; transition: max-height .36s cubic-bezier(.2,.65,.3,1), opacity .28s ease, margin .36s ease; }
  .native-app.platform-web .native-dish__description:empty { display: none; }
  .native-app.platform-web .native-dish:is(:hover,:focus-visible) { border-color: #ccd6c7; box-shadow: 0 12px 32px #18392a12; }
  .native-app.platform-web .native-dish:is(:hover,:focus-visible) .native-dish__media img { transform: scale(1.08); }
  .native-app.platform-web .native-dish:is(:hover,:focus-visible) .native-dish__description { max-height: 63px; margin-top: 0; opacity: 1; }
  .native-app.platform-web .native-dish:is(:hover,:focus-visible) .native-dish__add { background: #18392a; color: #fff; }
}
@media (max-width: 619px) {
  .native-app.platform-web .native-catalog__intro { padding: 22px 16px 18px; }
  .native-app.platform-web .native-catalog__sections { padding: 0 16px 24px; }
  .native-app.platform-web .native-catalog h1 { font-size: 28px; }
  .native-app.platform-web .native-catalog h2 { font-size: 24px; }
  .native-app.platform-web .native-catalog__subtitle { font-size: 14px; }
  .native-app.platform-web .native-catalog__grid { gap: 12px; }
  .native-app.platform-web .native-dish { border-radius: 17px; }
  .native-app.platform-web .native-dish__body { padding: 12px; gap: 8px; }
  .native-app.platform-web .native-dish__name { font-size: 15px; line-height: 20px; min-height: 40px; }
  .native-app.platform-web .native-dish__price { font-size: 17px; line-height: 22px; }
  .native-app.platform-web .native-dish__add { width: 34px; height: 34px; flex-basis: 34px; }
}
@media (prefers-reduced-motion: reduce) {
  .native-app.platform-web .native-dish,
  .native-app.platform-web .native-dish__description,
  .native-app.platform-web .native-dish__media img { transition: none; }
}

/* Frosted glass panel; preserve card motion and text contrast. */
.native-app.platform-web .native-dish__body {
  background: rgba(255, 255, 255, .66);
  -webkit-backdrop-filter: blur(10px) saturate(115%);
  backdrop-filter: blur(10px) saturate(115%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .78);
}
