/* ================================================================
   マネフリ デザインシステム — Phase 1 全サイト共通
   コンセプト: 夜の書斎 / Midnight Study
   functions.php の wp_enqueue_style() で登録される
   ================================================================ */


/* ----------------------------------------------------------------
   1. CSS カスタムプロパティ
   ---------------------------------------------------------------- */
:root {
    /* カラーパレット */
    --color-bg:          #F5F1E8; /* warm off-white: 紙の温かみ */
    --color-bg-alt:      #EDE6D6; /* セクション区切り・引用背景 */
    --color-text:        #2B2824; /* 純黒を避けた深いチャコール */
    --color-text-sub:    #6B6560; /* キャプション・メタ情報 */
    --color-accent:      #C9A961; /* matte gold: アンティーク金貨 */
    --color-accent-dark: #9E8342; /* gold hover・ボーダー */
    --color-cta:         #B8443C; /* 朱赤: CTAボタン専用 */
    --color-border:      #D9D2C2; /* 仕切り線 */

    /* フォントスタック */
    --font-serif:  'Shippori Mincho', 'Noto Serif JP', serif;
    --font-sans:   'Noto Sans JP', sans-serif;
    --font-number: 'Inter', sans-serif;

    /* スペーシング */
    --space-xs:  0.25rem;
    --space-sm:  0.5rem;
    --space-md:  1rem;
    --space-lg:  1.5rem;
    --space-xl:  2rem;
    --space-2xl: 3rem;

    /* シャドウ */
    --shadow-card:       0 1px 4px rgba(43, 40, 36, 0.06);
    --shadow-card-hover: 0 4px 16px rgba(43, 40, 36, 0.12);

    /* トランジション */
    --transition-fast: 0.2s ease;
    --transition-base: 0.3s ease;
}


/* ----------------------------------------------------------------
   2. ベース・リセット
   ---------------------------------------------------------------- */
*,
*::before,
*::after {
    box-sizing: border-box;
}

body.public-page {
    background-color: var(--color-bg);
    color: var(--color-text);
    font-family: var(--font-sans);
    line-height: 1.9;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Cocoon が body.fz-18px クラスで設定する 18px を 16px に上書き
   NOTE: 既存記事のレイアウトに影響する可能性あり → 目視確認リスト参照 */
body.fz-18px {
    font-size: 16px;
}

/* テキスト選択範囲 */
::selection {
    background-color: var(--color-accent);
    color: #fff;
}

/* グローバルレイアウト背景 */
#container {
    background-color: var(--color-bg);
}


/* ----------------------------------------------------------------
   3. タイポグラフィ
   ---------------------------------------------------------------- */

/* --- 見出し全般: Shippori Mincho に統一 --- */
h1, h2, h3, h4 {
    font-family: var(--font-serif);
    color: var(--color-text);
    line-height: 1.4;
    font-weight: 700;
}

h1 {
    font-size: clamp(1.5rem, 3.5vw, 2rem);
    letter-spacing: 0.04em;
}

h2 {
    font-size: clamp(1.2rem, 2.5vw, 1.5rem);
    letter-spacing: 0.03em;
}

h3 {
    font-size: clamp(1.05rem, 2vw, 1.25rem);
    font-weight: 500;
    letter-spacing: 0.02em;
}

h4 {
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.02em;
}

/* --- グローバルリンク色 --- */
a {
    color: var(--color-accent-dark);
    text-decoration: none;
    transition: color var(--transition-fast);
}

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

/* --- 記事タイトル(h1.entry-title) --- */
h1.entry-title {
    font-family: var(--font-serif);
    font-weight: 700;
    color: var(--color-text);
    letter-spacing: 0.03em;
    line-height: 1.4;
}


/* ----------------------------------------------------------------
   4. 記事カード
   DOM構造: a.entry-card-wrap > article.entry-card
              > figure.entry-card-thumb (+ span.cat-label)
              > div.entry-card-content
                  > h2.entry-card-title
                  > div.entry-card-snippet
                      > div.entry-card-info
                          > span.post-date > span.entry-date
                          > div.entry-card-categorys > span.entry-category
   ---------------------------------------------------------------- */

/* --- グリッドコンテナ --- */
#list.list {
    /* Cocoon のグリッドレイアウトを尊重、背景のみ合わせる */
}

