/*
Theme Name: Arkhe Child - 系図系譜学事典
Template: arkhe
Version: 1.1.0
Description: 系図系譜学事典用カスタムテーマ
*/

/* ========================================
   BASE: 背景・フォント・色彩
======================================== */
:root {
  --enc-bg: #fdf6e3;
  --enc-banner: #f5deb3;
  --enc-navy: #191970;
  --enc-accent: #e6b422;
  --enc-text: #2c2c2c;
  --enc-border: #c8b88a;
  --enc-link: #191970;
  --enc-font: 'Yu Mincho', '游明朝', 'Hiragino Mincho ProN', 'ヒラギノ明朝 ProN W3', 'HGS明朝E', serif;
}

body {
  background-color: var(--enc-bg) !important;
  font-family: var(--enc-font) !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
  color: var(--enc-text) !important;
}

/* ========================================
   HEADER — スティッキー無効化
======================================== */
/* ── スティッキーヘッダー完全無効化 ──────────────────────
   arkhe_settings で fix_header_pc/sp=false 設定済みだが
   CSS でも data-pcfix/spfix に依存しない形で念押し        */
.l-header,
.l-header[data-pcfix],
.l-header[data-spfix],
.l-header[data-pcfix="0"],
.l-header[data-pcfix="1"],
.l-header[data-spfix="0"],
.l-header[data-spfix="1"] {
  position: static !important;
  top: auto !important;
}
/* l-headerUnder の追従も無効化 */
.l-headerUnder,
.l-headerUnder[data-fix],
.l-headerUnder[data-fix="1"] {
  position: static !important;
  top: auto !important;
}

/* ── ヘッダー（タイトル部分のみ）: 紺地 + 下部に金色線 ──
   move_gnav_under=true により .l-header はタイトルのみ
   → border-bottom が正確にタイトル直下に全幅で入る       */
.l-header {
  background-color: var(--enc-navy) !important;
  border-bottom: 3px solid var(--enc-accent) !important;
  border-top: none !important;
  padding: 0 !important;
}

/* タイトルエリア内部（l-container で幅制限あり）: ボーダーなし */
.l-header__body {
  border: none !important;
  background: linear-gradient(160deg, #131360 0%, var(--enc-navy) 55%, #131360 100%) !important;
  padding: 22px 44px 20px !important;
}

/* ヘッダーバー（最上部の細帯）*/
.l-header__bar {
  background-color: var(--enc-navy) !important;
  border: none !important;
}

/* ナビゲーション帯（金色線の下・ヘッダー外） */
.l-headerUnder {
  background-color: var(--enc-banner) !important;
  border-bottom: 1px solid #b8a070 !important;
}

/* ========================================
   SITE TITLE — リッチ化
   実際のArkheクラス: .c-headLogo (タイトル)
                      .c-tagline   (サブタイトル)
======================================== */
/* タイトルを中央揃え */
.l-header__center {
  text-align: center !important;
}

/* タイトルテキスト */
.l-header__logo,
.l-header__logo.has-text {
  display: block !important;
  text-align: center !important;
  margin: 0 auto !important;
}

.c-headLogo,
.l-header__logo a.c-headLogo {
  font-family: var(--enc-font) !important;
  font-size: 48px !important;
  font-weight: bold !important;
  color: #fff8dc !important;
  letter-spacing: 0.22em !important;
  text-decoration: none !important;
  text-shadow:
    0 0 20px rgba(230, 180, 34, 0.4),
    0 1px 3px rgba(0,0,0,0.6) !important;
  display: inline-block !important;
  padding: 6px 0 8px !important;
  border-top: 1px solid rgba(230, 180, 34, 0.5) !important;
  border-bottom: 1px solid rgba(230, 180, 34, 0.5) !important;
  line-height: 1.3 !important;
}

.c-headLogo::before,
.c-headLogo::after {
  content: none !important;
}

/* サブタイトル（Arkheの .c-tagline） */
.c-tagline {
  font-family: var(--enc-font) !important;
  font-size: 12px !important;
  color: var(--enc-banner) !important;
  letter-spacing: 0.18em !important;
  text-align: center !important;
  margin-top: 8px !important;
  opacity: 0.9 !important;
}

/* 空の l-headerUnder を非表示（ナビ未設定のため） */
.l-headerUnder {
  display: none !important;
}

/* ========================================
   NAVIGATION
======================================== */
.c-gnav,
.c-gnavWrap,
.l-header__bar .c-gnav {
  background-color: var(--enc-banner) !important;
}

.c-gnav__a,
.c-gnav a {
  font-family: var(--enc-font) !important;
  color: var(--enc-navy) !important;
  font-size: 13px !important;
  letter-spacing: 0.1em !important;
}

.c-gnav__a:hover,
.c-gnav a:hover {
  color: var(--enc-accent) !important;
  background-color: rgba(0, 0, 128, 0.07) !important;
}

/* ========================================
   MAIN CONTENT
======================================== */
.l-main,
.site-main,
main {
  background-color: var(--enc-bg) !important;
}

/* 記事タイトル */
.entry-title,
.page-title,
h1.entry-title {
  font-family: var(--enc-font) !important;
  font-size: 22px !important;
  font-weight: bold !important;
  color: var(--enc-navy) !important;
  border-left: 5px solid var(--enc-accent) !important;
  padding-left: 16px !important;
  margin-bottom: 20px !important;
  line-height: 1.6 !important;
}

/* 見出し */
.entry-content h2 {
  font-family: var(--enc-font) !important;
  font-size: 18px !important;
  color: var(--enc-navy) !important;
  border-bottom: 2px solid var(--enc-accent) !important;
  padding-bottom: 6px !important;
  margin-top: 36px !important;
  margin-bottom: 16px !important;
}

.entry-content h3 {
  font-family: var(--enc-font) !important;
  font-size: 16px !important;
  color: var(--enc-navy) !important;
  border-left: 3px solid var(--enc-border) !important;
  padding-left: 10px !important;
  margin-top: 28px !important;
  margin-bottom: 12px !important;
}

.entry-content h4, .entry-content h5, .entry-content h6 {
  font-family: var(--enc-font) !important;
  color: var(--enc-navy) !important;
}

/* 本文 */
.entry-content p,
.entry-content li,
.entry-content td {
  font-family: var(--enc-font) !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
}

/* リンク */
a, .entry-content a {
  color: var(--enc-link) !important;
  text-decoration: underline !important;
}
a:hover {
  color: var(--enc-accent) !important;
}

/* ========================================
   2-COLUMN LAYOUT
======================================== */
.l-container,
.l-wrap {
  max-width: 1200px !important;
}

/* ========================================
   SIDEBAR
======================================== */
.l-sidebar,
.sidebar,
#secondary {
  background-color: #faf0d7 !important;
  border: 1px solid var(--enc-border) !important;
  padding: 20px !important;
  font-size: 13px !important;
}

