@charset "utf-8";/*
 * BISTRO BUDDY site polish — 2026-08-01
 *
 * Forward-only visual layer loaded after the repaired parent and child CSS.
 * It intentionally owns no header offsets, logo sizing, global full-width
 * geometry, ticker behavior, image routing, or menu records. News media frames
 * are direct-child scoped to verified Joomla category/article markup only.
 */

html.bb-polish-v3 {
  --bb-polish-orange: #ef7724;
  --bb-polish-orange-deep: #c94f08;
  --bb-polish-orange-soft: #ff9a44;
  --bb-polish-blue: #2f6fbd;
  --bb-polish-blue-soft: #7ca4dd;
  --bb-polish-green: #19a974;
  --bb-polish-green-bright: #3ee6a8;
  --bb-polish-green-deep: #08745a;
  --bb-polish-ink: #25243d;
  --bb-polish-night: #18181b;
  --bb-polish-focus: #ffd166;
  --bb-polish-shadow: 0 16px 38px rgba(37, 36, 61, 0.16);
}

/* Header paint only. Existing repaired CSS remains the sole geometry owner. */
html.bb-polish-v3 body.site #sp-header,
html.bb-polish-v3 body.site .header-wrapper {
  color: #fff !important;
  background:
    radial-gradient(circle at 6% 0%, rgba(239, 119, 36, 0.16), transparent 30%),
    radial-gradient(circle at 94% 100%, rgba(47, 111, 189, 0.2), transparent 34%),
    linear-gradient(135deg, #25252a 0%, #19191d 56%, #24243a 100%) !important;
  border-bottom-color: rgba(239, 119, 36, 0.78) !important;
  box-shadow: 0 9px 24px rgba(0, 0, 0, 0.26) !important;
}

/* Desktop navigation: preserve the approved geometry and replace the heavy active
   block with a quiet animated underline. */
@media (min-width: 1200px) {
  html.bb-polish-v3 body.site #sp-menu .sp-megamenu-parent > li > a,
  html.bb-polish-v3 body.site #sp-menu .sp-megamenu-parent > li > span {
    position: relative !important;
    color: rgba(255, 255, 255, 0.94) !important;
    background: transparent !important;
    box-shadow: none !important;
    transition:
      color 0.18s ease,
      text-shadow 0.18s ease !important;
  }

  html.bb-polish-v3 body.site #sp-menu .sp-megamenu-parent > li > a::after {
    content: "" !important;
    position: absolute !important;
    right: 18% !important;
    bottom: 6px !important;
    left: 18% !important;
    height: 3px !important;
    border-radius: 999px !important;
    pointer-events: none !important;
    background: linear-gradient(90deg, var(--bb-polish-orange), var(--bb-polish-blue)) !important;
    transform: scaleX(0) !important;
    transform-origin: center !important;
    transition: transform 0.18s ease !important;
  }

  html.bb-polish-v3 body.site #sp-menu .sp-megamenu-parent > li:hover > a,
  html.bb-polish-v3 body.site #sp-menu .sp-megamenu-parent > li:focus-within > a {
    color: #fff !important;
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: 0 0 14px rgba(255, 255, 255, 0.28) !important;
  }

  html.bb-polish-v3 body.site #sp-menu .sp-megamenu-parent > li:hover > a::after,
  html.bb-polish-v3 body.site #sp-menu .sp-megamenu-parent > li:focus-within > a::after {
    transform: scaleX(1) !important;
  }

  html.bb-polish-v3 body.site #sp-menu .sp-dropdown .sp-dropdown-inner {
    color: #fff !important;
    background:
      linear-gradient(145deg, rgba(239, 119, 36, 0.1), rgba(47, 111, 189, 0.14)),
      #202025 !important;
    border: 1px solid rgba(124, 164, 221, 0.34) !important;
    border-top: 3px solid var(--bb-polish-orange) !important;
    border-radius: 14px !important;
    box-shadow: 0 20px 46px rgba(0, 0, 0, 0.34) !important;
    animation: bbPolishDropdownIn 0.18s ease-out both !important;
  }

  html.bb-polish-v3 body.site #sp-menu .sp-dropdown li.sp-menu-item > a {
    border-radius: 8px !important;
    color: rgba(255, 255, 255, 0.92) !important;
    transition:
      color 0.16s ease,
      background-color 0.16s ease !important;
  }

  html.bb-polish-v3 body.site #sp-menu .sp-dropdown li.sp-menu-item:hover > a,
  html.bb-polish-v3 body.site #sp-menu .sp-dropdown li.sp-menu-item:focus-within > a,
  html.bb-polish-v3 body.site #sp-menu .sp-dropdown li.sp-menu-item.active > a {
    color: #fff !important;
    background: linear-gradient(
      90deg,
      rgba(239, 119, 36, 0.9),
      rgba(47, 111, 189, 0.78)
    ) !important;
  }
}

/* Offcanvas color system and one final compact mobile typography authority. */
html.bb-polish-v3 body .offcanvas-menu {
  color: #fff !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(47, 111, 189, 0.3), transparent 35%),
    radial-gradient(circle at 0% 100%, rgba(239, 119, 36, 0.24), transparent 37%),
    linear-gradient(180deg, #242429, #17171a) !important;
  border-left-color: rgba(239, 119, 36, 0.74) !important;
  box-shadow: -18px 0 48px rgba(0, 0, 0, 0.38) !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu > li {
  border-color: rgba(255, 255, 255, 0.08) !important;
  border-radius: 11px !important;
  background: rgba(255, 255, 255, 0.035) !important;
  transition:
    background-color 0.18s ease,
    box-shadow 0.18s ease !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu > li:hover,
html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu > li:focus-within,
html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu > li.active,
html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu > li.menu-parent-open {
  background: linear-gradient(
    135deg,
    rgba(239, 119, 36, 0.24),
    rgba(47, 111, 189, 0.24)
  ) !important;
  box-shadow: inset 3px 0 0 var(--bb-polish-orange) !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu > li > ul {
  border-radius: 10px !important;
  background: rgba(5, 8, 15, 0.26) !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu > li > ul > li {
  border-left-color: rgba(124, 164, 221, 0.4) !important;
  background: rgba(124, 164, 221, 0.05) !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu > li > ul > li:hover,
html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu > li > ul > li:focus-within {
  border-left-color: var(--bb-polish-orange) !important;
  background: rgba(239, 119, 36, 0.12) !important;
}

@media (max-width: 1199.98px) {
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu > li > a,
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu > li > span {
    min-height: 44px !important;
    padding: 9px 48px 9px 13px !important;
    font-size: clamp(17px, 4vw, 21px) !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.62) !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu li li > a,
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu li li > span {
    min-height: 40px !important;
    padding: 8px 46px 8px 13px !important;
    font-size: clamp(14px, 3.35vw, 15px) !important;
    font-weight: 740 !important;
    line-height: 1.35 !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner .menu-toggler {
    right: 0 !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
  }
}

/* Search and location link collections restored from the approved V28.2 look. */
html.bb-polish-v3 body #sp-trending-searches,
html.bb-polish-v3 body #sp-main-body .bb-polish-search-cloud {
  position: relative !important;
  margin-block: clamp(20px, 3vw, 42px) !important;
  padding: clamp(20px, 3vw, 34px) !important;
  border: 1px solid rgba(47, 111, 189, 0.18) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 10% 5%, rgba(239, 119, 36, 0.14), transparent 34%),
    radial-gradient(circle at 90% 95%, rgba(47, 111, 189, 0.15), transparent 36%),
    linear-gradient(145deg, #fff, #f6f9ff) !important;
  box-shadow: var(--bb-polish-shadow) !important;
  overflow: clip !important;
}

html.bb-polish-v3 body #sp-trending-searches::before,
html.bb-polish-v3 body #sp-main-body .bb-polish-search-cloud::before {
  content: "" !important;
  position: absolute !important;
  inset: -60% -20% !important;
  pointer-events: none !important;
  background: linear-gradient(
    110deg,
    transparent 35%,
    rgba(255, 255, 255, 0.75) 49%,
    transparent 63%
  ) !important;
  animation: bbPolishSearchSweep 8s ease-in-out infinite !important;
}

html.bb-polish-v3 body #sp-trending-searches :is(h1, h2, h3, h4, h5, h6),
html.bb-polish-v3 body #sp-main-body .bb-polish-search-cloud :is(h1, h2, h3, h4, h5, h6) {
  position: relative !important;
  margin: 0 0 16px !important;
  color: var(--bb-polish-ink) !important;
  font-size: clamp(24px, 3vw, 40px) !important;
  font-weight: 950 !important;
  text-align: center !important;
  letter-spacing: -0.03em !important;
}

html.bb-polish-v3 body #sp-trending-searches a,
html.bb-polish-v3 body #sp-main-body .bb-polish-search-cloud a {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 40px !important;
  margin: 5px !important;
  padding: 8px 13px !important;
  border: 1px solid rgba(255, 255, 255, 0.66) !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--bb-polish-orange), var(--bb-polish-orange-deep)) !important;
  box-shadow: 0 8px 18px rgba(239, 119, 36, 0.22) !important;
  font-size: clamp(12px, 1vw, 14px) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    filter 0.2s ease !important;
}

html.bb-polish-v3 body #sp-trending-searches a:nth-of-type(2n),
html.bb-polish-v3 body #sp-main-body .bb-polish-search-cloud a:nth-of-type(2n) {
  background: linear-gradient(135deg, var(--bb-polish-blue), var(--bb-polish-blue-soft)) !important;
  box-shadow: 0 8px 18px rgba(47, 111, 189, 0.22) !important;
}

html.bb-polish-v3 body #sp-trending-searches a:nth-of-type(3n),
html.bb-polish-v3 body #sp-main-body .bb-polish-search-cloud a:nth-of-type(3n) {
  background: linear-gradient(135deg, #25243d, #494665) !important;
}

html.bb-polish-v3 body #sp-trending-searches a:hover,
html.bb-polish-v3 body #sp-trending-searches a:focus-visible,
html.bb-polish-v3 body #sp-main-body .bb-polish-search-cloud a:hover,
html.bb-polish-v3 body #sp-main-body .bb-polish-search-cloud a:focus-visible {
  transform: translateY(-3px) scale(1.025) !important;
  filter: saturate(1.12) brightness(1.05) !important;
  box-shadow: 0 15px 28px rgba(37, 36, 61, 0.23) !important;
}

html.bb-polish-v3 body #sp-main-body .bb-polish-location-cloud {
  margin-block: 18px !important;
  padding: clamp(18px, 2.5vw, 30px) !important;
  border: 1px solid rgba(124, 164, 221, 0.24) !important;
  border-radius: 20px !important;
  background: linear-gradient(145deg, rgba(239, 119, 36, 0.07), rgba(47, 111, 189, 0.08)) !important;
  box-shadow: 0 14px 34px rgba(37, 36, 61, 0.09) !important;
}

html.bb-polish-v3 body #sp-main-body .bb-polish-location-cloud > :is(h1, h2, h3, h4, h5, h6) {
  margin: 0 0 14px !important;
  color: var(--bb-polish-ink) !important;
  font-weight: 950 !important;
  letter-spacing: -0.02em !important;
}

html.bb-polish-v3 body #sp-main-body .bb-polish-location-cloud ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html.bb-polish-v3 body #sp-main-body .bb-polish-location-cloud li {
  margin: 0 !important;
  padding: 0 !important;
}

html.bb-polish-v3 body #sp-main-body .bb-polish-location-cloud a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 40px !important;
  padding: 8px 13px !important;
  border: 1px solid rgba(47, 111, 189, 0.18) !important;
  border-radius: 12px !important;
  color: #254c7e !important;
  background: #fff !important;
  box-shadow: 0 6px 14px rgba(37, 36, 61, 0.08) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    color 0.18s ease,
    background 0.18s ease !important;
}

html.bb-polish-v3 body #sp-main-body .bb-polish-location-cloud li:nth-child(4n + 1) a {
  color: #a94300 !important;
  background: rgba(239, 119, 36, 0.1) !important;
}

html.bb-polish-v3 body #sp-main-body .bb-polish-location-cloud li:nth-child(4n + 2) a {
  color: #235d9c !important;
  background: rgba(47, 111, 189, 0.1) !important;
}

html.bb-polish-v3 body #sp-main-body .bb-polish-location-cloud li:nth-child(4n + 3) a {
  color: #0b715e !important;
  background: rgba(35, 180, 145, 0.1) !important;
}

html.bb-polish-v3 body #sp-main-body .bb-polish-location-cloud li:nth-child(4n) a {
  color: #6b429d !important;
  background: rgba(130, 83, 185, 0.1) !important;
}

html.bb-polish-v3 body #sp-main-body .bb-polish-location-cloud a:hover,
html.bb-polish-v3 body #sp-main-body .bb-polish-location-cloud a:focus-visible {
  color: #fff !important;
  background: linear-gradient(135deg, var(--bb-polish-orange), var(--bb-polish-blue)) !important;
  box-shadow: 0 13px 24px rgba(37, 36, 61, 0.17) !important;
  transform: translateY(-2px) !important;
}

/* Footer legal/menu links only; footer layout and module order stay unchanged. */
html.bb-polish-v3 body #sp-footer ul.menu > li > a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 34px !important;
  padding: 7px 10px !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 9px !important;
  color: #eef4ff !important;
  background: rgba(255, 255, 255, 0.055) !important;
  font-size: 11px !important;
  font-weight: 750 !important;
  text-decoration: none !important;
  transition:
    transform 0.18s ease,
    background 0.18s ease,
    border-color 0.18s ease !important;
}

html.bb-polish-v3 body #sp-footer ul.menu > li:nth-child(3n + 1) > a {
  border-color: rgba(239, 119, 36, 0.42) !important;
}

html.bb-polish-v3 body #sp-footer ul.menu > li:nth-child(3n + 2) > a {
  border-color: rgba(124, 164, 221, 0.48) !important;
}

html.bb-polish-v3 body #sp-footer ul.menu > li:nth-child(3n) > a {
  border-color: rgba(62, 207, 167, 0.42) !important;
}

html.bb-polish-v3 body #sp-footer ul.menu > li > a:hover,
html.bb-polish-v3 body #sp-footer ul.menu > li > a:focus-visible {
  border-color: #fff !important;
  background: linear-gradient(135deg, rgba(239, 119, 36, 0.3), rgba(47, 111, 189, 0.3)) !important;
  transform: translateY(-2px) !important;
}

/* Consistent keyboard focus without changing pointer interaction or geometry. */
html.bb-polish-v3 body.site :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--bb-polish-focus) !important;
  outline-offset: 3px !important;
}

@keyframes bbPolishSearchSweep {
  0%,
  100% {
    transform: translateX(-55%);
  }
  50% {
    transform: translateX(55%);
  }
}

@media (max-width: 767.98px) {
  html.bb-polish-v3 body #sp-trending-searches,
  html.bb-polish-v3 body #sp-main-body .bb-polish-search-cloud,
  html.bb-polish-v3 body #sp-main-body .bb-polish-location-cloud {
    padding: 16px 10px !important;
    border-radius: 16px !important;
  }

  html.bb-polish-v3 body #sp-trending-searches a,
  html.bb-polish-v3 body #sp-main-body .bb-polish-search-cloud a,
  html.bb-polish-v3 body #sp-main-body .bb-polish-location-cloud a {
    min-height: 44px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.bb-polish-v3 body #sp-trending-searches::before,
  html.bb-polish-v3 body #sp-main-body .bb-polish-search-cloud::before {
    animation: none !important;
  }

  html.bb-polish-v3 body #sp-trending-searches a,
  html.bb-polish-v3 body #sp-main-body .bb-polish-search-cloud a,
  html.bb-polish-v3 body #sp-main-body .bb-polish-location-cloud a,
  html.bb-polish-v3 body #sp-footer ul.menu > li > a {
    transition: none !important;
  }
}

/* The optional Helix offcanvas launcher remains present on some desktop
   layouts, so its controls and essential glyph paint stay complete at every
   width without changing the approved desktop megamenu. */