/* --- カードラッパー (<a> タグ自体) --- */
a.entry-card-wrap {
    background-color: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: 3px;
    box-shadow: var(--shadow-card);
    overflow: hidden;
    transition:
        box-shadow var(--transition-base),
        border-color var(--transition-base);
    color: var(--color-text);
}

a.entry-card-wrap:hover {
    box-shadow: var(--shadow-card-hover);
    border-color: var(--color-accent-dark);
    color: var(--color-text);
}

/* --- サムネイル --- */
figure.entry-card-thumb {
    margin: 0;
    overflow: hidden;
}

img.entry-card-thumb-image {
    display: block;
    width: 100%;
    height: auto;
    transition: transform var(--transition-base);
}

a.entry-card-wrap:hover img.entry-card-thumb-image {
    transform: scale(1.03);
}

/* --- カテゴリバッジ（サムネイル上に重なるラベル） ---
   Cocoon の動的 CSS は .cat-label.cat-label-N（詳細度 0,2,0）で出力するため
   同等以上の詳細度で上書きする。!important 必須。 */
.cat-label.cat-label,
.cat-label[class*="cat-label-"],
span.cat-label,
a.cat-label {
    background-color: transparent !important;
    background: transparent !important;
    color: #C9A961 !important;
    border: 1px solid #C9A961 !important;
    padding: 2px 8px !important;
    border-radius: 2px !important;
    font-size: 11px !important;
    font-weight: normal !important;
    text-shadow: none !important;
    box-shadow: none !important;
}

/* --- コンテンツエリア --- */
div.entry-card-content {
    padding: var(--space-md);
}

/* --- カードタイトル --- */
h2.entry-card-title {
    font-family: var(--font-serif);
    font-size: 1rem;
    font-weight: 700;
    color: var(--color-text);
    line-height: 1.5;
    margin-bottom: var(--space-sm);
    position: relative;
}

/* hover: タイトル下に金ラインが左から右に展開 (0.2s) */
h2.entry-card-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 0;
    height: 2px;
    background-color: var(--color-accent);
    transition: width var(--transition-fast);
}

a.entry-card-wrap:hover h2.entry-card-title::after {
    width: 100%;
}

/* --- 抜粋テキスト --- */
div.entry-card-snippet {
    color: var(--color-text-sub);
    font-size: 0.83rem;
    line-height: 1.65;
}

/* --- カード内メタ情報エリア --- */
div.entry-card-info {
    margin-top: var(--space-sm);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-sm);
}

/* --- 投稿日 --- */
.entry-card-wrap .post-date,
.entry-card-wrap .entry-date {
    color: var(--color-text-sub);
    font-family: var(--font-number);
    font-size: 0.78rem;
    font-variant-numeric: tabular-nums;
}

/* --- カテゴリ（テキスト内） --- */
div.entry-card-categorys .entry-category {
    color: var(--color-accent-dark);
    font-size: 0.78rem;
    font-weight: 500;
    font-family: var(--font-sans);
}


/* ----------------------------------------------------------------
   5. ヘッダー
   DOM: div#header-container > div#header-container-in
          > header#header > div#header-in (wrap)
               > div.tagline
          > nav#navi > div#navi-in
   ---------------------------------------------------------------- */

/* --- ヘッダー外コンテナ --- */
#header-container,
#header-container-in {
    background-color: var(--color-bg);
}

/* --- header 要素本体: 下部に細い金ボーダー --- */
header#header {
    background-color: var(--color-bg);
    border-bottom: 1px solid var(--color-accent-dark);
}

/* --- タグライン（サイトキャッチコピー） --- */
div.tagline {
    color: var(--color-text-sub);
    font-family: var(--font-sans);
    font-size: 0.8rem;
    letter-spacing: 0.03em;
}

/* --- グローバルナビゲーション --- */
#navi {
    background-color: var(--color-bg);
}

/* ナビリンク */
#navi-in a {
    color: var(--color-text);
    font-family: var(--font-sans);
    font-size: 0.9rem;
    letter-spacing: 0.04em;
    transition: color var(--transition-fast);
}

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

/* ナビのドロップダウンがある場合 */
#navi-in ul {
    background-color: var(--color-bg);
    border: 1px solid var(--color-border);
}

#navi-in ul a {
    color: var(--color-text);
    font-size: 0.85rem;
}