.widget-title,
.widgettitle {
  font-family: var(--enc-font) !important;
  font-size: 14px !important;
  color: var(--enc-navy) !important;
  border-bottom: 1px solid var(--enc-border) !important;
  padding-bottom: 6px !important;
  margin-bottom: 12px !important;
}

/* ========================================
   IMAGES (系図・古文書用)
======================================== */
.entry-content figure,
.entry-content .wp-block-image {
  margin: 24px 0 !important;
}

.entry-content .wp-block-image img,
.entry-content figure img {
  max-width: 100% !important;
  border: 1px solid var(--enc-border) !important;
  box-shadow: 3px 3px 12px rgba(0,0,0,0.15) !important;
}

.entry-content .wp-block-image.alignwide img,
.entry-content .alignwide img {
  width: 100% !important;
}

/* ========================================
   BREADCRUMB
======================================== */
.breadcrumb,
.c-breadcrumb,
.arkhe-breadcrumb,
nav.breadcrumb {
  font-size: 12px !important;
  color: #666 !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--enc-border) !important;
  margin-bottom: 20px !important;
}

/* ========================================
   50音・アルファベット索引
======================================== */
.enc-index-container {
  background: #fff;
  border: 1px solid var(--enc-border);
  padding: 22px 26px 18px;
  margin: 24px 0;
}

.enc-index-title {
  font-family: var(--enc-font);
  font-size: 14px;
  color: var(--enc-navy);
  font-weight: bold;
  margin-bottom: 12px;
  border-bottom: 1px solid var(--enc-accent);
  padding-bottom: 5px;
}

/* 50音 ＋ アルファベットの横並びラッパー */
.enc-index-wrapper {
  display: flex;
  gap: 0;
  align-items: flex-start;
}

/* 50音エリア（左2/3）: タイトルボーダーはkana列のみにかかる */
.enc-kana-section {
  flex: 2;
  min-width: 0;
  padding-right: 24px;
}

/* 50音2列グリッド */
.enc-kana-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 20px;
}

.enc-kana-col {
  min-width: 0;
}

.enc-index-row {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  margin-bottom: 6px;
  align-items: center;
}

.enc-index-label {
  font-family: var(--enc-font);
  font-size: 12px;
  color: var(--enc-navy);
  font-weight: bold;
  min-width: 34px;
  flex-shrink: 0;
}

.enc-index-link {
  display: inline-block;
  padding: 2px 8px;
  background: #faf0d7;
  border: 1px solid var(--enc-border);
  color: var(--enc-navy) !important;
  font-size: 13px;
  text-decoration: none !important;
  font-family: var(--enc-font);
  transition: background 0.15s;
  line-height: 1.6;
}

.enc-index-link:hover {
  background: var(--enc-accent) !important;
  color: #fff !important;
  border-color: var(--enc-accent) !important;
}

/* アルファベット索引パネル（右1/3） */
.enc-alpha-panel {
  flex: 1;
  border-left: 1px solid var(--enc-border);
  padding-left: 24px;
}