html.bb-polish-v3 body :is(#offcanvas-toggler, .offcanvas-toggler, .offcanvas-toggler-right),
html.bb-polish-v3 body .offcanvas-menu .close-offcanvas {
  display: inline-grid !important;
  place-items: center !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  touch-action: manipulation !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner {
  max-height: 100dvh !important;
  padding-bottom: max(18px, env(safe-area-inset-bottom)) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu .menu-toggler {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  touch-action: manipulation !important;
}

@media (min-width: 1200px) {
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li {
    margin-bottom: 8px !important;
    border: 1px solid rgba(255, 255, 255, 0.11) !important;
    border-left: 4px solid var(--bb-polish-green-bright) !important;
    border-radius: 14px !important;
    background: linear-gradient(110deg, rgba(25, 169, 116, 0.17), transparent 56%), rgba(255, 255, 255, 0.04) !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li > :is(a, span) {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu .bb-menu-glyph {
    display: inline-grid !important;
    flex: 0 0 32px !important;
    place-items: center !important;
    width: 32px !important;
    height: 32px !important;
    border: 1px solid rgba(255, 255, 255, 0.17) !important;
    border-radius: 10px !important;
    color: #fff !important;
    background: linear-gradient(145deg, rgba(62, 230, 168, 0.23), rgba(47, 111, 189, 0.23)) !important;
    font-size: 15px !important;
    line-height: 1 !important;
    transition: transform 0.2s ease, filter 0.2s ease !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li li > :is(a, span) > .bb-menu-glyph {
    flex-basis: 25px !important;
    width: 25px !important;
    height: 25px !important;
    font-size: 12px !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li > :is(a, span):hover > .bb-menu-glyph,
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li > :is(a, span):focus-visible > .bb-menu-glyph {
    filter: brightness(1.2) saturate(1.15) !important;
    transform: rotate(-8deg) scale(1.1) !important;
  }
}

html.bb-polish-v3 body.offcanvas-active .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li {
  animation: bbGameMenuCardIn 0.28s ease-out both !important;
}

html.bb-polish-v3 body.offcanvas-active .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li:nth-child(2) { animation-delay: 0.025s !important; }
html.bb-polish-v3 body.offcanvas-active .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li:nth-child(3) { animation-delay: 0.05s !important; }
html.bb-polish-v3 body.offcanvas-active .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li:nth-child(4) { animation-delay: 0.075s !important; }
html.bb-polish-v3 body.offcanvas-active .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li:nth-child(n + 5) { animation-delay: 0.1s !important; }

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li.menu-parent-open > ul.menu-child {
  animation: bbGameSubmenuIn 0.2s ease-out both !important;
}

@keyframes bbGameMenuCardIn {
  from { opacity: 0; transform: translateX(8px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes bbGameSubmenuIn {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Homepage-only return to SP Page Builder's known-good responsive content frame.
   Ticker, hero, Content Factory News Flash, app rows and every other route remain
   full bleed exactly as the repaired template defines them. */
html.bb-polish-v3 body.itemid-4418 .sp-page-builder .page-content > :is(
  .bb-language-rounded-section,
  .bb-rounded-gradient-section,
  .bb-deals-original-rounded-reveal,
  #section-id-1699279066292,
  #section-id-1751653809676
) > .sppb-row-container {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: auto !important;
}

/* Site Polish 1.3.2: keep the hero section background full width while returning
   its FOOD & DRINK NETWORK, chef image and search row to a centered content
   frame. The exact homepage item and known-good section ID prevent this from
   changing any other page, hero, ticker, scroller or global width rule. */
html.bb-polish-v3 body.itemid-4418 .sp-page-builder .page-content
  > #section-id-1729815227097.bb-critical-hero
  > .sppb-row-container {
  width: calc(100% - 24px) !important;
  max-width: 100% !important;
  margin-inline: auto !important;
}

@media (min-width: 576px) {
  html.bb-polish-v3 body.itemid-4418 .sp-page-builder .page-content > :is(.bb-language-rounded-section, .bb-rounded-gradient-section, .bb-deals-original-rounded-reveal, #section-id-1699279066292, #section-id-1751653809676) > .sppb-row-container {
    max-width: 540px !important;
  }

  html.bb-polish-v3 body.itemid-4418 .sp-page-builder .page-content
    > #section-id-1729815227097.bb-critical-hero
    > .sppb-row-container {
    max-width: 540px !important;
  }
}

@media (min-width: 768px) {
  html.bb-polish-v3 body.itemid-4418 .sp-page-builder .page-content > :is(.bb-language-rounded-section, .bb-rounded-gradient-section, .bb-deals-original-rounded-reveal, #section-id-1699279066292, #section-id-1751653809676) > .sppb-row-container {
    max-width: 720px !important;
  }

  html.bb-polish-v3 body.itemid-4418 .sp-page-builder .page-content
    > #section-id-1729815227097.bb-critical-hero
    > .sppb-row-container {
    max-width: 720px !important;
  }
}

@media (min-width: 992px) {
  html.bb-polish-v3 body.itemid-4418 .sp-page-builder .page-content > :is(.bb-language-rounded-section, .bb-rounded-gradient-section, .bb-deals-original-rounded-reveal, #section-id-1699279066292, #section-id-1751653809676) > .sppb-row-container {
    max-width: 960px !important;
  }

  html.bb-polish-v3 body.itemid-4418 .sp-page-builder .page-content
    > #section-id-1729815227097.bb-critical-hero
    > .sppb-row-container {
    max-width: 960px !important;
  }
}

@media (min-width: 1200px) {
  html.bb-polish-v3 body.itemid-4418 .sp-page-builder .page-content > :is(.bb-language-rounded-section, .bb-rounded-gradient-section, .bb-deals-original-rounded-reveal, #section-id-1699279066292, #section-id-1751653809676) > .sppb-row-container {
    max-width: 1140px !important;
  }

  html.bb-polish-v3 body.itemid-4418 .sp-page-builder .page-content
    > #section-id-1729815227097.bb-critical-hero
    > .sppb-row-container {
    max-width: 1140px !important;
  }
}

@media (min-width: 1400px) {
  html.bb-polish-v3 body.itemid-4418 .sp-page-builder .page-content > :is(.bb-language-rounded-section, .bb-rounded-gradient-section, .bb-deals-original-rounded-reveal, #section-id-1699279066292, #section-id-1751653809676) > .sppb-row-container {
    max-width: 1320px !important;
  }

  html.bb-polish-v3 body.itemid-4418 .sp-page-builder .page-content
    > #section-id-1729815227097.bb-critical-hero
    > .sppb-row-container {
    max-width: 1320px !important;
  }
}

/* Fail-open homepage performance helpers. Only sections already marked by the
   approved homepage export are deferred; the hero and news scroller stay eager. */
html.bb-home-perf-v2 body.itemid-4418 .sp-page-builder .page-content > :is(.bb-perf-defer-section, .bb-lazy-section):not(.bb-perf-loaded):is(.bb-perf-lazy-bg, .bb-lazy-bg),
html.bb-home-perf-v2 body.itemid-4418 .sp-page-builder .page-content > :is(.bb-perf-defer-section, .bb-lazy-section):not(.bb-perf-loaded) :is(.bb-perf-lazy-bg, .bb-lazy-bg) {
  background-image: none !important;
}

html.bb-home-perf-v2 body.itemid-4418 .sp-page-builder .page-content > :is(.bb-perf-defer-section, .bb-lazy-section):not(.bb-perf-loaded) .sppb-addon {
  animation-play-state: paused !important;
}

@supports (contain-intrinsic-size: auto 760px) {
  html.bb-polish-v3 body.itemid-4418 .page-content > .bb-perf-defer-section {
    content-visibility: auto;
    contain-intrinsic-size: auto 850px;
  }

  html.bb-polish-v3 body.itemid-4418 #section-id-1753098798136 {
    contain-intrinsic-size: auto 300px;
  }

  html.bb-polish-v3 body.itemid-4418 #section-id-bbStartFasterProfiles20260705 {
    contain-intrinsic-size: auto 620px;
  }

  html.bb-polish-v3 body.itemid-4418 #section-id-bbDatingEngine20260706 {
    contain-intrinsic-size: auto 900px;
  }
}

/* Segmented mobile navigation restored as paint and spacing only. */
@media (max-width: 1199.98px) {
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu > li {
    margin-bottom: 7px !important;
    border: 1px solid rgba(255, 255, 255, 0.09) !important;
    border-left: 4px solid var(--bb-polish-orange) !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu > li:nth-child(3n + 2) {
    border-left-color: var(--bb-polish-blue-soft) !important;
    background: rgba(47, 111, 189, 0.1) !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu > li:nth-child(3n) {
    border-left-color: #3ecfa7 !important;
    background: rgba(62, 207, 167, 0.07) !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu > li > ul {
    margin: 0 8px 9px !important;
    padding: 6px !important;
  }
}

/* Native animated footer accordion at every width. Existing link nodes, hrefs
   and order are retained; without JavaScript the original flat list remains. */
html.bb-polish-v3 body #sp-footer1 .sp-module-content > ul.menu.bb-footer-accordion-ready {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 9px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html.bb-polish-v3 body .bb-footer-accordion-group {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html.bb-polish-v3 body .bb-footer-accordion-group > details {
  border: 1px solid rgba(124, 164, 221, 0.32) !important;
  border-radius: 13px !important;
  background: rgba(255, 255, 255, 0.055) !important;
}

html.bb-polish-v3 body .bb-footer-accordion-group summary {
  position: relative !important;
  min-height: 48px !important;
  padding: 13px 48px 12px 14px !important;
  color: #fff !important;
  cursor: pointer !important;
  font-weight: 850 !important;
  list-style: none !important;
}

html.bb-polish-v3 body .bb-footer-accordion-group summary::-webkit-details-marker {
  display: none !important;
}

html.bb-polish-v3 body .bb-footer-accordion-group summary::after {
  content: "+" !important;
  position: absolute !important;
  top: 50% !important;
  right: 15px !important;
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--bb-polish-orange), var(--bb-polish-blue)) !important;
  line-height: 26px !important;
  text-align: center !important;
  transform: translateY(-50%) rotate(0deg) !important;
  transition: transform 0.2s ease !important;
}

html.bb-polish-v3 body .bb-footer-accordion-group details[open] > summary::after {
  transform: translateY(-50%) rotate(45deg) !important;
}

html.bb-polish-v3 body .bb-footer-accordion-links {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 8px 10px 12px !important;
  list-style: none !important;
  animation: bbPolishAccordionIn 0.2s ease-out both !important;
}

html.bb-polish-v3 body .bb-footer-accordion-links > li {
  min-width: 0 !important;
  margin: 0 !important;
}

html.bb-polish-v3 body .bb-footer-accordion-links > li > a {
  display: flex !important;
  align-items: center !important;
  min-height: 42px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(255, 255, 255, 0.13) !important;
  border-radius: 9px !important;
  color: #eef4ff !important;
  background: rgba(255, 255, 255, 0.045) !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
}

@media (min-width: 992px) {
  html.bb-polish-v3 body #sp-footer1 .sp-module-content > ul.menu.bb-footer-accordion-ready {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html.bb-polish-v3 body .bb-footer-accordion-group:first-child {
    grid-column: 1 / -1 !important;
  }

  html.bb-polish-v3 body .bb-footer-accordion-group:first-child .bb-footer-accordion-links {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 575.98px) {
  html.bb-polish-v3 body .bb-footer-accordion-links {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Accessible progressive-enhancement controls. */
html.bb-polish-v3 .bb-skip-link {
  position: fixed !important;
  top: 8px !important;
  left: 8px !important;
  z-index: 100000 !important;
  padding: 11px 16px !important;
  border-radius: 9px !important;
  color: #111 !important;
  background: #ffd166 !important;
  font-weight: 900 !important;
  transform: translateY(-160%) !important;
  transition: transform 0.15s ease !important;
}

html.bb-polish-v3 .bb-skip-link:focus {
  transform: translateY(0) !important;
}

html.bb-polish-v3 .bb-accessibility-tools {
  margin-top: 14px !important;
}

html.bb-polish-v3 .bb-accessibility-tools summary,
html.bb-polish-v3 .bb-pwa-install {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 44px !important;
  padding: 9px 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  border-radius: 11px !important;
  color: #fff !important;
  background: rgba(255, 255, 255, 0.08) !important;
  cursor: pointer !important;
  font-weight: 850 !important;
}

html.bb-polish-v3 .bb-accessibility-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 9px !important;
}

html.bb-polish-v3 .bb-accessibility-actions button {
  min-height: 44px !important;
  padding: 8px 12px !important;
  border: 1px solid rgba(124, 164, 221, 0.45) !important;
  border-radius: 10px !important;
  color: #fff !important;
  background: #25243d !important;
  font-weight: 800 !important;
}

html.bb-text-large {
  font-size: 112.5% !important;
}

html.bb-high-contrast body.site :is(a, button, input, select, textarea):focus-visible {
  outline-width: 4px !important;
  outline-color: #ffdc3f !important;
}

html.bb-high-contrast body.site #sp-main-body a:not(.btn) {
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px !important;
}

html.bb-polish-v3 .bb-infinite-status {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@keyframes bbPolishDropdownIn {
  from { opacity: 0; transform: translateY(-5px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes bbPolishAccordionIn {
  from { opacity: 0; transform: translateY(-5px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  html.bb-polish-v3 body.site #sp-menu .sp-dropdown .sp-dropdown-inner,
  html.bb-polish-v3 body .bb-footer-accordion-links,
  html.bb-polish-v3 body .bb-footer-accordion-group summary::after,
  html.bb-polish-v3 .bb-skip-link {
    animation: none !important;
    transition: none !important;
  }
}

html.bb-reduce-motion *,
html.bb-reduce-motion *::before,
html.bb-reduce-motion *::after {
  scroll-behavior: auto !important;
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.01ms !important;
}

/* --------------------------------------------------------------------------
   Site Polish 1.3 — verified Joomla News surfaces

   The direct-child contract intentionally excludes the custom /news hub,
   every SP Page Builder article addon and the approved Articles Scroller.
   -------------------------------------------------------------------------- */
html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog
  #sp-component > .sp-column > .blog > .article-list {
  --bb-news-card-radius: 18px;
  --bb-news-card-pad: clamp(16px, 2vw, 24px);
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog
  #sp-component > .sp-column > .blog > .article-list > .row > [class*="col-"] {
  display: flex !important;
  margin-bottom: clamp(18px, 2.2vw, 28px) !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog
  #sp-component > .sp-column > .blog > .article-list > .row > [class*="col-"] > .article {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 1px solid rgba(47, 111, 189, 0.17) !important;
  border-radius: var(--bb-news-card-radius) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(62, 230, 168, 0.08), transparent 28%),
    #fff !important;
  box-shadow: 0 14px 32px rgba(37, 36, 61, 0.1) !important;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog
  #sp-component > .sp-column > .blog > .article-list > .row > [class*="col-"] > .article:hover,
html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog
  #sp-component > .sp-column > .blog > .article-list > .row > [class*="col-"] > .article:focus-within {
  border-color: rgba(25, 169, 116, 0.48) !important;
  box-shadow: 0 20px 42px rgba(37, 36, 61, 0.15) !important;
  transform: translateY(-3px) !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog
  #sp-component > .sp-column > .blog > .article-list > .row > [class*="col-"] > .article
  > :is(.article-intro-image, .article-featured-video, .article-featured-audio, .article-feature-gallery) {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  aspect-ratio: 16 / 9 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: var(--bb-news-card-radius) var(--bb-news-card-radius) 0 0 !important;
  background: linear-gradient(135deg, #e8eef8, #f7fafc) !important;
  box-shadow: none !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog
  #sp-component > .sp-column > .blog > .article-list > .row > [class*="col-"] > .article
  > :is(.article-intro-image, .article-featured-video, .article-featured-audio, .article-feature-gallery)
  :is(img, video, iframe, .carousel, .carousel-inner, .carousel-item) {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
  object-fit: cover !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog
  #sp-component > .sp-column > .blog > .article-list > .row > [class*="col-"] > .article > .article-body {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-width: 0 !important;
  padding: var(--bb-news-card-pad) !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog
  #sp-component > .sp-column > .blog > .article-list .article-header h2 {
  margin: 0 0 10px !important;
  color: var(--bb-polish-ink) !important;
  font-size: clamp(20px, 2vw, 28px) !important;
  font-weight: 900 !important;
  line-height: 1.16 !important;
  letter-spacing: -0.025em !important;
  overflow-wrap: anywhere !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog
  #sp-component > .sp-column > .blog > .article-list .article-header h2 a {
  color: inherit !important;
  text-decoration: none !important;
  background-image: linear-gradient(90deg, var(--bb-polish-orange), var(--bb-polish-green)) !important;
  background-position: 0 100% !important;
  background-repeat: no-repeat !important;
  background-size: 0 3px !important;
  transition: color 0.18s ease, background-size 0.2s ease !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog
  #sp-component > .sp-column > .blog > .article-list .article-header h2 a:hover,
html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog
  #sp-component > .sp-column > .blog > .article-list .article-header h2 a:focus-visible {
  color: var(--bb-polish-green-deep) !important;
  background-size: 100% 3px !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog
  #sp-component > .sp-column > .blog > .article-list .article-info {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px 10px !important;
  margin: 0 0 13px !important;
  color: #596579 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog
  #sp-component > .sp-column > .blog > .article-list .article-info > span {
  margin: 0 !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog
  #sp-component > .sp-column > .blog > .article-list .article-introtext {
  margin-top: auto !important;
  color: #3d4655 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog
  #sp-component > .sp-column > .blog > .article-list .featured-article-badge {
  align-self: flex-start !important;
  margin: 12px var(--bb-news-card-pad) 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--bb-polish-orange), var(--bb-polish-green-deep)) !important;
  box-shadow: 0 7px 16px rgba(25, 169, 116, 0.2) !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-article
  #sp-component > .sp-column > .article-details {
  --bb-news-article-pad: clamp(18px, 3.2vw, 38px);
  width: 100% !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
  padding: var(--bb-news-article-pad) !important;
  overflow: visible !important;
  border: 1px solid rgba(47, 111, 189, 0.16) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 18px 44px rgba(37, 36, 61, 0.11) !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-article
  #sp-component > .sp-column > .article-details > .article-full-image {
  float: none !important;
  width: calc(100% + (2 * var(--bb-news-article-pad))) !important;
  max-width: none !important;
  margin: calc(-1 * var(--bb-news-article-pad)) calc(-1 * var(--bb-news-article-pad)) clamp(20px, 3vw, 34px) !important;
  overflow: hidden !important;
  border-radius: 22px 22px 0 0 !important;
  background: #eef3f9 !important;
  box-shadow: none !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-article
  #sp-component > .sp-column > .article-details > .article-full-image img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  border-radius: 0 !important;
  object-fit: contain !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-article
  #sp-component > .sp-column > .article-details > .article-header :is(h1, h2) {
  margin: 0 0 12px !important;
  color: var(--bb-polish-ink) !important;
  font-size: clamp(30px, 4.7vw, 56px) !important;
  font-weight: 950 !important;
  line-height: 1.06 !important;
  letter-spacing: -0.04em !important;
  overflow-wrap: anywhere !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-article
  #sp-component > .sp-column > .article-details > .article-info {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px 13px !important;
  margin: 0 0 clamp(18px, 2.5vw, 28px) !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid rgba(47, 111, 189, 0.14) !important;
  color: #596579 !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-article
  #sp-component > .sp-column > .article-details > [itemprop="articleBody"] {
  color: #303947 !important;
  font-size: clamp(17px, 1.2vw, 19px) !important;
  line-height: 1.78 !important;
  overflow-wrap: anywhere !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-article
  #sp-component > .sp-column > .article-details > [itemprop="articleBody"] :is(h2, h3, h4) {
  margin-top: 1.65em !important;
  color: var(--bb-polish-ink) !important;
  line-height: 1.18 !important;
  letter-spacing: -0.025em !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-article
  #sp-component > .sp-column > .article-details > [itemprop="articleBody"] :is(img, video) {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 14px !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-article
  #sp-component > .sp-column > .article-details > [itemprop="articleBody"] iframe {
  max-width: 100% !important;
  border-radius: 14px !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-article
  #sp-component > .sp-column > .article-details > [itemprop="articleBody"] blockquote {
  margin: 1.6em 0 !important;
  padding: 18px 20px !important;
  border-left: 5px solid var(--bb-polish-green) !important;
  border-radius: 0 14px 14px 0 !important;
  background: linear-gradient(135deg, rgba(62, 230, 168, 0.09), rgba(47, 111, 189, 0.08)) !important;
}

/* Custom News Flash cards keep their template layout. Only interaction paint is
   unified, so /news modules and carousel geometry remain untouched. */
html.bb-polish-v3 body.bb-news-surface #sp-component
  :is(.bbnh-card, .bbnh-feature, .bbnh-region-grid > article) {
  border-color: rgba(47, 111, 189, 0.18) !important;
  box-shadow: 0 12px 28px rgba(37, 36, 61, 0.1) !important;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}

html.bb-polish-v3 body.bb-news-surface #sp-component
  :is(.bbnh-card, .bbnh-feature, .bbnh-region-grid > article):hover,
html.bb-polish-v3 body.bb-news-surface #sp-component
  :is(.bbnh-card, .bbnh-feature, .bbnh-region-grid > article):focus-within {
  border-color: rgba(25, 169, 116, 0.54) !important;
  box-shadow: 0 18px 38px rgba(37, 36, 61, 0.15) !important;
  transform: translateY(-3px) !important;
}

@media (max-width: 767.98px) {
  html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog
    #sp-component > .sp-column > .blog > .article-list > .row > [class*="col-"] {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  html.bb-polish-v3 body.bb-news-surface.com-content.view-article
    #sp-component > .sp-column > .article-details {
    border-radius: 16px !important;
  }

  html.bb-polish-v3 body.bb-news-surface.com-content.view-article
    #sp-component > .sp-column > .article-details > .article-full-image {
    border-radius: 16px 16px 0 0 !important;
  }
}

/* Mobile command-menu treatment. It decorates Helix's real anchors/togglers;
   no menu node, href, order, hamburger or open/close handler is replaced. */
@media (max-width: 1199.98px) {
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu {
    padding: 5px !important;
    scrollbar-color: var(--bb-polish-green) rgba(255, 255, 255, 0.08) !important;
    scrollbar-width: thin !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li {
    position: relative !important;
    isolation: isolate !important;
    margin-bottom: 9px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-left: 5px solid var(--bb-polish-orange) !important;
    border-radius: 15px !important;
    background:
      linear-gradient(110deg, rgba(239, 119, 36, 0.16), transparent 52%),
      rgba(255, 255, 255, 0.045) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 8px 18px rgba(0, 0, 0, 0.17) !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li:nth-child(3n + 2) {
    border-left-color: var(--bb-polish-blue-soft) !important;
    background: linear-gradient(110deg, rgba(47, 111, 189, 0.19), transparent 54%), rgba(255, 255, 255, 0.045) !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li:nth-child(3n) {
    border-left-color: var(--bb-polish-green-bright) !important;
    background: linear-gradient(110deg, rgba(25, 169, 116, 0.2), transparent 54%), rgba(255, 255, 255, 0.045) !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li > :is(a, span) {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: rgba(255, 255, 255, 0.94) !important;
    text-decoration: none !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu .bb-menu-glyph {
    display: inline-grid !important;
    flex: 0 0 34px !important;
    place-items: center !important;
    width: 34px !important;
    height: 34px !important;
    margin-left: -3px !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 10px !important;
    color: #fff !important;
    background: linear-gradient(145deg, rgba(62, 230, 168, 0.24), rgba(47, 111, 189, 0.24)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 6px 13px rgba(0, 0, 0, 0.18) !important;
    font-size: 17px !important;
    font-style: normal !important;
    line-height: 1 !important;
    transform: translateZ(0) !important;
    transition: transform 0.22s cubic-bezier(0.2, 0.85, 0.3, 1.35), filter 0.2s ease, box-shadow 0.2s ease !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li li > :is(a, span) > .bb-menu-glyph {
    flex-basis: 26px !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li > :is(a, span):hover > .bb-menu-glyph,
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li > :is(a, span):focus-visible > .bb-menu-glyph,
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li.menu-parent-open > :is(a, span) > .bb-menu-glyph {
    filter: brightness(1.18) saturate(1.2) !important;
    box-shadow: 0 0 0 3px rgba(62, 230, 168, 0.12), 0 9px 19px rgba(0, 0, 0, 0.25) !important;
    transform: translateY(-1px) rotate(-9deg) scale(1.11) !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu .bb-menu-pressed > .bb-menu-glyph {
    animation: bbMenuGlyphPress 0.4s cubic-bezier(0.2, 0.8, 0.3, 1.3) both !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu .menu-toggler {
    border: 1px solid rgba(62, 230, 168, 0.24) !important;
    border-radius: 11px !important;
    color: #fff !important;
    background: linear-gradient(145deg, rgba(25, 169, 116, 0.28), rgba(47, 111, 189, 0.25)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
    transition: filter 0.18s ease, box-shadow 0.18s ease !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu .menu-toggler:focus-visible {
    outline: 3px solid var(--bb-polish-focus) !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 5px rgba(62, 230, 168, 0.16) !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li.menu-parent-open > :is(a, span) > .menu-toggler {
    filter: brightness(1.2) !important;
    box-shadow: 0 0 0 3px rgba(62, 230, 168, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu ul.menu-child {
    margin: 2px 8px 10px !important;
    padding: 8px !important;
    border: 1px solid rgba(62, 230, 168, 0.16) !important;
    border-radius: 12px !important;
    background:
      linear-gradient(180deg, rgba(8, 116, 90, 0.12), rgba(7, 10, 17, 0.28)) !important;
    box-shadow: inset 0 1px 12px rgba(0, 0, 0, 0.14) !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu ul.menu-child > li {
    margin: 4px 0 !important;
    border-left: 2px solid rgba(62, 230, 168, 0.36) !important;
    border-radius: 9px !important;
    background: rgba(255, 255, 255, 0.035) !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu ul.menu-child > li:hover,
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu ul.menu-child > li:focus-within {
    border-left-color: var(--bb-polish-green-bright) !important;
    background: linear-gradient(90deg, rgba(25, 169, 116, 0.17), rgba(47, 111, 189, 0.1)) !important;
  }
}

/* Site Polish 1.3.2: warmer mobile navigation. Orange is the visual authority;
   bright green is retained only as a fine border/focus accent. Helix continues
   to own every menu node, href, disclosure and open/close action. */
@media (max-width: 1199.98px) {
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu {
    padding: 6px !important;
    scrollbar-color: var(--bb-polish-orange) rgba(255, 255, 255, 0.08) !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li,
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li:nth-child(3n + 2),
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li:nth-child(3n) {
    margin-bottom: 8px !important;
    border: 1px solid rgba(62, 230, 168, 0.2) !important;
    border-left: 5px solid var(--bb-polish-orange) !important;
    border-radius: 13px !important;
    background:
      linear-gradient(105deg, rgba(239, 119, 36, 0.28), rgba(239, 119, 36, 0.08) 58%, transparent 82%),
      rgba(255, 255, 255, 0.035) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.07),
      inset -1px 0 0 rgba(62, 230, 168, 0.06),
      0 7px 16px rgba(0, 0, 0, 0.16) !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li:hover,
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li:focus-within,
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li.active,
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li.menu-parent-open {
    border-color: rgba(62, 230, 168, 0.34) !important;
    border-left-color: var(--bb-polish-orange-soft) !important;
    background:
      linear-gradient(105deg, rgba(239, 119, 36, 0.4), rgba(201, 79, 8, 0.15) 62%, transparent 88%),
      rgba(255, 255, 255, 0.045) !important;
    box-shadow:
      inset 0 0 0 1px rgba(62, 230, 168, 0.055),
      0 9px 20px rgba(0, 0, 0, 0.2) !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li > :is(a, span) {
    min-height: 48px !important;
    padding: 10px 48px 10px 12px !important;
    color: #fff !important;
    font-size: clamp(17px, 4.35vw, 20px) !important;
    font-weight: 880 !important;
    line-height: 1.22 !important;
    letter-spacing: -0.012em !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu .bb-menu-glyph {
    border-color: rgba(62, 230, 168, 0.28) !important;
    border-radius: 9px !important;
    background: linear-gradient(145deg, var(--bb-polish-orange-soft), var(--bb-polish-orange-deep)) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.22),
      0 0 0 1px rgba(62, 230, 168, 0.045),
      0 6px 13px rgba(0, 0, 0, 0.2) !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li > :is(a, span):hover > .bb-menu-glyph,
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li > :is(a, span):focus-visible > .bb-menu-glyph,
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li.menu-parent-open > :is(a, span) > .bb-menu-glyph {
    filter: brightness(1.1) saturate(1.08) !important;
    box-shadow:
      0 0 0 2px rgba(62, 230, 168, 0.13),
      0 8px 17px rgba(0, 0, 0, 0.23) !important;
    transform: translateY(-1px) rotate(-3deg) scale(1.05) !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu .bb-menu-pressed > .bb-menu-glyph {
    animation: bbMenuGlyphPressWarm 0.28s ease-out both !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu .menu-toggler {
    border-color: rgba(62, 230, 168, 0.3) !important;
    border-radius: 9px !important;
    background: linear-gradient(145deg, rgba(255, 154, 68, 0.92), rgba(201, 79, 8, 0.92)) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.2),
      0 0 0 1px rgba(62, 230, 168, 0.045) !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li.menu-parent-open > :is(a, span) > .menu-toggler {
    filter: brightness(1.08) !important;
    box-shadow:
      0 0 0 2px rgba(62, 230, 168, 0.14),
      inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu ul.menu-child {
    margin: 3px 7px 10px !important;
    padding: 5px 6px !important;
    border: 1px solid rgba(62, 230, 168, 0.18) !important;
    border-left: 3px solid rgba(239, 119, 36, 0.84) !important;
    border-radius: 10px !important;
    background:
      linear-gradient(180deg, rgba(239, 119, 36, 0.1), rgba(7, 10, 17, 0.3)) !important;
    box-shadow: inset 0 1px 12px rgba(0, 0, 0, 0.16) !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu ul.menu-child > li {
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(62, 230, 168, 0.2) !important;
    border-left: 3px solid rgba(239, 119, 36, 0.7) !important;
    border-radius: 6px !important;
    background: rgba(255, 255, 255, 0.025) !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu ul.menu-child > li:last-child {
    border-bottom-color: transparent !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu ul.menu-child > li:hover,
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu ul.menu-child > li:focus-within,
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu ul.menu-child > li.active {
    border-left-color: var(--bb-polish-orange-soft) !important;
    background: linear-gradient(90deg, rgba(239, 119, 36, 0.2), rgba(62, 230, 168, 0.045)) !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li li > :is(a, span) {
    min-height: 46px !important;
    padding: 10px 46px 10px 12px !important;
    font-size: clamp(15px, 3.75vw, 16.5px) !important;
    font-weight: 760 !important;
    line-height: 1.32 !important;
    letter-spacing: 0 !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li li li > :is(a, span) {
    min-height: 44px !important;
    padding-block: 9px !important;
    font-size: clamp(14px, 3.45vw, 15px) !important;
    font-weight: 700 !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu ul.menu-child ul.menu-child {
    margin: 2px 5px 7px 8px !important;
    border-color: rgba(62, 230, 168, 0.16) !important;
    border-left-color: rgba(62, 230, 168, 0.44) !important;
  }
}

@keyframes bbMenuGlyphPressWarm {
  0% { transform: scale(1) rotate(0); }
  50% { transform: scale(0.94) rotate(4deg); }
  100% { transform: scale(1.04) rotate(-2deg); }
}

@keyframes bbMenuGlyphPress {
  0% { transform: scale(1) rotate(0); }
  45% { transform: scale(0.88) rotate(16deg); }
  100% { transform: scale(1.1) rotate(-7deg); }
}

/* User-invoked PWA command center. This is the package's own native dialog;
   existing Joomla, EasySocial, JBD and commerce overlays are not selected. */
html.bb-polish-v3 .bb-app-tools-launch {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 46px !important;
  margin-top: 12px !important;
  padding: 10px 15px !important;
  border: 1px solid rgba(62, 230, 168, 0.48) !important;
  border-radius: 12px !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--bb-polish-green-deep), var(--bb-polish-blue)) !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2) !important;
  cursor: pointer !important;
  font-weight: 900 !important;
}

html.bb-polish-v3 .bb-app-dialog {
  width: min(760px, calc(100vw - 24px)) !important;
  max-width: 760px !important;
  max-height: min(780px, calc(100dvh - 24px)) !important;
  padding: 0 !important;
  overflow: auto !important;
  border: 1px solid rgba(62, 230, 168, 0.44) !important;
  border-radius: 24px !important;
  color: #fff !important;
  background: #171a21 !important;
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.52) !important;
}

html.bb-polish-v3 .bb-app-dialog::backdrop {
  background: rgba(6, 9, 16, 0.72) !important;
  backdrop-filter: blur(7px) saturate(0.8) !important;
}

html.bb-polish-v3 .bb-app-dialog-shell {
  min-height: 100% !important;
  padding: clamp(18px, 4vw, 34px) !important;
  background:
    radial-gradient(circle at 4% 0%, rgba(239, 119, 36, 0.24), transparent 34%),
    radial-gradient(circle at 100% 100%, rgba(62, 230, 168, 0.2), transparent 36%),
    linear-gradient(145deg, #222633, #13161d) !important;
}

html.bb-polish-v3 .bb-app-dialog header,
html.bb-polish-v3 .bb-app-dialog-brand {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
}

html.bb-polish-v3 .bb-app-dialog header {
  justify-content: space-between !important;
}

html.bb-polish-v3 .bb-app-dialog-brand img {
  flex: 0 0 72px !important;
  width: 72px !important;
  height: 72px !important;
  border-radius: 18px !important;
  box-shadow: 0 0 0 4px rgba(62, 230, 168, 0.12), 0 12px 24px rgba(0, 0, 0, 0.28) !important;
  animation: bbAppLogoBreathe 3.8s ease-in-out infinite !important;
}

html.bb-polish-v3 .bb-app-dialog h2 {
  margin: 3px 0 5px !important;
  color: #fff !important;
  font-size: clamp(24px, 4vw, 38px) !important;
  font-weight: 950 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.035em !important;
}

html.bb-polish-v3 .bb-app-dialog p {
  margin: 0 !important;
  color: rgba(238, 246, 255, 0.76) !important;
  line-height: 1.5 !important;
}

html.bb-polish-v3 .bb-app-dialog-close {
  flex: 0 0 46px !important;
  width: 46px !important;
  height: 46px !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 50% !important;
  color: #fff !important;
  background: rgba(255, 255, 255, 0.08) !important;
  font-size: 30px !important;
  line-height: 1 !important;
}

html.bb-polish-v3 .bb-app-online {
  margin: 20px 0 14px !important;
}

html.bb-polish-v3 .bb-app-status {
  display: block !important;
  min-height: 44px !important;
  padding: 11px 14px !important;
  border: 1px solid rgba(124, 164, 221, 0.35) !important;
  border-radius: 12px !important;
  color: #eaf2ff !important;
  background: rgba(47, 111, 189, 0.12) !important;
  font-weight: 750 !important;
}

html.bb-polish-v3 .bb-app-status[data-state="success"] {
  border-color: rgba(62, 230, 168, 0.52) !important;
  background: rgba(25, 169, 116, 0.16) !important;
}

html.bb-polish-v3 .bb-app-status[data-state="warning"] {
  border-color: rgba(255, 209, 102, 0.56) !important;
  background: rgba(255, 209, 102, 0.1) !important;
}

html.bb-polish-v3 .bb-app-shortcuts,
html.bb-polish-v3 .bb-app-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

html.bb-polish-v3 .bb-app-actions {
  margin-top: 14px !important;
}

html.bb-polish-v3 :is(.bb-app-shortcut, .bb-app-action) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  min-width: 0 !important;
  min-height: 50px !important;
  padding: 10px 13px !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 13px !important;
  color: #fff !important;
  background: rgba(255, 255, 255, 0.065) !important;
  cursor: pointer !important;
  font-weight: 850 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease !important;
}

html.bb-polish-v3 :is(.bb-app-shortcut, .bb-app-action):hover,
html.bb-polish-v3 :is(.bb-app-shortcut, .bb-app-action):focus-visible {
  border-color: var(--bb-polish-green-bright) !important;
  background: linear-gradient(135deg, rgba(25, 169, 116, 0.22), rgba(47, 111, 189, 0.2)) !important;
  transform: translateY(-2px) !important;
}

html.bb-polish-v3 .bb-app-action:disabled {
  cursor: not-allowed !important;
  opacity: 0.58 !important;
  transform: none !important;
}

html.bb-polish-v3 .bb-app-action.is-ready {
  border-color: var(--bb-polish-green-bright) !important;
  box-shadow: 0 0 0 3px rgba(62, 230, 168, 0.11) !important;
}

html.bb-polish-v3 .bb-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@keyframes bbAppLogoBreathe {
  0%, 100% { transform: rotate(-2deg) scale(1); }
  50% { transform: rotate(2deg) scale(1.05); }
}

  


::view-transition-old(root) {
  animation: 0.14s ease-out both bbViewOut;
}

::view-transition-new(root) {
  animation: 0.18s ease-out both bbViewIn;
}

@keyframes bbViewOut {
  to { opacity: 0.86; transform: scale(0.996); }
}

@keyframes bbViewIn {
  from { opacity: 0.86; transform: scale(1.004); }
}

@media (max-width: 575.98px) {
  html.bb-polish-v3 .bb-app-dialog {
    width: calc(100vw - 12px) !important;
    max-height: calc(100dvh - 12px) !important;
    border-radius: 18px !important;
  }

  html.bb-polish-v3 .bb-app-dialog-brand img {
    flex-basis: 56px !important;
    width: 56px !important;
    height: 56px !important;
    border-radius: 14px !important;
  }

  html.bb-polish-v3 .bb-app-shortcuts,
  html.bb-polish-v3 .bb-app-actions {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.bb-polish-v3 body.bb-news-surface #sp-component
    :is(.article-list .article, .bbnh-card, .bbnh-feature, .bbnh-region-grid > article),
  html.bb-polish-v3 body.bb-news-surface #sp-component
    :is(.article-intro-image, .article-feature-gallery, .article-featured-video, .article-featured-audio, .article-full-image, .article-details, .article-header a),
  html.bb-polish-v3 body.site #sp-menu .sp-megamenu-parent > li > a::after,
  html.bb-polish-v3 body.site #sp-menu .sp-megamenu-parent :is(a, span, .sp-dropdown, .sp-dropdown-inner),
  html.bb-polish-v3 body.offcanvas-active .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li,
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li,
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li.menu-parent-open > ul.menu-child,
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu .bb-menu-glyph,
  html.bb-polish-v3 .bb-app-dialog-brand img,
  html.bb-polish-v3 :is(.bb-app-shortcut, .bb-app-action) {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }

  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation: none !important;
  }
}

html.bb281-reduce-motion body .offcanvas-menu .bb-game-menu *,
html.bb281-low-motion body .offcanvas-menu .bb-game-menu *,
html.bb-reduce-motion body .offcanvas-menu .bb-game-menu *,
html.bb281-reduce-motion .bb-app-dialog *,
html.bb281-low-motion .bb-app-dialog *,
html.bb-reduce-motion .bb-app-dialog * {
  animation: none !important;
  transition: none !important;
}

:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body.offcanvas-active .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li.menu-parent-open > ul.menu-child,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu .bb-menu-pressed > .bb-menu-glyph,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body.bb-news-surface #sp-component
  :is(.article-list .article, .article-intro-image, .article-feature-gallery, .article-featured-video, .article-featured-audio, .article-full-image, .article-details, .article-header a, .bbnh-card, .bbnh-feature, .bbnh-region-grid > article),
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body.site #sp-menu .sp-megamenu-parent :is(a, span, .sp-dropdown, .sp-dropdown-inner),
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body.site #sp-menu .sp-megamenu-parent > li > a::after,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body #sp-trending-searches::before,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  .bb-app-dialog-brand img,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  :is(.bb-app-shortcut, .bb-app-action) {
  animation: none !important;
  transition: none !important;
  transform: none !important;
}

/* Final reduced-motion cascade seal. These selectors deliberately mirror the
   animated rules above so both the operating-system preference and the three
   supported manual/legacy classes win the !important specificity contest.
   Interaction state still changes instantly; only movement is removed. */
@media (prefers-reduced-motion: reduce) {
  html.bb-polish-v3 body.site #sp-menu .sp-megamenu-parent > li > a,
  html.bb-polish-v3 body.site #sp-menu .sp-megamenu-parent > li > span,
  html.bb-polish-v3 body.site #sp-menu .sp-megamenu-parent > li > a::after,
  html.bb-polish-v3 body.site #sp-menu .sp-dropdown .sp-dropdown-inner,
  html.bb-polish-v3 body.site #sp-menu .sp-dropdown li.sp-menu-item > a,
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu > li,
  html.bb-polish-v3 body.offcanvas-active .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li,
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li.menu-parent-open > ul.menu-child,
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu .bb-menu-glyph,
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu .bb-menu-pressed > .bb-menu-glyph,
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu .menu-toggler,
  html.bb-polish-v3 body #sp-trending-searches::before,
  html.bb-polish-v3 body #sp-main-body .bb-polish-search-cloud::before,
  html.bb-polish-v3 body #sp-trending-searches a,
  html.bb-polish-v3 body #sp-main-body .bb-polish-search-cloud a,
  html.bb-polish-v3 body #sp-main-body .bb-polish-location-cloud a,
  html.bb-polish-v3 body #sp-footer ul.menu > li > a,
  html.bb-polish-v3 body .bb-footer-accordion-links,
  html.bb-polish-v3 body .bb-footer-accordion-links > li > a,
  html.bb-polish-v3 body .bb-footer-accordion-group summary::after,
  html.bb-polish-v3 .bb-skip-link,
  html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog
    #sp-component > .sp-column > .blog > .article-list > .row > [class*="col-"] > .article,
  html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog
    #sp-component > .sp-column > .blog > .article-list .article-header h2 a,
  html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog
    #sp-component > .sp-column > .blog > .article-list > .row > [class*="col-"] > .article
    > :is(.article-intro-image, .article-featured-video, .article-featured-audio, .article-feature-gallery),
  html.bb-polish-v3 body.bb-news-surface.com-content.view-article
    #sp-component > .sp-column > .article-details,
  html.bb-polish-v3 body.bb-news-surface #sp-component
    :is(.bbnh-card, .bbnh-feature, .bbnh-region-grid > article),
  html.bb-polish-v3 .bb-app-dialog-brand img,
  html.bb-polish-v3 :is(.bb-app-shortcut, .bb-app-action) {
    animation: none !important;
    transition: none !important;
  }

  html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog
    #sp-component > .sp-column > .blog > .article-list > .row > [class*="col-"] > .article:hover,
  html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog
    #sp-component > .sp-column > .blog > .article-list > .row > [class*="col-"] > .article:focus-within,
  html.bb-polish-v3 body.bb-news-surface #sp-component
    :is(.bbnh-card, .bbnh-feature, .bbnh-region-grid > article):hover,
  html.bb-polish-v3 body.bb-news-surface #sp-component
    :is(.bbnh-card, .bbnh-feature, .bbnh-region-grid > article):focus-within,
  html.bb-polish-v3 body #sp-trending-searches a:hover,
  html.bb-polish-v3 body #sp-trending-searches a:focus-visible,
  html.bb-polish-v3 body #sp-main-body .bb-polish-search-cloud a:hover,
  html.bb-polish-v3 body #sp-main-body .bb-polish-search-cloud a:focus-visible,
  html.bb-polish-v3 body #sp-main-body .bb-polish-location-cloud a:hover,
  html.bb-polish-v3 body #sp-main-body .bb-polish-location-cloud a:focus-visible,
  html.bb-polish-v3 body #sp-footer ul.menu > li > a:hover,
  html.bb-polish-v3 body #sp-footer ul.menu > li > a:focus-visible,
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li > :is(a, span):hover > .bb-menu-glyph,
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li > :is(a, span):focus-visible > .bb-menu-glyph,
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li.menu-parent-open > :is(a, span) > .bb-menu-glyph,
  html.bb-polish-v3 :is(.bb-app-shortcut, .bb-app-action):hover,
  html.bb-polish-v3 :is(.bb-app-shortcut, .bb-app-action):focus-visible {
    transform: none !important;
  }

  html.bb-polish-v3::view-transition-old(root),
  html.bb-polish-v3::view-transition-new(root) {
    animation: none !important;
  }
}

:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body.site #sp-menu .sp-megamenu-parent > li > a,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body.site #sp-menu .sp-megamenu-parent > li > span,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body.site #sp-menu .sp-megamenu-parent > li > a::after,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body.site #sp-menu .sp-dropdown .sp-dropdown-inner,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body.site #sp-menu .sp-dropdown li.sp-menu-item > a,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body .offcanvas-menu .offcanvas-inner ul.menu > li,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body.offcanvas-active .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li.menu-parent-open > ul.menu-child,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu .bb-menu-glyph,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu .bb-menu-pressed > .bb-menu-glyph,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu .menu-toggler,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body #sp-trending-searches::before,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body #sp-main-body .bb-polish-search-cloud::before,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body #sp-trending-searches a,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body #sp-main-body .bb-polish-search-cloud a,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body #sp-main-body .bb-polish-location-cloud a,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body #sp-footer ul.menu > li > a,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body .bb-footer-accordion-links,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body .bb-footer-accordion-links > li > a,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body .bb-footer-accordion-group summary::after,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  .bb-skip-link,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body.bb-news-surface.com-content.view-category.layout-blog
  #sp-component > .sp-column > .blog > .article-list > .row > [class*="col-"] > .article,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body.bb-news-surface.com-content.view-category.layout-blog
  #sp-component > .sp-column > .blog > .article-list .article-header h2 a,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body.bb-news-surface.com-content.view-category.layout-blog
  #sp-component > .sp-column > .blog > .article-list > .row > [class*="col-"] > .article
  > :is(.article-intro-image, .article-featured-video, .article-featured-audio, .article-feature-gallery),
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body.bb-news-surface.com-content.view-article
  #sp-component > .sp-column > .article-details,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body.bb-news-surface #sp-component
  :is(.bbnh-card, .bbnh-feature, .bbnh-region-grid > article),
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  .bb-app-dialog-brand img,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  :is(.bb-app-shortcut, .bb-app-action) {
  animation: none !important;
  transition: none !important;
}

:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body.bb-news-surface.com-content.view-category.layout-blog
  #sp-component > .sp-column > .blog > .article-list > .row > [class*="col-"] > .article:hover,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body.bb-news-surface.com-content.view-category.layout-blog
  #sp-component > .sp-column > .blog > .article-list > .row > [class*="col-"] > .article:focus-within,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body.bb-news-surface #sp-component
  :is(.bbnh-card, .bbnh-feature, .bbnh-region-grid > article):hover,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body.bb-news-surface #sp-component
  :is(.bbnh-card, .bbnh-feature, .bbnh-region-grid > article):focus-within,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body #sp-trending-searches a:hover,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body #sp-trending-searches a:focus-visible,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body #sp-main-body .bb-polish-search-cloud a:hover,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body #sp-main-body .bb-polish-search-cloud a:focus-visible,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body #sp-main-body .bb-polish-location-cloud a:hover,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body #sp-main-body .bb-polish-location-cloud a:focus-visible,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body #sp-footer ul.menu > li > a:hover,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body #sp-footer ul.menu > li > a:focus-visible,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li > :is(a, span):hover > .bb-menu-glyph,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li > :is(a, span):focus-visible > .bb-menu-glyph,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li.menu-parent-open > :is(a, span) > .bb-menu-glyph,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  :is(.bb-app-shortcut, .bb-app-action):hover,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  :is(.bb-app-shortcut, .bb-app-action):focus-visible {
  transform: none !important;
}

:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)::view-transition-old(root),
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)::view-transition-new(root) {
  animation: none !important;
}

/* Production UI refinement — 2026-08-02. This layer is deliberately appended
   so it can refine the installed polish without changing Joomla menu records,
   component templates, event media, routes, or page-builder content. */

/* Desktop main-menu motion and icon feedback. */
@media (min-width: 1200px) {
  html.bb-polish-v3 body.site #sp-menu .sp-megamenu-parent > li > :is(a, span) {
    transition: color 0.28s ease, text-shadow 0.28s ease, transform 0.36s cubic-bezier(.2,.8,.2,1) !important;
  }

  html.bb-polish-v3 body.site #sp-menu .sp-megamenu-parent > li:hover > :is(a, span),
  html.bb-polish-v3 body.site #sp-menu .sp-megamenu-parent > li:focus-within > :is(a, span) {
    transform: translateY(-2px) !important;
  }

  html.bb-polish-v3 body.site #sp-menu .sp-megamenu-parent > li > :is(a, span) > :is(i, .fa, .fas, .far, .fab) {
    display: inline-block !important;
    transform-origin: 50% 70% !important;
    transition: color 0.25s ease, filter 0.25s ease, transform 0.48s cubic-bezier(.17,.89,.32,1.49) !important;
  }

  html.bb-polish-v3 body.site #sp-menu .sp-megamenu-parent > li:hover > :is(a, span) > :is(i, .fa, .fas, .far, .fab),
  html.bb-polish-v3 body.site #sp-menu .sp-megamenu-parent > li:focus-within > :is(a, span) > :is(i, .fa, .fas, .far, .fab) {
    color: var(--bb-polish-orange-soft) !important;
    filter: drop-shadow(0 4px 7px rgba(239,119,36,.42)) !important;
    transform: translateY(-2px) rotate(-8deg) scale(1.16) !important;
  }

  html.bb-polish-v3 body.site #sp-menu .sp-dropdown {
    transform-origin: 50% 0 !important;
  }

  html.bb-polish-v3 body.site #sp-menu .sp-dropdown li.sp-menu-item > a:hover,
  html.bb-polish-v3 body.site #sp-menu .sp-dropdown li.sp-menu-item > a:focus-visible {
    transform: translateX(5px) !important;
  }
}

/* All enhanced location/town modules now share the Connecticut card treatment. */
html.bb-polish-v3 body #sp-main-body .bb-location-quest {
  height: 100% !important;
  border-top: 4px solid var(--bb-polish-orange) !important;
  background: linear-gradient(145deg, rgba(239,119,36,.09), rgba(47,111,189,.1)), #fff !important;
}

html.bb-polish-v3 body #sp-main-body .bb-location-quest .bb-location-count-badge,
html.bb-polish-v3 body #sp-main-body .bb-location-quest .bb-location-reveal {
  border-color: rgba(47,111,189,.34) !important;
  background: linear-gradient(135deg, var(--bb-polish-orange), var(--bb-polish-blue)) !important;
  color: #fff !important;
}

html.bb-polish-v3 body #sp-main-body .bb-location-quest [id="businesslocations"] li a:hover,
html.bb-polish-v3 body #sp-main-body .bb-location-quest [id="businesslocations"] li a:focus-visible {
  color: #fff !important;
  background: linear-gradient(135deg, var(--bb-polish-orange), var(--bb-polish-blue)) !important;
  transform: translateY(-2px) scale(1.015) !important;
}

/* Denser search cloud with alternating lateral motion across visual rows. */
html.bb-polish-v3 body #sp-trending-searches,
html.bb-polish-v3 body #sp-main-body .bb-polish-search-cloud {
  margin-block: clamp(12px, 1.7vw, 24px) !important;
  padding: clamp(14px, 1.8vw, 24px) clamp(18px, 2.5vw, 34px) !important;
  line-height: 1.12 !important;
}

html.bb-polish-v3 body #sp-trending-searches :is(h1,h2,h3,h4,h5,h6),
html.bb-polish-v3 body #sp-main-body .bb-polish-search-cloud :is(h1,h2,h3,h4,h5,h6) {
  margin-bottom: 10px !important;
}

html.bb-polish-v3 body #sp-trending-searches a,
html.bb-polish-v3 body #sp-main-body .bb-polish-search-cloud a {
  min-height: 36px !important;
  margin: 3px 5px !important;
  padding-block: 6px !important;
  animation: bbSearchChipDrift 7.2s ease-in-out infinite alternate !important;
  animation-delay: -0.45s !important;
  will-change: transform !important;
}

html.bb-polish-v3 body #sp-trending-searches a:nth-of-type(even),
html.bb-polish-v3 body #sp-main-body .bb-polish-search-cloud a:nth-of-type(even) {
  animation-name: bbSearchChipDriftReverse !important;
}

@keyframes bbSearchChipDrift {
  0%, 100% { transform: translate3d(-3px, 0, 0); }
  50% { transform: translate3d(5px, -1px, 0); }
}

@keyframes bbSearchChipDriftReverse {
  0%, 100% { transform: translate3d(4px, 0, 0); }
  50% { transform: translate3d(-5px, 1px, 0); }
}

/* JBusinessDirectory filters and active selections. */
html.bb-polish-v3 body.com-jbusinessdirectory :is(.search-filter, .search-filters, .filters-container, .filter-container, #search-filter, #search-filters) {
  overflow: hidden !important;
  border: 1px solid rgba(47,111,189,.2) !important;
  border-radius: 18px !important;
  background: linear-gradient(160deg, rgba(239,119,36,.055), rgba(47,111,189,.075)), #fff !important;
  box-shadow: 0 16px 38px rgba(37,36,61,.1) !important;
}

html.bb-polish-v3 body.com-jbusinessdirectory :is(.search-filter, .search-filters, .filters-container, .filter-container, #search-filter, #search-filters) :is(h2,h3,h4,.filter-title) {
  color: var(--bb-polish-ink) !important;
  font-weight: 900 !important;
  letter-spacing: -.015em !important;
}

html.bb-polish-v3 body.com-jbusinessdirectory :is(.filter-criteria, .filter-section, .filter-group, .search-filter-section) {
  padding-block: 13px !important;
  border-bottom-color: rgba(47,111,189,.14) !important;
}

html.bb-polish-v3 body.com-jbusinessdirectory :is(.applied-filter, .applied-filters, .selected-filter, .selected-criteria, .filter-selected) :is(a,button,span),
html.bb-polish-v3 body.com-jbusinessdirectory :is(.search-filter, .search-filters) [class*="selected"] {
  border: 1px solid rgba(239,119,36,.32) !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--bb-polish-orange), var(--bb-polish-blue)) !important;
  box-shadow: 0 7px 15px rgba(47,111,189,.18) !important;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
}

html.bb-polish-v3 body.com-jbusinessdirectory :is(.search-filter, .search-filters, .filters-container, .filter-container) a:hover,
html.bb-polish-v3 body.com-jbusinessdirectory :is(.search-filter, .search-filters, .filters-container, .filter-container) a:focus-visible {
  color: var(--bb-polish-orange-deep) !important;
  transform: translateX(3px) !important;
}

/* News landing subcategories: full-width, two-column card rows. */
html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog #sp-component > .sp-column > .blog > p:first-child {
  margin: 0 0 18px !important;
  padding: 14px 18px !important;
  border-left: 5px solid var(--bb-polish-orange) !important;
  border-radius: 0 14px 14px 0 !important;
  color: #3b4657 !important;
  background: linear-gradient(90deg, rgba(239,119,36,.1), rgba(47,111,189,.075)) !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog #sp-component > .sp-column > .blog > .cat-children {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px !important;
  width: 100% !important;
  max-width: none !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog #sp-component > .sp-column > .blog > .cat-children > h3 {
  grid-column: 1 / -1 !important;
  margin: 0 !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog #sp-component > .sp-column > .blog > .cat-children > :not(h3) {
  min-width: 0 !important;
  padding: clamp(16px,2vw,24px) !important;
  border: 1px solid rgba(47,111,189,.18) !important;
  border-top: 4px solid var(--bb-polish-orange) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 14px 32px rgba(37,36,61,.1) !important;
}

/* Orange/blue replaces the green accent authority throughout news. */
html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog #sp-component .article-list .article:hover,
html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog #sp-component .article-list .article:focus-within,
html.bb-polish-v3 body.bb-news-surface #sp-component :is(.bbnh-card,.bbnh-feature,.bbnh-region-grid > article):hover,
html.bb-polish-v3 body.bb-news-surface #sp-component :is(.bbnh-card,.bbnh-feature,.bbnh-region-grid > article):focus-within {
  border-color: rgba(47,111,189,.56) !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog #sp-component .article-header h2 a {
  background-image: linear-gradient(90deg, var(--bb-polish-orange), var(--bb-polish-blue)) !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog #sp-component .article-header h2 a:hover,
html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog #sp-component .article-header h2 a:focus-visible {
  color: #235d9c !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog #sp-component .featured-article-badge {
  background: linear-gradient(135deg, var(--bb-polish-orange), var(--bb-polish-blue)) !important;
  box-shadow: 0 7px 16px rgba(47,111,189,.2) !important;
}

html.bb-polish-v3 body.bb-news-surface.com-content.view-article #sp-component [itemprop="articleBody"] blockquote {
  border-left-color: var(--bb-polish-orange) !important;
  background: linear-gradient(135deg, rgba(239,119,36,.09), rgba(47,111,189,.09)) !important;
}

/* Pizza War News route: deterministic card grid even before deferred polish JS
   adds bb-news-surface. This fixes the one route-specific flash/mismatch. */
html.bb-polish-v3 body.itemid-3465.com-content.view-category.layout-blog #sp-component > .sp-column > .blog > .article-list > .row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: clamp(18px,2.3vw,30px) !important;
  margin: 0 !important;
}

html.bb-polish-v3 body.itemid-3465.com-content.view-category.layout-blog #sp-component > .sp-column > .blog > .article-list > .row > [class*="col-"] {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

html.bb-polish-v3 body.itemid-3465.com-content.view-category.layout-blog #sp-component .article-list .article {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  overflow: hidden !important;
  border: 1px solid rgba(47,111,189,.18) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 14px 34px rgba(37,36,61,.11) !important;
}

/* Latest Community Videos: equal card bottoms, stronger styling and motion. */
html.bb-polish-v3 body .center-video-module .mod-es-videos-responsive-grid > .mod-es-videos-responsive-item {
  display: flex !important;
  animation: bbVideoCardIn .55s cubic-bezier(.2,.8,.2,1) both !important;
}

html.bb-polish-v3 body .center-video-module .mod-es-videos-responsive-grid > .mod-es-videos-responsive-item:nth-child(2n) { animation-delay: .06s !important; }
html.bb-polish-v3 body .center-video-module .mod-es-videos-responsive-grid > .mod-es-videos-responsive-item:nth-child(3n) { animation-delay: .12s !important; }

html.bb-polish-v3 body .center-video-module .mod-card {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-width: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
  border: 1px solid rgba(47,111,189,.24) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 12px 28px rgba(37,36,61,.12) !important;
  transition: transform .32s cubic-bezier(.2,.8,.2,1), box-shadow .32s ease, border-color .32s ease !important;
}

html.bb-polish-v3 body .center-video-module .mod-card:hover,
html.bb-polish-v3 body .center-video-module .mod-card:focus-within {
  border-color: rgba(239,119,36,.62) !important;
  box-shadow: 0 22px 42px rgba(37,36,61,.18) !important;
  transform: translateY(-7px) rotate(.25deg) !important;
}

html.bb-polish-v3 body .center-video-module .mod-card__context {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
}

html.bb-polish-v3 body .center-video-module .mod-card__context > .g-list-inline {
  margin-top: auto !important;
}

html.bb-polish-v3 body .center-video-module .es-card__ft {
  margin-top: auto !important;
  border-top: 0 !important;
  background: linear-gradient(100deg, #25243d, #2f6fbd) !important;
  color: #fff !important;
}

html.bb-polish-v3 body .center-video-module .mod-card__cover {
  transition: transform .55s cubic-bezier(.2,.8,.2,1), filter .35s ease !important;
}

html.bb-polish-v3 body .center-video-module .mod-card:hover .mod-card__cover,
html.bb-polish-v3 body .center-video-module .mod-card:focus-within .mod-card__cover {
  filter: saturate(1.12) contrast(1.04) !important;
  transform: scale(1.055) !important;
}

@keyframes bbVideoCardIn {
  from { opacity: 0; transform: translateY(18px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

/* EasySocial community activity feed. Docker/header/profile UI are excluded. */
html.bb-polish-v3 body.com-easysocial.view-dashboard #es :is(.es-stream-item,[data-stream-id],.es-stream-list > li):not(:has(.es-docker)) {
  overflow: hidden !important;
  margin-bottom: 18px !important;
  border: 1px solid rgba(47,111,189,.18) !important;
  border-radius: 18px !important;
  background: linear-gradient(155deg, rgba(255,255,255,.99), rgba(246,249,255,.98)) !important;
  box-shadow: 0 14px 34px rgba(37,36,61,.1) !important;
  transition: transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease, border-color .3s ease !important;
}

html.bb-polish-v3 body.com-easysocial.view-dashboard #es :is(.es-stream-item,[data-stream-id],.es-stream-list > li):hover,
html.bb-polish-v3 body.com-easysocial.view-dashboard #es :is(.es-stream-item,[data-stream-id],.es-stream-list > li):focus-within {
  border-color: rgba(239,119,36,.48) !important;
  box-shadow: 0 22px 46px rgba(37,36,61,.15) !important;
  transform: translateY(-4px) !important;
}

html.bb-polish-v3 body.com-easysocial.view-dashboard #es :is(.es-stream-item,[data-stream-id],.es-stream-list > li) :is(.es-stream-meta,.es-stream-actions,.es-stream-counter) {
  background: linear-gradient(90deg, rgba(239,119,36,.055), rgba(47,111,189,.075)) !important;
}

html.bb-polish-v3 body.com-easysocial.view-dashboard #es :is(.es-stream-item,[data-stream-id],.es-stream-list > li) img {
  transition: transform .4s ease, filter .35s ease !important;
}

html.bb-polish-v3 body.com-easysocial.view-dashboard #es :is(.es-stream-item,[data-stream-id],.es-stream-list > li):hover img {
  filter: saturate(1.06) contrast(1.02) !important;
}

.bb-infinite-status {
  width: 100% !important;
  min-height: 32px !important;
  padding: 8px 12px !important;
  color: #365477 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  text-align: center !important;
}

/* Footer: remove remaining green authority and make every accordion/menu group
   use the same orange-and-blue system. */
html.bb-polish-v3 body .bb-footer-accordion-group > details {
  border-color: rgba(47,111,189,.42) !important;
  border-left: 4px solid var(--bb-polish-orange) !important;
  background: linear-gradient(110deg, rgba(239,119,36,.09), rgba(47,111,189,.08)), rgba(255,255,255,.045) !important;
}

html.bb-polish-v3 body .bb-footer-accordion-group:nth-child(even) > details {
  border-left-color: var(--bb-polish-blue-soft) !important;
}

html.bb-polish-v3 body #sp-footer ul.menu > li:nth-child(3n) > a,
html.bb-polish-v3 body .bb-footer-accordion-links > li:nth-child(3n) > a {
  border-color: rgba(239,119,36,.46) !important;
}

html.bb-polish-v3 body .bb-footer-accordion-links > li > a {
  transition: transform .24s cubic-bezier(.2,.8,.2,1), background .24s ease, border-color .24s ease, box-shadow .24s ease !important;
}

html.bb-polish-v3 body .bb-footer-accordion-links > li > a:hover,
html.bb-polish-v3 body .bb-footer-accordion-links > li > a:focus-visible {
  border-color: rgba(239,119,36,.76) !important;
  background: linear-gradient(135deg, rgba(239,119,36,.28), rgba(47,111,189,.3)) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.18) !important;
  transform: translateY(-3px) scale(1.015) !important;
}

@media (max-width: 767.98px) {
  html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog #sp-component > .sp-column > .blog > .cat-children,
  html.bb-polish-v3 body.itemid-3465.com-content.view-category.layout-blog #sp-component > .sp-column > .blog > .article-list > .row {
    grid-template-columns: minmax(0,1fr) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.bb-polish-v3 body #sp-trending-searches a,
  html.bb-polish-v3 body #sp-main-body .bb-polish-search-cloud a,
  html.bb-polish-v3 body .center-video-module .mod-es-videos-responsive-grid > .mod-es-videos-responsive-item,
  html.bb-polish-v3 body .center-video-module .mod-card,
  html.bb-polish-v3 body .center-video-module .mod-card__cover,
  html.bb-polish-v3 body.com-easysocial.view-dashboard #es :is(.es-stream-item,[data-stream-id],.es-stream-list > li),
  html.bb-polish-v3 body.site #sp-menu .sp-megamenu-parent > li > :is(a,span,i),
  html.bb-polish-v3 body .bb-footer-accordion-links > li > a {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

/* BISTRO BUDDY POPUP SHELL REPAIR START */
/* Preserve the new popup interior UI; repair only the legacy SqueezeBox shell. */
#sbox-window:has(#sbox-content.sbox-content-iframe),
#sbox-window:has(#sbox-content > iframe),
#sbox-window:has(#sbox-content form),
#sbox-window:has(#sbox-content .jbd-container),
#sbox-window:has(#sbox-content [class*="jbusiness"]),
#sbox-window:has(#sbox-content [class*="event"] form) {
  position: fixed !important;
  inset: auto !important;
  left: 50% !important;
  top: 50% !important;
  width: min(540px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  max-height: calc(100dvh - 32px) !important;
  margin: 0 !important;
  padding: 10px !important;
  transform: translate(-50%, -50%) !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  background: rgba(8, 12, 18, 0.70) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 18px !important;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.42) !important;
  -webkit-backdrop-filter: blur(14px) saturate(125%) !important;
  backdrop-filter: blur(14px) saturate(125%) !important;
}

#sbox-window:has(#sbox-content.sbox-content-iframe) #sbox-content,
#sbox-window:has(#sbox-content > iframe) #sbox-content,
#sbox-window:has(#sbox-content form) #sbox-content,
#sbox-window:has(#sbox-content .jbd-container) #sbox-content,
#sbox-window:has(#sbox-content [class*="jbusiness"]) #sbox-content,
#sbox-window:has(#sbox-content [class*="event"] form) #sbox-content {
  width: 100% !important;
  max-width: 100% !important;
  max-height: calc(100dvh - 52px) !important;
  box-sizing: border-box !important;
  overflow: auto !important;
  background: transparent !important;
  border-radius: 14px !important;
}

#sbox-window:has(#sbox-content.sbox-content-iframe) #sbox-content > iframe,
#sbox-window:has(#sbox-content > iframe) #sbox-content > iframe {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  border: 0 !important;
  background: transparent !important;
}

#sbox-overlay {
  background: rgba(4, 8, 13, 0.58) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  backdrop-filter: blur(4px) !important;
}

@media (max-width: 640px) {
  #sbox-window:has(#sbox-content.sbox-content-iframe),
  #sbox-window:has(#sbox-content > iframe),
  #sbox-window:has(#sbox-content form),
  #sbox-window:has(#sbox-content .jbd-container),
  #sbox-window:has(#sbox-content [class*="jbusiness"]),
  #sbox-window:has(#sbox-content [class*="event"] form) {
    width: calc(100vw - 18px) !important;
    max-width: calc(100vw - 18px) !important;
    max-height: calc(100dvh - 18px) !important;
    padding: 6px !important;
    border-radius: 14px !important;
  }

  #sbox-window:has(#sbox-content.sbox-content-iframe) #sbox-content,
  #sbox-window:has(#sbox-content > iframe) #sbox-content,
  #sbox-window:has(#sbox-content form) #sbox-content,
  #sbox-window:has(#sbox-content .jbd-container) #sbox-content,
  #sbox-window:has(#sbox-content [class*="jbusiness"]) #sbox-content,
  #sbox-window:has(#sbox-content [class*="event"] form) #sbox-content {
    max-height: calc(100dvh - 30px) !important;
    border-radius: 10px !important;
  }
}
/* BISTRO BUDDY POPUP SHELL REPAIR END */
/* BISTRO BUDDY DEEP UI CONSISTENCY PASS — 2026-08-02 */
html.bb-polish-v3 {
  --bb-polish-green: var(--bb-polish-blue) !important;
  --bb-polish-green-bright: var(--bb-polish-orange) !important;
  --bb-polish-green-deep: #205a9f !important;
}

/* Give every Food & Drink region the same card, search, and chip treatment. */
html.bb-polish-v3 body #sp-main-body :is(.bb-polish-location-cloud, .sp-module:has([id="businesslocations"])) {
  position: relative !important;
  height: 100% !important;
  margin-block: clamp(14px, 2vw, 26px) !important;
  padding: clamp(15px, 2vw, 24px) !important;
  border: 1px solid rgba(47, 111, 189, .2) !important;
  border-top: 5px solid var(--bb-polish-orange) !important;
  border-radius: 22px !important;
  background: radial-gradient(circle at 100% 0, rgba(47,111,189,.12), transparent 42%), linear-gradient(145deg, rgba(255,106,0,.08), rgba(47,111,189,.08)), #fff !important;
  box-shadow: 0 16px 38px rgba(37,36,61,.11) !important;
  overflow: hidden !important;
}

html.bb-polish-v3 body #sp-main-body :is(.bb-polish-location-cloud, .sp-module:has([id="businesslocations"]))::after {
  content: "" !important;
  position: absolute !important;
  inset: auto -42px -52px auto !important;
  width: 150px !important;
  height: 150px !important;
  border: 18px solid rgba(255,106,0,.08) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
}

html.bb-polish-v3 body #sp-main-body :is(.bb-polish-location-cloud, .sp-module:has([id="businesslocations"])) > .sp-module-title {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px 12px !important;
  margin: 0 0 12px !important;
  color: var(--bb-polish-ink) !important;
  font-weight: 900 !important;
  letter-spacing: -.025em !important;
}

html.bb-polish-v3 body #sp-main-body :is(.bb-polish-location-cloud, .sp-module:has([id="businesslocations"])) .sp-module-content,
html.bb-polish-v3 body #sp-main-body :is(.bb-polish-location-cloud, .sp-module:has([id="businesslocations"])) [id="businesslocations"] {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  max-width: none !important;
}

html.bb-polish-v3 body #sp-main-body :is(.bb-polish-location-cloud, .sp-module:has([id="businesslocations"])) .locations-content > ul,
html.bb-polish-v3 body #sp-main-body :is(.bb-polish-location-cloud, .sp-module:has([id="businesslocations"])) [id="businesslocations"] > ul {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 9px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html.bb-polish-v3 body #sp-main-body :is(.bb-polish-location-cloud, .sp-module:has([id="businesslocations"])) .locations-content > ul > li,
html.bb-polish-v3 body #sp-main-body :is(.bb-polish-location-cloud, .sp-module:has([id="businesslocations"])) [id="businesslocations"] li {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html.bb-polish-v3 body #sp-main-body :is(.bb-polish-location-cloud, .sp-module:has([id="businesslocations"])) .locations-content > ul > li.location-region,
html.bb-polish-v3 body #sp-main-body :is(.bb-polish-location-cloud, .sp-module:has([id="businesslocations"])) [id="businesslocations"] li.location-region {
  grid-column: 1 / -1 !important;
  margin-bottom: 3px !important;
}

html.bb-polish-v3 body #sp-main-body :is(.bb-polish-location-cloud, .sp-module:has([id="businesslocations"])) [id="businesslocations"] li > a {
  display: block !important;
  min-height: 38px !important;
  padding: 9px 11px !important;
  border: 1px solid rgba(47,111,189,.19) !important;
  border-radius: 12px !important;
  color: var(--bb-polish-ink) !important;
  background: rgba(255,255,255,.9) !important;
  box-shadow: 0 5px 13px rgba(37,36,61,.06) !important;
  font-weight: 750 !important;
  line-height: 1.15 !important;
  text-decoration: none !important;
  transition: transform .24s cubic-bezier(.2,.8,.2,1), color .24s ease, background .24s ease, box-shadow .24s ease, border-color .24s ease !important;
}

