@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ（russian-literature.net カスタマイズ版）
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.2.0
*/

/************************************
** russian-literature.net 向けカスタマイズ
** 茶＋金（ランディングと統一する重厚なロシア文学トーン）
************************************/

:root{
  /* ダーク（ヘッダー・フッター） */
  --rl-dark:        #1a1410;
  --rl-dark-2:      #241c16;
  --rl-dark-3:      #2f231a;
  /* ライト（本文） */
  --rl-paper:       #fdfaf3;     /* 紙色の背景 */
  --rl-paper-soft:  #f3ecdc;     /* セクション区切り */
  --rl-ink:         #2a1d12;     /* 本文テキスト（こげ茶） */
  --rl-ink-soft:    #5a4332;     /* 補助テキスト */
  /* 金 */
  --rl-gold:        #c9993e;     /* メインアクセント */
  --rl-gold-light:  #e0b55a;
  --rl-gold-dark:   #a07828;
  /* 罫線 */
  --rl-border:      #5a3e2b;     /* ダーク領域の罫線 */
  --rl-rule:        #d8c9a8;     /* ライト領域の罫線 */
  /* 強調赤（ロシア国旗の赤） */
  --rl-red:         #c1272d;
  /* フォント */
  --rl-serif: "Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;
  --rl-sans:  "Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;
}

/* ========== 全体 ========== */
body{
  font-family: var(--rl-sans);
  color: var(--rl-ink);
  background: var(--rl-paper);
  line-height: 1.85;
}
a{ color: var(--rl-gold-dark); text-decoration: none; }
a:hover{ color: var(--rl-gold); text-decoration: underline; }

h1, h2, h3, h4, h5, h6,
.article h1, .article h2, .article h3, .article h4,
.entry-title, .page-title{
  font-family: var(--rl-serif);
  color: var(--rl-dark);
  letter-spacing: .02em;
  font-weight: 700;
}

/* 記事h2: 金の縦罫＋濃茶 */
.article h2{
  border: none;
  background: none;
  padding: 0 0 0 18px;
  position: relative;
  margin: 56px 0 18px;
  font-size: 26px;
}
.article h2::before{
  content: "";
  position: absolute;
  left: 0; top: 6px; bottom: 6px;
  width: 5px;
  background: linear-gradient(180deg, var(--rl-gold), var(--rl-gold-dark));
}

.article h3{
  border: none;
  border-left: 3px solid var(--rl-gold);
  padding: 0 0 0 12px;
  margin: 36px 0 14px;
  font-size: 20px;
}