#navi-in ul a:hover {
    color: var(--color-accent);
    background-color: var(--color-bg-alt);
}


/* ----------------------------------------------------------------
   6. フッター
   DOM: footer#footer > div#footer-in
          > div.footer-bottom
              > div.footer-bottom-logo
              > div.footer-bottom-content
                  > nav#navi-footer > div#navi-footer-in
                  > div.source-org.copyright
   ---------------------------------------------------------------- */

footer#footer {
    background-color: var(--color-bg-alt);
    border-top: 1px solid var(--color-accent-dark);
    color: var(--color-text-sub);
}

/* フッター内側ラップ */
#footer-in {
    padding-top: var(--space-xl);
    padding-bottom: var(--space-xl);
}

/* フッターボトムエリア */
.footer-bottom {
    padding-top: var(--space-md);
}

/* 著作権テキスト */
div.source-org.copyright {
    color: var(--color-text-sub);
    font-family: var(--font-sans);
    font-size: 0.8rem;
    letter-spacing: 0.02em;
}

/* フッターナビリンク */
#navi-footer a,
#navi-footer-in a {
    color: var(--color-text-sub);
    font-family: var(--font-sans);
    font-size: 0.85rem;
    transition: color var(--transition-fast);
}

#navi-footer a:hover,
#navi-footer-in a:hover {
    color: var(--color-accent);
}


/* ----------------------------------------------------------------
   7. 本文コンテンツエリア (.entry-content)
   Cocoon は .entry-content 内の h2/h3/h4 にクラスを付けないため
   子孫セレクタで指定。同 specificity のため child CSS が勝つ。
   ※ 詳細度負け時の予備案: .article .entry-content h2 {} に格上げ
   ---------------------------------------------------------------- */

/* --- 段落 --- */
.entry-content p {
    margin-bottom: 1.5em;
    line-height: 1.9;
}

/* --- 本文内リンク: border-bottom で下線を表現 --- */
.entry-content a {
    color: var(--color-accent-dark);
    border-bottom: 1px solid var(--color-accent-dark);
    text-decoration: none;
    transition:
        color var(--transition-fast),
        border-color var(--transition-fast);
}

.entry-content a:hover {
    color: var(--color-accent);
    border-color: var(--color-accent);
}

/* --- 本文内 h2: 金の存在感アップ（夜の書斎トーン） --- */
.entry-content h2 {
    font-family: var(--font-serif);
    font-size: clamp(1.2rem, 2.5vw, 1.5rem);
    font-weight: 700;
    color: var(--color-text);
    background-color: var(--color-bg-alt);
    border-left: 6px solid var(--color-accent);
    border-bottom: 1px solid var(--color-accent);
    border-radius: 0;
    padding: 0.6em var(--space-md);
    margin-top: 2.5em;
    margin-bottom: 1em;
    line-height: 1.4;
    letter-spacing: 0.03em;
}

/* 予備案 (詳細度負け時にコメントを外す):
.article .entry-content h2 { ... } */

/* ============================================================
   目次（Cocoon ネイティブ #toc）: 書斎らしさ強調
   ============================================================ */

/* コンテナ */
#toc {
    background-color: var(--color-bg-alt);
    border: 1px solid var(--color-accent);
    border-radius: 0;
    padding: var(--space-md);
}

/* タイトル「目次」 */
#toc .toc-title {
    font-family: var(--font-serif);
    text-align: left;
    padding-bottom: 0.5em;
    border-bottom: 1px solid var(--color-accent);
    margin-bottom: 0.8em;
}

/* 番号を金色に（> なしで詳細度を上げる） */
#toc ol li::marker,
#toc ol ol li::marker {
    color: var(--color-accent);
}

/* リンク: Cocoon が border-bottom で下線を実装しているため両方消す */
#toc .toc-content a {
    text-decoration: none;
    border-bottom: none;
    color: var(--color-text);
    transition: color 0.2s, border-bottom-color 0.2s;
}

/* リンクホバー: 金の border-bottom で下線を再現 */
#toc .toc-content a:hover {
    color: var(--color-accent);
    border-bottom: 1px solid var(--color-accent);
}

