/* Shared mobile navigation -------------------------------------------------
   Public pages and restaurant subdomains use the same dock geometry and
   surface. Each page may change destinations, but never the interaction or
   visual language. */
.dotdine-mobile-dock-wrap {
  display: none;
}

@media (max-width: 820px) {
  .dotdine-mobile-dock-wrap {
    position: fixed !important;
    z-index: var(--dd-z-dock, var(--rs-z-dock, 2100)) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    width: auto !important;
    display: block !important;
    padding: 0 10px !important;
    transform: none !important;
    pointer-events: none;
  }

  .dotdine-mobile-dock {
    position: relative !important;
    inset: auto !important;
    width: min(390px, 100%) !important;
    min-height: 52px !important;
    height: 52px !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: none !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(44px, 1fr) !important;
    gap: 3px !important;
    padding: 3px !important;
    border: 1px solid rgba(24, 24, 22, .11) !important;
    border-radius: 19px !important;
    background: rgba(250, 248, 243, .94) !important;
    color: #171715 !important;
    box-shadow: 0 18px 48px rgba(15, 13, 10, .16) !important;
    -webkit-backdrop-filter: blur(22px) saturate(125%) !important;
    backdrop-filter: blur(22px) saturate(125%) !important;
    pointer-events: auto;
    isolation: isolate;
  }

  .dotdine-mobile-dock > a,
  .dotdine-mobile-dock > button {
    position: relative !important;
    min-width: 0 !important;
    min-height: 44px !important;
    height: 44px !important;
    display: grid !important;
    place-items: center !important;
    align-content: center !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: transparent !important;
    color: rgba(23, 23, 21, .64) !important;
    text-decoration: none !important;
    cursor: pointer;
    font: 650 .55rem/1 Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
    letter-spacing: .01em !important;
  }

  .dotdine-mobile-dock > :is(a, button):is(.active, [aria-current="page"]) {
    background: rgba(23, 23, 21, .075) !important;
    color: #171715 !important;
  }

  .dotdine-mobile-dock > :is(a, button):is(.active, [aria-current="page"])::after {
    content: "";
    position: absolute;
    bottom: 2px;
    top: auto;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #9a7047;
  }

  body:is(.menu-open, .dialog-open, .ddx-dialog-open, .discovery-filter-modal-open, .dd-picker-open, .sheet-open, .drawer-open, .storefront-menu-open) .dotdine-mobile-dock-wrap {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .dotdine-mobile-dock > :is(a, button):focus-visible {
    outline: 2px solid #9a7047 !important;
    outline-offset: -2px;
  }

  .dotdine-mobile-dock :is(svg, .tab-icon) {
    width: 20px !important;
    height: 20px !important;
    min-height: 20px !important;
    display: block;
    color: currentColor;
    pointer-events: none;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .dotdine-mobile-dock .dock-monogram,
  .dotdine-mobile-dock .tab-monogram {
    display: grid;
    place-items: center;
    font-family: var(--dd-font-display) !important;
    font-size: 1rem !important;
  }

  .dotdine-mobile-dock .dock-filter-count {
    position: absolute;
    top: 1px;
    right: 3px;
    min-width: 15px;
    height: 15px;
    padding: 0 3px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #76563a;
    color: #fffdf8;
    font: 600 9px/1 Inter, system-ui, sans-serif;
    pointer-events: none;
  }

  .dotdine-mobile-dock [hidden] {
    display: none !important;
  }

  body:is(.menu-open, .storefront-menu-open, .drawer-open) .dotdine-mobile-dock-wrap {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
  }

  body[data-page="partner-payment"] .dotdine-mobile-dock-wrap,
  body:is([data-page="partner"], [data-page="partner-memberships"]) .dotdine-mobile-dock-wrap {
    display: block !important;
  }
}

@media (max-width: 390px) {
  .dotdine-mobile-dock-wrap {
    padding-inline: 8px !important;
  }

  .dotdine-mobile-dock > a,
  .dotdine-mobile-dock > button {
    font-size: .53rem !important;
  }
}

@media (prefers-contrast: more) {
  .dotdine-mobile-dock {
    background: #faf8f3 !important;
    border-color: rgba(23, 23, 21, .35) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dotdine-mobile-dock,
  .dotdine-mobile-dock-wrap {
    transition-duration: .01ms !important;
  }
}

@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .dotdine-mobile-dock {
    background: rgba(250, 248, 243, .98) !important;
  }
}