html.bb-polish-v3 body #sp-main-body :is(.bb-polish-location-cloud, .sp-module:has([id="businesslocations"])) [id="businesslocations"] li:nth-child(4n + 1):not(.location-region) > a {
  border-left: 4px solid var(--bb-polish-orange) !important;
}

html.bb-polish-v3 body #sp-main-body :is(.bb-polish-location-cloud, .sp-module:has([id="businesslocations"])) [id="businesslocations"] li:nth-child(4n + 2):not(.location-region) > a {
  border-left: 4px solid var(--bb-polish-blue) !important;
}

html.bb-polish-v3 body #sp-main-body :is(.bb-polish-location-cloud, .sp-module:has([id="businesslocations"])) [id="businesslocations"] li.location-region > a,
html.bb-polish-v3 body #sp-main-body :is(.bb-polish-location-cloud, .sp-module:has([id="businesslocations"])) [id="businesslocations"] li.location-region a {
  border: 0 !important;
  color: #fff !important;
  background: linear-gradient(105deg, var(--bb-polish-orange), var(--bb-polish-blue)) !important;
  box-shadow: 0 9px 20px rgba(47,111,189,.2) !important;
  font-weight: 900 !important;
}

html.bb-polish-v3 body #sp-main-body :is(.bb-polish-location-cloud, .sp-module:has([id="businesslocations"])) [id="businesslocations"] li > a:hover,
html.bb-polish-v3 body #sp-main-body :is(.bb-polish-location-cloud, .sp-module:has([id="businesslocations"])) [id="businesslocations"] li > a:focus-visible {
  color: #fff !important;
  border-color: var(--bb-polish-orange) !important;
  background: linear-gradient(105deg, var(--bb-polish-orange), var(--bb-polish-blue)) !important;
  box-shadow: 0 12px 24px rgba(47,111,189,.22) !important;
  transform: translateY(-3px) !important;
}

