.catalog-page { max-width: 960px; margin: 0 auto; padding: 26px 18px 60px; }
.catalog-intro { font-size: 13.5px; color: rgba(255,255,255,0.55); line-height: 1.7; margin: 4px 0 30px; max-width: 640px; }

.album-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 18px;
}
.album-card {
    display: block; text-decoration: none; color: #fff;
    background: rgba(255,255,255,0.045); border: 1px solid rgba(255,255,255,0.09);
    border-radius: var(--shape-r); overflow: hidden; transition: transform 0.15s, background 0.15s;
}
.album-card:hover { transform: translateY(-3px); background: rgba(255,255,255,0.08); }
.album-card-cover {
    width: 100%; aspect-ratio: 1 / 1; background-size: cover; background-position: center;
    background-color: rgba(255,255,255,0.06);
}
.album-card-body { padding: 14px 16px 16px; }
.album-card-title { font-size: 15px; font-weight: 800; margin-bottom: 4px; }
.album-card-subtitle { font-size: 11.5px; color: rgba(255,255,255,0.5); line-height: 1.5; margin-bottom: 12px; min-height: 34px; }
.album-card-footer { display: flex; justify-content: space-between; align-items: center; }
.album-card-price { font-size: 13px; font-weight: 700; color: var(--accent2); }
.album-card-access { font-size: 10px; text-transform: uppercase; letter-spacing: 0.5px; color: rgba(255,255,255,0.4); }
.album-card-access.access-owned, .album-card-access.access-subscribed { color: var(--accent2); }
.album-card-access.access-trial_available, .album-card-access.access-trial_active { color: var(--accent1); }
