/* Mobile density override. Kept separate to force a fresh Shopify CDN asset URL. */
@media screen and (max-width: 899px) {
  html,
  body {
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  .love-ps-page .love-ps-titlebar {
    height: 58px !important;
    grid-template-columns: 1fr auto 1fr !important;
    cursor: default !important;
    touch-action: auto !important;
  }

  .love-ps-page .love-ps-titlebar > .love-ps-window-control {
    display: none !important;
  }

  .love-ps-page {
    padding: 22px 10px 28px !important;
  }

  .love-ps-page .love-ps-scaler {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    transform: none !important;
  }

  .love-ps-page .love-ps-window {
    border: 5px solid var(--love-ps-frame) !important;
    border-radius: 8px !important;
  }

  .love-ps-page .love-ps-titlebar h1 {
    overflow: hidden !important;
    width: min(76vw, 620px) !important;
    min-width: 0 !important;
    padding: 0 !important;
    font-size: clamp(20px, 5.7vw, 27px) !important;
    line-height: 53px !important;
    text-align: center !important;
  }

  .love-ps-page .love-ps-title-ticker {
    display: inline-flex;
    width: max-content;
    animation: love-ps-title-ticker 12s linear infinite;
    will-change: transform;
  }

  .love-ps-page .love-ps-title-ticker > span {
    display: block !important;
    padding-right: 48px;
  }

  .love-ps-page .love-ps-content {
    height: calc(100% - 58px) !important;
  }

  .love-ps-page .love-ps-toolbar {
    min-height: 68px !important;
    padding: 8px 12px !important;
    gap: 0 !important;
  }

  .love-ps-page .love-ps-toolbar > .love-ps-curated-badge {
    display: none !important;
  }

  .love-ps-page .love-ps-genre-filter {
    width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 100% !important;
  }

  .love-ps-page .love-ps-genre-trigger {
    width: 100% !important;
    height: 50px !important;
    padding: 6px 12px 6px 14px !important;
    font-size: 24px !important;
  }

  .love-ps-page .love-ps-genre-trigger [data-love-ps-genre-value] {
    font-size: 22px !important;
  }

  .love-ps-page .love-ps-list {
    gap: 0 !important;
    padding: 2px 8px 8px !important;
    overflow-y: auto !important;
    overscroll-behavior-y: auto !important;
    touch-action: pan-y !important;
    -webkit-overflow-scrolling: touch;
  }

  .love-ps-page .love-ps-row {
    min-height: 70px !important;
    padding: 3px 6px !important;
    grid-template-columns: 52px minmax(105px, 1fr) 26px minmax(68px, 118px) 24px !important;
    gap: 8px !important;
    touch-action: pan-y !important;
  }

  .love-ps-page .love-ps-patch-detail {
    grid-column: 2 / -1 !important;
  }

  .love-ps-page .love-ps-art-wrap,
  .love-ps-page .love-ps-art {
    width: 52px !important;
    height: 52px !important;
  }

  .love-ps-page .love-ps-patch-title {
    font-size: clamp(19px, 5.2vw, 23px) !important;
    line-height: .92 !important;
  }

  .love-ps-page .love-ps-patch-creator {
    margin-top: 2px !important;
    font-size: clamp(17px, 4.6vw, 20px) !important;
    line-height: .92 !important;
  }

  .love-ps-page .love-ps-play-button {
    width: 26px !important;
    height: 32px !important;
  }

  .love-ps-page .love-ps-play-button img {
    width: 23px !important;
    height: 23px !important;
  }

  .love-ps-page .love-ps-progress {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 17px !important;
    border-width: 2px !important;
    border-radius: 7px !important;
  }
}

@keyframes love-ps-title-ticker {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
  .love-ps-page .love-ps-title-ticker {
    animation: none !important;
  }

  .love-ps-page .love-ps-title-ticker > span[aria-hidden="true"] {
    display: none !important;
  }
}
