/* Global responsive safety layer for all pages */

.page,
.page-frame,
.album-page,
.py-page,
.sp-page,
.profile-shell,
.pd-page,
.pbe-page,
.albums-listing-page,
.track-page,
.signin-root {
  width: 100%;
  max-width: 100%;
}

/* Keep shared page wrappers centered */
.page {
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}

/* Full-width desktop behavior for all pages */
@media (min-width: 1200px) {
  .page,
  .page-frame,
  .album-shell,
  .py-shell,
  .sp-shell,
  .profile-shell,
  .pd-page,
  .pbe-page,
  .albums-listing-shell,
  .playlist-create-page .playlist-page {
    width: calc(100vw - 40px) !important;
    max-width: none !important;
    margin-left: auto;
    margin-right: auto;
  }

  .py-player-inner,
  .pd-player-inner {
    width: calc(100vw - 40px) !important;
    max-width: none !important;
  }

  .profile-main {
    grid-template-columns: 320px minmax(0, 1fr) 320px !important;
  }

  .main-grid {
    grid-template-columns: 320px minmax(0, 1fr) 320px !important;
  }

  .feed-column {
    width: 100% !important;
  }

  .album-hero {
    width: 100% !important;
    grid-template-columns: 400px minmax(0, 1fr) minmax(211px, 320px) !important;
  }

  .album-info {
    width: auto !important;
    min-width: 0;
    max-width: none;
  }

  .album-lyrics,
  .album-lyrics-window {
    width: 100% !important;
  }

  .sp-hero-wrap {
    width: 100% !important;
    grid-template-columns: 400px minmax(0, 1fr) !important;
  }

  .sp-info {
    width: auto !important;
    min-width: 0;
    max-width: none;
  }

  .pd-hero,
  .pbe-hero {
    width: 100% !important;
    max-width: none !important;
  }

  .pd-hero-content,
  .pbe-hero-content {
    width: auto !important;
    max-width: none !important;
    flex: 1 1 auto;
    min-width: 0;
  }

  .album-main,
  .sp-main,
  .pd-main,
  .pbe-main {
    min-height: calc(100vh - 132px);
    height: auto !important;
  }

  .album-tracks,
  .sp-tracks,
  .pd-tracks-wrap,
  .pbe-tracks-wrap {
    min-height: max(550px, calc(100vh - 480px));
    height: auto !important;
  }

  .album-tracks-inner,
  .sp-tracks-inner,
  .pd-tracks-panel,
  .pbe-tracks-panel {
    height: 100% !important;
  }
}

@media (max-width: 900px) {
  .album-page,
  .py-page,
  .sp-page,
  .pd-page,
  .pbe-page,
  .profile-shell,
  .page-frame,
  .albums-listing-page,
  .track-page,
  .page {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .album-header,
  .py-header,
  .sp-header {
    height: auto;
    grid-template-columns: 1fr;
    grid-template-areas:
      "brand"
      "search"
      "profile"
      "nav";
    gap: 10px;
  }

  .album-brand,
  .py-brand,
  .sp-brand {
    padding: 8px 0;
  }

  .album-search,
  .album-profile,
  .py-search,
  .py-profile,
  .sp-search,
  .sp-profile {
    width: 100%;
    justify-content: flex-start;
  }
}

/* Mobile-ideal list/table compaction */
@media (max-width: 560px) {
  .album-tracks,
  .sp-tracks,
  .pbe-tracks-wrap {
    height: auto;
    min-height: 0;
  }

  .pd-tracks-wrap {
    min-height: 420px;
  }

  .album-tracks-inner,
  .sp-tracks-inner,
  .pd-tracks-head,
  .pbe-tracks-head,
  .pd-head-row,
  .pd-track-row {
    min-width: 100% !important;
  }

  .album-cols,
  .sp-cols,
  .pd-head-row {
    grid-template-columns: 32px minmax(0, 1fr) 48px 48px !important;
    column-gap: 8px;
  }

  .album-cols span:nth-child(3),
  .album-cols span:nth-child(4),
  .sp-cols span:nth-child(3),
  .sp-cols span:nth-child(4),
  .pd-col-artist,
  .pd-col-plays,
  .pbe-col-artist,
  .pbe-col-plays {
    display: none;
  }

  .album-track-row,
  .sp-row,
  .pd-track-row {
    grid-template-columns: 32px minmax(0, 1fr) 48px 48px !important;
    padding: 10px 8px 10px 16px;
    column-gap: 8px;
  }

  .album-track-song,
  .sp-song,
  .pd-track-cell {
    width: auto !important;
    min-width: 0;
  }

  .album-track-song span,
  .sp-song span,
  .pd-track-cell span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .album-track-artist,
  .album-track-plays,
  .sp-artist,
  .sp-plays,
  .pd-artist-cell,
  .pd-plays-cell {
    display: none;
  }

  .album-active-line-strong,
  .album-active-line-soft,
  .album-active-line-vector,
  .sp-active-line-strong,
  .sp-active-line-soft,
  .sp-active-line-vector,
  .pd-active-line-main,
  .pd-active-line-grad,
  .pd-active-line-left {
    width: 100% !important;
  }

  .pbe-tracks-head {
    padding: 16px;
  }

  .pbe-head-row {
    grid-template-columns: 32px minmax(0, 1fr);
    column-gap: 8px;
  }

  .pbe-empty {
    padding: 18px 14px;
  }

  .pbe-empty-search {
    width: 100%;
    max-width: 100%;
    border-radius: 12px;
  }

  .pd-player-inner {
    padding-left: 12px;
    padding-right: 12px;
  }
}