html.bb-polish-v3 body #sp-main-body .bb-location-tools {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  margin: 0 0 12px !important;
}

html.bb-polish-v3 body #sp-main-body .bb-location-tools input {
  width: 100% !important;
  min-height: 42px !important;
  padding: 9px 14px !important;
  border: 1px solid rgba(47,111,189,.23) !important;
  border-radius: 999px !important;
  color: var(--bb-polish-ink) !important;
  background: #fff !important;
  box-shadow: inset 0 0 0 3px rgba(47,111,189,.035) !important;
}

html.bb-polish-v3 body #sp-main-body .bb-location-tools input:focus {
  border-color: var(--bb-polish-orange) !important;
  outline: 3px solid rgba(255,106,0,.16) !important;
  outline-offset: 1px !important;
}

html.bb-polish-v3 body #sp-main-body .bb-location-count-badge,
html.bb-polish-v3 body #sp-main-body .bb-location-reveal {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 30px !important;
  padding: 5px 11px !important;
  border: 1px solid rgba(47,111,189,.24) !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--bb-polish-orange), var(--bb-polish-blue)) !important;
  box-shadow: 0 6px 14px rgba(47,111,189,.17) !important;
  font-size: .75rem !important;
  font-weight: 900 !important;
}

html.bb-polish-v3 body #sp-main-body .bb-location-reveal {
  margin-top: 12px !important;
  cursor: pointer !important;
  transition: transform .22s ease, filter .22s ease !important;
}

