/*! Luxeritas Child CSS */
/* Luxeritas WordPress Theme - free/libre wordpress platform
 *
 * @copyright Copyright (C) 2015 Thought is free.
 * @license http://www.gnu.org/licenses/gpl-2.0.html GPL v2 or later
 * @author LunaNuko
 * @link http://thk.kanzae.net/
 * @translators rakeem( http://rakeem.jp/ )
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 *   Theme Name: Luxeritas Child Theme
 *   Template: luxeritas
 *   Text Domain: luxech
 *   Theme URI: http://thk.kanzae.net/wp/
 *   Description: SEO optimized, Responsive layout, Super Fast, Multi Feature, Bootstrap
 *   Author: LunaNuko
 *   Author URI: http://thk.kanzae.net/
 *   License: GNU General Public License v2 or later
 *   License URI: http://www.gnu.org/licenses/gpl-2.0.html
 *   Tags: one-column, two-columns, three-columns, right-sidebar, left-sidebar, custom-header, custom-background, custom-colors, custom-menu, theme-options, featured-image-header, editor-style, sticky-post, threaded-comments, translation-ready
 *   Since: 20151206
 *   Modify: 20210517
 *   Version: 3.0.4
 *   Template Version: 3
 *
 * ここから上を消すと正しく動作しなくなることがあります。
 * ( Erasing the elements above here might cause system issues. )
 */

/* ============================================================
   テンバガーリサーチ カスタムデザイン
   テーマ: 金融系プロフェッショナル
   カラー: ネイビー × ゴールド × ホワイト
   ============================================================ */

/* --- カスタムプロパティ --- */
:root {
  --tb-navy-deep: #0a1628;
  --tb-navy: #1a2a4a;
  --tb-navy-light: #2a3d5e;
  --tb-gold: #c8a45e;
  --tb-gold-light: #d4b872;
  --tb-gold-dark: #a8883e;
  --tb-white: #ffffff;
  --tb-gray-50: #f8f9fa;
  --tb-gray-100: #f0f2f5;
  --tb-gray-200: #e2e6ea;
  --tb-gray-400: #8c939a;
  --tb-gray-600: #4a5568;
  --tb-gray-800: #2d3748;
  --tb-text: #1a202c;
  --tb-text-light: #718096;
  --tb-radius: 6px;
  --tb-shadow: 0 2px 12px rgba(10, 22, 40, 0.08);
  --tb-shadow-hover: 0 6px 24px rgba(10, 22, 40, 0.14);
  --tb-transition: all 0.25s ease;
}

/* --- 全体ベース --- */
body {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif !important;
  color: var(--tb-text) !important;
  background-color: var(--tb-gray-100) !important;
  line-height: 1.8 !important;
  letter-spacing: 0.02em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* --- ヘッダー --- */
#header {
  background: linear-gradient(135deg, var(--tb-navy-deep) 0%, var(--tb-navy) 100%) !important;
  border-bottom: none !important;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.15);
}

#head-in {
  padding: 32px 0 24px !important;
  background: transparent !important;
}

.head-cover {
  text-align: center;
}

/* サイト名 */
#sitename {
  margin-bottom: 6px !important;
}

#sitename a {
  color: var(--tb-white) !important;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif !important;
  font-weight: 700 !important;
  font-size: 34px !important;
  letter-spacing: 0.14em !important;
  text-decoration: none !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  transition: var(--tb-transition);
}

#sitename a:hover {
  color: var(--tb-gold-light) !important;
}

/* サイト説明（タグライン） */
.desc {
  color: var(--tb-gold) !important;
  font-size: 13px !important;
  letter-spacing: 0.18em !important;
  margin-top: 2px !important;
}

/* --- ナビゲーション --- */
#nav {
  background: rgba(0, 0, 0, 0.2) !important;
  border-top: 1px solid rgba(200, 164, 94, 0.2) !important;
  border-bottom: 3px solid var(--tb-gold) !important;
}

#gnavi {
  background: transparent !important;
  border: none !important;
}

