/*
 * Navigazione mobile/tablet condivisa.
 * Riprende la struttura della Community mantenendo le voci proprie di ogni area.
 */
@media (max-width: 1199.98px) {
  .sl-mobile-shell-logo {
    display: block !important;
    width: min(140px, 36vw) !important;
    height: 50px !important;
    max-width: min(140px, 36vw) !important;
    max-height: 50px !important;
    object-fit: contain !important;
  }

  .sl-mobile-nav--admin-colors {
    --sl-area-accent: var(--sl-blue) !important;
    --sl-area-accent-strong: var(--sl-blue-2) !important;
    --sl-area-accent-soft: color-mix(in srgb, var(--sl-blue) 14%, transparent) !important;
    --sl-area-accent-border: color-mix(in srgb, var(--sl-blue) 42%, transparent) !important;
    --sl-area-accent-text: color-mix(in srgb, var(--sl-blue) 58%, white) !important;
    --sl-area-accent-glow: color-mix(in srgb, var(--sl-blue) 22%, transparent) !important;
  }

  :is(#coachBottomNav, #dsBottomNav, #adminMobileBottomNav, #csqMobileBottomNav, #mobileBottomNav, .coach-bottom-nav, .csq-bottom-nav, .mobile-bottom-nav, .sl-menu-standard--mobile) {
    position: fixed !important;
    right: 10px !important;
    bottom: max(10px, env(safe-area-inset-bottom, 0px)) !important;
    left: 10px !important;
    z-index: 3000 !important;
    display: grid !important;
    grid-auto-columns: minmax(76px, 1fr) !important;
    grid-auto-flow: column !important;
    align-items: stretch !important;
    width: auto !important;
    height: auto !important;
    min-height: 64px !important;
    gap: 4px !important;
    padding: 6px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    border: 1px solid rgba(148, 163, 184, .18) !important;
    border-radius: 18px !important;
    background:rgba(2, 8, 23, .94) !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .34) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    overscroll-behavior-inline: contain;
    scrollbar-width: none !important;
    scroll-padding-inline: 6px;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
  }

  :is(#coachBottomNav, #dsBottomNav, #adminMobileBottomNav, #csqMobileBottomNav, #mobileBottomNav, .coach-bottom-nav, .csq-bottom-nav, .mobile-bottom-nav, .sl-menu-standard--mobile)::-webkit-scrollbar {
    display: none !important;
  }

  /* Le sezioni eccedenti sono raccolte nel pannello "Altro". */
  :is(#coachBottomNav, #dsBottomNav, #adminMobileBottomNav, #mobileBottomNav) {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    grid-auto-columns: auto !important;
    grid-auto-flow: row !important;
    overflow-x: hidden !important;
  }

  :is(#coachBottomNav, #dsBottomNav, #adminMobileBottomNav, #mobileBottomNav).sl-menu-standard--four-items {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  :is(#dsBottomNav, #adminMobileBottomNav, .sl-mobile-nav--admin-colors) {
    background: var(--admin-chrome-bg) !important;
  }

  :is(#coachBottomNav, #dsBottomNav, #adminMobileBottomNav, .coach-bottom-nav, .csq-bottom-nav) > .cbn-btn,
  #mobileBottomNav > .mbn-btn,
  .sl-menu-standard.sl-menu-standard--mobile > .sl-menu-item.sl-nav-item {
    display: flex !important;
    flex: none !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 52px !important;
    height: auto !important;
    gap: 4px !important;
    padding: 6px 8px !important;
    overflow: hidden;
    border: 0 !important;
    border-radius: 14px !important;
    background: transparent !important;
    color: #9fb2d0 !important;
    box-shadow: none !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
    scroll-snap-align: start;
    cursor: pointer;
    transition: background .14s, border-color .14s, color .14s, box-shadow .14s !important;
    -webkit-tap-highlight-color: transparent;
    box-sizing: border-box;
  }

  :is(#coachBottomNav, #dsBottomNav, #adminMobileBottomNav, .coach-bottom-nav, .csq-bottom-nav) > .cbn-btn i,
  #mobileBottomNav > .mbn-btn i,
  .sl-menu-standard.sl-menu-standard--mobile > .sl-menu-item.sl-nav-item i {
    margin: 0 !important;
    color: var(--sl-menu-icon-color, currentColor) !important;
    font-size: 18px !important;
    line-height: 1 !important;
    opacity: 1 !important;
    transform: none !important;
  }

  :is(#coachBottomNav, #dsBottomNav, #adminMobileBottomNav, .coach-bottom-nav, .csq-bottom-nav) > .cbn-btn span,
  #mobileBottomNav > .mbn-btn span,
  .sl-menu-standard.sl-menu-standard--mobile > .sl-menu-item.sl-nav-item span {
    display: block;
    max-width: 100%;
    overflow: hidden;
    color: currentColor !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    line-height: 1.1 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  :is(#coachBottomNav, #dsBottomNav, #adminMobileBottomNav, .coach-bottom-nav, .csq-bottom-nav) > .cbn-btn.active,
  #mobileBottomNav > .mbn-btn.active,
  .sl-menu-standard.sl-menu-standard--mobile > .sl-menu-item.sl-nav-item.active {
    background: var(--sl-area-accent-soft) !important;
    color: var(--sl-area-accent-text) !important;
    border-color: transparent !important;
    box-shadow: none !important;
  }

  :is(#coachBottomNav, #dsBottomNav, #adminMobileBottomNav, .coach-bottom-nav, .csq-bottom-nav) > .cbn-btn:focus-visible,
  #mobileBottomNav > .mbn-btn:focus-visible,
  .sl-menu-standard.sl-menu-standard--mobile > .sl-menu-item.sl-nav-item:focus-visible {
    outline: 3px solid var(--sl-area-accent-glow);
    outline-offset: 2px;
  }

  :is(#coachBottomNav, #dsBottomNav, #adminMobileBottomNav, .coach-bottom-nav, .csq-bottom-nav) > .cbn-btn:not(.active):is(:hover, :active),
  #mobileBottomNav > .mbn-btn:not(.active):is(:hover, :active),
  .sl-menu-standard.sl-menu-standard--mobile > .sl-menu-item.sl-nav-item:not(.active):is(:hover, :active) {
    background: var(--sl-area-accent-soft) !important;
    color: var(--sl-area-accent-text) !important;
  }

  :is(#coachBottomNav, #dsBottomNav, #adminMobileBottomNav, #csqMobileBottomNav, #mobileBottomNav, .coach-bottom-nav, .csq-bottom-nav, .mobile-bottom-nav, .sl-menu-standard--mobile) > [hidden] {
    display: none !important;
  }

  body.athlete-ui-v2 #mbnScrollTop {
    bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

@media (max-width: 430px) {
  :is(#coachBottomNav, #dsBottomNav, #adminMobileBottomNav, #csqMobileBottomNav, #mobileBottomNav, .coach-bottom-nav, .csq-bottom-nav, .mobile-bottom-nav, .sl-menu-standard--mobile) {
    right: 5px !important;
    bottom: max(5px, env(safe-area-inset-bottom, 0px)) !important;
    left: 5px !important;
    grid-auto-columns: minmax(70px, 1fr) !important;
    border-radius: 17px !important;
  }
}
