/* v2.6.656 — Mobile Header/Menu Polish
   Prevents public headers, venue tabs, and owner/player session bars from being clipped on phones. */
@media (max-width: 782px) {
  html,
  body:not(.wp-admin) {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body:not(.wp-admin) :where(
    header,
    #masthead,
    .site-header,
    .wp-site-blocks > header,
    .elementor-location-header,
    .main-header,
    .header-wrapper,
    .site-header-wrapper,
    .site-navbar,
    .navbar,
    .nav-bar,
    .woodmart-header,
    .whb-header,
    .ast-mobile-header-wrap,
    .mobile-header
  ) {
    max-width: 100vw !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body:not(.wp-admin) :where(
    #masthead .container,
    .site-header .container,
    .site-header .wrap,
    .site-header .site-header-inner,
    .header-wrapper .container,
    .main-header .container,
    .navbar .container,
    .wp-site-blocks > header > *,
    .elementor-location-header > *,
    .whb-header .container,
    .ast-mobile-header-wrap .ast-builder-grid-row
  ) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding-left: clamp(10px, 4vw, 16px) !important;
    padding-right: clamp(10px, 4vw, 16px) !important;
  }

  body:not(.wp-admin) :where(
    .site-branding,
    .site-logo,
    .custom-logo-link,
    .navbar-brand,
    .header-logo,
    .main-navigation,
    .primary-navigation,
    .site-navigation,
    .menu-primary-container,
    .nav-menu,
    .primary-menu,
    ul.menu
  ) {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body:not(.wp-admin) :where(
    .custom-logo-link img,
    img.custom-logo,
    .site-logo img,
    .site-branding img,
    .header-logo img,
    .navbar-brand img
  ) {
    max-width: min(150px, 42vw) !important;
    height: auto !important;
    object-fit: contain !important;
  }

  body:not(.wp-admin) :where(
    .menu-toggle,
    button.menu-toggle,
    .wp-block-navigation__responsive-container-open,
    .hamburger,
    .mobile-menu-toggle,
    .navbar-toggle,
    .ast-mobile-menu-trigger-minimal,
    .wd-header-mobile-nav,
    .mobile-nav-icon
  ) {
    position: relative !important;
    z-index: 100002 !important;
    flex: 0 0 auto !important;
    max-width: 54px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body:not(.wp-admin) :where(
    .main-navigation ul,
    .primary-navigation ul,
    .site-navigation ul,
    .nav-menu,
    .primary-menu,
    ul.menu
  ) {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body:not(.wp-admin) :where(
    .main-navigation ul li a,
    .primary-navigation ul li a,
    .site-navigation ul li a,
    .nav-menu a,
    .primary-menu a,
    ul.menu a
  ) {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body:not(.wp-admin) :where(
    .main-navigation.toggled,
    .main-navigation.toggled ul,
    .primary-navigation-open .primary-navigation,
    .wp-block-navigation__responsive-container,
    .wp-block-navigation__responsive-container.is-menu-open,
    .mobile-menu,
    .mobile-menu-wrapper,
    .mobile-nav,
    .offcanvas,
    .off-canvas,
    .drawer-menu,
    .ast-mobile-popup-drawer,
    .wd-side-hidden,
    .mfp-wrap
  ) {
    max-width: 100vw !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    z-index: 100001 !important;
  }

  body:not(.wp-admin) :where(
    .main-navigation.toggled ul,
    .primary-navigation-open .primary-navigation ul,
    .wp-block-navigation__responsive-container.is-menu-open ul,
    .mobile-menu ul,
    .mobile-nav ul,
    .drawer-menu ul,
    .offcanvas ul,
    .off-canvas ul
  ) {
    width: 100% !important;
    max-width: calc(100vw - 24px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  body:not(.wp-admin) :where(
    .picklehub-server-session-bar,
    .picklehub-owner-archive-message,
    .picklehub-verified-owner-message,
    .picklehub-owner-login-bar-active
  ) {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    margin: 8px auto 14px !important;
    padding: 12px !important;
    border-radius: 18px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body:not(.wp-admin) .picklehub-server-session-bar,
  body:not(.wp-admin) .picklehub-owner-archive-message,
  body:not(.wp-admin) .picklehub-verified-owner-message {
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  body:not(.wp-admin) :where(
    .picklehub-server-session-main,
    .picklehub-owner-archive-message-main,
    .picklehub-verified-owner-message-main
  ) {
    width: 100% !important;
    min-width: 0 !important;
  }

  body:not(.wp-admin) .picklehub-server-session-main strong {
    font-size: 18px !important;
    line-height: 1.12 !important;
  }

  body:not(.wp-admin) .picklehub-server-session-main span,
  body:not(.wp-admin) .picklehub-owner-archive-message-main span,
  body:not(.wp-admin) .picklehub-verified-owner-message-main span {
    font-size: 13px !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
  }

  body:not(.wp-admin) :where(
    .picklehub-server-session-actions,
    .picklehub-owner-archive-message-actions,
    .picklehub-verified-owner-message-actions
  ) {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    justify-content: stretch !important;
  }

  body:not(.wp-admin) :where(
    .picklehub-server-session-action,
    .picklehub-owner-archive-action,
    .picklehub-verified-owner-action
  ) {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.15 !important;
    font-size: 13px !important;
  }

  body:not(.wp-admin) :where(
    .picklehub-venue-session-compact,
    .picklehub-player-session-bar
  ) {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 12px !important;
    border-radius: 16px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  body:not(.wp-admin) :where(
    .picklehub-venue-session-identity,
    .picklehub-player-session-copy
  ) {
    width: 100% !important;
    min-width: 0 !important;
  }

  body:not(.wp-admin) :where(
    .picklehub-venue-session-actions,
    .picklehub-player-session-actions
  ) {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    justify-content: stretch !important;
  }

  body:not(.wp-admin) :where(
    .picklehub-venue-session-action,
    .picklehub-player-session-actions .picklelapu-button
  ) {
    width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.15 !important;
  }

  body:not(.wp-admin) .picklehub-venue-tabs {
    top: 0 !important;
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 8px !important;
    border-radius: 16px !important;
    box-sizing: border-box !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    scroll-padding-left: 8px !important;
  }

  body:not(.wp-admin) .picklehub-venue-tabs::-webkit-scrollbar {
    display: none !important;
  }

  body:not(.wp-admin) .picklehub-venue-tabs a {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    padding: 9px 11px !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
  }
}

@media (max-width: 420px) {
  body:not(.wp-admin) :where(
    .picklehub-server-session-actions,
    .picklehub-owner-archive-message-actions,
    .picklehub-verified-owner-message-actions,
    .picklehub-venue-session-actions,
    .picklehub-player-session-actions
  ) {
    grid-template-columns: 1fr !important;
  }

  body:not(.wp-admin) :where(
    .custom-logo-link img,
    img.custom-logo,
    .site-logo img,
    .site-branding img,
    .header-logo img,
    .navbar-brand img
  ) {
    max-width: min(132px, 46vw) !important;
  }
}

@supports (height: 100dvh) {
  @media (max-width: 782px) {
    body:not(.wp-admin) :where(
      .main-navigation.toggled,
      .main-navigation.toggled ul,
      .primary-navigation-open .primary-navigation,
      .wp-block-navigation__responsive-container,
      .wp-block-navigation__responsive-container.is-menu-open,
      .mobile-menu,
      .mobile-menu-wrapper,
      .mobile-nav,
      .offcanvas,
      .off-canvas,
      .drawer-menu,
      .ast-mobile-popup-drawer,
      .wd-side-hidden
    ) {
      max-height: calc(100dvh - 64px) !important;
    }
  }
}

/* v2.6.657 — force opened mobile navigation to stay inside the viewport.
   Fixes menu links/pills being pushed to the far right and clipped by the header overlay. */
@media (max-width: 782px) {
  body:not(.wp-admin) :where(
    .wp-block-navigation__responsive-container.is-menu-open,
    .wp-block-navigation__responsive-container.has-modal-open,
    .main-navigation.toggled,
    .primary-navigation-open .primary-navigation,
    .mobile-menu-wrapper.is-open,
    .mobile-menu-wrapper.open,
    .mobile-nav.open,
    .offcanvas.show,
    .off-canvas.is-open,
    .drawer-menu.is-open,
    .ast-mobile-popup-drawer.active,
    .wd-side-hidden.wd-opened
  ) {
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: max(16px, env(safe-area-inset-left)) !important;
    padding-right: max(16px, env(safe-area-inset-right)) !important;
    box-sizing: border-box !important;
    transform: none !important;
    overflow-x: clip !important;
  }

  body:not(.wp-admin) :where(
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
    .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__responsive-container-content,
    .main-navigation.toggled .menu,
    .main-navigation.toggled ul,
    .primary-navigation-open .primary-navigation > div,
    .mobile-menu-wrapper.is-open > *,
    .mobile-menu-wrapper.open > *,
    .mobile-nav.open > *,
    .drawer-menu.is-open > *,
    .ast-mobile-popup-drawer.active .ast-mobile-popup-inner,
    .wd-side-hidden.wd-opened .wd-side-hidden-content
  ) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    overflow-x: clip !important;
  }

  body:not(.wp-admin) :where(
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
    .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__container,
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-page-list,
    .wp-block-navigation__responsive-container.has-modal-open .wp-block-page-list,
    .main-navigation.toggled .menu,
    .main-navigation.toggled ul.menu,
    .primary-navigation-open .primary-menu-container > ul,
    .mobile-menu-wrapper.is-open ul,
    .mobile-menu-wrapper.open ul,
    .mobile-nav.open ul,
    .drawer-menu.is-open ul,
    .ast-mobile-popup-drawer.active ul,
    .wd-side-hidden.wd-opened ul
  ) {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 72px auto 0 !important;
    padding: 0 !important;
    gap: 10px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  body:not(.wp-admin) :where(
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
    .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation-item,
    .main-navigation.toggled li,
    .primary-navigation-open li,
    .mobile-menu-wrapper.is-open li,
    .mobile-menu-wrapper.open li,
    .mobile-nav.open li,
    .drawer-menu.is-open li,
    .ast-mobile-popup-drawer.active li,
    .wd-side-hidden.wd-opened li
  ) {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  body:not(.wp-admin) :where(
    .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
    .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation-item__content,
    .wp-block-navigation__responsive-container.is-menu-open a,
    .wp-block-navigation__responsive-container.has-modal-open a,
    .main-navigation.toggled a,
    .primary-navigation-open a,
    .mobile-menu-wrapper.is-open a,
    .mobile-menu-wrapper.open a,
    .mobile-nav.open a,
    .drawer-menu.is-open a,
    .ast-mobile-popup-drawer.active a,
    .wd-side-hidden.wd-opened a
  ) {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 13px 16px !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    line-height: 1.15 !important;
  }

  body:not(.wp-admin) :where(
    .wp-block-navigation__responsive-container-close,
    .wp-block-navigation__responsive-container-open,
    .menu-toggle,
    .mobile-menu-toggle,
    .navbar-toggle,
    .hamburger,
    .ast-mobile-menu-trigger-minimal,
    .wd-header-mobile-nav
  ) {
    inline-size: 44px !important;
    block-size: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 8px !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    z-index: 100003 !important;
  }

  body:not(.wp-admin) .wp-block-navigation__responsive-container-close {
    top: max(18px, env(safe-area-inset-top)) !important;
    right: max(16px, env(safe-area-inset-right)) !important;
  }

  body:not(.wp-admin) .wp-block-navigation__responsive-container-open {
    position: relative !important;
    left: auto !important;
    right: auto !important;
  }
}
