/* Public header/navigation only. Loaded after the theme CSS, outside Vue chunks. */
body:not(.admin-body) .public-site-sidebar {
  box-sizing: border-box;
  min-height: 0;
  overflow-x: hidden !important;
}
body:not(.admin-body) .public-site-sidebar .side-nav.side-nav-grouped.public-side-nav {
  display: block !important;
  flex: 1 1 auto;
  box-sizing: border-box;
  min-width: 0;
  min-height: 0;
  width: 100%;
  max-width: 100%;
  padding: 10px 14px 16px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-width: none !important;
  overscroll-behavior-x: none;
  overscroll-behavior-y: contain;
}
.public-site-sidebar .public-side-nav::-webkit-scrollbar { display: none; width: 0; height: 0; }
.public-site-sidebar .public-side-nav .side-nav-group {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  max-width: 100%;
}
body:not(.admin-body) .public-site-sidebar .public-side-nav .side-nav-item {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  width: 100%;
  text-decoration: none;
}
body:not(.admin-body) .public-site-sidebar .public-side-nav .side-nav-label {
  display: block !important;
  flex: 1 1 auto;
  min-width: 0 !important;
  width: auto !important;
  opacity: 1 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.public-site-sidebar .public-side-nav .side-nav-heading { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.public-site-sidebar .public-side-nav .side-nav-item > svg { flex-shrink: 0; }
.public-site-sidebar .public-side-nav .side-nav-item:focus-visible { outline: 2px solid var(--b365-green-bright, var(--accent-2, #20c997)); outline-offset: -2px; }
body:not(.admin-body) .public-site-sidebar .side-nav.side-nav-grouped.public-side-nav.is-icon-only { padding-inline: 10px !important; }
body:not(.admin-body) .public-site-sidebar .public-side-nav.is-icon-only .side-nav-group { margin: 0 0 9px; padding: 0 0 9px; border-bottom: 1px solid var(--b365-border, var(--border, rgba(128,128,128,.15))); }
body:not(.admin-body) .public-site-sidebar .public-side-nav.is-icon-only .side-nav-group:last-child { border-bottom: 0; }
body:not(.admin-body) .public-site-sidebar .public-side-nav.is-icon-only .side-nav-heading,
body:not(.admin-body) .public-site-sidebar .public-side-nav.is-icon-only .side-nav-label,
body:not(.admin-body) .public-site-sidebar .public-side-nav.is-icon-only .side-nav-chevron { display: none !important; }
body:not(.admin-body) .public-site-sidebar .public-side-nav.is-icon-only .side-nav-item {
  min-height: 44px !important;
  height: 44px !important;
  justify-content: center !important;
  padding: 0 !important;
  gap: 0 !important;
}
/* The previous collapsed button protruded beyond the rail; keep it inside. */
@media (min-width: 981px) {
  body:not(.admin-body) .sidebar.public-site-sidebar.collapsed .sidebar-head { justify-content: center !important; padding-inline: 10px !important; }
  body:not(.admin-body) .sidebar.public-site-sidebar.collapsed .collapse-btn { position: static !important; margin: 0; flex: 0 0 auto; }
}
@media (max-width: 980px) {
  body:not(.admin-body) .sidebar.public-site-sidebar.open { overflow-x: hidden !important; overflow-y: auto !important; }
  body:not(.admin-body) .sidebar.public-site-sidebar.open .public-side-nav { flex: 0 0 auto !important; }
  body:not(.admin-body) .sidebar.public-site-sidebar .public-side-nav:not(.is-icon-only) .side-nav-item { justify-content: flex-start !important; gap: 11px !important; }
}

/* A single, viewport-positioned tooltip cannot enlarge the scrollable nav. */
.public-nav-tooltip {
  position: fixed;
  z-index: 1800;
  box-sizing: border-box;
  width: max-content;
  max-width: min(280px, calc(100vw - 24px));
  padding: 10px 14px;
  border: 1px solid var(--border, rgba(255,255,255,.15));
  border-radius: 9px;
  background: var(--panel, #202827);
  color: var(--text, #fff);
  box-shadow: 0 8px 24px rgba(0,0,0,.24);
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  overflow-wrap: anywhere;
  pointer-events: auto;
}
.public-nav-tooltip.bet365-dark { background: #303733; color: #f1f6f3; border-color: #47544e; }
.public-nav-tooltip.bet365-light { background: #fff; color: #153c2d; border-color: #cedbd4; }

.bet365-app .b365-primary-nav a { gap: 7px; }
.bet365-app .b365-primary-nav a .b365-primary-nav-icon { width: 18px; height: 18px; flex: 0 0 18px; fill: currentColor; }
.bet365-app .b365-sidebar { display: none; }
.bet365-app .b365-sidebar-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 8px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 7px;
  background: rgba(0,0,0,.08);
  color: #fff;
  cursor: pointer;
}
.bet365-app .b365-sidebar-toggle svg { width: 18px; height: 18px; }
.bet365-app .b365-sidebar-toggle:focus-visible { outline: 2px solid var(--b365-yellow); outline-offset: 2px; }

@media (min-width: 821px) {
  .bet365-app .b365-shell.b365-layout-left {
    --b365-sidebar-width: 236px;
    display: grid;
    grid-template-columns: var(--b365-sidebar-width) minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    align-content: start;
  }
  .bet365-app .b365-shell.b365-layout-left.b365-sidebar-collapsed { --b365-sidebar-width: 76px; }
  .bet365-app .b365-layout-left > .b365-site-header { grid-column: 2; grid-row: 1; min-width: 0; }
  .bet365-app .b365-layout-left > .b365-page-stage { grid-column: 2; grid-row: 2; min-width: 0; }
  .bet365-app .b365-layout-left > .b365-sidebar {
    display: flex;
    flex-direction: column;
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 81;
    width: var(--b365-sidebar-width);
    max-width: var(--b365-sidebar-width);
    height: 100vh;
    height: 100dvh;
    padding: 0;
    border-right: 1px solid var(--b365-border);
    background: var(--b365-surface);
    color: var(--b365-text);
    overflow: hidden !important;
  }
  .bet365-app .b365-sidebar-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 80px; padding: 12px 14px; border-bottom: 1px solid var(--b365-border); flex: 0 0 auto; }
  .bet365-app .b365-sidebar-toggle { color: var(--b365-text); background: var(--b365-surface-2); border-color: var(--b365-border); flex-shrink: 0; }
  .bet365-app .b365-sidebar.collapsed .b365-sidebar-head { justify-content: center; padding-inline: 10px; }
  .bet365-app .b365-sidebar-brand { width: 150px !important; min-width: 0 !important; max-width: 150px !important; height: 48px !important; display: flex !important; }
  .bet365-app .b365-sidebar-brand .brand-logo-switch { width: 100% !important; height: 48px !important; min-width: 0 !important; }
  .bet365-app .b365-sidebar-brand .brand-logo-img { width: 100% !important; max-width: 100% !important; max-height: 48px !important; object-fit: contain !important; }
  .bet365-app .b365-layout-left .b365-brand-inner { grid-template-columns: minmax(0, 1fr) auto !important; }
  .bet365-app .b365-layout-left .b365-brand-inner > .b365-brand-logo,
  .bet365-app .b365-layout-left .b365-primary-nav-shell { display: none !important; }
  body:not(.admin-body) .bet365-app .b365-sidebar .public-side-nav .side-nav-heading { margin: 16px 0 8px; padding-inline: 8px; color: var(--b365-muted); font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
  body:not(.admin-body) .bet365-app .b365-sidebar .public-side-nav .side-nav-item { min-height: 43px !important; height: 43px !important; padding: 0 8px !important; margin: 3px 0 !important; border-radius: 8px !important; gap: 10px !important; font-size: 13px !important; color: var(--b365-text) !important; }
  body:not(.admin-body) .bet365-app .b365-sidebar .public-side-nav .side-nav-item > svg:first-child { width: 28px !important; height: 28px !important; min-width: 28px !important; padding: 5px !important; border-radius: 7px !important; background: var(--b365-surface-2) !important; color: var(--b365-green-bright) !important; box-shadow: none !important; transform: none !important; filter: none !important; }
  body:not(.admin-body) .bet365-app .b365-sidebar .public-side-nav .side-nav-item:hover,
  body:not(.admin-body) .bet365-app .b365-sidebar .public-side-nav .side-nav-item.active { color: var(--b365-green-bright) !important; background: var(--b365-surface-2) !important; }
  body:not(.admin-body) .bet365-app .b365-sidebar .public-side-nav.is-icon-only .side-nav-item { padding: 0 !important; gap: 0 !important; }
}
@media (max-width: 820px) {
  .bet365-app .b365-sidebar { display: none !important; }
}

/* The sprite contains both filled glyphs and outlined controls. */
.bet365-app .b365-sidebar-toggle svg,
.bet365-app .b365-sidebar-toggle svg use,
.bet365-app .b365-primary-nav .is-outline-icon,
.bet365-app .b365-primary-nav .is-outline-icon use,
body:not(.admin-body) .public-site-sidebar .public-side-nav .side-nav-item > svg.is-outline-icon,
body:not(.admin-body) .public-site-sidebar .public-side-nav .side-nav-item > svg.is-outline-icon use {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.bet365-app .b365-primary-nav-icon:not(.is-outline-icon) { stroke: none; }
.public-nav-tooltip::before { content: ''; position: absolute; left: -5px; top: calc(50% - 5px); width: 8px; height: 8px; background: inherit; border-left: 1px solid; border-bottom: 1px solid; border-color: inherit; transform: rotate(45deg); }
@media (min-width: 821px) {
  .bet365-app .b365-layout-left .b365-member-actions { grid-column: 2; justify-self: end; }
}