html.bb-polish-v3 body #sp-main-body .bb-location-reveal:hover,
html.bb-polish-v3 body #sp-main-body .bb-location-reveal:focus-visible {
  filter: brightness(1.08) saturate(1.08) !important;
  transform: translateY(-2px) !important;
}

html.bb-polish-v3 body #sp-main-body .bb-location-quest .bb-location-hidden {
  display: none !important;
}

@media (max-width: 767.98px) {
  html.bb-polish-v3 body #sp-main-body :is(.bb-polish-location-cloud, .sp-module:has([id="businesslocations"])) {
    padding: 14px !important;
    border-radius: 18px !important;
  }

  html.bb-polish-v3 body #sp-main-body :is(.bb-polish-location-cloud, .sp-module:has([id="businesslocations"])) .locations-content > ul,
  html.bb-polish-v3 body #sp-main-body :is(.bb-polish-location-cloud, .sp-module:has([id="businesslocations"])) [id="businesslocations"] > ul {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
}

@media (max-width: 420px) {
  html.bb-polish-v3 body #sp-main-body :is(.bb-polish-location-cloud, .sp-module:has([id="businesslocations"])) .locations-content > ul,
  html.bb-polish-v3 body #sp-main-body :is(.bb-polish-location-cloud, .sp-module:has([id="businesslocations"])) [id="businesslocations"] > ul {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* LOCATION CARD PASS END */

/* Remove the remaining green drift from the shared navigation and footer. */
html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu {
  scrollbar-color: var(--bb-polish-orange) rgba(255,255,255,.08) !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li,
html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li:nth-child(3n + 2),
html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li:nth-child(3n) {
  border-color: rgba(255,255,255,.16) !important;
  border-left-color: var(--bb-polish-orange) !important;
  background: linear-gradient(110deg, rgba(255,106,0,.16), rgba(47,111,189,.08) 58%, rgba(255,255,255,.04)) !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li:nth-child(3n + 2) {
  border-left-color: var(--bb-polish-blue) !important;
  background: linear-gradient(110deg, rgba(47,111,189,.18), rgba(255,106,0,.07) 58%, rgba(255,255,255,.04)) !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li:nth-child(3n) {
  border-left-color: var(--bb-polish-orange-soft) !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu .bb-menu-glyph {
  border-color: rgba(255,106,0,.34) !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--bb-polish-orange), var(--bb-polish-blue)) !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu .menu-toggler {
  border-color: rgba(47,111,189,.44) !important;
  color: #fff !important;
  background: linear-gradient(135deg, rgba(255,106,0,.9), rgba(47,111,189,.9)) !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu ul.menu-child,
html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu ul.menu-child ul.menu-child {
  border-color: rgba(47,111,189,.22) !important;
  background: linear-gradient(145deg, rgba(255,106,0,.08), rgba(47,111,189,.12)) !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu ul.menu-child > li {
  border-left-color: rgba(47,111,189,.42) !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu ul.menu-child > li:hover,
html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu ul.menu-child > li:focus-within,
html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu li.menu-parent-open > :is(a, span) > .menu-toggler {
  border-left-color: var(--bb-polish-orange) !important;
  background: linear-gradient(90deg, rgba(255,106,0,.18), rgba(47,111,189,.14)) !important;
}

html.bb-polish-v3 body #sp-footer ul.menu > li:nth-child(3n + 1) > a,
html.bb-polish-v3 body #sp-footer ul.menu > li:nth-child(3n + 2) > a,
html.bb-polish-v3 body #sp-footer ul.menu > li:nth-child(3n) > a {
  border-color: rgba(47,111,189,.36) !important;
  color: rgba(255,255,255,.92) !important;
}

html.bb-polish-v3 body #sp-footer ul.menu > li:nth-child(3n + 1) > a,
html.bb-polish-v3 body #sp-footer ul.menu > li:nth-child(3n) > a {
  border-left-color: var(--bb-polish-orange) !important;
}

html.bb-polish-v3 body #sp-footer ul.menu > li:nth-child(3n + 2) > a {
  border-left-color: var(--bb-polish-blue) !important;
}

html.bb-polish-v3 body #sp-footer .bb-footer-accordion-group > details {
  border-color: rgba(47,111,189,.32) !important;
  background: linear-gradient(145deg, rgba(255,106,0,.08), rgba(47,111,189,.12)) !important;
  box-shadow: 0 10px 24px rgba(9,18,35,.16) !important;
}

html.bb-polish-v3 body #sp-footer .bb-footer-accordion-group summary {
  color: #fff !important;
  background: linear-gradient(100deg, rgba(255,106,0,.2), rgba(47,111,189,.2)) !important;
}

html.bb-polish-v3 body #sp-footer .bb-footer-accordion-group details[open] > summary {
  border-bottom: 2px solid var(--bb-polish-orange) !important;
}

html.bb-polish-v3 body #sp-footer .bb-footer-accordion-links > li > a {
  border-left: 3px solid rgba(47,111,189,.55) !important;
  color: rgba(255,255,255,.86) !important;
  transition: transform .22s ease, color .22s ease, border-color .22s ease, background .22s ease !important;
}

html.bb-polish-v3 body #sp-footer .bb-footer-accordion-links > li > a:hover,
html.bb-polish-v3 body #sp-footer .bb-footer-accordion-links > li > a:focus-visible {
  border-left-color: var(--bb-polish-orange) !important;
  color: #fff !important;
  background: linear-gradient(90deg, rgba(255,106,0,.16), rgba(47,111,189,.1)) !important;
  transform: translateX(4px) !important;
}

/* The responsive grid has a production suffix such as --508. */
html.bb-polish-v3 body .center-video-module :is([class*="mod-es-videos-responsive-grid"]) > .mod-es-videos-responsive-item {
  display: flex !important;
  align-items: stretch !important;
  min-width: 0 !important;
  animation: bbVideoCardIn .55s cubic-bezier(.2,.8,.2,1) both !important;
}

html.bb-polish-v3 body .center-video-module :is([class*="mod-es-videos-responsive-grid"]) > .mod-es-videos-responsive-item:nth-child(2n) { animation-delay: .06s !important; }
html.bb-polish-v3 body .center-video-module :is([class*="mod-es-videos-responsive-grid"]) > .mod-es-videos-responsive-item:nth-child(3n) { animation-delay: .12s !important; }

html.bb-polish-v3 body .center-video-module .mod-card,
html.bb-polish-v3 body .center-video-module .mod-card__context {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  height: 100% !important;
}

html.bb-polish-v3 body .center-video-module .mod-card {
  flex: 1 1 auto !important;
  overflow: hidden !important;
  border: 1px solid rgba(47,111,189,.24) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 12px 28px rgba(37,36,61,.12) !important;
  transition: transform .32s cubic-bezier(.2,.8,.2,1), box-shadow .32s ease, border-color .32s ease !important;
}

html.bb-polish-v3 body .center-video-module .mod-card:hover,
html.bb-polish-v3 body .center-video-module .mod-card:focus-within {
  border-color: rgba(255,106,0,.7) !important;
  box-shadow: 0 22px 42px rgba(37,36,61,.18) !important;
  transform: translateY(-7px) !important;
}

html.bb-polish-v3 body .center-video-module .mod-card__context > :is(.mod-es-videos-description, [class*="description"]) {
  flex: 1 1 auto !important;
}

html.bb-polish-v3 body .center-video-module .es-card__ft {
  display: flex !important;
  align-items: center !important;
  min-height: 44px !important;
  margin-top: auto !important;
  border-top: 0 !important;
  color: #fff !important;
  background: linear-gradient(100deg, var(--bb-polish-ink), var(--bb-polish-blue)) !important;
}

/* Keep the empty-category notice and its single child balanced. */
html.bb-polish-v3 body.bb-news-surface.com-content.view-category.layout-blog #sp-component > .sp-column > .blog > .cat-children > :not(h3):only-child,
html.bb-polish-v3 body.itemid-3465.com-content.view-category.layout-blog #sp-component > .sp-column > .blog > .cat-children > :not(h3):only-child {
  grid-column: 1 / -1 !important;
}

html.bb-polish-v3 body.bb-news-surface #sp-component :is(.article, .article-list .article, .bbnh-card, .bbnh-feature) {
  border-color: rgba(47,111,189,.2) !important;
  background: linear-gradient(145deg, rgba(255,106,0,.035), rgba(47,111,189,.055)), #fff !important;
  transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease !important;
}

html.bb-polish-v3 body.bb-news-surface #sp-component :is(.article, .article-list .article, .bbnh-card, .bbnh-feature):hover,
html.bb-polish-v3 body.bb-news-surface #sp-component :is(.article, .article-list .article, .bbnh-card, .bbnh-feature):focus-within {
  border-color: rgba(255,106,0,.56) !important;
  box-shadow: 0 18px 36px rgba(37,36,61,.16) !important;
  transform: translateY(-4px) !important;
}

/* Make AJAX activity visible without changing the underlying provider. */
html.bb-polish-v3 body .bb-infinite-status {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  width: fit-content !important;
  max-width: calc(100% - 24px) !important;
  margin: 16px auto !important;
  padding: 8px 14px !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  border: 1px solid rgba(47,111,189,.26) !important;
  border-radius: 999px !important;
  color: var(--bb-polish-ink) !important;
  background: linear-gradient(100deg, rgba(255,106,0,.1), rgba(47,111,189,.12)) !important;
  font-size: .8rem !important;
  font-weight: 800 !important;
  text-align: center !important;
}

@media (prefers-reduced-motion: reduce) {
  html.bb-polish-v3 body .center-video-module :is([class*="mod-es-videos-responsive-grid"]) > .mod-es-videos-responsive-item,
  html.bb-polish-v3 body .center-video-module .mod-card,
  html.bb-polish-v3 body.bb-news-surface #sp-component :is(.article, .article-list .article, .bbnh-card, .bbnh-feature),
  html.bb-polish-v3 body #sp-main-body :is(.bb-polish-location-cloud, .sp-module:has([id="businesslocations"])) [id="businesslocations"] li > a {
    animation: none !important;
    transition: none !important;
  }
}

/* END BISTRO BUDDY DEEP UI CONSISTENCY PASS */

