.section-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 20px; }
.section-header h2 { font-size: 28px; font-weight: 700; color: #000; }
.view-all { font-size: 13px; color: #888; text-decoration: none; }
.view-all:hover { color: #333; }
.playlist-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.playlist-card { cursor: pointer; display: flex; flex-direction: column; text-decoration: none; color: inherit; }
.image-container { position: relative; width: 100%; padding-top: 100%; border-radius: 12px; overflow: hidden; background-color: #f0f0f0; margin-bottom: 12px; }
.image-container img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.playlist-card:hover .image-container img { transform: scale(1.05); }
.play-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.15); display: flex; justify-content: center; align-items: center; z-index: 2; }
.play-btn-large { width: 50px; height: 50px; background: rgba(255,255,255,0.85); border-radius: 50%; display: flex; justify-content: center; align-items: center; color: #333; font-size: 18px; padding-left: 4px; box-shadow: 0 4px 10px rgba(0,0,0,0.2); transition: transform 0.2s; }
.play-btn-large:hover { transform: scale(1.1); }
.playlist-title { font-size: 18px; font-weight: 700; line-height: 1.4; color: #222; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 4px; }
.playlist-author { font-size: 14px; color: #999; }