/*
Theme Name: Cocoon Child - テックワード
Theme URI:
Description: テックワード専用Cocoon子テーマ（用語辞典・読み物特化）
Author: Hyrnet
Template: cocoon-master
Version: 1.0.0
*/

/* ================================================================
   カラー変数
================================================================ */
:root {
  --color-primary:     #2c3e50;   /* ダークスレート */
  --color-accent:      #7c3aed;   /* パープル */
  --color-accent-hover:#6d28d9;
  --color-bg:          #ffffff;
  --color-surface:     #fafafa;
  --color-text:        #222222;
  --color-text-muted:  #6b7280;
  --color-border:      #e5e7eb;
}

/* ================================================================
   ベース（可読性最優先）
================================================================ */
body {
  background-color: var(--color-bg);
  color: var(--color-text);
  font-family: 'Noto Serif JP', 'Hiragino Mincho ProN', Georgia, serif;
  line-height: 1.9;
}

/* 本文はサンセリフの方が読みやすい場合はこちらを使用 */
.entry-content p,
.entry-content li {
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', sans-serif;
  font-size: 0.975em;
  line-height: 1.85;
}

a {
  color: var(--color-accent);
}
a:hover {
  color: var(--color-accent-hover);
}

/* ================================================================
   ヘッダー
================================================================ */
#header {
  background-color: var(--color-primary);
  border-bottom: 3px solid var(--color-accent);
}

#header .site-name-text,
#header .tagline {
  color: #ffffff;
}

/* ================================================================
   ナビゲーション
================================================================ */
#navi {
  background-color: #1a252f;
}

#navi .navi-in > ul > li > a {
  color: #e2e8f0;
  font-size: 0.9em;
}

#navi .navi-in > ul > li > a:hover,
#navi .navi-in > ul > li.current-menu-item > a {
  background-color: var(--color-accent);
  color: #ffffff;
}

/* ================================================================
   記事タイトル・見出し
================================================================ */
.entry-title {
  color: var(--color-primary);
  font-size: 1.6em;
  line-height: 1.4;
}

/* H2：定義ブロック風 */
.entry-content h2 {
  background-color: var(--color-surface);
  color: var(--color-primary);
  border-left: 5px solid var(--color-accent);
  padding: 10px 16px;
  font-size: 1.2em;
}

/* H3 */
.entry-content h3 {
  color: var(--color-primary);
  border-bottom: 2px solid var(--color-accent);
  padding-bottom: 4px;
  font-size: 1.05em;
}

/* H4 */
.entry-content h4 {
  color: var(--color-text-muted);
  font-size: 0.95em;
  font-weight: bold;
}

/* ================================================================
   用語定義ボックス
================================================================ */
.definition-box {
  background-color: #f5f3ff;
  border: 1px solid #c4b5fd;
  border-left: 5px solid var(--color-accent);
  border-radius: 4px;
  padding: 16px 20px;
  margin: 24px 0;
  font-size: 0.95em;
}

.definition-box .definition-title {
  font-weight: bold;
  color: var(--color-accent);
  margin-bottom: 8px;
  font-size: 0.85em;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* ================================================================
   テーブル（用語比較）
================================================================ */
.entry-content table {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.9em;
}

.entry-content table th {
  background-color: var(--color-primary);
  color: #ffffff;
  padding: 8px 12px;
  text-align: left;
}

.entry-content table td {
  padding: 8px 12px;
  border: 1px solid var(--color-border);
  vertical-align: top;
}

.entry-content table tr:nth-child(even) td {
  background-color: #f9f5ff;
}

/* ================================================================
   関連用語リンク
================================================================ */
.related-terms {
  background-color: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 6px;
  padding: 16px 20px;
  margin: 24px 0;
}

.related-terms-title {
  font-size: 0.85em;
  color: var(--color-text-muted);
  font-weight: bold;
  margin-bottom: 8px;
}

/* ================================================================
   パンくずリスト
================================================================ */
.breadcrumb {
  font-size: 0.8em;
  color: var(--color-text-muted);
}

/* ================================================================
   サイドバー
================================================================ */
#sidebar .widget-title {
  background-color: var(--color-primary);
  color: #ffffff;
  padding: 8px 12px;
  font-size: 0.9em;
}

/* ================================================================
   フッター
================================================================ */
#footer {
  background-color: var(--color-primary);
  color: #94a3b8;
}

#footer a {
  color: #a5b4fc;
}

/* ================================================================
   AdSense 配置用クラス
================================================================ */
.ad-top,
.ad-middle,
.ad-bottom {
  text-align: center;
  margin: 32px auto;
}

/* ================================================================
   レスポンシブ
================================================================ */
@media (max-width: 768px) {
  body {
    font-size: 15px;
  }

  .entry-content h2 {
    font-size: 1.1em;
  }
}