/* --- 本文内 h3: 下部に細いボーダー --- */
.entry-content h3 {
    font-family: var(--font-serif);
    font-size: clamp(1.05rem, 2vw, 1.2rem);
    font-weight: 700;
    color: var(--color-text);
    border-bottom: 1px solid var(--color-border);
    padding-bottom: var(--space-xs);
    margin-top: 2em;
    margin-bottom: 0.8em;
    line-height: 1.4;
    letter-spacing: 0.02em;
}

/* --- 本文内 h4 --- */
.entry-content h4 {
    font-family: var(--font-serif);
    font-size: 1rem;
    font-weight: 700;
    color: var(--color-text);
    margin-top: 1.8em;
    margin-bottom: 0.6em;
    letter-spacing: 0.02em;
}

/* --- 引用 (blockquote) ---
   左に太い金ボーダー、--color-bg-alt 背景、italic */
.entry-content blockquote {
    background-color: var(--color-bg-alt);
    border-left: 4px solid var(--color-accent);
    margin: var(--space-xl) 0;
    padding: var(--space-md) var(--space-lg);
    font-style: italic;
    color: var(--color-text-sub);
    border-radius: 0 3px 3px 0;
}

.entry-content blockquote p {
    margin-bottom: 0;
    line-height: 1.8;
}

/* --- コードブロック (pre) --- */
.entry-content pre {
    background-color: #2B2824; /* --color-text と同系の暗いトーン */
    color: #EDE6D6;            /* --color-bg-alt の明度反転 */
    border-radius: 4px;
    padding: var(--space-lg);
    overflow-x: auto;
    font-size: 0.85rem;
    line-height: 1.7;
    border: 1px solid var(--color-border);
    margin: var(--space-lg) 0;
}

/* インラインコード */
.entry-content code {
    font-size: 0.875em;
    background-color: var(--color-bg-alt);
    border: 1px solid var(--color-border);
    border-radius: 3px;
    padding: 0.1em 0.4em;
    color: var(--color-text);
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}

/* pre 内の code はリセット */
.entry-content pre code {
    background: none;
    border: none;
    padding: 0;
    color: inherit;
    font-size: inherit;
}

/* --- テーブル --- */
.entry-content table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
    margin: var(--space-lg) 0;
}

.entry-content th {
    background-color: var(--color-bg-alt);
    color: var(--color-text);
    font-family: var(--font-sans);
    font-weight: 700;
    text-align: left;
    padding: var(--space-sm) var(--space-md);
    border-bottom: 2px solid var(--color-accent-dark);
    border-top: 1px solid var(--color-border);
}

.entry-content td {
    padding: var(--space-sm) var(--space-md);
    border-bottom: 1px solid var(--color-border);
    vertical-align: top;
    line-height: 1.7;
}

.entry-content tr:hover td {
    background-color: var(--color-bg-alt);
}

/* --- リスト --- */
.entry-content ul,
.entry-content ol {
    padding-left: 1.6em;
    margin-bottom: 1.5em;
}

.entry-content li {
    margin-bottom: 0.4em;
    line-height: 1.85;
}

/* --- 画像 --- */
.entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 2px;
}

/* --- メタ情報バー (投稿日・カテゴリ) --- */
.date-tags {
    color: var(--color-text-sub);
    font-family: var(--font-number);
    font-size: 0.85rem;
    font-variant-numeric: tabular-nums;
}


/* ----------------------------------------------------------------
   8. サイドバー・ウィジェット
   ---------------------------------------------------------------- */

#sidebar {
    background-color: var(--color-bg);
}

.widget {
    margin-bottom: var(--space-xl);
}

/* ウィジェットタイトル */
.widget h2.wp-block-heading {
    font-family: var(--font-serif);
    font-size: 1rem;
    font-weight: 700;
    color: var(--color-text);
    border-bottom: 2px solid var(--color-accent);
    padding-bottom: var(--space-xs);
    margin-bottom: var(--space-md);
    letter-spacing: 0.03em;
}


/* ----------------------------------------------------------------
   9. ユーティリティ
   ---------------------------------------------------------------- */

/* 金額・数値表示: tabular-nums で桁揃え */
.price {
    font-family: var(--font-number);
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
    letter-spacing: 0.02em;
}

/* スクリーンリーダー専用テキスト */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}


/* ----------------------------------------------------------------
   10. レスポンシブ調整
   ---------------------------------------------------------------- */