.enc-alpha-title {
  white-space: nowrap;
}

.enc-alpha-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3px;
  margin-top: 8px;
}

.enc-alpha-link {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  background: #faf0d7;
  border: 1px solid var(--enc-border);
  color: var(--enc-navy) !important;
  font-size: 12px;
  text-decoration: none !important;
  font-family: Georgia, serif;
  font-style: italic;
  transition: background 0.15s;
}

.enc-alpha-link:hover {
  background: var(--enc-navy) !important;
  color: #fff !important;
}

/* ========================================
   SIDEBAR (カスタム)
======================================== */
.enc-sidebar-widget {
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--enc-border);
}
.enc-sidebar-widget:last-child {
  border-bottom: none;
}

.enc-sidebar-title {
  font-family: var(--enc-font) !important;
  font-size: 13px !important;
  font-weight: bold !important;
  color: var(--enc-navy) !important;
  border-left: 3px solid var(--enc-accent) !important;
  padding: 2px 0 2px 8px !important;
  margin-bottom: 10px !important;
}

/* 検索フォーム */
.enc-search-form {
  display: flex;
  gap: 4px;
}

.enc-search-input {
  flex: 1;
  border: 1px solid var(--enc-border) !important;
  padding: 5px 8px !important;
  font-family: var(--enc-font) !important;
  font-size: 13px !important;
  background: #fff !important;
  outline: none !important;
}

.enc-search-btn {
  background: var(--enc-navy) !important;
  color: #fff !important;
  border: none !important;
  padding: 5px 10px !important;
  font-family: var(--enc-font) !important;
  font-size: 12px !important;
  cursor: pointer !important;
}

.enc-search-btn:hover {
  background: var(--enc-accent) !important;
  color: var(--enc-navy) !important;
}

/* カテゴリ一覧 */
.enc-cat-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.enc-cat-list li {
  border-bottom: 1px dotted var(--enc-border) !important;
  padding: 4px 0 !important;
  font-family: var(--enc-font) !important;
  font-size: 13px !important;
}

.enc-cat-list a {
  color: var(--enc-navy) !important;
  text-decoration: none !important;
}

.enc-cat-list a:hover {
  color: var(--enc-accent) !important;
}

.enc-cat-active a {
  color: var(--enc-accent) !important;
  font-weight: bold !important;
}

.enc-cat-count {
  color: #999 !important;
  font-size: 11px !important;
}

/* 関連用語 */
.enc-related-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.enc-related-list li {
  border-bottom: 1px dotted var(--enc-border) !important;
  padding: 4px 0 !important;
  font-family: var(--enc-font) !important;
  font-size: 13px !important;
}

.enc-related-list a {
  color: var(--enc-navy) !important;
  text-decoration: none !important;
}

.enc-related-list a:hover {
  color: var(--enc-accent) !important;
}

/* ========================================
   FOOTER
======================================== */
.site-footer,
#site-footer,
.l-footer {
  background-color: var(--enc-navy) !important;
  color: var(--enc-banner) !important;
  border-top: 3px solid var(--enc-accent) !important;
  padding: 30px 40px !important;
  font-family: var(--enc-font) !important;
  font-size: 13px !important;
}

.site-footer a,
.l-footer a {
  color: var(--enc-banner) !important;
  text-decoration: none !important;
}

.site-footer a:hover,
.l-footer a:hover {
  color: var(--enc-accent) !important;
}

/* ========================================
   TABLE (学術表組)
======================================== */
.entry-content table {
  border-collapse: collapse !important;
  width: 100% !important;
  font-size: 14px !important;
  margin: 20px 0 !important;
}

.entry-content th {
  background-color: var(--enc-navy) !important;
  color: #fff !important;
  padding: 8px 12px !important;
  font-family: var(--enc-font) !important;
  font-weight: bold !important;
}

.entry-content td {
  border: 1px solid var(--enc-border) !important;
  padding: 7px 12px !important;
}

.entry-content tr:nth-child(even) td {
  background-color: #faf0d7 !important;
}

/* ========================================
   RESPONSIVE
======================================== */
@media (max-width: 768px) {
  .c-headLogo,
  .l-header__logo a.c-headLogo {
    font-size: 26px !important;
    letter-spacing: 0.12em !important;
  }

  .l-header__body {
    padding: 14px 20px 12px !important;
  }

  /* スマホでは50音とアルファベットを縦積み */
  .enc-index-wrapper {
    flex-direction: column;
    gap: 16px;
  }

  .enc-alpha-panel {
    flex: none !important;
    border-left: none !important;
    border-top: 1px solid var(--enc-border) !important;
    padding-left: 0 !important;
    padding-top: 14px !important;
  }

  .enc-kana-grid {
    grid-template-columns: 1fr;
  }

  .enc-alpha-grid {
    grid-template-columns: repeat(7, 1fr);
  }
}
