.vibewave-albums-page .albums-scrollable-content {
    gap: 40px;
}

.vibewave-albums-page .albums-discovery-block {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.vibewave-albums-page .albums-row-block {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.vibewave-albums-page .album-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.vibewave-albums-page .album-section-head h2 {
    font-size: 1.18rem;
    font-weight: 600;
    letter-spacing: -0.2px;
}

.vibewave-albums-page .carousel-container {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 24px;
}

.vibewave-albums-page .carousel-viewport {
    overflow: hidden;
    border-radius: 24px;
}

.vibewave-albums-page .carousel-track {
    display: flex;
    transition: transform 0.4s ease;
    gap: 14px;
    will-change: transform;
}

.vibewave-albums-page .carousel-slide {
    flex: 0 0 calc((100% - (4 * 14px)) / 5);
    min-width: 0;
}

.vibewave-albums-page .carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.6);
    border: none;
    color: #fff;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    backdrop-filter: blur(4px);
    transition: 0.2s;
}

.vibewave-albums-page .carousel-btn:hover:not(:disabled) {
    background: #8b5cf6;
}

.vibewave-albums-page .carousel-btn:disabled {
    opacity: 0.35;
    cursor: default;
}

.vibewave-albums-page .carousel-btn.prev { left: 10px; }
.vibewave-albums-page .carousel-btn.next { right: 10px; }

.vibewave-albums-page .pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
}

.vibewave-albums-page .page-btn {
    background: rgba(30,30,38,0.5);
    border: none;
    color: #a1a1aa;
    padding: 6px 12px;
    border-radius: 30px;
    cursor: pointer;
    transition: 0.2s;
    font-size: 0.75rem;
}

.vibewave-albums-page .page-btn.active {
    background: #8b5cf6;
    color: white;
}

.vibewave-albums-page .page-btn:hover:not(.active) {
    background: rgba(139,92,246,0.3);
}

.vibewave-albums-page .album-card p {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 30px;
}

.vibewave-albums-page .new-track-item.active-song {
    background: rgba(139,92,246,0.16);
}

@media (max-width: 1200px) {
    .vibewave-albums-page .carousel-slide { flex-basis: calc((100% - (3 * 14px)) / 4); }
}

@media (max-width: 992px) {
    .vibewave-albums-page .carousel-slide { flex-basis: calc((100% - 14px) / 2); }
}

@media (max-width: 768px) {
    .vibewave-albums-page .right-panel { display: none; }
    .vibewave-albums-page .album-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
    .vibewave-albums-page .album-grid { grid-template-columns: minmax(0, 1fr); }
    .vibewave-albums-page .carousel-slide { flex-basis: 100%; }
}