#gnavi ul.gu,
#gnavi li.gl > a {
  background: transparent !important;
  color: var(--tb-white) !important;
}

.gnavi-container {
  max-width: 1140px;
  margin: 0 auto;
}

ul.menu.gu {
  display: flex !important;
  justify-content: center !important;
  gap: 0;
}

ul.menu.gu > li > a {
  color: rgba(255, 255, 255, 0.85) !important;
  background: transparent !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  padding: 14px 32px !important;
  transition: var(--tb-transition) !important;
  border-bottom: 2px solid transparent;
  text-decoration: none !important;
}

ul.menu.gu > li > a:hover,
ul.menu.gu > li.current_page_item > a {
  color: var(--tb-gold) !important;
  background: rgba(200, 164, 94, 0.08) !important;
  border-bottom: 2px solid var(--tb-gold) !important;
}

/* ヘッドバンド（RSS等）- 非表示（ゴールドラインに統一） */
.band {
  display: none !important;
}

/* モバイルナビ */
.mobile-nav {
  background: var(--tb-navy-deep) !important;
}

.mobile-nav li {
  color: rgba(255, 255, 255, 0.7) !important;
  background: transparent !important;
}

/* --- パンくずリスト --- */
#breadcrumb {
  background: var(--tb-white) !important;
  border: 1px solid var(--tb-gray-200) !important;
  border-radius: var(--tb-radius) !important;
  padding: 10px 20px !important;
  margin-bottom: 24px !important;
  font-size: 13px !important;
  color: var(--tb-text-light) !important;
  box-shadow: var(--tb-shadow);
}

#breadcrumb a {
  color: var(--tb-navy) !important;
  text-decoration: none !important;
  transition: var(--tb-transition);
}

#breadcrumb a:hover {
  color: var(--tb-gold) !important;
}

/* --- メインコンテナ --- */
.container {
  padding-top: 24px !important;
}

/* --- 記事カード --- */
#list .toc {
  background: var(--tb-white) !important;
  border: 1px solid var(--tb-gray-200) !important;
  border-radius: var(--tb-radius) !important;
  box-shadow: var(--tb-shadow) !important;
  margin-bottom: 20px !important;
  padding: 24px !important;
  transition: var(--tb-transition) !important;
  overflow: hidden;
}

#list .toc:hover {
  box-shadow: var(--tb-shadow-hover) !important;
  border-color: rgba(200, 164, 94, 0.3) !important;
  transform: translateY(-2px);
}

/* 記事タイトル */
h2.entry-title {
  font-family: "Noto Serif JP", "Yu Mincho", serif !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  line-height: 1.5 !important;
  margin-bottom: 10px !important;
}

h2.entry-title a {
  color: var(--tb-navy) !important;
  text-decoration: none !important;
  transition: var(--tb-transition) !important;
}

h2.entry-title a:hover {
  color: var(--tb-gold-dark) !important;
}

/* メタ情報（日付・カテゴリ） */
p.meta {
  color: var(--tb-text-light) !important;
  font-size: 13px !important;
  padding-bottom: 10px !important;
  margin-bottom: 12px !important;
  border-bottom: 1px solid var(--tb-gray-200) !important;
}

p.meta i.material-icons {
  color: var(--tb-gold) !important;
  font-size: 16px !important;
  vertical-align: middle;
}

p.meta a {
  color: var(--tb-navy-light) !important;
  text-decoration: none !important;
  transition: var(--tb-transition);
}

p.meta a:hover {
  color: var(--tb-gold) !important;
}

/* サムネイル */
figure.term {
  overflow: hidden;
  border-radius: var(--tb-radius) !important;
}

figure.term img {
  border-radius: var(--tb-radius) !important;
  transition: transform 0.4s ease !important;
}

figure.term:hover img {
  transform: scale(1.05);
}

/* 抜粋テキスト */
.excerpt {
  color: var(--tb-gray-600) !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}

