/* ========================================
   カテゴリーページ共通スタイル
   全カテゴリーページで使用
   .category-archive を基底クラスとして使用
   ======================================== */

/* ページ全体 */
.category-archive {
    background: var(--color-bg-white, #ffffff);
    padding: 30px 20px;
}

/* カテゴリーヘッダー */
.category-archive .category-header {
    background: white;
    padding: 40px 20px;
    margin: -60px -20px 40px;
    border-bottom: 2px solid var(--color-border, #e1f5fe);
}

.category-archive .category-title {
    font-size: 2rem;
    text-align: center;
    color: var(--color-primary-dark, #01579b);
    margin-bottom: 10px;
    font-weight: 600;
}

.category-archive .category-description {
    text-align: center;
    color: var(--color-primary, #0288d1);
    font-size: 1rem;
}

/* パンくずリスト */
.category-archive .breadcrumb {
    text-align: center;
    margin-top: 16px;
    padding: 12px 0;
    font-size: 1rem;
    color: var(--color-text-medium, #546e7a);
}

.category-archive .breadcrumb a {
    color: var(--color-primary, #0288d1);
    text-decoration: none;
    transition: color var(--transition-normal, 0.3s ease);
}

.category-archive .breadcrumb a:hover {
    color: var(--color-primary-dark, #01579b);
    text-decoration: underline;
}

.category-archive .breadcrumb .separator {
    margin: 0 8px;
    color: var(--color-text-light, #90a4ae);
}

.category-archive .breadcrumb .current {
    color: var(--color-text-dark, #37474f);
    font-weight: 500;
}

/* タグフィルター */
.category-archive .category-filter {
    max-width: 1200px;
    margin: 0 auto 40px;
    padding: 20px;
    background: white;
    border-radius: 16px;
    box-shadow: var(--shadow-light, 0 2px 8px rgba(0, 0, 0, 0.04));
    border: 2px solid var(--color-border, #e1f5fe);
}

.category-archive .tag-filter-label {
    font-size: 0.9rem;
    color: var(--color-text-hint, #666);
    margin-bottom: 12px;
    font-weight: 500;
}

.category-archive .tag-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.category-archive .tag-chip {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    background: white;
    color: var(--color-primary, #0288d1);
    border: 2px solid var(--color-border, #e1f5fe);
    border-radius: var(--radius-round, 20px);
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    transition: all var(--transition-normal, 0.3s ease);
    text-decoration: none;
}

.category-archive .tag-chip:hover {

    border-color: var(--color-primary-light, #4fc3f7);
    transform: translateY(-2px);
}

.category-archive .tag-chip.active {
    border: none;
    background:var(--color-primary-light, #4fc3f7);
    color: white;
}

/* ページネーション */
.category-archive .pagination {
    max-width: 800px;
    margin: 40px auto;
    text-align: center;
}

.category-archive .pagination .nav-links {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

.category-archive .pagination a,
.category-archive .pagination .current {
    display: inline-block;
    padding: 10px 16px;
    background: white;
    color: var(--color-primary, #0288d1);
    text-decoration: none;
    border-radius: var(--radius-small, 4px);
    border: 2px solid var(--color-border, #e1f5fe);
    transition: all var(--transition-normal, 0.3s ease);
}

.category-archive .pagination a:hover,
.category-archive .pagination .current {
    background: var(--color-primary-light, #4fc3f7);
    color: white;
    border-color: var(--color-primary-light, #4fc3f7);
}

/* 投稿なし */
.category-archive .no-posts {
    max-width: 600px;
    margin: 60px auto;
    padding: 40px;
    background: white;
    border-radius: var(--radius-medium, 8px);
    text-align: center;
    color: var(--color-text-medium, #546e7a);
}

/* 戻るボタン */
.category-archive .back-navigation {
    text-align: center;
    margin-top: 60px;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .category-archive {
        padding: 40px 15px;
    }

    .category-archive .category-filter {
        padding: 16px;
    }

    .category-archive .tag-chips {
        gap: 8px;
    }

    .category-archive .tag-chip {
        padding: 6px 14px;
        font-size: 0.85rem;
    }

    .category-archive .btn-back,
    .category-archive .btn-home {
        display: block;
        margin: 10px auto;
        max-width: 200px;
    }
}

@media (max-width: 480px) {
    .category-archive .tag-filter-label {
        font-size: 0.85rem;
        margin-bottom: 10px;
    }

    .category-archive .tag-chip {
        padding: 6px 12px;
        font-size: 0.8rem;
    }
}
