/* Archive & Single pages */
.p-archive { padding: var(--space-xl) 0; }
.p-archive__filter { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: var(--space-lg); }
.p-archive__filter-btn { font-family: var(--font-mono); font-size: var(--text-label); letter-spacing: 0.08em; color: var(--color-text-muted); border: 1px solid var(--color-border); padding: 6px 16px; background: none; cursor: pointer; transition: all 0.3s ease; }
.p-archive__filter-btn:hover, .p-archive__filter-btn.is-active { color: var(--color-accent); border-color: var(--color-accent); }
.p-archive__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.p-archive__news-item { display: block; padding: var(--space-md) 0; border-bottom: 1px solid var(--color-border); transition: background 0.3s ease, padding 0.3s ease; text-decoration: none; color: inherit; }
.p-archive__news-item:first-child { border-top: 1px solid var(--color-border); }
.p-archive__news-item:hover { background: var(--color-bg-elevated); padding-left: var(--space-sm); padding-right: var(--space-sm); }
.p-archive__news-meta { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.p-archive__news-date { font-family: var(--font-mono); font-size: var(--text-small); color: var(--color-text-muted); }
.p-archive__news-tag { font-family: var(--font-mono); font-size: 0.6rem; letter-spacing: 0.1em; color: var(--color-accent); border: 1px solid var(--color-border); padding: 2px 8px; }
.p-archive__news-title { font-size: var(--text-body); font-weight: 500; color: var(--color-text); line-height: 1.6; }
.p-archive__case-card { display: block; border: 1px solid var(--color-border); transition: border-color 0.3s ease; text-decoration: none; color: inherit; }
.p-archive__case-card:hover { border-color: var(--color-accent); }
.p-archive__case-visual { aspect-ratio: 16/9; background: var(--color-bg-elevated); display: flex; align-items: center; justify-content: center; border-bottom: 1px solid var(--color-border); overflow: hidden; }
.p-archive__case-visual span { font-family: var(--font-mono); font-size: var(--text-label); color: var(--color-text-muted); letter-spacing: 0.15em; }
.p-archive__case-body { padding: 10px 12px 14px; }
.p-archive__case-category { font-family: var(--font-mono); font-size: 0.55rem; letter-spacing: 0.1em; color: var(--color-accent); margin-bottom: 4px; display: block; }
.p-archive__case-title { font-size: 0.8rem; font-weight: 500; color: var(--color-white); line-height: 1.5; margin-bottom: 6px; }
.p-archive__case-tags { display: flex; gap: 6px; flex-wrap: wrap; }
.p-archive__case-tags span { font-family: var(--font-mono); font-size: 0.55rem; letter-spacing: 0.05em; color: var(--color-text-muted); }

@media (min-width: 768px) {
    .p-archive__case-body { padding: var(--space-md); }
    .p-archive__case-category { font-size: 0.65rem; margin-bottom: 8px; }
    .p-archive__case-title { font-size: var(--text-body); margin-bottom: 12px; }
    .p-archive__case-tags span { font-size: 0.6rem; }
}
.p-archive__case-tags span { font-family: var(--font-mono); font-size: 0.6rem; letter-spacing: 0.08em; color: var(--color-text-muted); }
.p-archive__pagination { display: flex; align-items: center; justify-content: center; gap: 4px; margin-top: var(--space-xl); }
.p-archive__pagination a, .p-archive__pagination span { font-family: var(--font-mono); font-size: var(--text-small); width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--color-border); color: var(--color-text-muted); transition: all 0.3s ease; text-decoration: none; }
.p-archive__pagination a:hover { border-color: var(--color-accent); color: var(--color-accent); }
.p-archive__pagination .is-current { border-color: var(--color-accent); color: var(--color-accent); background: var(--color-accent-dim); }

/* Single */
.p-single { padding: var(--space-xl) 0; }
.p-single__body { display: grid; grid-template-columns: 1fr; gap: var(--space-lg); }
.p-single__content h2 { font-family: var(--font-heading); font-size: var(--text-h3); font-weight: 600; color: var(--color-white); margin: var(--space-lg) 0 var(--space-sm); padding-bottom: var(--space-xs); border-bottom: 1px solid var(--color-border); }
.p-single__content p { font-size: var(--text-body); line-height: var(--leading-relaxed); color: var(--color-text); margin-bottom: var(--space-md); }
.p-single__content ul, .p-single__content ol { padding-left: 24px; margin-bottom: var(--space-md); color: var(--color-text); line-height: var(--leading-relaxed); }
.p-single__content li { margin-bottom: 8px; }
.p-single__sidebar { display: flex; flex-direction: column; gap: var(--space-md); }
.p-single__sidebar-section { border: 1px solid var(--color-border); padding: var(--space-md); }
.p-single__sidebar-title { font-family: var(--font-mono); font-size: var(--text-label); letter-spacing: 0.1em; color: var(--color-accent); margin-bottom: var(--space-sm); }
.p-single__sidebar-list { display: flex; flex-direction: column; gap: 8px; }
.p-single__sidebar-list a { font-size: var(--text-small); color: var(--color-text-muted); transition: color 0.3s ease; text-decoration: none; }
.p-single__sidebar-list a:hover { color: var(--color-accent); }
.p-single__case-info { display: grid; grid-template-columns: 1fr; gap: 1px; background: var(--color-border); margin: var(--space-lg) 0; }
.p-single__case-info-item { background: var(--color-bg); padding: var(--space-sm) var(--space-md); display: flex; gap: var(--space-md); }
.p-single__case-info-item dt { font-family: var(--font-mono); font-size: var(--text-label); color: var(--color-accent); min-width: 100px; letter-spacing: 0.05em; }
.p-single__case-info-item dd { font-size: var(--text-small); color: var(--color-text); }
.p-single__back { margin-top: var(--space-xl); padding-top: var(--space-md); border-top: 1px solid var(--color-border); }

@media (min-width: 768px) {
    .p-archive__grid { grid-template-columns: repeat(3, 1fr); }
    .p-single__body { grid-template-columns: 3fr 1fr; }
}
