/* 修理のキクチ 修理実績（テーマ kikuchi-column の色・部品に合わせる） */

.kw-cat-device { background: var(--dark, #1A1A1A); color: #fff; }

/* 修理前・修理後の写真 */
.kw-photos { display: grid; grid-template-columns: 1fr; gap: 16px; margin-bottom: 32px; }
.kw-photos-2 { grid-template-columns: 1fr 1fr; }
.kw-photos figure { margin: 0; }
.kw-photos img {
  width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover;
  border-radius: var(--radius, 8px); background: var(--gray-light, #F7F7F5); display: block;
}
.kw-photos figcaption {
  margin-top: 8px; font-size: 0.85rem; font-weight: 700; text-align: center; color: var(--dark, #1A1A1A);
}

/* 修理の内容（表） */
.kw-spec { margin-bottom: 40px; }
.kw-spec h2,
.kw-related h2,
.kw-summary h2,
.kw-area-info h2,
.kw-single .related-posts h2 {
  font-size: 1.2rem; font-weight: 900; margin-bottom: 16px;
  padding-left: 12px; border-left: 4px solid var(--yellow, #FFCC00); line-height: 1.4;
}
.kw-spec table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.kw-spec th, .kw-spec td {
  border: 1px solid var(--gray, #EBEBEB); padding: 12px 16px; text-align: left; vertical-align: top; line-height: 1.7;
}
.kw-spec th { width: 32%; background: var(--gray-light, #F7F7F5); font-weight: 700; white-space: nowrap; }
.kw-spec td strong { font-size: 1.1rem; }
.kw-note { display: block; font-size: 0.85rem; color: var(--text-muted, #666); }
.kw-note-block { margin-top: 10px; font-size: 0.8rem; color: var(--text-muted, #666); line-height: 1.7; }

/* 相談・お見積もりの案内 */
.kw-cta {
  margin: 40px 0; padding: 28px; border-radius: var(--radius, 8px);
  background: var(--gray-light, #F7F7F5); border: 2px solid var(--yellow, #FFCC00);
}
.kw-cta h2 { font-size: 1.15rem; font-weight: 900; margin-bottom: 14px; }
.kw-cta ul { margin: 0 0 20px; padding-left: 1.2em; list-style: disc; }
.kw-cta li { margin-bottom: 6px; line-height: 1.7; font-size: 0.95rem; }
.kw-cta li a { color: var(--yellow-dark, #E6B800); text-decoration: underline; }
.kw-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.kw-cta-actions .btn-primary,
.kw-cta-actions .btn-secondary { font-size: 0.95rem; padding: 12px 28px; }
.kw-cta-sub { margin-top: 14px; font-size: 0.85rem; color: var(--text-muted, #666); }
.kw-cta-sub a { text-decoration: underline; }

/* 関連する修理実績 */
.kw-related { margin: 40px 0; }
.kw-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.kw-grid .post-card-body { padding: 14px; }
.kw-grid .post-card-title { font-size: 0.9rem; }
.kw-more { margin-top: 14px; text-align: right; font-size: 0.9rem; }
.kw-more a { color: var(--yellow-dark, #E6B800); font-weight: 700; text-decoration: underline; }
.article-body .kw-related h2 { border-bottom: 0; }

.kw-card-symptom span {
  display: inline-block; margin-right: 6px; padding: 0 6px; border-radius: 3px;
  background: var(--gray, #EBEBEB); color: var(--dark, #1A1A1A); font-size: 0.72rem; font-weight: 700;
}

/* 一覧のまとめ */
.kw-summary {
  margin-bottom: 32px; padding: 24px; background: #fff;
  border: 1px solid var(--gray, #EBEBEB); border-radius: var(--radius, 8px);
}
.kw-summary dl { display: grid; gap: 10px; margin: 0; }
.kw-summary dl > div { display: grid; grid-template-columns: 8em 1fr; gap: 12px; font-size: 0.95rem; line-height: 1.7; }
.kw-summary dt { font-weight: 700; }
.kw-summary dd { margin: 0; }

/* 絞り込みのリンク */
.kw-finder { margin-bottom: 32px; display: grid; gap: 14px; }
.kw-links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 24px; }
.kw-finder .kw-links { margin-bottom: 0; }
.kw-links-label { font-weight: 700; font-size: 0.9rem; margin-right: 4px; }
.kw-links a {
  display: inline-block; padding: 6px 14px; border: 1px solid var(--gray, #EBEBEB);
  border-radius: 20px; font-size: 0.85rem; background: #fff; transition: background 0.15s, border-color 0.15s;
}
.kw-links a:hover { background: var(--yellow, #FFCC00); border-color: var(--yellow, #FFCC00); }

/* 地域の案内 */
.kw-area-info { margin-top: 48px; }
.kw-area-info p { line-height: 1.8; margin-bottom: 8px; }
.kw-area-info a { color: var(--yellow-dark, #E6B800); text-decoration: underline; }

@media (max-width: 900px) {
  .kw-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .kw-grid { grid-template-columns: 1fr; }
  .kw-spec th { width: auto; white-space: normal; }
  .kw-spec th, .kw-spec td { display: block; width: 100%; }
  .kw-spec th { border-bottom: 0; }
  .kw-summary dl > div { grid-template-columns: 1fr; gap: 2px; }
  .kw-cta { padding: 20px; }
  .kw-cta-actions a { width: 100%; text-align: center; }
}
