/* Compact, one-piece glass navigation for phones and small screens. */
@media (max-width: 760px) {
  .site .bottom-nav {
    position: fixed !important;
    top: auto !important;
    right: auto !important;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    transform-origin: center !important;
    width: min(570px, calc(100vw - 36px)) !important;
    height: clamp(68px, 16.4vw, 120px) !important;
    min-height: 68px !important;
    padding: 5px !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    gap: 3px !important;
    border: 1px solid rgba(232, 243, 247, .38) !important;
    border-radius: 999px !important;
    background: linear-gradient(115deg, rgba(68, 93, 111, .34), rgba(31, 49, 64, .42) 55%, rgba(12, 26, 37, .48)) !important;
    box-shadow: 0 14px 34px rgba(5, 9, 20, .28), inset 0 1px rgba(255, 255, 255, .22) !important;
    backdrop-filter: blur(24px) saturate(155%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(155%) !important;
  }

  .site .bottom-nav::before {
    display: none !important;
    content: none !important;
  }

  .site .bottom-nav .nav-item,
  .site .bottom-nav .nav-item:hover {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 3px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 1px !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    transition: background-color .2s ease, box-shadow .2s ease !important;
    touch-action: manipulation;
  }

  .site .bottom-nav .nav-item.active,
  .site .bottom-nav .nav-item.active:not(.nav-about),
  .site[data-current-page="home"] .bottom-nav .nav-item.nav-about.active {
    border-color: rgba(255, 255, 255, .045) !important;
    background: rgba(235, 244, 247, .15) !important;
    box-shadow: inset 0 1px rgba(255, 255, 255, .11), 0 4px 14px rgba(0, 0, 0, .09) !important;
  }

  .site .bottom-nav .nav-item .nav-icon-img,
  .site .bottom-nav .nav-item .nav-svg {
    flex: 0 0 auto !important;
    width: clamp(25px, 6.3vw, 36px) !important;
    height: clamp(25px, 6.3vw, 36px) !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    object-fit: contain !important;
    opacity: .78 !important;
    filter: brightness(0) invert(1) !important;
  }

  .site .bottom-nav .nav-item.nav-about .nav-logo-img {
    width: clamp(48px, 9vw, 64px) !important;
    height: clamp(48px, 9vw, 64px) !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    opacity: 1 !important;
  }

  .site .bottom-nav .nav-item.active .nav-icon-img,
  .site .bottom-nav .nav-item.active .nav-svg {
    opacity: 1 !important;
    filter: brightness(0) invert(1) !important;
    color: #fff !important;
    fill: #fff !important;
    stroke: #fff !important;
  }

  .site .bottom-nav .nav-item:not(.nav-about) small {
    display: block !important;
    max-width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: rgba(255, 255, 255, .92) !important;
    font-family: "Space Grotesk", sans-serif !important;
    font-size: clamp(9px, 2.7vw, 11px) !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }

  .site[data-current-page="home"] .bottom-nav .nav-item:not(.nav-about) small {
    display: block !important;
  }

  .site .bottom-nav .nav-item.nav-about small {
    display: none !important;
  }

  .site .bottom-nav .nav-item:focus-visible {
    outline: 2px solid rgba(255, 255, 255, .88) !important;
    outline-offset: 2px !important;
  }
}

/* Tablets use the same left-side desktop navigation, scaled to fit the narrower view. */
@media (min-width: 761px) and (max-width: 1099px) {
  .site .bottom-nav,
  .site[data-current-page="home"] .bottom-nav {
    position: fixed !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    left: 0 !important;
    transform: translateY(-50%) !important;
    transform-origin: left center !important;
    width: clamp(76px, 8vw, 94px) !important;
    height: min(62.3svh, 588px) !important;
    min-height: 0 !important;
    padding: 3.45svh 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: .92fr .95fr 1.015fr 1.015fr !important;
    gap: 0 !important;
    justify-content: stretch !important;
    align-items: stretch !important;
    border: 0 !important;
    border-radius: 0 28px 28px 0 !important;
    background: #000 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .site .bottom-nav::before,
  .site[data-current-page="home"] .bottom-nav::before {
    display: none !important;
    content: none !important;
  }

  .site .bottom-nav .nav-item,
  .site .bottom-nav .nav-item:hover,
  .site .bottom-nav .nav-item.active,
  .site[data-current-page="home"] .bottom-nav .nav-item,
  .site[data-current-page="home"] .bottom-nav .nav-item:hover,
  .site[data-current-page="home"] .bottom-nav .nav-item.active {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 4px 2px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 3px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .site .bottom-nav .nav-item .nav-icon-img,
  .site .bottom-nav .nav-item .nav-svg {
    width: clamp(30px, 3.8vw, 40px) !important;
    height: clamp(30px, 3.8vw, 40px) !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  .site .bottom-nav .nav-item.nav-about .nav-logo-img {
    width: min(76px, calc(100% - 8px)) !important;
    height: auto !important;
    max-height: 64px !important;
  }

  .site .bottom-nav .nav-item small {
    display: block !important;
    margin: 0 !important;
    font-size: clamp(11px, 1.25vw, 14px) !important;
    line-height: 1.1 !important;
    color: #fff !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  .site .bottom-nav .nav-item.nav-about small {
    display: none !important;
  }

  .site .bottom-nav .nav-item.active:not(.nav-about) .nav-icon-img {
    filter: brightness(0) saturate(100%) invert(88%) sepia(82%) saturate(749%) hue-rotate(3deg) brightness(105%) contrast(105%) !important;
  }

  .site .bottom-nav .nav-item.active .nav-svg,
  .site .bottom-nav .nav-item.active small {
    color: #f3dd45 !important;
    fill: #f3dd45 !important;
    stroke: #f3dd45 !important;
  }
}

/* Keep desktop labels compact in proportion to their icons. */
@media (min-width: 1100px) {
  .site .bottom-nav .nav-item:not(.nav-about) small {
    margin: 0 !important;
    font-size: clamp(12px, 1.1vw, 17px) !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }
}

/* Keep the collection-page heading area clear on tablets and larger screens. */
@media (min-width: 761px) {
  .site[data-current-page="singles"],
  .site[data-current-page="medleys"],
  .site[data-current-page="lyrics"] {
    display: flow-root !important;
  }

  .site .content-area .section-head {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site .bottom-nav .nav-item {
    transition: none !important;
  }
}

/* Keep the original About logo crisp on mobile without changing its size or crop. */
@media (max-width: 760px) {
  .site[data-current-page="home"] .about-card .about-logo {
    filter: none !important;
    -webkit-filter: none !important;
    image-rendering: auto !important;
  }
}
