/* Page-specific styles for search/artist.html */

/* 검색 결과 페이지 */
        .search-results-page {
            padding: 0.75rem 0;
            position: relative;
            background-image:
                    radial-gradient(circle at 10% 20%, rgba(216, 241, 230, 0.05) 0%, transparent 20%),
                    radial-gradient(circle at 90% 80%, rgba(216, 241, 230, 0.07) 0%, transparent 20%);
        }

        /* 헤더 */
        .search-results-header h1 {
            font-size: var(--text-xl);
            margin: 0 0 0.25rem 0;
            display: inline-block;
            position: relative;
        }
        .search-results-header h1::after {
            content: '';
            position: absolute;
            bottom: -2px;
            left: 0;
            width: 70%;
            height: 2px;
            background: linear-gradient(to right, var(--forest), transparent);
            border-radius: var(--radius-sm);
        }

        /* 섹션 */
        .search-section {
            margin: 1rem 0;
            padding: 0.2rem 1rem;
            border-radius: var(--radius-lg);
            background: var(--gray-50);
            box-shadow: var(--shadow-sm);
            border: 1px solid var(--gray-200);
        }
        .search-section-header {
            margin-bottom: 0.25rem;
            padding-bottom: 0.1rem;
            position: relative;
        }
        .search-section-header::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 2px;
            background: linear-gradient(to right, var(--forest) 0%, rgba(0,128,0,0.3) 20%, rgba(0,128,0,0) 40%);
            border-radius: var(--radius-sm);
        }
        .search-section-header h2 {
            font-size: 1.05rem;
            font-weight: var(--font-semibold);
            color: var(--forest-dark);
            display: flex;
            align-items: center;
        }
        .search-section-header h2::before {
            content: '';
            display: inline-block;
            width: 8px;
            height: 8px;
            background-color: var(--forest);
            border-radius: var(--radius-full);
            margin-right: 0.5rem;
        }

        /* 리스트 */
        .sheet-music-list-item {
            display: flex;
            border-radius: var(--radius-md);
            background-color: white;
            height: 56px;
            box-shadow: var(--shadow-sm);
            margin-bottom: 6px;
            transition: var(--transition-base);
            text-decoration: none;
            color: inherit;
        }
        .sheet-music-list-item:hover {
            background-color: var(--gray-50);
            transform: translateY(-1px);
        }

        .list-item-cover {
            width: 48px;
            height: 48px;
            flex-shrink: 0;
            margin: 4px 0;
            border-radius: var(--radius-sm);
            overflow: hidden;
        }
        .list-item-cover img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        /* 리스트 내부 Grid */
        .list-item-info {
            display: grid;
            grid-template-columns: auto 300px 300px 120px;
            align-items: center;
            padding: 0.5rem 0.75rem;
            gap: 0.5rem;
            flex-grow: 1;
        }

        .list-item-title {
            font-size: 0.9rem;
            font-weight: var(--font-semibold);
            color: var(--gray-900);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .list-item-artist,
        .list-item-album {
            font-size: var(--text-sm);
            color: var(--gray-600);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        /* 파트 뱃지 */
        .list-item-parts {
            display: flex;
            gap: 0.3rem;
        }
        .part-badge {
            width: 24px;
            height: 24px;
            border-radius: var(--radius-full);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: var(--text-xs);
            font-weight: var(--font-semibold);
            color: white;
            box-shadow: var(--shadow-sm);
            transition: var(--transition-fast);
        }
        .badge-m {
            background: linear-gradient(135deg, var(--forest), var(--forest-dark));
        }
        .badge-p {
            background: linear-gradient(135deg, var(--forest-light), var(--forest));
        }
        .badge-empty {
            background: var(--gray-300);
            color: var(--gray-50);
            opacity: 0.6;
        }
        .part-badge:hover {
            transform: scale(1.1);
            box-shadow: var(--shadow-md);
        }

        /* 반응형 - 모바일 최적화 */
        @media (max-width: 768px) {
            .sheet-music-list-item {
                display: grid;
                grid-template-columns: 60px 1fr auto auto;
                grid-template-rows: auto auto;
                gap: 0 var(--space-2);
                height: auto;
                padding: var(--space-2);
                margin-bottom: var(--space-2);
            }

            .list-item-cover {
                width: 60px;
                height: 60px;
                margin: 0;
                grid-row: 1 / 3;
                align-self: center;
            }

            .list-item-info {
                display: contents;
            }

            .list-item-title {
                grid-column: 2;
                grid-row: 1;
                font-size: var(--text-sm);
                font-weight: var(--font-bold);
                margin: 0;
                padding-bottom: 2px;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
                align-self: end;
            }

            .list-item-artist {
                grid-column: 2;
                grid-row: 2;
                font-size: var(--text-xs);
                color: var(--gray-600);
                margin: 0;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
                align-self: start;
            }

            .list-item-album {
                grid-column: 3;
                grid-row: 1 / 3;
                font-size: var(--text-xs);
                color: var(--gray-600);
                margin: 0;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
                align-self: center;
            }

            .list-item-parts {
                grid-column: 4;
                grid-row: 1 / 3;
                display: flex;
                gap: 0.25rem;
                align-self: center;
            }

            .part-badge {
                width: 20px;
                height: 20px;
                font-size: 0.7rem;
            }
        }

        @media (max-width: 480px) {
            .sheet-music-list-item {
                grid-template-columns: 50px 1fr auto auto;
                padding: var(--space-1);
                gap: 0 var(--space-1);
            }

            .list-item-cover {
                width: 50px;
                height: 50px;
            }

            .list-item-title {
                font-size: var(--text-xs);
                padding-bottom: 1px;
            }

            .list-item-artist,
            .list-item-album {
                font-size: 0.7rem;
            }

            .part-badge {
                width: 18px;
                height: 18px;
                font-size: 0.65rem;
            }
        }

        /* 요약 패널 */
        .modern-summary {
            display: flex;
            justify-content: center;
            gap: 0.75rem;
            margin: 1rem 0;
            flex-wrap: wrap;
        }
        .summary-item {
            display: flex;
            align-items: center;
            gap: 0.35rem;
            padding: 0.45rem 0.9rem;
            border-radius: var(--radius-lg);
            background: linear-gradient(to bottom right, rgba(255,255,255,0.8), rgba(245,250,245,0.9));
            box-shadow: var(--shadow-sm);
            font-size: var(--text-sm);
            cursor: pointer;
            transition: var(--transition-fast);
            backdrop-filter: blur(6px);
        }
        .summary-item:hover {
            box-shadow: var(--shadow-md);
            transform: translateY(-2px);
            background: linear-gradient(to bottom right, rgba(250,255,250,1), rgba(235,245,235,1));
        }
        .summary-item.active {
            background: rgba(0, 128, 0, 0.08);
            box-shadow: inset 0 0 6px rgba(0, 128, 0, 0.08);
        }
        .summary-icon {
            font-size: 0.95rem;
            color: var(--forest-dark);
        }
        .summary-label {
            font-weight: var(--font-semibold);
            color: var(--gray-800);
            letter-spacing: -0.3px;
        }
        .summary-count {
            font-weight: var(--font-bold);
            color: var(--forest);
        }

        /* 더보기 링크 */
        .load-more-wrapper {
            display: flex;
            justify-content: flex-end;
            margin-top: 1.5rem;
            padding-right: 10px;
            margin-bottom: 30px;
        }
        .load-more-link {
            font-size: var(--text-base);
            font-weight: var(--font-bold);
            color: var(--forest-dark);
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 8px;
            transition: var(--transition-base);
        }
        .load-more-link i {
            font-size: var(--text-base);
            transition: transform var(--transition-base);
        }
        .load-more-link:hover {
            color: var(--forest);
        }
        .load-more-link:hover i {
            transform: translateX(6px);
        }
