/* 検索・アーカイブ・タクソノミーページ共通 */

.s-head { background: #1a1a1a; color: #fff; padding: 28px 24px 22px; }
.s-head .inner { max-width: 720px; margin: 0 auto; }
.s-form { display: flex; background: #fff; border-radius: 8px; overflow: hidden; }
.s-form input { flex: 1; border: 0; padding: 13px 16px; font-size: 14px; font-family: inherit; outline: none; min-width: 0; }
.s-form button { border: 0; background: #c8a96e; color: #1a1a1a; font-weight: 700; padding: 0 20px; font-size: 13px; font-family: inherit; cursor: pointer; }
.s-title { font-size: 20px; font-weight: 700; margin: 18px 0 4px; line-height: 1.5; color: #fff; }
.s-count { font-size: 12px; color: #aaa; }

/* ─── facets（WFオリジナル準拠：flex-wrap、12px、小さめpadding） ─── */
.facets { display: flex; gap: 6px; flex-wrap: wrap; margin: 20px 0 18px; }
.facets a { font-size: 12px; background: #fff; border: 1px solid #e0ddd8; border-radius: 20px; padding: 4px 12px; text-decoration: none; color: #555; white-space: nowrap; }
.facets a:hover { border-color: #c8a96e; color: #1a1a1a; }
.facets a.on { background: #1a1a1a; color: #fff; border-color: #1a1a1a; }
.facets a small { color: #aaa; margin-left: 4px; }
.facets a.on small { color: #888; }

/* アクティブフィルタチップ（s-head内） */
.active { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; }
.active a { font-size: 11px; background: #2a2a2a; color: #ddd; border-radius: 14px; padding: 3px 10px; text-decoration: none; }
.active a::after { content: " ×"; color: #888; }
.active a:hover { background: #c8a96e; color: #1a1a1a; }

.results { padding: 0 24px 24px; }
.result { display: block; background: #fff; border-radius: 12px; padding: 16px 18px; margin-bottom: 10px; text-decoration: none; border: 1px solid #ecebe7; }
.result:hover { border-color: #c8a96e; }
.result .r-top { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 6px; }
.result .r-series { font-size: 11px; color: #888; }
.result .r-time { font-size: 11px; color: #aaa; margin-left: auto; }
.result .r-title { font-size: 16px; font-weight: 700; line-height: 1.55; margin-bottom: 6px; color: #1a1a1a; }
.result .r-snip { font-size: 13px; color: #555; line-height: 1.75; }
.result .r-tags { margin-top: 8px; display: flex; gap: 4px; flex-wrap: wrap; }
.result .r-tags span.r-theme { background: none; padding-left: 0; color: #999; }
.result .r-tags span.r-tag { background: #faf3e3; color: #a5772a; border: 1px solid #ecd9b0; }
.result .r-tags span { font-size: 10px; background: #f3f2ef; color: #777; padding: 1px 8px; border-radius: 10px; }

/* タイプバッジ */
.type { display: inline-block; border-radius: 3px; padding: 2px 7px; font-size: 10px; font-weight: 700; letter-spacing: .02em; }
.type-view    { background: #1a1a1a; color: #c8a96e; border: 1px solid #c8a96e; }
.type-guide   { background: #2f5d50; color: #fff; }
.type-diagram { background: #4c6b4c; color: #fff; }
.type-case    { background: #8a5a20; color: #fff; }
.type-qa      { background: #3b5a8a; color: #fff; }
.type-video   { background: #333; color: #fff; }

.empty { background: #fff; border-radius: 12px; padding: 28px 20px; text-align: center; margin: 20px 24px; border: 1px solid #ecebe7; }
.empty p { font-size: 14px; margin: 0 0 6px; }
