/* ── Parts Catalog (FEAT-019) ── prefix: pc- */

/* Page wrapper */
.pc-page {
    padding: 24px 28px;
    max-width: 1200px;
}

/* Header */
.pc-header {
    margin-bottom: 20px;
}
.pc-page-title {
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 4px;
}
.pc-page-sub {
    font-size: 0.9rem;
    opacity: 0.7;
    margin: 0;
}

/* Sticky filter bar (FEAT-062) */
.filter-container {
    /* stacking context for sticky child */
}

.sticky-filter-bar {
    position: sticky;
    top: 0;
    z-index: 100;
    background: var(--bg-primary, #0e1117);
    border-bottom: 1px solid #2a2f45;
    padding: 12px 0;
    margin-bottom: 16px;
}

body[data-theme="light"] .sticky-filter-bar {
    background: #f4f6fa;
    border-bottom-color: #dee2e6;
}

/* Search bar */
.pc-search-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0;
}
.pc-search-input {
    flex: 1;
    max-width: 560px;
    padding: 10px 14px;
    font-size: 0.95rem;
    border-radius: 6px;
    border: 1px solid #2a2f45;
    outline: none;
    transition: border-color 0.15s;
}
.pc-search-input:focus {
    border-color: #4f8ef7;
}

/* Count display */
.pc-count-display {
    font-size: 0.85rem;
    opacity: 0.75;
    margin-bottom: 10px;
    min-height: 20px;
}

/* Results container */
.pc-results-container {
    margin-bottom: 16px;
}

/* Pagination */
.pc-pagination {
    display: flex;
    gap: 10px;
    margin-top: 8px;
}
.pc-page-btn {
    padding: 7px 18px;
    font-size: 0.88rem;
    border-radius: 4px;
    border: 1px solid #2a2f45;
    cursor: pointer;
    transition: background 0.15s, opacity 0.15s;
}
.pc-page-btn:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

/* ── Light theme ────────────────────────────────────────────────── */
body[data-theme="light"] .pc-page-title {
    color: #1a1a2e;
}
body[data-theme="light"] .pc-page-sub {
    color: #4a4a6a;
}
body[data-theme="light"] .pc-search-input {
    background: #ffffff;
    color: #1a1a2e;
    border-color: #c8cee0;
}
body[data-theme="light"] .pc-search-input:focus {
    border-color: #3b6fd4;
}
body[data-theme="light"] .pc-count-display {
    color: #4a4a6a;
}
body[data-theme="light"] .pc-page-btn {
    background: #f0f2f8;
    color: #1a1a2e;
    border-color: #c8cee0;
}
body[data-theme="light"] .pc-page-btn:hover:not(:disabled) {
    background: #e0e4f0;
}

/* ── Dark theme ─────────────────────────────────────────────────── */
body[data-theme="dark"] .pc-page-title {
    color: #e8eaf0;
}
body[data-theme="dark"] .pc-page-sub {
    color: #adb5bd;
}
body[data-theme="dark"] .pc-search-input {
    background: #1a1f2e;
    color: #e8eaf0;
    border-color: #2a2f45;
}
body[data-theme="dark"] .pc-search-input:focus {
    border-color: #4f8ef7;
}
body[data-theme="dark"] .pc-count-display {
    color: #adb5bd;
}
body[data-theme="dark"] .pc-page-btn {
    background: #1e2537;
    color: #e8eaf0;
    border-color: #2a2f45;
}
body[data-theme="dark"] .pc-page-btn:hover:not(:disabled) {
    background: #252b3b;
}