/* 続きを読む */
.read-more a {
  display: inline-block !important;
  color: var(--tb-white) !important;
  background: linear-gradient(135deg, var(--tb-navy) 0%, var(--tb-navy-light) 100%) !important;
  padding: 8px 24px !important;
  border-radius: 50px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  text-decoration: none !important;
  transition: var(--tb-transition) !important;
  border: 1px solid transparent;
}

.read-more a:hover {
  background: linear-gradient(135deg, var(--tb-gold-dark) 0%, var(--tb-gold) 100%) !important;
  color: var(--tb-white) !important;
  box-shadow: 0 4px 12px rgba(200, 164, 94, 0.3);
}

/* --- サイドバー --- */
#side {
  background: transparent !important;
}

#side .widget {
  background: var(--tb-white) !important;
  border: 1px solid var(--tb-gray-200) !important;
  border-radius: var(--tb-radius) !important;
  box-shadow: var(--tb-shadow) !important;
  padding: 20px !important;
  margin-bottom: 20px !important;
}

/* サイドバー見出し */
#side .widget h2,
#side .widget .wp-block-heading {
  font-family: "Noto Serif JP", "Yu Mincho", serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--tb-navy) !important;
  padding-bottom: 10px !important;
  margin-bottom: 14px !important;
  border-bottom: 2px solid var(--tb-gold) !important;
  letter-spacing: 0.05em;
}

/* サイドバー投稿リスト */
.wp-block-latest-posts__list li {
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--tb-gray-100) !important;
}

.wp-block-latest-posts__list li:last-child {
  border-bottom: none !important;
}

.wp-block-latest-posts__list a {
  color: var(--tb-gray-800) !important;
  text-decoration: none !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  transition: var(--tb-transition) !important;
}

.wp-block-latest-posts__list a:hover {
  color: var(--tb-gold-dark) !important;
}

/* サイドバー検索 */
.wp-block-search__input {
  border: 1px solid var(--tb-gray-200) !important;
  border-radius: var(--tb-radius) !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  transition: var(--tb-transition) !important;
  background: var(--tb-gray-50) !important;
}

.wp-block-search__input:focus {
  border-color: var(--tb-gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(200, 164, 94, 0.15) !important;
  background: var(--tb-white) !important;
}

.wp-block-search__button {
  background: var(--tb-navy) !important;
  color: var(--tb-white) !important;
  border: none !important;
  border-radius: var(--tb-radius) !important;
  padding: 10px 18px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: var(--tb-transition) !important;
}

.wp-block-search__button:hover {
  background: var(--tb-gold-dark) !important;
}

/* --- ページネーション --- */
.pagination li a,
.pagination li span {
  border-radius: var(--tb-radius) !important;
  margin: 0 3px !important;
  transition: var(--tb-transition) !important;
}

.pagination li a {
  color: var(--tb-navy) !important;
  border: 1px solid var(--tb-gray-200) !important;
  background: var(--tb-white) !important;
}

.pagination li a:hover {
  background: var(--tb-navy) !important;
  color: var(--tb-white) !important;
  border-color: var(--tb-navy) !important;
}

.pagination li span.current {
  background: var(--tb-gold) !important;
  color: var(--tb-white) !important;
  border: 1px solid var(--tb-gold) !important;
}

/* --- フッター --- */
#footer {
  background: linear-gradient(135deg, var(--tb-navy-deep) 0%, var(--tb-navy) 100%) !important;
  border-top: 3px solid var(--tb-gold) !important;
  padding: 30px 0 !important;
}

#copyright {
  background: transparent !important;
  text-align: center;
}

#copyright .copy {
  color: rgba(255, 255, 255, 0.6) !important;
  font-size: 13px !important;
  letter-spacing: 0.04em;
}

#copyright a {
  color: var(--tb-gold-light) !important;
  text-decoration: none !important;
  transition: var(--tb-transition);
}

#copyright a:hover {
  color: var(--tb-gold) !important;
}

/* ページトップボタン */
#page-top {
  background: var(--tb-navy) !important;
  color: var(--tb-white) !important;
  border-radius: 50% !important;
  width: 48px !important;
  height: 48px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
  transition: var(--tb-transition) !important;
  right: 24px !important;
  bottom: 24px !important;
}