/* タブレット (834px以下) */
@media screen and (max-width: 834px) {
    :root {
        --space-lg: 1.2rem;
        --space-xl: 1.5rem;
    }

    .entry-content h2 {
        font-size: 1.15rem;
        margin-top: 2em;
    }

    .entry-content h3 {
        font-size: 1.05rem;
    }

    #navi-in a {
        font-size: 0.85rem;
    }
}

/* スマートフォン (480px以下) */
@media screen and (max-width: 480px) {
    h2.entry-card-title {
        font-size: 0.95rem;
    }

    .entry-content pre {
        font-size: 0.8rem;
        padding: var(--space-md);
    }

    .entry-content table {
        font-size: 0.82rem;
    }

    .entry-content th,
    .entry-content td {
        padding: var(--space-xs) var(--space-sm);
    }
}


/* ----------------------------------------------------------------
   11. 閲覧数表示を非表示
   Cocoon が記事カード・個別記事に出力する閲覧数を CSS で非表示。
   管理画面設定と二重に抑制し、設定リセット時のリスクを回避。
   ---------------------------------------------------------------- */
.views,
.post-views,
.view-count,
.entry-views,
.post-view,
.cocoon-post-views,
span.view-count,
.meta-info .views {
    display: none !important;
}


/* ----------------------------------------------------------------
   12. 検索フォーム: 金枠スタイル
   WordPress Gutenberg 検索ブロック (.wp-block-search) を対象。
   WP Global Styles の :where(.wp-element-button) は詳細度 0 のため
   通常クラスセレクタで上書き可能。
   ---------------------------------------------------------------- */

/* ラッパー: 金の細枠で全体を囲む */
.wp-block-search__inside-wrapper {
    border: 1px solid #C9A961 !important;
    background-color: transparent !important;
    border-radius: 2px !important;
    overflow: hidden !important;
}

