/* SBK-UA-0278: one native public menu at every viewport.
   Historical shared assets remain intact; this stylesheet owns current presentation. */
body { padding-bottom: 0; }
.bottom-nav { display: none; }
.app-header .desktop-site-menu { display: block; }
.desktop-site-menu__toggle {
  border-radius: 10px; color: #52647c;
  background: transparent; box-shadow: none;
}
.desktop-site-menu__panel {
  z-index: 100; box-sizing: border-box;
  inline-size: min(320px, calc(100vw - 24px));
  max-block-size: calc(100dvh - 80px - env(safe-area-inset-bottom));
  padding: 18px 10px 12px; border: 0; border-radius: 18px;
  background: #fff; color: #18243a;
}
.desktop-site-menu__heading {
  margin: 0 12px 8px; padding: 0 0 10px;
  border-bottom: 1px solid #d8e0ea;
  color: #718096; font-size: 15px; line-height: 20px; font-weight: 600;
}
.desktop-site-menu__heading:nth-of-type(2) { margin-top: 18px; }
.desktop-site-menu__divider { display: none; }
.desktop-site-menu__panel a,
.desktop-site-menu__panel button {
  min-block-size: 44px; padding: 10px 12px;
  color: #18243a; font-size: 16px; line-height: 22px; font-weight: 600;
}
.desktop-site-menu__panel .material-symbols-rounded { color: #52647c; }
.desktop-site-menu__toggle:focus-visible,
.desktop-site-menu__panel a:focus-visible,
.desktop-site-menu__panel button:focus-visible {
  outline: 2px solid #1268f3; outline-offset: 2px;
  background: #e6f0ff;
}
@media (max-width: 1023px) {
  .app-header .app-header__inner {
    min-width: 0; min-height: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: 44px 44px; gap: 6px;
    padding-block: 8px;
  }
  .app-header .brand { grid-column: 1; grid-row: 1; min-width: 0; }
  .app-header .header-actions {
    grid-column: 2; grid-row: 1; justify-self: end; min-width: 0; gap: 4px;
  }
  .app-header .header-search {
    grid-column: 1 / -1; grid-row: 2; width: 100%; min-width: 0;
  }
  .app-header .header-search .search-box {
    min-height: 44px; height: 44px; gap: 6px; padding: 0 12px 0 0;
  }
  .app-header .header-search .search-box input[type="search"] {
    min-height: 40px; height: 40px; font-size: 16px;
  }
  .app-header .header-search .search-submit {
    flex: 0 0 44px; width: 44px; height: 44px; padding: 0;
  }
  .app-header .header-actions .location-button {
    flex: 0 1 auto; width: auto; min-width: 44px; max-width: 112px;
    min-height: 44px; padding: 0 6px; gap: 4px; font-size: 12px;
  }
  .app-header .location-button [data-location-label] {
    min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .app-header .header-actions .header-account-link {
    flex: 0 0 44px; width: 44px; min-width: 44px; min-height: 44px;
    padding: 0; justify-content: center;
  }
  .app-header .header-account-link__label { display: none; }
  .desktop-site-menu__panel { inset-block-start: calc(100% + 8px); }
}
@media (max-width: 650px) {
  .app-header .brand__wordmark { width: clamp(112px, 30vw, 140px); }
}
@media (max-width: 359px) {
  .app-header .header-actions { gap: 2px; }
  .app-header .header-actions .location-button {
    flex: 0 0 44px; width: 44px; min-width: 44px; max-width: 44px;
    padding: 0; justify-content: center;
  }
  /* Keep the city in the accessible name when its visible label cannot fit. */
  .app-header .location-button [data-location-label] {
    position: absolute; width: 1px; height: 1px; margin: -1px;
    padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
  }
  .app-header .brand-location-caret { display: none; }
}