#page-top:hover {
  background: var(--tb-gold) !important;
}

#page-top .ptop {
  display: none !important;
}

/* --- モバイルボタン --- */
#mobile-buttons ul li {
  background: var(--tb-navy) !important;
  color: var(--tb-white) !important;
}

.mobile-nav li {
  color: rgba(255, 255, 255, 0.7) !important;
}

/* --- 個別記事ページ --- */
article.post,
article.page {
  background: var(--tb-white) !important;
  border: 1px solid var(--tb-gray-200) !important;
  border-radius: var(--tb-radius) !important;
  box-shadow: var(--tb-shadow) !important;
  padding: 32px !important;
}

article h1 {
  font-family: "Noto Serif JP", "Yu Mincho", serif !important;
  color: var(--tb-navy) !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

/* 記事内見出し */
article h2 {
  font-family: "Noto Serif JP", "Yu Mincho", serif !important;
  color: var(--tb-navy) !important;
  font-weight: 700 !important;
  padding: 12px 0 12px 18px !important;
  border-left: 4px solid var(--tb-gold) !important;
  border-bottom: 1px solid var(--tb-gray-200) !important;
  margin: 36px 0 20px !important;
}

article h3 {
  font-family: "Noto Serif JP", "Yu Mincho", serif !important;
  color: var(--tb-navy) !important;
  font-weight: 700 !important;
  padding-bottom: 8px !important;
  border-bottom: 2px solid var(--tb-gold) !important;
  margin: 28px 0 16px !important;
}

article h4 {
  color: var(--tb-navy-light) !important;
  font-weight: 700 !important;
  margin: 24px 0 12px !important;
}

/* 記事内リンク */
article a {
  color: var(--tb-navy-light) !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(200, 164, 94, 0.4) !important;
  text-underline-offset: 3px !important;
  transition: var(--tb-transition) !important;
}

article a:hover {
  color: var(--tb-gold-dark) !important;
  text-decoration-color: var(--tb-gold) !important;
}

/* 記事内テーブル */
article table {
  border-collapse: collapse !important;
  width: 100% !important;
  margin: 16px 0 !important;
}

article th {
  background: var(--tb-navy) !important;
  color: var(--tb-white) !important;
  font-weight: 600 !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
}

article td {
  border: 1px solid var(--tb-gray-200) !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
}

article tr:nth-child(even) td {
  background: var(--tb-gray-50) !important;
}

/* 記事内引用 */
article blockquote {
  background: var(--tb-gray-50) !important;
  border-left: 4px solid var(--tb-gold) !important;
  padding: 16px 20px !important;
  margin: 20px 0 !important;
  border-radius: 0 var(--tb-radius) var(--tb-radius) 0 !important;
  color: var(--tb-gray-600) !important;
  font-style: italic;
}

/* --- レスポンシブ調整 --- */
@media (max-width: 767px) {
  #sitename a {
    font-size: 24px !important;
    letter-spacing: 0.08em !important;
  }

  #head-in {
    padding: 20px 0 14px !important;
  }

  ul.menu.gu > li > a {
    padding: 12px 16px !important;
    font-size: 13px !important;
  }

  #list .toc {
    padding: 16px !important;
    margin-bottom: 14px !important;
  }

  h2.entry-title {
    font-size: 17px !important;
  }

  .read-more a {
    padding: 7px 18px !important;
    font-size: 12px !important;
  }

  article.post,
  article.page {
    padding: 20px !important;
  }
}

/* --- 追加の洗練 --- */

/* スクロールバー（Chrome/Edge） */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: var(--tb-gray-100);
}

::-webkit-scrollbar-thumb {
  background: var(--tb-gray-400);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--tb-navy-light);
}

/* 選択テキスト */
::selection {
  background: var(--tb-gold);
  color: var(--tb-white);
}

/* フォーカスリング */
a:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 2px solid var(--tb-gold) !important;
  outline-offset: 2px !important;
}