/* 入力欄 */
.wp-block-search .wp-block-search__input {
    background-color: transparent !important;
    border: none !important;
    color: var(--color-text, #1a1a1a) !important;
    font-size: 14px !important;
    padding: 6px 10px !important;
    box-shadow: none !important;
    outline: none !important;
}

/* 送信ボタン: Global Styles の #32373c 黒ベタを上書き */
.wp-block-search .wp-block-search__button,
.wp-block-search__button.wp-element-button {
    background-color: transparent !important;
    background: transparent !important;
    color: #C9A961 !important;
    border: none !important;
    border-left: 1px solid #C9A961 !important;
    border-radius: 0 !important;
    padding: 6px 14px !important;
    font-size: 14px !important;
    font-weight: normal !important;
    cursor: pointer !important;
    transition: background-color var(--transition-fast), color var(--transition-fast) !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

/* hover 時: 金塗り + 白文字 */
.wp-block-search .wp-block-search__button:hover,
.wp-block-search__button.wp-element-button:hover {
    background-color: #C9A961 !important;
    color: #ffffff !important;
}

/* ラベル「検索」のタイポ調整 */
.wp-block-search .wp-block-search__label {
    font-family: var(--font-serif) !important;
    font-size: 13px !important;
    font-weight: normal !important;
    color: var(--color-text, #1a1a1a) !important;
    margin-bottom: 6px !important;
}


/* ----------------------------------------------------------------
   13. SNS 共有ボタン グレースケール化
   記事上部・下部両方に出力される Cocoon の共有ボタンを低彩度化。
   hover で本来のブランドカラーが復帰する。
   ---------------------------------------------------------------- */
.sns-share .sns-buttons a,
.sns-share a,
.share-buttons a,
.sns-follow-buttons a {
    filter: grayscale(1);
    opacity: 0.55;
    transition: opacity 0.2s ease, filter 0.2s ease;
}

.sns-share .sns-buttons a:hover,
.sns-share a:hover,
.share-buttons a:hover,
.sns-follow-buttons a:hover {
    filter: grayscale(0);
    opacity: 1;
}


/* ----------------------------------------------------------------
   14. CTA ボタン: アフィリエイト申込用
   使用例:
   <div class="mf-cta">
     <a href="URL" class="mf-cta__button" target="_blank"
        rel="nofollow noopener sponsored">
       ボタンテキスト
       <span class="mf-cta__arrow">→</span>
     </a>
     <p class="mf-cta__note">補足テキスト</p>
   </div>
   ---------------------------------------------------------------- */

.mf-cta {
    margin: 2.5em auto;
    text-align: center;
    max-width: 480px;
}

.mf-cta__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    max-width: 480px;
    padding: 16px 32px;
    background-color: #B8443C;
    color: #ffffff !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none !important;
    border: none;
    border-radius: 2px;
    box-shadow: none;
    text-shadow: none;
    cursor: pointer;
    transition: background-color 0.2s ease,
                transform 0.15s ease;
    box-sizing: border-box;
}

.mf-cta__button:hover {
    background-color: #9a3730;
    transform: translateY(-1px);
    color: #ffffff !important;
    text-decoration: none !important;
}

.mf-cta__button:visited {
    color: #ffffff !important;
}

.mf-cta__arrow {
    display: inline-block;
    font-size: 18px;
    font-weight: normal;
    line-height: 1;
    transition: transform 0.2s ease;
}

.mf-cta__button:hover .mf-cta__arrow {
    transform: translateX(3px);
}

.mf-cta__note {
    margin: 12px 0 0;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 12px;
    color: rgba(26, 26, 26, 0.6);
    text-align: center;
    line-height: 1.5;
}

/* スマホ調整 */
@media (max-width: 480px) {
    .mf-cta__button {
        padding: 14px 20px;
        font-size: 15px;
    }
    .mf-cta {
        margin: 2em auto;
    }
}

/* -----------------------------------------------------------
   POINT BOX - 夜の書斎トーンの注意書き・補足ボックス
   使い方:
   <div class="manefuri-point-box">
     <p class="manefuri-point-box__label">POINT</p>
     <p class="manefuri-point-box__title">見出し</p>
     <p>本文...</p>
   </div>
   ----------------------------------------------------------- */
.entry-content .manefuri-point-box {
  background: transparent;
  border: 1px solid #C9A961;
  border-left-width: 4px;
  border-radius: 0;
  padding: 1em 1.25em;
  margin: 1.75em 0;
  color: #2C2C2A;
}

.entry-content .manefuri-point-box__label {
  margin: 0 0 0.4em;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 0.75em;
  font-weight: 500;
  letter-spacing: 0.15em;
  color: #8B7330;
}

.entry-content .manefuri-point-box__title {
  margin: 0 0 0.5em;
  font-family: 'Shippori Mincho', 'Shippori Mincho B1', serif;
  font-size: 1.05em;
  font-weight: 500;
  color: #2C2C2A;
  line-height: 1.5;
}

.entry-content .manefuri-point-box p {
  margin: 0 0 0.6em;
  line-height: 1.8;
}

.entry-content .manefuri-point-box p:last-child {
  margin-bottom: 0;
}

.entry-content .manefuri-point-box ul,
.entry-content .manefuri-point-box ol {
  margin: 0.4em 0 0.8em 1.4em;
  line-height: 1.8;
}

.entry-content .manefuri-point-box strong {
  color: #2C2C2A;
  font-weight: 500;
}

/* ============================================
   Component: Related Entry Cards
   Sprint 3-C / 夜の書斎トーン
   ============================================ */

/* 関連記事ブロック: ラッパー */
.related-entries {
    min-width: 0;
}

.related-entries .related-list {
    min-width: 0;
}

/* カード1件ごと: 枠（border-element）をやめ、下に matte gold のライン。上下に余白 */
.related-entries .related-entry-card-wrap {
    border: none;
    border-radius: 0;
    border-bottom: 1px solid #C9A961;
    padding-top: var(--space-md);
    padding-bottom: var(--space-md);
}

.related-entries .related-entry-card-wrap:last-child {
    border-bottom: none;
}

/* サムネ: 16 / 9 固定＋切り抜き（カスタマイザーのサムネ形状に依存しない） */
.related-entries .related-entry-card-thumb.card-thumb {
    margin: 0;
    min-height: 0;
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}

.related-entries .card-thumb img,
.related-entries .related-entry-card-thumb img,
.related-entries .related-entry-card .card-thumb img,
.related-entries img.card-thumb-image,
.related-entries img.related-entry-card-thumb-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

@media screen and (max-width: 480px) {
    .related-entries .related-entry-card-thumb.card-thumb,
    .related-entries .card-thumb {
        aspect-ratio: 16 / 9;
    }
}