/* ========== ヘッダー（ダーク・ランディングと統一） ========== */
.header-container, .header-in, #header{
  background: linear-gradient(180deg, #0e0b08 0%, var(--rl-dark-2) 100%) !important;
  border-bottom: 2px solid var(--rl-border);
}
.site-name-text, .header .site-name-text a, .site-name a{
  font-family: var(--rl-serif);
  font-weight: 900;
  color: var(--rl-gold) !important;
  letter-spacing: .04em;
  text-shadow: 0 1px 2px rgba(0,0,0,.3);
}
.tagline, .header .tagline{ color: #a08060; }
.header img.site-logo-image{ filter: drop-shadow(0 1px 2px rgba(0,0,0,.4)); }

/* ========== グローバルナビ（ダーク） ========== */
.navi, #navi{
  background: var(--rl-dark-2) !important;
  border-top: 1px solid var(--rl-border);
  border-bottom: 2px solid var(--rl-border);
}
.navi-in > .menu-header li a,
.navi-in > .menu-header > li > a{
  color: #d4bb8a !important;
  font-weight: 500;
  letter-spacing: .04em;
}
.navi-in > .menu-header li a:hover,
.navi-in > .menu-header > li > a:hover{
  background: var(--rl-dark-3) !important;
  color: var(--rl-gold) !important;
}
.navi-in > .menu-header > .current-menu-item > a,
.navi-in > .menu-header > .current_page_item > a{
  color: var(--rl-gold) !important;
  border-bottom: 2px solid var(--rl-gold);
}
/* 子メニュー */
.navi-in .sub-menu{ background: var(--rl-dark-3); border: 1px solid var(--rl-border); }
.navi-in .sub-menu li a{ color: #d4bb8a !important; }
.navi-in .sub-menu li a:hover{ background: var(--rl-dark); color: var(--rl-gold) !important; }

/* ========== 記事カード ========== */
.entry-card-wrap, .related-entry-card-wrap{
  border: 1px solid var(--rl-rule);
  border-radius: 6px;
  background: #fff;
  transition: all .2s;
}
.entry-card-wrap:hover, .related-entry-card-wrap:hover{
  border-color: var(--rl-gold);
  box-shadow: 0 8px 24px rgba(160,120,40,.15);
  transform: translateY(-2px);
}
.entry-card-title, .related-entry-card-title{
  font-family: var(--rl-serif);
  color: var(--rl-dark);
  font-weight: 700;
}
.entry-card-content, .entry-card-snippet{ color: var(--rl-ink-soft); }
.entry-card-meta, .post-date{ color: var(--rl-ink-soft); }

/* カテゴリラベル: 金 */
.cat-label, .category-label, .entry-category a{
  background: linear-gradient(135deg, var(--rl-gold), var(--rl-gold-dark)) !important;
  color: #1a1000 !important;
  font-weight: 700;
  border-radius: 3px;
  padding: 2px 10px;
  font-size: 11px;
  letter-spacing: .05em;
  border: none !important;
}

/* ========== ボタン ========== */
.btn, a.btn, button.btn,
input[type="submit"], .wp-block-button__link{
  background: linear-gradient(135deg, var(--rl-gold), var(--rl-gold-dark));
  color: #1a1000;
  border: none;
  border-radius: 20px;
  padding: 10px 24px;
  font-weight: 700;
  transition: background .15s, transform .05s;
  font-family: var(--rl-sans);
}
.btn:hover, a.btn:hover, button.btn:hover,
input[type="submit"]:hover, .wp-block-button__link:hover{
  background: linear-gradient(135deg, var(--rl-gold-light), var(--rl-gold));
  color: #1a1000;
  transform: translateY(-1px);
}

/* ========== 引用 ========== */
blockquote{
  background: var(--rl-paper-soft);
  border-left: 4px solid var(--rl-gold);
  color: var(--rl-ink);
  padding: 18px 22px;
  margin: 28px 0;
  font-family: var(--rl-serif);
  font-style: normal;
  border-radius: 0 4px 4px 0;
}

/* ========== サイドバー ========== */
.sidebar h3, .sidebar .widget-sidebar-title{
  font-family: var(--rl-serif);
  color: var(--rl-dark);
  border-left: 4px solid var(--rl-gold);
  padding: 6px 12px;
  background: transparent;
  border-top: none; border-bottom: none; border-right: none;
  font-size: 16px;
  font-weight: 700;
}
.sidebar a{ color: var(--rl-ink); }
.sidebar a:hover{ color: var(--rl-gold-dark); }

/* 検索ボックス */
.sidebar .search-form input[type="text"],
.sidebar .search-form input[type="search"]{
  border: 1px solid var(--rl-rule);
  background: #fff;
  padding: 8px 12px;
  border-radius: 4px;
}
.sidebar .search-form button{
  background: var(--rl-dark);
  color: var(--rl-gold);
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
}

/* ========== フッター（ダーク） ========== */
.footer{
  background: linear-gradient(180deg, var(--rl-dark-2), #0e0b08) !important;
  color: #a08060 !important;
  border-top: 2px solid var(--rl-border);
}
.footer a{ color: #c0a474 !important; }
.footer a:hover{ color: var(--rl-gold) !important; }
.footer-bottom{ background: #0e0b08 !important; color: #6a5040 !important; }
.copyright, .copyright a{ color: #6a5040 !important; }

/* ========== ページネーション ========== */
.pagination a, .pagination span{
  border: 1px solid var(--rl-rule);
  color: var(--rl-ink);
  background: #fff;
}
.pagination .current{
  background: linear-gradient(135deg, var(--rl-gold), var(--rl-gold-dark));
  color: #1a1000;
  border-color: var(--rl-gold-dark);
}
.pagination a:hover{ border-color: var(--rl-gold); color: var(--rl-gold-dark); }

/* ========== メルマガCTA ========== */
.rl-newsletter-inline{
  background: linear-gradient(135deg, var(--rl-dark-2), var(--rl-dark));
  color: #fff;
  padding: 32px 28px;
  border-radius: 6px;
  margin: 48px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
  border: 1px solid var(--rl-border);
}
.rl-newsletter-inline::before{
  content: "";
  position: absolute; top: -40px; right: -40px;
  width: 140px; height: 140px;
  background: var(--rl-gold);
  opacity: .12;
  border-radius: 50%;
}
.rl-newsletter-inline h4{
  color: var(--rl-gold);
  font-family: var(--rl-serif);
  font-size: 22px;
  margin: 0 0 10px;
  position: relative;
}
.rl-newsletter-inline p{
  color: #d4bb8a;
  margin: 0 0 18px;
  font-size: 14px;
  position: relative;
}
.rl-newsletter-inline .rl-cta-button{
  display: inline-block;
  background: linear-gradient(135deg, var(--rl-gold), var(--rl-gold-dark));
  color: #1a1000 !important;
  padding: 12px 32px;
  border-radius: 22px;
  font-weight: 700;
  text-decoration: none !important;
  position: relative;
  transition: transform .15s;
}
.rl-newsletter-inline .rl-cta-button:hover{ transform: translateY(-1px); }

/* 有料会員ペイウォール（将来用） */
.rl-paywall{
  background: linear-gradient(180deg, rgba(253,250,243,0) 0%, var(--rl-paper) 60%),
              var(--rl-paper-soft);
  margin-top: -80px;
  padding: 80px 24px 40px;
  text-align: center;
  border-top: 1px solid var(--rl-rule);
  position: relative;
}
.rl-paywall h4{
  font-family: var(--rl-serif);
  color: var(--rl-dark);
  font-size: 22px;
  margin: 0 0 12px;
}
.rl-paywall p{ color: var(--rl-ink-soft); margin: 0 0 20px; font-size: 15px; }

.rl-signup-footer{
  background: var(--rl-paper-soft);
  border: 1px solid var(--rl-rule);
  border-radius: 6px;
  padding: 32px;
  margin: 56px 0;
  text-align: center;
}
.rl-signup-footer h4{
  font-family: var(--rl-serif);
  color: var(--rl-dark);
  font-size: 20px;
  margin: 0 0 10px;
}
.rl-signup-footer p{ margin: 0 0 18px; color: var(--rl-ink-soft); }

/* ========== コメント ========== */
.comment-area .comment-title{
  font-family: var(--rl-serif);
  color: var(--rl-dark);
  border-left: 4px solid var(--rl-gold);
  padding-left: 12px;
}

/************************************
** レスポンシブ
************************************/
@media screen and (max-width: 1023px){
  .article h2{ font-size: 23px; }
  .article h3{ font-size: 19px; }
}
@media screen and (max-width: 834px){
  .article h2{ font-size: 22px; }
  .article h3{ font-size: 18px; }
  .rl-newsletter-inline{ padding: 24px 18px; }
  .rl-newsletter-inline h4{ font-size: 18px; }
}
@media screen and (max-width: 480px){
  .article h2{ font-size: 20px; margin: 36px 0 12px; }
  .article h3{ font-size: 17px; margin: 24px 0 10px; }
}