/* BISTRO BUDDY REGISTRATION INTEGRATED CSS START */
/* BISTRO BUDDY REGISTRATION MODERNIZER — 2026-08-02 */
html.bb-registration-page{--bb-orange:#ff7a18;--bb-orange2:#ffb14a;--bb-blue:#1d9bf0;--bb-blue2:#69caff;--bb-ink:#17283f;--bb-muted:#5b6e86;--bb-line:rgba(58,97,140,.17);--bb-shadow:0 22px 70px rgba(6,20,39,.18)}
html.bb-registration-page body{overflow-x:hidden}
html.bb-registration-page #sp-main-body{position:relative;isolation:isolate}
html.bb-registration-page #sp-main-body:before{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 8% 18%,rgba(29,155,240,.13),transparent 28rem),radial-gradient(circle at 90% 32%,rgba(255,122,24,.12),transparent 30rem);pointer-events:none}
.bb-registration-modernized,.bb-registration-modernized *{box-sizing:border-box}
.bb-registration-modernized{position:relative;width:min(1480px,calc(100% - 24px));margin:auto;padding:14px 0 42px}
.bb-registration-modernized .bb-register-original-heading{width:min(900px,100%);margin:34px auto 18px!important;color:#17263a!important;font-size:clamp(1.55rem,3vw,2.35rem)!important;line-height:1.08!important;letter-spacing:-.035em!important;text-align:center!important}
.bb-register-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(24px,5vw,72px);align-items:end;min-height:380px;padding:clamp(30px,6vw,76px);overflow:hidden;border:1px solid rgba(121,188,255,.26);border-radius:clamp(22px,4vw,38px);background:linear-gradient(135deg,rgba(8,18,34,.99),rgba(5,12,25,.97) 48%,rgba(17,15,36,.98)),#07111f;box-shadow:0 24px 80px rgba(2,7,16,.42),inset 0 1px rgba(255,255,255,.08);isolation:isolate}
.bb-register-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent 0 49.5%,rgba(99,199,255,.05) 49.5% 50.5%,transparent 50.5%),linear-gradient(transparent 0 49.5%,rgba(99,199,255,.04) 49.5% 50.5%,transparent 50.5%);background-size:62px 62px;transform:perspective(420px) rotateX(58deg) scale(1.35) translateY(26%);transform-origin:center bottom;mask-image:linear-gradient(to bottom,transparent,#000 32%,#000);opacity:.8}
.bb-register-hero:after{content:"";position:absolute;z-index:-1;top:0;left:-10%;width:52%;height:5px;background:linear-gradient(90deg,transparent,var(--bb-blue2),var(--bb-orange),transparent);filter:blur(1px) drop-shadow(0 0 16px rgba(74,181,255,.75));animation:bbRegScan 7s linear infinite}
.bb-register-grid{position:absolute;inset:0;z-index:-1;opacity:.35;background-image:radial-gradient(circle,rgba(255,255,255,.62) 0 1px,transparent 1.5px),radial-gradient(circle,rgba(255,142,49,.62) 0 1px,transparent 1.5px);background-position:0 0,25px 25px;background-size:50px 50px;mask-image:radial-gradient(circle at 35% 50%,#000,transparent 75%)}
.bb-register-orb{position:absolute;z-index:-1;width:260px;aspect-ratio:1;border-radius:50%;filter:blur(4px);opacity:.5;pointer-events:none;animation:bbRegFloat 9s ease-in-out infinite}
.bb-register-orb.is-one{right:8%;top:-120px;background:radial-gradient(circle at 35% 35%,rgba(99,199,255,.85),rgba(29,155,240,.13) 48%,transparent 70%)}
.bb-register-orb.is-two{left:40%;bottom:-190px;width:340px;background:radial-gradient(circle at 50% 20%,rgba(255,173,66,.75),rgba(255,122,24,.12) 46%,transparent 72%);animation-delay:-3s}
.bb-register-hero-copy,.bb-register-steps{position:relative;z-index:2}
.bb-register-eyebrow{display:inline-flex;gap:10px;align-items:center;margin:0 0 18px!important;color:var(--bb-blue2)!important;font-size:.78rem!important;font-weight:900!important;letter-spacing:.18em}
.bb-register-eyebrow span{color:var(--bb-orange);text-shadow:0 0 14px rgba(255,122,24,.82);animation:bbRegPulse 1.8s ease-in-out infinite}
.bb-register-hero h1{max-width:820px;margin:0!important;color:#fff!important;font-size:clamp(2.5rem,6vw,5.8rem)!important;line-height:.92!important;letter-spacing:-.065em!important;text-wrap:balance}
.bb-register-hero h1 strong{display:block;width:fit-content;margin-top:12px;color:transparent;background:linear-gradient(90deg,var(--bb-orange2),#fff3df 38%,var(--bb-blue2) 82%);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 6px 22px rgba(29,155,240,.2))}
.bb-register-lede{max-width:760px;margin:24px 0 0!important;color:#c7d5e8!important;font-size:clamp(1rem,1.7vw,1.2rem)!important;line-height:1.7!important}
.bb-register-trust{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.bb-register-trust span{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border:1px solid rgba(122,196,255,.18);border-radius:999px;color:#dbe8f8;background:rgba(255,255,255,.055);font-size:.79rem;font-weight:800}
.bb-register-steps{display:grid;gap:12px;align-self:center;margin:0;padding:0;list-style:none}
.bb-register-steps li{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:center;min-height:68px;padding:10px 16px 10px 10px;border:1px solid rgba(255,255,255,.1);border-radius:16px;color:#93a5bc;background:rgba(255,255,255,.035)}
.bb-register-steps li span{display:grid;place-items:center;width:48px;aspect-ratio:1;border:1px solid rgba(255,255,255,.14);border-radius:13px;color:#adc1d8;background:rgba(0,0,0,.2);font-size:.72rem;font-weight:900;letter-spacing:.08em}
.bb-register-steps li strong{font-size:.88rem}.bb-register-steps li.is-active{border-color:rgba(99,199,255,.46);color:#fff;background:linear-gradient(90deg,rgba(29,155,240,.2),rgba(255,122,24,.08));box-shadow:0 0 32px rgba(29,155,240,.1)}
.bb-register-steps li.is-active span{border-color:rgba(255,173,66,.72);color:#08111f;background:linear-gradient(135deg,var(--bb-orange2),var(--bb-orange));box-shadow:0 0 24px rgba(255,122,24,.28)}
.bb-register-filterbar{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:min(1120px,100%);margin:0 auto 28px;padding:10px;border:1px solid rgba(29,155,240,.18);border-radius:18px;background:rgba(247,251,255,.9);box-shadow:0 12px 36px rgba(14,34,58,.08);backdrop-filter:blur(14px)}
.bb-register-filter-label{display:inline-flex;align-items:center;padding:8px 12px;color:#51637a;font-size:.76rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.bb-register-filter{min-height:42px;padding:9px 15px;border:1px solid rgba(40,79,120,.12);border-radius:12px;color:#32465f;background:#fff;box-shadow:0 3px 12px rgba(26,53,83,.05);font:inherit;font-size:.84rem;font-weight:850;cursor:pointer;transition:.18s ease}
.bb-register-filter:hover,.bb-register-filter:focus-visible{border-color:rgba(29,155,240,.48);color:#0c68a6;transform:translateY(-1px);outline:0}.bb-register-filter[aria-pressed=true]{border-color:transparent;color:#fff;background:linear-gradient(135deg,#0f77ba,var(--bb-blue));box-shadow:0 10px 22px rgba(29,155,240,.24)}
.bb-register-card-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,24px)!important;align-items:stretch!important;width:100%}
.bb-register-card-grid>.bb-register-hero,.bb-register-card-grid>.bb-register-original-heading,.bb-register-card-grid>.bb-register-filterbar,.bb-register-card-grid>.bb-register-help{grid-column:1/-1}.bb-register-card[hidden]{display:none!important}
.bb-register-card{--accent:var(--bb-blue);--soft:rgba(29,155,240,.16);--bb-pointer-x:.5;--bb-pointer-y:.5;--bb-rotate-x:0deg;--bb-rotate-y:0deg;position:relative;display:flex;flex-direction:column;min-width:0;min-height:100%;padding:18px;overflow:hidden;border:1px solid var(--bb-line);border-radius:24px;color:#22344b;background:radial-gradient(circle at calc(var(--bb-pointer-x)*100%) calc(var(--bb-pointer-y)*100%),var(--soft),transparent 34%),linear-gradient(180deg,#fff,#f8fbff 70%,#f4f8fc);box-shadow:0 14px 42px rgba(20,49,83,.09),inset 0 1px #fff;transform:perspective(1000px) rotateX(var(--bb-rotate-x)) rotateY(var(--bb-rotate-y));transform-style:preserve-3d;animation:bbRegCard .62s cubic-bezier(.2,.75,.2,1) both;animation-delay:calc(var(--bb-card-order)*65ms);transition:transform .17s ease,border-color .2s ease,box-shadow .2s ease;cursor:pointer}
.bb-register-card:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:4px;background:linear-gradient(90deg,var(--accent),transparent 78%);box-shadow:0 0 18px var(--soft)}
.bb-register-card:after{content:"";position:absolute;right:-26px;bottom:-34px;width:132px;aspect-ratio:1;border:1px solid var(--soft);border-radius:28px;background:linear-gradient(90deg,transparent 48%,var(--soft) 49% 51%,transparent 52%),linear-gradient(transparent 48%,var(--soft) 49% 51%,transparent 52%);background-size:26px 26px;transform:rotate(18deg);opacity:.55;pointer-events:none}
.bb-register-card[data-bb-profile-kind=owner]{--accent:#ff7a18;--soft:rgba(255,122,24,.15)}.bb-register-card[data-bb-profile-kind=professional]{--accent:#1d9bf0;--soft:rgba(29,155,240,.15)}.bb-register-card[data-bb-profile-kind=foodie]{--accent:#20b775;--soft:rgba(32,183,117,.14)}.bb-register-card[data-bb-profile-kind=dating]{--accent:#a855f7;--soft:rgba(168,85,247,.14)}
.bb-register-card[data-bb-profile-privacy=private]{background:radial-gradient(circle at calc(var(--bb-pointer-x)*100%) calc(var(--bb-pointer-y)*100%),var(--soft),transparent 34%),linear-gradient(180deg,#f8faff,#f2f5fb 72%,#eef3f9)}
.bb-register-card:hover,.bb-register-card:focus-visible,.bb-register-card:focus-within{border-color:var(--accent);box-shadow:0 24px 60px rgba(20,49,83,.16),0 0 0 1px var(--soft),inset 0 1px #fff;outline:0}.bb-register-card:focus-visible{box-shadow:0 0 0 4px rgba(29,155,240,.18),0 24px 60px rgba(20,49,83,.16)}
.bb-register-card-header{position:relative;z-index:2;display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:16px}.bb-register-card-icon{display:grid;place-items:center;width:58px;aspect-ratio:1;border:1px solid var(--soft);border-radius:17px;background:linear-gradient(145deg,#fff,var(--soft));box-shadow:0 10px 22px var(--soft),inset 0 1px #fff;font-size:1.65rem;transform:translateZ(22px)}
.bb-register-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.bb-register-badge{display:inline-flex;align-items:center;min-height:25px;padding:5px 8px;border:1px solid rgba(45,78,113,.11);border-radius:999px;color:#60738c;background:rgba(255,255,255,.85);font-size:.62rem;font-weight:950;letter-spacing:.09em}.bb-register-badge.is-public{color:#09704b;border-color:rgba(32,183,117,.22);background:rgba(32,183,117,.09)}.bb-register-badge.is-private{color:#5a4790;border-color:rgba(168,85,247,.2);background:rgba(168,85,247,.08)}
.bb-register-card-content{position:relative;z-index:2;display:flex!important;flex:1 1 auto;flex-direction:column!important;min-width:0;width:100%!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.bb-register-card-content>*{max-width:100%}
.bb-register-title,.bb-register-title a,.bb-register-card-content h2,.bb-register-card-content h3,.bb-register-card-content h4{margin:0 0 12px!important;color:var(--bb-ink)!important;font-size:clamp(1.12rem,1.6vw,1.42rem)!important;font-weight:900!important;line-height:1.13!important;letter-spacing:-.025em!important;text-decoration:none!important;overflow-wrap:anywhere}.bb-register-description{margin:0 0 15px!important;color:var(--bb-muted)!important;font-size:.9rem!important;line-height:1.58!important}
.bb-register-member-count{display:inline-flex!important;width:fit-content;max-width:100%;margin:0 0 15px!important;padding:6px 9px!important;border:1px solid var(--soft)!important;border-radius:9px!important;color:#244c6b!important;background:var(--soft)!important;font-size:.73rem!important;font-weight:850!important;line-height:1.3!important}
.bb-register-features{display:grid;gap:8px;margin:2px 0 20px!important;padding:0!important;list-style:none!important}.bb-register-features li{position:relative;margin:0!important;padding:0 0 0 23px!important;color:#42566f!important;font-size:.79rem!important;font-weight:700!important;line-height:1.42!important}.bb-register-features li:before{content:"✓";position:absolute;left:0;top:0;display:grid;place-items:center;width:16px;height:16px;border-radius:5px;color:#fff;background:var(--accent);box-shadow:0 4px 10px var(--soft);font-size:.62rem;font-weight:950}
.bb-register-card-content>.bb-register-cta-wrap,.bb-register-card-content>.bb-register-cta{margin-top:auto!important}.bb-register-cta{display:flex!important;justify-content:space-between!important;gap:12px;align-items:center!important;width:100%!important;min-height:48px;margin-top:auto!important;padding:12px 14px!important;border:1px solid transparent!important;border-radius:13px!important;color:#fff!important;background:var(--accent)!important;box-shadow:0 12px 24px var(--soft)!important;font-size:.82rem!important;font-weight:900!important;line-height:1.25!important;text-align:left!important;text-decoration:none!important;transition:.16s ease!important}.bb-register-cta:hover,.bb-register-cta:focus-visible{color:#fff!important;filter:brightness(1.07) saturate(1.05);transform:translateY(-2px);box-shadow:0 16px 30px var(--soft)!important;outline:3px solid rgba(29,155,240,.22)!important;outline-offset:2px}.bb-register-cta span:last-child{font-size:1.15rem;transition:transform .16s ease}.bb-register-cta:hover span:last-child,.bb-register-cta:focus-visible span:last-child{transform:translateX(3px)}
.bb-register-help{display:grid;grid-template-columns:54px minmax(0,1fr);gap:16px;align-items:start;width:min(1050px,100%);margin:30px auto 0;padding:20px;border:1px solid rgba(29,155,240,.16);border-radius:18px;color:#32465e;background:linear-gradient(135deg,rgba(235,247,255,.9),rgba(255,247,237,.88));box-shadow:0 12px 36px rgba(20,49,83,.07)}.bb-register-help-icon{display:grid;place-items:center;width:54px;aspect-ratio:1;border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--bb-blue),var(--bb-orange));box-shadow:0 10px 22px rgba(29,155,240,.18);font-size:1.35rem;font-weight:950}.bb-register-help strong{display:block;margin:2px 0 5px;color:#192d46;font-size:1rem}.bb-register-help p{margin:0!important;color:#5b6f86!important;font-size:.88rem!important;line-height:1.55!important}.bb-register-invalid-empty-state{display:none!important}
@keyframes bbRegScan{0%{transform:translateX(-45%);opacity:0}12%,88%{opacity:1}100%{transform:translateX(250%);opacity:0}}@keyframes bbRegFloat{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(18px,24px,0) scale(1.08)}}@keyframes bbRegPulse{0%,100%{transform:scale(.8);opacity:.7}50%{transform:scale(1.12);opacity:1}}@keyframes bbRegCard{from{opacity:0;transform:perspective(1000px) translateY(22px) scale(.98)}to{opacity:1;transform:perspective(1000px) translateY(0) scale(1)}}
@media(max-width:1240px){.bb-register-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.bb-registration-modernized{width:min(calc(100% - 16px),1000px)}.bb-register-hero{grid-template-columns:1fr;min-height:0;padding:clamp(28px,7vw,52px)}.bb-register-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.bb-register-steps li{grid-template-columns:38px 1fr;min-height:58px;padding:8px}.bb-register-steps li span{width:38px;border-radius:10px}}
@media(max-width:680px){.bb-registration-modernized{padding-top:6px}.bb-register-hero{border-radius:22px}.bb-register-hero h1{font-size:clamp(2.25rem,13vw,4rem)!important}.bb-register-trust{display:grid;grid-template-columns:1fr}.bb-register-trust span{width:100%}.bb-register-steps{grid-template-columns:1fr}.bb-register-steps li{min-height:52px}.bb-register-card-grid{grid-template-columns:minmax(0,1fr)}.bb-register-filterbar{justify-content:stretch;border-radius:14px}.bb-register-filter-label{width:100%;justify-content:center}.bb-register-filter{flex:1 1 calc(50% - 8px);padding-inline:10px}.bb-register-card{border-radius:20px}.bb-register-help{grid-template-columns:42px minmax(0,1fr);padding:16px}.bb-register-help-icon{width:42px;border-radius:12px}}
@media(prefers-reduced-motion:reduce){.bb-register-hero:after,.bb-register-orb,.bb-register-eyebrow span,.bb-register-card{animation:none!important}.bb-register-card,.bb-register-filter,.bb-register-cta,.bb-register-cta span:last-child{transition:none!important}.bb-register-card{transform:none!important}}
@media(forced-colors:active){.bb-register-card,.bb-register-hero,.bb-register-filterbar,.bb-register-help{border:2px solid CanvasText}.bb-register-cta,.bb-register-filter[aria-pressed=true]{border:2px solid ButtonText!important}}
/* BISTRO BUDDY REGISTRATION INTEGRATED CSS END */


/*
 * BISTRO BUDDY mobile news ticker spacing repair — 2026-08-02
 * Keeps the approved desktop ticker geometry unchanged.
 */
@media (max-width: 767.98px) {
  html.bb-polish-v3 body.site
    :is(.sppb-addon-articles-ticker-wrap, .sppb-addon-articles-ticker) {
    margin-top: 0 !important;
  }

  html.bb-polish-v3 body.site
    #sppb-addon-1703966039476 .sppb-articles-ticker-wrap {
    width: 100% !important;
    min-width: 0 !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  html.bb-polish-v3 body.site
    #sppb-addon-1703966039476 .sppb-articles-ticker-heading {
    display: inline-flex !important;
    align-items: center !important;
    min-width: 0 !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 12px 0 13px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  html.bb-polish-v3 body.site
    #sppb-addon-1703966039476 .sppb-articles-ticker-heading::before {
    display: inline-flex !important;
    align-items: center !important;
    min-width: 0 !important;
    min-height: 36px !important;
    padding: 0 2px !important;
    box-sizing: border-box !important;
    font-size: clamp(11px, 3.25vw, 14px) !important;
    line-height: 1 !important;
    letter-spacing: 0.01em !important;
    white-space: nowrap !important;
  }

  html.bb-polish-v3 body.site
    #sppb-addon-1703966039476 .sppb-articles-ticker-heading
    .sppb-articles-ticker-shape-arrow {
    flex: 0 0 auto !important;
    width: 26px !important;
    height: 36px !important;
  }

  html.bb-polish-v3 body.site
    #sppb-addon-1703966039476 .sppb-articles-ticker {
    min-width: 0 !important;
    margin-top: 0 !important;
  }

  html.bb-polish-v3 body.site
    #sppb-addon-1703966039476 .sppb-articles-ticker-content {
    min-width: 0 !important;
  }
}

/* BISTRO BUDDY MOBILE NEWS TICKER SPACING REPAIR END */
/*
 * BISTRO BUDDY location-card parity patch — 2026-08-02
 *
 * The location modules can be rendered in different Helix/Joomla columns.
 * Scope the visual treatment to the class added by the shared JavaScript,
 * rather than to #sp-main-body, so every state receives the same card,
 * filter, destination-chip, reveal-button, and responsive behavior.
 */

html.bb-polish-v3 body .bb-polish-location-cloud {
  --bb-location-orange: var(--bb-polish-orange, #ef7724);
  --bb-location-orange-deep: var(--bb-polish-orange-deep, #c94f08);
  --bb-location-blue: var(--bb-polish-blue, #2f6fbd);
  --bb-location-blue-soft: var(--bb-polish-blue-soft, #7ca4dd);
  --bb-location-ink: var(--bb-polish-ink, #25243d);
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  height: 100% !important;
  margin-block: clamp(14px, 2vw, 26px) !important;
  padding: clamp(15px, 2vw, 24px) !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(47, 111, 189, 0.22) !important;
  border-top: 5px solid var(--bb-location-orange) !important;
  border-radius: 22px !important;
  color: var(--bb-location-ink) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(47, 111, 189, 0.14), transparent 42%),
    radial-gradient(circle at 0 100%, rgba(239, 119, 36, 0.10), transparent 44%),
    linear-gradient(145deg, #fffdfb 0%, #f6f9ff 100%) !important;
  box-shadow: 0 16px 38px rgba(37, 36, 61, 0.14) !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

html.bb-polish-v3 body .bb-polish-location-cloud::after {
  content: "" !important;
  position: absolute !important;
  z-index: -1 !important;
  right: -48px !important;
  bottom: -58px !important;
  width: 156px !important;
  height: 156px !important;
  border: 18px solid rgba(239, 119, 36, 0.08) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
}

html.bb-polish-v3 body .bb-polish-location-cloud > .sp-module-title,
html.bb-polish-v3 body .bb-polish-location-cloud .sp-module-title {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px 12px !important;
  width: 100% !important;
  margin: 0 0 12px !important;
  color: var(--bb-location-ink) !important;
  font-size: clamp(20px, 1.55vw, 30px) !important;
  font-weight: 950 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
}

html.bb-polish-v3 body .bb-polish-location-cloud .sp-module-content,
html.bb-polish-v3 body .bb-polish-location-cloud [id="businesslocations"] {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

html.bb-polish-v3 body .bb-polish-location-cloud .bb-location-tools {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 7px 9px !important;
  width: 100% !important;
  margin: 0 0 12px !important;
}

html.bb-polish-v3 body .bb-polish-location-cloud .bb-location-tools input[type="search"] {
  flex: 1 0 100% !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 10px 15px !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(47, 111, 189, 0.30) !important;
  border-radius: 13px !important;
  color: var(--bb-location-ink) !important;
  background: rgba(255, 255, 255, 0.97) !important;
  box-shadow: inset 0 0 0 3px rgba(47, 111, 189, 0.035) !important;
  font: inherit !important;
}

html.bb-polish-v3 body .bb-polish-location-cloud .bb-location-tools input[type="search"]:focus {
  border-color: var(--bb-location-orange) !important;
  outline: 3px solid rgba(239, 119, 36, 0.17) !important;
  outline-offset: 1px !important;
}

html.bb-polish-v3 body .bb-polish-location-cloud .bb-location-clear {
  min-height: 30px !important;
  padding: 5px 10px !important;
  border: 1px solid rgba(239, 119, 36, 0.30) !important;
  border-radius: 999px !important;
  color: var(--bb-location-orange-deep) !important;
  background: #fff !important;
  font-size: 0.75rem !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

html.bb-polish-v3 body .bb-polish-location-cloud .bb-location-status {
  margin-left: auto !important;
  color: rgba(37, 36, 61, 0.82) !important;
  font-size: 0.75rem !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
}

html.bb-polish-v3 body .bb-polish-location-cloud .bb-location-count-badge,
html.bb-polish-v3 body .bb-polish-location-cloud .bb-location-reveal {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 30px !important;
  padding: 5px 11px !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(255, 255, 255, 0.55) !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--bb-location-orange), var(--bb-location-blue)) !important;
  box-shadow: 0 7px 16px rgba(47, 111, 189, 0.20) !important;
  font-size: 0.72rem !important;
  font-weight: 950 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

html.bb-polish-v3 body .bb-polish-location-cloud .locations-content > ul,
html.bb-polish-v3 body .bb-polish-location-cloud [id="businesslocations"] > ul {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 9px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html.bb-polish-v3 body .bb-polish-location-cloud .locations-content > ul > li,
html.bb-polish-v3 body .bb-polish-location-cloud [id="businesslocations"] li {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html.bb-polish-v3 body .bb-polish-location-cloud .locations-content > ul > li.location-region,
html.bb-polish-v3 body .bb-polish-location-cloud [id="businesslocations"] li.location-region {
  grid-column: 1 / -1 !important;
  margin-bottom: 2px !important;
}

html.bb-polish-v3 body .bb-polish-location-cloud [id="businesslocations"] li > a {
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
  min-height: 40px !important;
  padding: 9px 11px !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(47, 111, 189, 0.21) !important;
  border-radius: 12px !important;
  color: var(--bb-location-ink) !important;
  background: rgba(255, 255, 255, 0.93) !important;
  box-shadow: 0 5px 13px rgba(37, 36, 61, 0.07) !important;
  font-size: clamp(11px, 0.76vw, 14px) !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  overflow-wrap: anywhere !important;
  text-decoration: none !important;
  transition:
    transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1),
    color 0.22s ease,
    background 0.22s ease,
    box-shadow 0.22s ease,
    border-color 0.22s ease !important;
}

html.bb-polish-v3 body .bb-polish-location-cloud [id="businesslocations"] li:nth-child(4n + 1):not(.location-region) > a {
  border-left: 4px solid var(--bb-location-orange) !important;
}

html.bb-polish-v3 body .bb-polish-location-cloud [id="businesslocations"] li:nth-child(4n + 2):not(.location-region) > a {
  border-left: 4px solid var(--bb-location-blue) !important;
}

html.bb-polish-v3 body .bb-polish-location-cloud [id="businesslocations"] li.location-region > a,
html.bb-polish-v3 body .bb-polish-location-cloud [id="businesslocations"] li.location-region a {
  justify-content: center !important;
  min-height: 42px !important;
  border: 0 !important;
  border-radius: 12px !important;
  color: #fff !important;
  background: linear-gradient(105deg, var(--bb-location-orange), var(--bb-location-blue)) !important;
  box-shadow: 0 9px 20px rgba(47, 111, 189, 0.22) !important;
  font-size: 0.84rem !important;
  font-weight: 950 !important;
  text-align: center !important;
}

html.bb-polish-v3 body .bb-polish-location-cloud [id="businesslocations"] li > a:hover,
html.bb-polish-v3 body .bb-polish-location-cloud [id="businesslocations"] li > a:focus-visible {
  color: #fff !important;
  border-color: var(--bb-location-orange) !important;
  background: linear-gradient(105deg, var(--bb-location-orange), var(--bb-location-blue)) !important;
  box-shadow: 0 12px 24px rgba(47, 111, 189, 0.24) !important;
  transform: translateY(-3px) !important;
  outline: none !important;
}

html.bb-polish-v3 body .bb-polish-location-cloud .bb-location-reveal {
  align-self: flex-start !important;
  margin-top: 12px !important;
  border: 0 !important;
  cursor: pointer !important;
  transition: transform 0.22s ease, filter 0.22s ease !important;
}

html.bb-polish-v3 body .bb-polish-location-cloud .bb-location-reveal:hover,
html.bb-polish-v3 body .bb-polish-location-cloud .bb-location-reveal:focus-visible {
  filter: brightness(1.08) saturate(1.08) !important;
  transform: translateY(-2px) !important;
  outline: 3px solid rgba(239, 119, 36, 0.18) !important;
  outline-offset: 2px !important;
}

html.bb-polish-v3 body .bb-polish-location-cloud .bb-location-hidden,
html.bb-polish-v3 body .bb-polish-location-cloud [hidden] {
  display: none !important;
}

@media (max-width: 1199.98px) {
  html.bb-polish-v3 body .bb-polish-location-cloud > .sp-module-title,
  html.bb-polish-v3 body .bb-polish-location-cloud .sp-module-title {
    font-size: clamp(19px, 2.3vw, 27px) !important;
  }
}

@media (max-width: 767.98px) {
  html.bb-polish-v3 body .bb-polish-location-cloud {
    height: auto !important;
    padding: 14px !important;
    border-radius: 18px !important;
  }

  html.bb-polish-v3 body .bb-polish-location-cloud .locations-content > ul,
  html.bb-polish-v3 body .bb-polish-location-cloud [id="businesslocations"] > ul {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
}

@media (max-width: 420px) {
  html.bb-polish-v3 body .bb-polish-location-cloud .locations-content > ul,
  html.bb-polish-v3 body .bb-polish-location-cloud [id="businesslocations"] > ul {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html.bb-polish-v3 body .bb-polish-location-cloud .bb-location-count-badge {
    white-space: normal !important;
  }
}

/* BISTRO BUDDY LOCATION CARD PARITY PATCH END */
/*
 * BISTRO BUDDY mobile navigation usability patch — 2026-08-02
 *
 * Final authority for the Helix offcanvas navigation at every viewport size.
 * Keeps the approved desktop mega menu untouched while making the offcanvas
 * version readable, responsive, touch-friendly and safe for long labels.
 */

html.bb-polish-v3 {
  --bb-mobile-nav-width: 420px;
  --bb-mobile-nav-orange: var(--bb-polish-orange, #ef7724);
  --bb-mobile-nav-orange-deep: var(--bb-polish-orange-deep, #c94f08);
  --bb-mobile-nav-blue: var(--bb-polish-blue, #2f6fbd);
  --bb-mobile-nav-blue-soft: var(--bb-polish-blue-soft, #7ca4dd);
  --bb-mobile-nav-focus: var(--bb-polish-focus, #ffd166);
}

html.bb-polish-v3 body .offcanvas-menu {
  width: min(var(--bb-mobile-nav-width), 100vw) !important;
  max-width: 100vw !important;
  min-width: 0 !important;
  height: 100vh !important;
  height: 100dvh !important;
  right: calc(-1 * min(var(--bb-mobile-nav-width), 100vw)) !important;
  overflow: hidden !important;
  border-left: 1px solid rgba(239, 119, 36, 0.78) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(47, 111, 189, 0.27), transparent 34%),
    radial-gradient(circle at 0% 100%, rgba(239, 119, 36, 0.20), transparent 36%),
    linear-gradient(180deg, #24242a 0%, #17171b 100%) !important;
  box-shadow: -18px 0 50px rgba(0, 0, 0, 0.42) !important;
}

html.bb-polish-v3 body.offcanvas-active .offcanvas-menu {
  right: 0 !important;
}

html.bb-polish-v3 body.offcanvas-active {
  overflow: hidden !important;
}

html.bb-polish-v3 body .offcanvas-overlay {
  background: rgba(5, 9, 17, 0.62) !important;
  backdrop-filter: blur(3px) !important;
  -webkit-backdrop-filter: blur(3px) !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100% !important;
  padding:
    max(12px, env(safe-area-inset-top))
    max(12px, env(safe-area-inset-right))
    max(24px, env(safe-area-inset-bottom))
    max(12px, env(safe-area-inset-left)) !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scroll-padding-top: 76px !important;
  scrollbar-color: var(--bb-mobile-nav-orange) rgba(255, 255, 255, 0.08) !important;
  scrollbar-width: thin !important;
  -webkit-overflow-scrolling: touch !important;
}

html.bb-polish-v3 body .offcanvas-menu .close-offcanvas {
  z-index: 50 !important;
  top: max(8px, env(safe-area-inset-top)) !important;
  right: max(8px, env(safe-area-inset-right)) !important;
  display: grid !important;
  place-items: center !important;
  width: 46px !important;
  min-width: 46px !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.20) !important;
  border-radius: 13px !important;
  color: #fff !important;
  background: linear-gradient(145deg, rgba(239, 119, 36, 0.96), rgba(47, 111, 189, 0.92)) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.30) !important;
  font-size: 24px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
}

html.bb-polish-v3 body .offcanvas-menu .close-offcanvas:hover,
html.bb-polish-v3 body .offcanvas-menu .close-offcanvas:focus-visible {
  filter: brightness(1.10) saturate(1.08) !important;
  outline: 3px solid var(--bb-mobile-nav-focus) !important;
  outline-offset: 2px !important;
}

html.bb-polish-v3 body .offcanvas-menu :is(.logo, .logo-image, .sp-module:first-child) img {
  display: block !important;
  width: auto !important;
  max-width: min(205px, calc(100% - 58px)) !important;
  max-height: 58px !important;
  object-fit: contain !important;
}

html.bb-polish-v3 body .offcanvas-menu
  :is(input[type="search"], input[type="text"], .form-control) {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  padding: 10px 13px !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(124, 164, 221, 0.48) !important;
  border-radius: 12px !important;
  color: #172033 !important;
  background: rgba(255, 255, 255, 0.97) !important;
  box-shadow: inset 0 0 0 3px rgba(47, 111, 189, 0.05) !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
}

html.bb-polish-v3 body .offcanvas-menu
  :is(input[type="search"], input[type="text"], .form-control):focus {
  border-color: var(--bb-mobile-nav-orange) !important;
  outline: 3px solid rgba(239, 119, 36, 0.20) !important;
  outline-offset: 1px !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu {
  width: 100% !important;
  min-width: 0 !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  list-style: none !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li,
html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li:nth-child(3n + 2),
html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li:nth-child(3n) {
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  border: 1px solid rgba(124, 164, 221, 0.26) !important;
  border-left: 4px solid var(--bb-mobile-nav-orange) !important;
  border-radius: 13px !important;
  background:
    linear-gradient(105deg, rgba(239, 119, 36, 0.18), rgba(47, 111, 189, 0.12) 64%, transparent),
    rgba(255, 255, 255, 0.045) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 7px 17px rgba(0, 0, 0, 0.18) !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li:nth-child(even) {
  border-left-color: var(--bb-mobile-nav-blue-soft) !important;
  background:
    linear-gradient(105deg, rgba(47, 111, 189, 0.21), rgba(239, 119, 36, 0.10) 70%, transparent),
    rgba(255, 255, 255, 0.045) !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li:hover,
html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li:focus-within,
html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li.active,
html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu > li.menu-parent-open {
  border-color: rgba(255, 154, 68, 0.58) !important;
  border-left-color: var(--bb-mobile-nav-orange) !important;
  background:
    linear-gradient(105deg, rgba(239, 119, 36, 0.34), rgba(47, 111, 189, 0.20) 68%, transparent),
    rgba(255, 255, 255, 0.06) !important;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.045),
    0 10px 23px rgba(0, 0, 0, 0.23) !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  li > :is(a, span) {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 8px 54px 8px 9px !important;
  box-sizing: border-box !important;
  color: rgba(255, 255, 255, 0.97) !important;
  background: transparent !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: clamp(16px, 1.15vw, 18px) !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.01em !important;
  text-align: left !important;
  text-decoration: none !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45) !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  hyphens: auto !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  li > :is(a, span):focus-visible {
  outline: 3px solid var(--bb-mobile-nav-focus) !important;
  outline-offset: -3px !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu .bb-menu-glyph,
html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  li li > :is(a, span) > .bb-menu-glyph {
  display: inline-grid !important;
  grid-column: 1 !important;
  place-items: center !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(255, 255, 255, 0.20) !important;
  border-radius: 9px !important;
  color: #fff !important;
  background: linear-gradient(145deg, var(--bb-mobile-nav-orange), var(--bb-mobile-nav-orange-deep)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 5px 12px rgba(0, 0, 0, 0.22) !important;
  font-size: 14px !important;
  line-height: 1 !important;
  transform: none !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  > li:nth-child(even) > :is(a, span) > .bb-menu-glyph {
  background: linear-gradient(145deg, var(--bb-mobile-nav-blue-soft), var(--bb-mobile-nav-blue)) !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  li > :is(a, span):hover > .bb-menu-glyph,
html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  li > :is(a, span):focus-visible > .bb-menu-glyph,
html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  li.menu-parent-open > :is(a, span) > .bb-menu-glyph {
  filter: brightness(1.08) saturate(1.06) !important;
  box-shadow:
    0 0 0 2px rgba(255, 209, 102, 0.16),
    0 7px 15px rgba(0, 0, 0, 0.25) !important;
  transform: translateY(-1px) scale(1.03) !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu .menu-toggler {
  position: absolute !important;
  z-index: 4 !important;
  top: 50% !important;
  right: 6px !important;
  display: grid !important;
  place-items: center !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.20) !important;
  border-radius: 10px !important;
  color: #fff !important;
  background: linear-gradient(145deg, rgba(239, 119, 36, 0.96), rgba(47, 111, 189, 0.90)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    0 5px 12px rgba(0, 0, 0, 0.20) !important;
  font-size: 18px !important;
  line-height: 1 !important;
  transform: translateY(-50%) !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  .menu-toggler:hover,
html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  .menu-toggler:focus-visible {
  filter: brightness(1.12) saturate(1.08) !important;
  outline: 3px solid var(--bb-mobile-nav-focus) !important;
  outline-offset: 2px !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  li.menu-parent-open > :is(a, span) > .menu-toggler,
html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  .menu-toggler[aria-expanded="true"] {
  background: linear-gradient(145deg, var(--bb-mobile-nav-blue-soft), var(--bb-mobile-nav-orange)) !important;
  box-shadow:
    0 0 0 2px rgba(255, 209, 102, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  ul.menu-child {
  width: auto !important;
  min-width: 0 !important;
  margin: 1px 7px 9px 11px !important;
  padding: 6px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  border: 1px solid rgba(124, 164, 221, 0.22) !important;
  border-left: 3px solid rgba(239, 119, 36, 0.82) !important;
  border-radius: 10px !important;
  background:
    linear-gradient(180deg, rgba(47, 111, 189, 0.12), rgba(5, 8, 15, 0.30)) !important;
  box-shadow: inset 0 1px 12px rgba(0, 0, 0, 0.16) !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  ul.menu-child > li {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(124, 164, 221, 0.16) !important;
  border-left: 2px solid rgba(239, 119, 36, 0.54) !important;
  border-radius: 7px !important;
  background: rgba(255, 255, 255, 0.025) !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  ul.menu-child > li:last-child {
  border-bottom-color: transparent !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  ul.menu-child > li:hover,
html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  ul.menu-child > li:focus-within,
html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  ul.menu-child > li.active {
  border-left-color: var(--bb-mobile-nav-blue-soft) !important;
  background: linear-gradient(90deg, rgba(239, 119, 36, 0.16), rgba(47, 111, 189, 0.12)) !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  li li > :is(a, span) {
  grid-template-columns: 27px minmax(0, 1fr) !important;
  column-gap: 8px !important;
  min-height: 44px !important;
  padding: 7px 49px 7px 8px !important;
  font-size: clamp(14px, 0.95vw, 15.5px) !important;
  font-weight: 720 !important;
  line-height: 1.24 !important;
  letter-spacing: 0 !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  li li > :is(a, span) > .bb-menu-glyph {
  width: 26px !important;
  min-width: 26px !important;
  height: 26px !important;
  min-height: 26px !important;
  border-radius: 7px !important;
  font-size: 12px !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  li li .menu-toggler {
  right: 5px !important;
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  border-radius: 9px !important;
  font-size: 16px !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  li li li > :is(a, span) {
  min-height: 42px !important;
  padding-block: 7px !important;
  font-size: clamp(13px, 0.88vw, 14.5px) !important;
  font-weight: 680 !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  ul.menu-child ul.menu-child {
  margin: 2px 3px 6px 7px !important;
  border-left-color: rgba(124, 164, 221, 0.62) !important;
}

html.bb-polish-v3 body .offcanvas-menu
  :is(a, button, input, [tabindex]):focus-visible {
  outline-color: var(--bb-mobile-nav-focus) !important;
}

@media (max-width: 480px) {
  html.bb-polish-v3 {
    --bb-mobile-nav-width: 100vw;
  }

  html.bb-polish-v3 body .offcanvas-menu {
    border-left: 0 !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner {
    padding-right: max(10px, env(safe-area-inset-right)) !important;
    padding-left: max(10px, env(safe-area-inset-left)) !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
    li > :is(a, span) {
    grid-template-columns: 32px minmax(0, 1fr) !important;
    column-gap: 8px !important;
    min-height: 50px !important;
    padding: 7px 51px 7px 8px !important;
    font-size: clamp(15px, 4.4vw, 17px) !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
    .bb-menu-glyph {
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
    font-size: 13px !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
    .menu-toggler {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
  }
}

@media (max-width: 360px) {
  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
    li > :is(a, span) {
    font-size: 15px !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
    li li > :is(a, span) {
    font-size: 13.5px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.bb-polish-v3 body .offcanvas-menu,
  html.bb-polish-v3 body .offcanvas-menu * {
    scroll-behavior: auto !important;
  }
}

/* BISTRO BUDDY MOBILE MENU USABILITY PATCH END */
/*
 * BISTRO BUDDY mobile navigation command header — 2026-08-02
 * Keeps one real offcanvas logo, enlarges and centers it, suppresses duplicate
 * logo/search modules, and gives the navigation filter a clean animated home.
 */

@keyframes bbMobileBrandSweep {
  0% { transform: translateX(-145%) skewX(-18deg); opacity: 0; }
  14%, 72% { opacity: 0.7; }
  100% { transform: translateX(245%) skewX(-18deg); opacity: 0; }
}

@keyframes bbMobileBrandGlow {
  0%, 100% { opacity: 0.46; transform: scale(0.96); }
  50% { opacity: 0.9; transform: scale(1.05); }
}

@keyframes bbMobileLogoFloat {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -3px, 0); }
}

html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-brand-shell {
  position: relative !important;
  isolation: isolate !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  padding: max(24px, env(safe-area-inset-top)) 54px 18px !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(124, 164, 221, 0.34) !important;
  border-bottom: 0 !important;
  border-radius: 20px 20px 0 0 !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 18% 15%, rgba(239, 119, 36, 0.26), transparent 42%),
    radial-gradient(circle at 82% 5%, rgba(47, 111, 189, 0.34), transparent 45%),
    linear-gradient(145deg, rgba(35, 36, 46, 0.98), rgba(14, 17, 25, 0.99)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 18px 34px rgba(0, 0, 0, 0.27) !important;
  overflow: hidden !important;
}

html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-brand-shell::before {
  content: "" !important;
  position: absolute !important;
  z-index: -1 !important;
  top: -35% !important;
  bottom: -35% !important;
  left: -30% !important;
  width: 32% !important;
  pointer-events: none !important;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.18),
    rgba(255, 154, 68, 0.20),
    transparent
  ) !important;
  filter: blur(2px) !important;
  animation: bbMobileBrandSweep 7.5s ease-in-out infinite !important;
}

html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-brand-shell::after {
  content: "" !important;
  position: absolute !important;
  z-index: -1 !important;
  left: 50% !important;
  bottom: -58px !important;
  width: min(82%, 360px) !important;
  height: 118px !important;
  pointer-events: none !important;
  border-radius: 50% !important;
  background: radial-gradient(
    ellipse,
    rgba(239, 119, 36, 0.24),
    rgba(47, 111, 189, 0.15) 45%,
    transparent 72%
  ) !important;
  filter: blur(8px) !important;
  transform: translateX(-50%) !important;
  animation: bbMobileBrandGlow 4.6s ease-in-out infinite !important;
}

html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-primary-logo {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: min(94%, 370px) !important;
  max-width: min(94%, 370px) !important;
  min-width: 0 !important;
  min-height: 72px !important;
  margin: 0 auto !important;
  padding: 8px 6px !important;
  box-sizing: border-box !important;
  border: 0 !important;
  color: inherit !important;
  background: transparent !important;
  box-shadow: none !important;
  text-decoration: none !important;
  animation: bbMobileLogoFloat 4.8s ease-in-out infinite !important;
}

html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-primary-logo :is(img, svg),
html.bb-polish-v3 body .offcanvas-menu :is(img, svg).bb-mobile-menu-primary-logo {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 102px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  filter:
    drop-shadow(0 0 8px rgba(255, 154, 68, 0.28))
    drop-shadow(0 10px 18px rgba(0, 0, 0, 0.34)) !important;
}

html.bb-polish-v3 body .offcanvas-menu [data-bb-mobile-duplicate-logo="1"],
html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-native-search-suppressed {
  display: none !important;
}

html.bb-polish-v3 body .offcanvas-menu .close-offcanvas {
  z-index: 90 !important;
  top: max(10px, env(safe-area-inset-top)) !important;
  right: max(10px, env(safe-area-inset-right)) !important;
  display: grid !important;
  place-items: center !important;
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.27) !important;
  border-radius: 14px !important;
  color: #fff !important;
  background:
    linear-gradient(145deg, rgba(239, 119, 36, 0.30), rgba(47, 111, 189, 0.30)),
    rgba(9, 12, 20, 0.78) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 8px 18px rgba(0, 0, 0, 0.28) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

html.bb-polish-v3 body .offcanvas-menu .close-offcanvas:hover,
html.bb-polish-v3 body .offcanvas-menu .close-offcanvas:focus-visible {
  color: #fff !important;
  filter: brightness(1.18) saturate(1.12) !important;
  outline: 3px solid var(--bb-mobile-nav-focus, #ffd166) !important;
  outline-offset: 2px !important;
}

/* Sticky navigation tools: search the mega menu in place and collapse it fast. */
html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-tools {
  position: sticky !important;
  z-index: 42 !important;
  top: 4px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: -1px 0 12px !important;
  padding: 12px !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(124, 164, 221, 0.34) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 0 0 18px 18px !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(239, 119, 36, 0.16), transparent 35%),
    radial-gradient(circle at 92% 100%, rgba(47, 111, 189, 0.21), transparent 40%),
    linear-gradient(145deg, rgba(25, 27, 36, 0.97), rgba(12, 15, 23, 0.97)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 12px 28px rgba(0, 0, 0, 0.31) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}

html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-tools::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  right: 12% !important;
  left: 12% !important;
  height: 2px !important;
  pointer-events: none !important;
  border-radius: 999px !important;
  background: linear-gradient(
    90deg,
    transparent,
    var(--bb-mobile-nav-orange, #ef7724),
    var(--bb-mobile-nav-blue, #2f6fbd),
    transparent
  ) !important;
  box-shadow: 0 0 14px rgba(239, 119, 36, 0.42) !important;
}

html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-tools-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 9px !important;
  min-width: 0 !important;
  min-height: 38px !important;
  padding: 0 0 9px !important;
}

html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-tools-head strong {
  min-width: 0 !important;
  color: rgba(255, 255, 255, 0.95) !important;
  font-size: clamp(11px, 0.9vw, 13px) !important;
  font-weight: 950 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.075em !important;
  text-align: center !important;
  text-transform: uppercase !important;
  overflow-wrap: anywhere !important;
}

html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-collapse,
html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-filter-clear {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 7px 10px !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(255, 255, 255, 0.24) !important;
  border-radius: 10px !important;
  color: #fff !important;
  background: linear-gradient(145deg, var(--bb-mobile-nav-blue, #2f6fbd), var(--bb-mobile-nav-orange-deep, #c94f08)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.16),
    0 6px 12px rgba(0, 0, 0, 0.18) !important;
  font: inherit !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  touch-action: manipulation !important;
}

html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-filter-clear[hidden] {
  display: none !important;
}

html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-collapse:hover,
html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-collapse:focus-visible,
html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-filter-clear:hover,
html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-filter-clear:focus-visible {
  filter: brightness(1.14) saturate(1.1) !important;
  outline: 3px solid var(--bb-mobile-nav-focus, #ffd166) !important;
  outline-offset: 2px !important;
}

html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-search-row {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 auto !important;
}

html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-search-row::before {
  content: "⌕" !important;
  position: absolute !important;
  z-index: 3 !important;
  left: 15px !important;
  top: 50% !important;
  color: var(--bb-mobile-nav-orange-deep, #c94f08) !important;
  font-size: 25px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  pointer-events: none !important;
  transform: translateY(-52%) !important;
  filter: drop-shadow(0 0 8px rgba(239, 119, 36, 0.18)) !important;
}

html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-search-row input[type="search"] {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 13px 68px 13px 48px !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(124, 164, 221, 0.56) !important;
  border-radius: 15px !important;
  color: #172033 !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(246, 250, 255, 0.98)) !important;
  box-shadow:
    inset 0 0 0 3px rgba(47, 111, 189, 0.045),
    0 8px 18px rgba(0, 0, 0, 0.18) !important;
  font: inherit !important;
  font-size: 16px !important;
  font-weight: 720 !important;
  line-height: 1.25 !important;
  text-align: left !important;
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    transform 0.18s ease !important;
}

html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-search-row input[type="search"]::placeholder {
  color: rgba(36, 49, 72, 0.64) !important;
  opacity: 1 !important;
}

html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-search-row input[type="search"]:focus {
  border-color: var(--bb-mobile-nav-orange, #ef7724) !important;
  outline: 0 !important;
  box-shadow:
    0 0 0 4px rgba(239, 119, 36, 0.17),
    0 0 24px rgba(47, 111, 189, 0.24),
    0 12px 24px rgba(0, 0, 0, 0.22) !important;
  transform: translateY(-1px) !important;
}

html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-search-row .bb-mobile-menu-filter-clear {
  position: absolute !important;
  z-index: 4 !important;
  right: 7px !important;
  top: 50% !important;
  min-width: 52px !important;
  min-height: 38px !important;
  padding: 7px 9px !important;
  transform: translateY(-50%) !important;
}

html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-status {
  display: block !important;
  width: 100% !important;
  min-height: 16px !important;
  margin: 7px 2px 0 !important;
  color: rgba(255, 255, 255, 0.76) !important;
  font-size: 11px !important;
  font-weight: 760 !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  li.bb-menu-filter-hidden {
  display: none !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  li.bb-menu-filter-open > ul.menu-child,
html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  li.bb-menu-filter-open > ul {
  display: block !important;
  max-height: none !important;
  height: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  li.bb-menu-filter-match > :is(a, span) {
  color: #fff !important;
  background: linear-gradient(90deg, rgba(239, 119, 36, 0.28), rgba(47, 111, 189, 0.20)) !important;
  box-shadow: inset 3px 0 0 var(--bb-mobile-nav-focus, #ffd166) !important;
}

html.bb-polish-v3 body .offcanvas-menu .offcanvas-inner ul.menu.bb-game-menu
  li.bb-menu-filter-match > :is(a, span)::after {
  content: "MATCH" !important;
  position: absolute !important;
  z-index: 2 !important;
  right: 52px !important;
  top: 4px !important;
  padding: 2px 5px !important;
  border-radius: 999px !important;
  color: #1b1b22 !important;
  background: var(--bb-mobile-nav-focus, #ffd166) !important;
  font-size: 8px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: 0.06em !important;
}

@media (max-width: 480px) {
  html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-brand-shell {
    padding: max(20px, env(safe-area-inset-top)) 48px 14px !important;
    border-radius: 17px 17px 0 0 !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-primary-logo {
    width: min(96%, 330px) !important;
    max-width: min(96%, 330px) !important;
    min-height: 64px !important;
    padding-inline: 0 !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-tools {
    top: 3px !important;
    padding: 10px !important;
    border-radius: 0 0 15px 15px !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-tools-head {
    gap: 7px !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-tools-head strong {
    font-size: 10px !important;
    letter-spacing: 0.055em !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-collapse {
    min-height: 34px !important;
    padding-inline: 8px !important;
    font-size: 10px !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-search-row input[type="search"] {
    min-height: 50px !important;
    padding-right: 62px !important;
    padding-left: 45px !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .close-offcanvas {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    border-radius: 13px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-brand-shell::before,
  html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-brand-shell::after,
  html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-primary-logo {
    animation: none !important;
  }

  html.bb-polish-v3 body .offcanvas-menu .bb-mobile-menu-search-row input[type="search"] {
    transition: none !important;
  }
}

:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body .offcanvas-menu .bb-mobile-menu-brand-shell::before,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body .offcanvas-menu .bb-mobile-menu-brand-shell::after,
:is(html.bb-polish-v3.bb281-reduce-motion, html.bb-polish-v3.bb281-low-motion, html.bb-polish-v3.bb-reduce-motion)
  body .offcanvas-menu .bb-mobile-menu-primary-logo {
  animation: none !important;
}

/* BISTRO BUDDY MOBILE MENU TOOLS CSS PATCH END */
/*
 * BISTRO BUDDY location search + dropdown patch — 2026-08-03
 * Replaces the old plain state lists with one consistent orange/blue card,
 * a working search field, and a real destination dropdown on every module.
 */

body .bb-location-modern {
  --bb-loc-orange: var(--bb-polish-orange, #ef7724);
  --bb-loc-orange-deep: var(--bb-polish-orange-deep, #c94f08);
  --bb-loc-blue: var(--bb-polish-blue, #2f6fbd);
  --bb-loc-blue-soft: var(--bb-polish-blue-soft, #7ca4dd);
  --bb-loc-ink: var(--bb-polish-ink, #25243d);
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: clamp(10px, 1.6vw, 22px) 0 !important;
  padding: clamp(16px, 2vw, 24px) !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(47, 111, 189, 0.24) !important;
  border-top: 5px solid var(--bb-loc-orange) !important;
  border-radius: 22px !important;
  color: var(--bb-loc-ink) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(47, 111, 189, 0.15), transparent 42%),
    radial-gradient(circle at 0 100%, rgba(239, 119, 36, 0.11), transparent 43%),
    linear-gradient(145deg, #fffdfb 0%, #f4f8ff 100%) !important;
  box-shadow: 0 16px 38px rgba(20, 31, 55, 0.16) !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

body .bb-location-modern::after {
  content: "" !important;
  position: absolute !important;
  z-index: -1 !important;
  right: -52px !important;
  bottom: -62px !important;
  width: 158px !important;
  height: 158px !important;
  border: 18px solid rgba(239, 119, 36, 0.08) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
}

body .bb-location-modern .sp-module-title,
body .bb-location-modern > h1,
body .bb-location-modern > h2,
body .bb-location-modern > h3,
body .bb-location-modern > h4,
body .bb-location-modern > h5,
body .bb-location-modern > h6 {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px 12px !important;
  width: 100% !important;
  margin: 0 0 13px !important;
  color: var(--bb-loc-ink) !important;
  font-size: clamp(20px, 1.45vw, 30px) !important;
  font-weight: 950 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.028em !important;
}

body .bb-location-modern .bb-location-count-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 28px !important;
  padding: 5px 10px !important;
  border: 1px solid rgba(255, 255, 255, 0.58) !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--bb-loc-orange), var(--bb-loc-blue)) !important;
  box-shadow: 0 7px 16px rgba(47, 111, 189, 0.2) !important;
  font-size: 0.69rem !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body .bb-location-modern .bb-location-search-dropdown {
  position: relative !important;
  z-index: 3 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(160px, 0.95fr) !important;
  gap: 9px !important;
  width: 100% !important;
  margin: 0 0 8px !important;
}

body .bb-location-modern .bb-location-search-wrap,
body .bb-location-modern .bb-location-select-wrap {
  position: relative !important;
  min-width: 0 !important;
}

body .bb-location-modern .bb-location-search-wrap::before {
  content: "⌕" !important;
  position: absolute !important;
  top: 50% !important;
  left: 13px !important;
  z-index: 2 !important;
  color: var(--bb-loc-blue) !important;
  font-size: 1.05rem !important;
  font-weight: 900 !important;
  pointer-events: none !important;
  transform: translateY(-50%) !important;
}

body .bb-location-modern .bb-location-modern-search,
body .bb-location-modern .bb-location-modern-select {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(47, 111, 189, 0.3) !important;
  border-radius: 13px !important;
  color: var(--bb-loc-ink) !important;
  background-color: rgba(255, 255, 255, 0.98) !important;
  box-shadow: inset 0 0 0 3px rgba(47, 111, 189, 0.035), 0 5px 13px rgba(37, 36, 61, 0.05) !important;
  font: inherit !important;
  font-size: 0.93rem !important;
}

body .bb-location-modern .bb-location-modern-search {
  padding: 10px 14px 10px 38px !important;
}

body .bb-location-modern .bb-location-modern-select {
  padding: 10px 38px 10px 13px !important;
  appearance: auto !important;
  cursor: pointer !important;
}

body .bb-location-modern .bb-location-modern-search:focus,
body .bb-location-modern .bb-location-modern-select:focus {
  border-color: var(--bb-loc-orange) !important;
  outline: 3px solid rgba(239, 119, 36, 0.17) !important;
  outline-offset: 1px !important;
}

body .bb-location-modern .bb-location-modern-status {
  grid-column: 1 / -1 !important;
  display: block !important;
  min-height: 18px !important;
  margin: -1px 2px 0 !important;
  color: rgba(37, 36, 61, 0.78) !important;
  font-size: 0.74rem !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  text-align: right !important;
}

body .bb-location-modern [id="businesslocations"],
body .bb-location-modern .locations-content,
body .bb-location-modern .sp-module-content {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

body .bb-location-modern .locations-content > ul,
body .bb-location-modern [id="businesslocations"] > ul {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 9px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body .bb-location-modern .locations-content > ul > li,
body .bb-location-modern [id="businesslocations"] li {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body .bb-location-modern .locations-content > ul > li.location-region,
body .bb-location-modern [id="businesslocations"] li.location-region {
  grid-column: 1 / -1 !important;
  margin-bottom: 2px !important;
}

body .bb-location-modern [id="businesslocations"] li > a,
body .bb-location-modern .locations-content li > a {
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
  min-height: 40px !important;
  padding: 9px 11px !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(47, 111, 189, 0.21) !important;
  border-radius: 12px !important;
  color: var(--bb-loc-ink) !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 5px 13px rgba(37, 36, 61, 0.07) !important;
  font-size: clamp(11px, 0.74vw, 14px) !important;
  font-weight: 820 !important;
  line-height: 1.18 !important;
  overflow-wrap: anywhere !important;
  text-decoration: none !important;
  transition: transform 0.2s ease, color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
}

body .bb-location-modern [id="businesslocations"] li:nth-child(4n + 1):not(.location-region) > a,
body .bb-location-modern .locations-content li:nth-child(4n + 1):not(.location-region) > a {
  border-left: 4px solid var(--bb-loc-orange) !important;
}

body .bb-location-modern [id="businesslocations"] li:nth-child(4n + 2):not(.location-region) > a,
body .bb-location-modern .locations-content li:nth-child(4n + 2):not(.location-region) > a {
  border-left: 4px solid var(--bb-loc-blue) !important;
}

body .bb-location-modern [id="businesslocations"] li.location-region > a,
body .bb-location-modern .locations-content li.location-region > a {
  justify-content: center !important;
  min-height: 42px !important;
  border: 0 !important;
  color: #fff !important;
  background: linear-gradient(105deg, var(--bb-loc-orange), var(--bb-loc-blue)) !important;
  box-shadow: 0 9px 20px rgba(47, 111, 189, 0.23) !important;
  font-size: 0.84rem !important;
  font-weight: 950 !important;
  text-align: center !important;
}

body .bb-location-modern [id="businesslocations"] li > a:hover,
body .bb-location-modern [id="businesslocations"] li > a:focus-visible,
body .bb-location-modern .locations-content li > a:hover,
body .bb-location-modern .locations-content li > a:focus-visible {
  color: #fff !important;
  border-color: var(--bb-loc-orange) !important;
  background: linear-gradient(105deg, var(--bb-loc-orange), var(--bb-loc-blue)) !important;
  box-shadow: 0 12px 24px rgba(47, 111, 189, 0.24) !important;
  transform: translateY(-3px) !important;
  outline: none !important;
}

body .bb-location-modern .bb-location-modern-reveal {
  position: relative !important;
  z-index: 3 !important;
  align-self: flex-start !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  margin: 12px 0 0 !important;
  padding: 7px 13px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--bb-loc-orange), var(--bb-loc-blue)) !important;
  box-shadow: 0 8px 17px rgba(47, 111, 189, 0.21) !important;
  font-size: 0.76rem !important;
  font-weight: 950 !important;
  line-height: 1.1 !important;
  cursor: pointer !important;
}

body .bb-location-modern .bb-location-modern-reveal:hover,
body .bb-location-modern .bb-location-modern-reveal:focus-visible {
  filter: brightness(1.07) saturate(1.08) !important;
  transform: translateY(-2px) !important;
  outline: 3px solid rgba(239, 119, 36, 0.18) !important;
  outline-offset: 2px !important;
}

body .bb-location-modern .bb-location-hidden,
body .bb-location-modern [hidden] {
  display: none !important;
}

@media (max-width: 991.98px) {
  body .bb-location-modern .bb-location-search-dropdown {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body .bb-location-modern .bb-location-modern-status {
    grid-column: 1 !important;
  }
}

@media (max-width: 767.98px) {
  body .bb-location-modern {
    height: auto !important;
    padding: 14px !important;
    border-radius: 18px !important;
  }

  body .bb-location-modern .locations-content > ul,
  body .bb-location-modern [id="businesslocations"] > ul {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
}

@media (max-width: 420px) {
  body .bb-location-modern .locations-content > ul,
  body .bb-location-modern [id="businesslocations"] > ul {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body .bb-location-modern .bb-location-count-badge {
    white-space: normal !important;
  }
}

/* BISTRO BUDDY LOCATION SEARCH DROPDOWN CSS PATCH END */
