.restaurant-dock {
  display: none;
}
@media (max-width: 700px) {
  body:has(.restaurant-dock) {
    padding-bottom: calc(95px + env(safe-area-inset-bottom, 0px));
  }
  .restaurant-dock {
    --dock-index: 0;
    position: fixed;
    z-index: 45;
    bottom: calc(14px + env(safe-area-inset-bottom, 0px));
    left: 50%;
    transform: translateX(-50%);
    width: min(92%, 420px);
    padding: 7px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border: 1px solid var(--line);
    border-radius: 50px;
    background: var(--paper);
    color: var(--ink);
    box-shadow: 0 8px 24px #00000018;
  }
  .restaurant-dock::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 7px;
    bottom: 7px;
    left: 7px;
    width: calc((100% - 14px) / 4);
    border-radius: 35px;
    background: var(--accent);
    transform: translateX(calc(var(--dock-index) * 100%));
    transition: transform 260ms cubic-bezier(0.22, 0.8, 0.25, 1);
  }
  .restaurant-dock a {
    display: flex;
    min-height: 53px;
    gap: 3px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 35px;
    text-decoration: none;
    font-size: 11px;
    line-height: 1.3;
    transition: color 180ms;
  }
  .restaurant-dock a[aria-current] {
    color: var(--on-accent, #fff);
  }
  .restaurant-dock svg {
    width: 20px;
    height: 20px;
  }
  body:has(.restaurant-dock) .personalize-toggle {
    bottom: calc(100px + env(safe-area-inset-bottom, 0px));
  }
}
@media (prefers-reduced-motion: reduce) {
  .restaurant-dock::before,
  .restaurant-dock a {
    transition: none;
  }
}
