/*
Theme Name: Cocoon Child
Template: cocoon-master
*/

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400;1,700&family=Noto+Serif+JP:wght@300;400;600&family=Cormorant+Garamond:ital,wght@0,300;1,300;1,600&display=swap');

:root {
  --crimson: #8B1A2B;
  --deep-red: #5C0E1A;
  --gold: #C9A84C;
  --ivory: #F5F0E8;
  --charcoal: #1A1410;
  --warm-gray: #8C7B6B;
  --rose-mist: #D4A5A5;
}

/* 全体背景・テキスト */
html, body {
  background-color: #1A1410 !important;
  color: #F5F0E8 !important;
  font-family: 'Noto Serif JP', serif !important;
}

/* Cocoon全ラッパー */
#wrapper,
#container,
#contents,
#contents-in,
#content,
#content-in,
#main,
#main-inner,
.content,
.content-in,
.wrap,
.wrap-in,
#primary,
.primary,
.main-wrap,
.singular-main-wrap,
.home-main-wrap {
  background-color: #1A1410 !important;
  color: #F5F0E8 !important;
}

/* 記事エリア */
.article,
.article-wrap,
.article-header,
.article-body,
.article-footer,
.entry,
.entry-content,
.entry-header,
.entry-footer,
.post,
.post-wrap,
.hentry,
.page,
.page-wrap,
.singular-entry,
.singular-post {
  background-color: #1A1410 !important;
  color: #F5F0E8 !important;
  box-shadow: none !important;
  border-color: rgba(201,168,76,0.15) !important;
}

/* サイドバー */
#sidebar,
#sidebar-in,
.sidebar,
.sidebar-in,
.widget-area,
.widget,
.widget-wrap,
.widget-in,
.sidebar-widget {
  background-color: #1A1410 !important;
  color: #F5F0E8 !important;
  border-color: rgba(201,168,76,0.15) !important;
}

/* ウィジェットタイトル */
.widget-title,
.widgettitle {
  color: #C9A84C !important;
  border-color: rgba(201,168,76,0.3) !important;
  font-family: 'Playfair Display', serif !important;
  font-style: italic !important;
}

/* ヘッダー */
#header,
#header-in,
#site-header,
.header,
.header-in {
  background-color: #1A1410 !important;
  border-bottom: 1px solid rgba(201,168,76,0.2) !important;
}

/* サイトタイトル */
#site-title a,
.site-title a {
  color: #F5F0E8 !important;
  font-family: 'Playfair Display', serif !important;
  font-style: italic !important;
}

/* ナビゲーション */
#navi,
#navi-in,
.navi,
.navi-in,
.global-nav,
.header-nav {
  background-color: #1A1410 !important;
  border-bottom: 1px solid rgba(201,168,76,0.15) !important;
}

.navi-in > ul > li > a,
.global-nav ul li a {
  color: #F5F0E8 !important;
}

.navi-in > ul > li > a:hover,
.global-nav ul li a:hover {
  color: #C9A84C !important;
  background-color: transparent !important;
}

/* 見出し */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Playfair Display', serif !important;
  color: #F5F0E8 !important;
}

h2 {
  border-left: 3px solid #8B1A2B !important;
  padding-left: 1rem !important;
  background-color: transparent !important;
}

h3 {
  border-bottom: 1px solid rgba(201,168,76,0.3) !important;
  padding-bottom: 0.5rem !important;
  color: #C9A84C !important;
  background-color: transparent !important;
}

/* リンク */
a {
  color: #C9A84C !important;
}

a:hover {
  color: #D4A5A5 !important;
}

/* テキスト全般 */
p, li, td, th, span, label {
  color: rgba(245,240,232,0.85) !important;
}

/* テーブル */
table {
  background-color: transparent !important;
  border-collapse: collapse !important;
  width: 100% !important;
}

th {
  background: rgba(139,26,43,0.4) !important;
  color: #C9A84C !important;
  padding: 0.8rem 1rem !important;
  border: 1px solid rgba(201,168,76,0.2) !important;
}

td {
  background-color: transparent !important;
  color: rgba(245,240,232,0.85) !important;
  padding: 0.8rem 1rem !important;
  border: 1px solid rgba(201,168,76,0.1) !important;
}

tr {
  background-color: transparent !important;
}

tr:hover {
  background: rgba(139,26,43,0.1) !important;
}

/* カード */
.card,
.card-wrap,
.card-content,
.card-inner,
.card-thumb,
.card-body {
  background: linear-gradient(
    145deg,
    rgba(139,26,43,0.12),
    rgba(26,20,16,0.8)
  ) !important;
  border: 1px solid rgba(201,168,76,0.2) !important;
  color: rgba(245,240,232,0.85) !important;
}

.card-wrap:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 20px 60px rgba(139,26,43,0.3) !important;
  border-color: rgba(201,168,76,0.5) !important;
}

/* カテゴリー */
.cat-label,
.tag-label {
  background-color: #8B1A2B !important;
  color: #F5F0E8 !important;
}

/* パンくずリスト */
.breadcrumb,
#breadcrumb,
.breadcrumb-wrap {
  background-color: transparent !important;
  color: #8C7B6B !important;
}

/* フッター */
#footer,
#footer-in,
.footer,
.footer-in,
.footer-wrap {
  background-color: #1A1410 !important;
  border-top: 1px solid rgba(201,168,76,0.1) !important;
  color: #8C7B6B !important;
}

/* 区切り線 */
hr {
  border-color: rgba(201,168,76,0.2) !important;
}

/* 引用 */
blockquote {
  border-left: 3px solid #8B1A2B !important;
  background-color: rgba(139,26,43,0.08) !important;
  color: rgba(245,240,232,0.85) !important;
}

/* スクロールバー */
::-webkit-scrollbar {
  width: 6px !important;
}

::-webkit-scrollbar-track {
  background: #1A1410 !important;
}

::-webkit-scrollbar-thumb {
  background: #8B1A2B !important;
  border-radius: 3px !important;
}

::-webkit-scrollbar-thumb:hover {
  background: #C9A84C !important;
}

/* ── 背景グラデーション ── */
html, body {
  background: 
    radial-gradient(ellipse at 20% 80%, rgba(139,26,43,0.35) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 20%, rgba(201,168,76,0.15) 0%, transparent 55%),
    radial-gradient(ellipse at 50% 50%, rgba(92,14,26,0.5) 0%, transparent 80%),
    #1A1410 !important;
  background-attachment: fixed !important;
}

#wrapper,
#container,
#contents,
#content,
#main {
  background: transparent !important;
}

/* 斜めラインのテクスチャ */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image:
    repeating-linear-gradient(
      45deg,
      transparent,
      transparent 60px,
      rgba(201,168,76,0.03) 60px,
      rgba(201,168,76,0.03) 61px
    );
  pointer-events: none;
  z-index: 0;
}

/* ナビゲーションリンクホバー設定 */
a:hover {
  background-color: transparent !important;
  color: #C9A84C !important;
}

.navi-in > ul > li > a:hover {
  background-color: transparent !important;
  color: #0000FF !important;
}

/* リンクホバー文字色 強制変更 */
a:hover * ,
a:hover {
  color: #4169E1 !important;
  text-decoration: none !important;
}
