/* ============================================================
   月詠（Lunaria）記事ページ 原型UI
   - すべて .luna- 接頭辞スコープ内で完結（SWELL親テーマと衝突しない）
   - 本文装飾は .luna-body 配下の素の h2/h3/p/ul/ol/blockquote/a への子孫セレクタ
   - レスポンシブ境界は 900px のみ（モバイルファースト）
   - 外部フォント読み込みなし：font-family 指定＋システムフォールバックのみ
   ============================================================ */
.luna-page{
  --luna-ink:#2b2540;
  --luna-ink-soft:rgba(43,37,64,.74);
  --luna-ink-faint:rgba(43,37,64,.58);
  --luna-cream:#f6f1e7;
  --luna-cream-deep:#efe7d8;
  --luna-paper:#fdfaf3;
  --luna-dark:#0d0a18;
  --luna-dark-2:#1c1430;
  --luna-gold:#c79a4e;
  --luna-gold-deep:#a87e35;
  --luna-line:rgba(199,154,78,.42);
  --luna-line-soft:rgba(199,154,78,.26);
  --luna-serif:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP",serif;
  --luna-sans:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic Medium","Yu Gothic","Meiryo",sans-serif;
  --luna-latin:"Cormorant Garamond",Garamond,"Times New Roman",serif;
  position:relative;
  background:var(--luna-cream);
  color:var(--luna-ink);
  font-family:var(--luna-sans);
  font-size:16px;
  line-height:1.9;
  -webkit-font-smoothing:antialiased;
}
.luna-page,.luna-page *,.luna-page *::before,.luna-page *::after{box-sizing:border-box;}
.luna-page img{max-width:100%;height:auto;}
.luna-page :focus-visible{outline:2px solid var(--luna-gold-deep);outline-offset:2px;}

/* ---------- ヘッダー（透過・FVに重なる／スクロール追従なし） ---------- */
.luna-header{position:absolute;top:0;left:0;right:0;z-index:30;}
.luna-header-in{max-width:1120px;margin:0 auto;padding:10px 12px 0 20px;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.luna-logo{display:inline-flex;align-items:center;gap:10px;min-height:44px;text-decoration:none;}
.luna-logo strong{font-family:var(--luna-serif);font-weight:600;font-size:21px;letter-spacing:.2em;color:#f6f1e7;}
.luna-logo span{font-family:var(--luna-latin);font-size:11.5px;letter-spacing:.32em;color:rgba(199,154,78,.9);}
.luna-hnav{display:flex;align-items:center;gap:2px;}
.luna-gnav{display:none;}
.luna-search{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:rgba(199,154,78,.9);}
/* SPメニュー：details/summary（JSなしで開閉可能） */
.luna-menu{position:relative;}
.luna-menu summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;}
.luna-menu summary::-webkit-details-marker{display:none;}
.luna-menu summary span{display:block;width:20px;height:1px;background:rgba(246,241,231,.92);}
.luna-menu[open] summary span:nth-child(2){opacity:.35;}
.luna-menu nav{position:absolute;top:calc(100% + 8px);right:4px;width:min(76vw,250px);background:rgba(16,12,31,.98);border:1px solid var(--luna-line);border-radius:10px;padding:6px;z-index:40;}
.luna-menu nav ul{list-style:none;margin:0;padding:0;}
.luna-menu nav li + li{border-top:1px solid rgba(246,241,231,.08);}
.luna-menu nav a{display:flex;align-items:center;min-height:46px;padding:0 16px;color:rgba(246,241,231,.9);font-size:13.5px;letter-spacing:.1em;text-decoration:none;}

/* ---------- FV（ダーク導入部・アイキャッチスロット） ---------- */
.luna-fv{
  position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;
  min-height:min(420px,60svh);
  color:#f6f1e7;
  border-bottom:1px solid rgba(199,154,78,.8);
  background-image:
    radial-gradient(circle at 8% 24%, rgba(246,241,231,.5) 1px, transparent 1.7px),
    radial-gradient(circle at 22% 12%, rgba(246,241,231,.34) 1px, transparent 1.6px),
    radial-gradient(circle at 33% 38%, rgba(246,241,231,.28) 1px, transparent 1.6px),
    radial-gradient(circle at 46% 18%, rgba(246,241,231,.42) 1px, transparent 1.7px),
    radial-gradient(circle at 57% 44%, rgba(246,241,231,.22) 1px, transparent 1.5px),
    radial-gradient(circle at 12% 62%, rgba(246,241,231,.2) 1px, transparent 1.5px),
    radial-gradient(circle at 40% 70%, rgba(246,241,231,.16) 1px, transparent 1.4px),
    linear-gradient(168deg,#0d0a18 0%,#151027 55%,#1c1430 100%);
}
.luna-fv-media{position:absolute;inset:0;--luna-fvx:70%;background-repeat:no-repeat;}
.luna-page img.luna-fv-art{
  position:absolute;top:0;right:0;height:100%;width:auto;max-width:none;display:block;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 9%);
  mask-image:linear-gradient(90deg,transparent 0,#000 9%);
}
.luna-fv-shade{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(13,10,24,.88) 0%,rgba(13,10,24,.62) 44%,rgba(14,11,25,.24) 74%,rgba(14,11,25,.06) 100%),
    linear-gradient(0deg,rgba(13,10,24,.58) 0%,rgba(13,10,24,0) 44%),
    linear-gradient(180deg,rgba(13,10,24,.5) 0%,rgba(13,10,24,0) 26%);
}
.luna-fv-in{
  position:relative;z-index:2;width:100%;max-width:1120px;margin:0 auto;
  padding:84px 20px 26px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;
  animation:luna-fade .9s ease-out both;
}
@keyframes luna-fade{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){.luna-fv-in{animation:none;}}
.luna-bc{font-size:11.5px;letter-spacing:.05em;color:rgba(246,241,231,.75);max-width:100%;}
.luna-bc ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;margin:0;padding:0;}
.luna-bc li{display:flex;align-items:center;min-height:28px;min-width:0;}
.luna-bc li + li::before{content:"›";margin:0 8px;color:rgba(199,154,78,.85);}
.luna-bc a{color:inherit;text-decoration:none;}
.luna-bc span[aria-current="page"]{color:rgba(246,241,231,.6);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.luna-title{margin:0;font-family:var(--luna-serif);font-weight:600;font-size:27px;line-height:1.5;letter-spacing:.05em;max-width:22em;text-wrap:pretty;}
.luna-lead{margin:0;font-size:14.5px;line-height:1.9;color:rgba(246,241,231,.88);max-width:36em;text-wrap:pretty;}

/* ---------- 本文レイアウト（クリーム面） ---------- */
.luna-main{max-width:1120px;margin:0 auto;padding:40px 20px 40px;}
.luna-content{min-width:0;max-width:800px;}

/* ---------- 本文（.luna-body 配下は素タグを装飾：WPエディタ標準出力対応） ---------- */
.luna-body{counter-reset:luna-h2;font-size:15px;line-height:1.95;letter-spacing:.02em;}
.luna-body p{margin:1.35em 0;text-wrap:pretty;}
.luna-body > h2{
  counter-increment:luna-h2;position:relative;margin:40px 0 8px;padding:0 0 13px 21px;
  border-bottom:1px solid var(--luna-line);
  font-family:var(--luna-serif);font-weight:600;font-size:22px;line-height:1.55;letter-spacing:.04em;color:#241f38;
  scroll-margin-top:20px;text-wrap:pretty;
}
.luna-body > h2::before{content:counter(luna-h2) ".";margin-right:.55em;font-family:var(--luna-latin);font-style:italic;font-weight:500;font-size:1.12em;color:var(--luna-gold-deep);letter-spacing:.04em;}
.luna-body > h2::after{content:"";position:absolute;left:0;top:.36em;width:2px;height:1.1em;background:var(--luna-gold);}
.luna-body > h2:first-child{margin-top:0;}
.luna-body h3{position:relative;margin:2.1em 0 .8em;padding-left:19px;scroll-margin-top:20px;font-family:var(--luna-serif);font-weight:600;font-size:18px;line-height:1.6;letter-spacing:.04em;color:#241f38;}
.luna-body h3::before{content:"";position:absolute;left:2px;top:.52em;width:7px;height:7px;border:1px solid var(--luna-gold);transform:rotate(45deg);}
.luna-body a{color:#453a72;text-decoration:underline;text-decoration-color:rgba(199,154,78,.9);text-decoration-thickness:1px;text-underline-offset:4px;}
.luna-body ul,.luna-body ol{margin:1.3em 0;padding-left:1.5em;}
.luna-body li{margin:.45em 0;}
.luna-body li::marker{color:var(--luna-gold);}
.luna-body blockquote{margin:1.9em 0;padding:20px 22px;background:var(--luna-cream-deep);border-left:2px solid var(--luna-gold);border-radius:0 8px 8px 0;}
.luna-body blockquote p{margin:0;font-family:var(--luna-serif);font-size:1.03em;line-height:2;}
.luna-body blockquote cite{display:block;margin-top:10px;font-style:normal;font-size:11.5px;letter-spacing:.14em;color:var(--luna-ink-faint);}
.luna-body blockquote cite::before{content:"— ";}
.luna-body figure{margin:2em 0;}
.luna-body figure img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--luna-line-soft);}
.luna-body figcaption{margin-top:8px;font-size:12px;letter-spacing:.06em;color:var(--luna-ink-faint);text-align:center;}

/* 目次（WP側で自動生成される前提の見本。折りたたみなし） */
.luna-toc{margin:40px 0;padding:22px 20px 12px;background:var(--luna-cream-deep);border:1px solid rgba(199,154,78,.35);border-radius:8px;}
.luna-toc > p{margin:0;padding:0 2px 10px;border-bottom:1px solid rgba(199,154,78,.45);font-family:var(--luna-serif);font-size:15px;font-weight:600;letter-spacing:.24em;color:#241f38;}
.luna-toc ol{list-style:none;margin:4px 0 0;padding:0;}
.luna-toc > ol{counter-reset:luna-toc;}
.luna-toc > ol > li{counter-increment:luna-toc;}
.luna-toc li + li{border-top:1px solid rgba(43,37,64,.08);}
.luna-toc a{display:flex;align-items:baseline;gap:13px;min-height:44px;padding:9px 6px;color:rgba(43,37,64,.9);font-size:14.5px;line-height:1.7;text-decoration:none;}
.luna-toc a::before{content:counter(luna-toc) ".";flex:none;min-width:1.3em;font-family:var(--luna-latin);font-style:italic;font-size:16px;color:var(--luna-gold-deep);text-align:right;}
.luna-toc a::after{content:"›";margin-left:auto;align-self:center;color:rgba(199,154,78,.8);font-size:15px;}
/* 目次 第2階層（H3・番号は 5-1 形式） */
.luna-toc ol ol{margin:0;padding:0 0 0 24px;counter-reset:luna-toc2;border-top:1px solid rgba(43,37,64,.08);}
.luna-toc ol ol li{counter-increment:luna-toc2;}
.luna-toc ol ol a{min-height:40px;padding:7px 6px;font-size:13.5px;color:rgba(43,37,64,.78);}
.luna-toc ol ol a::before{content:counter(luna-toc) "-" counter(luna-toc2);min-width:2em;font-size:13.5px;}

/* ポイント枠（羽アイコン＋ひとこと） */
.luna-point{display:flex;align-items:flex-start;gap:15px;margin:1.9em 0;padding:20px 22px;background:var(--luna-cream-deep);border:1px solid var(--luna-line);border-radius:8px;}
.luna-point svg{flex:none;margin-top:5px;}
.luna-point p{margin:0;font-family:var(--luna-serif);font-size:1.05em;line-height:1.95;letter-spacing:.03em;}

/* 箇条書きコールアウト（濃クリーム面・金の点） */
.luna-callout{margin:1.9em 0;padding:18px 24px;background:var(--luna-cream-deep);border-radius:8px;}
.luna-callout ul{list-style:none;margin:0;padding:0;}
.luna-callout li{position:relative;margin:0;padding:8px 0 8px 20px;line-height:1.85;}
.luna-callout li + li{border-top:1px dashed rgba(43,37,64,.12);}
.luna-callout li::before{content:"";position:absolute;left:2px;top:1.32em;width:5px;height:5px;border-radius:50%;background:var(--luna-gold);}

/* 記事内 関連カード（横型・カード全体が1つのリンク） */
.luna-relcard{position:relative;display:flex;align-items:center;gap:16px;margin:2em 0;padding:13px 40px 13px 13px;background:var(--luna-paper);border:1px solid var(--luna-line);border-radius:10px;}
.luna-body a.luna-relcard{color:inherit;text-decoration:none;}
.luna-relcard::after{content:"›";position:absolute;right:15px;top:50%;transform:translateY(-54%);font-size:19px;color:var(--luna-gold);}
/* 画像スロット（.luna-relcard__thumb）：実imgがあれば枠いっぱいにcoverで収まり枠が背後に見えない。imgが無ければ月あかりプレースホルダーで全面充填。実画像は<img>差し込みのみで差し替え可能。 */
.luna-relcard__thumb{flex:none;width:104px;height:70px;border-radius:6px;overflow:hidden;border:1px solid var(--luna-line-soft);background:radial-gradient(circle at 50% 42%,rgba(255,252,245,.92) 0,rgba(255,252,245,0) 46%),linear-gradient(135deg,#fbf4df 0%,#f1e7d6 48%,#e8def4 100%);}
.luna-relcard__thumb img,.luna-relcard > .luna-relcard__thumb img{display:block;width:100%;height:100%;object-fit:cover;border:0;border-radius:0;}
/* ── サムネイル正本 共通システム（Phase1/3） ────────────────
   - 共通プレースホルダー1種：--luna-thumb-ph（月あかりグラデ）。画像未設定時に全カードで共通表示。
   - focal point：object-position は既定 center。コンテンツ別に --luna-thumb-pos を Dev のみが上書き（人間不関与）。 */
.luna-page{--luna-thumb-ph:radial-gradient(circle at 50% 42%,rgba(255,252,245,.92) 0,rgba(255,252,245,0) 46%),linear-gradient(135deg,#fbf4df 0%,#f1e7d6 48%,#e8def4 100%);}
.luna-thumb-ph{background:var(--luna-thumb-ph);}
.luna-relcard__thumb{background:var(--luna-thumb-ph);}
.luna-relcard__thumb img,.luna-relcard > img,.luna-fcard img,.luna-rows img,.luna-rows .luna-rows-ph{object-position:var(--luna-thumb-pos,50% 50%);}
.luna-rows .luna-rows-ph{flex:none;display:block;width:54px;height:54px;border-radius:6px;border:1px solid var(--luna-line-soft);background:var(--luna-thumb-ph);}
.luna-relcard > img{flex:none;width:104px;height:70px;object-fit:cover;border-radius:6px;border:1px solid var(--luna-line-soft);}
.luna-relcard__body,.luna-relcard > div{display:flex;flex-direction:column;gap:4px;min-width:0;}
.luna-relcard span{display:flex;align-items:center;gap:8px;font-size:10.5px;letter-spacing:.24em;color:var(--luna-ink-faint);}
.luna-relcard span::before{content:"";width:14px;height:1px;background:var(--luna-gold);}
.luna-relcard strong{font-family:var(--luna-serif);font-weight:600;font-size:15.5px;line-height:1.55;color:var(--luna-ink);text-wrap:pretty;}
.luna-relcard em{font-style:normal;font-size:12px;letter-spacing:.14em;color:rgba(43,37,64,.8);text-decoration:underline;text-decoration-color:var(--luna-gold);text-underline-offset:4px;}

/* ルナ吹き出し（記事内マスコット：円形フレーム＋吹き出し・WP再利用ブロック想定） */
.luna-guide{display:flex;align-items:flex-start;gap:14px;margin:2em 0;}
.luna-guide figure{flex:none;margin:2px 0 0;width:88px;height:88px;border-radius:50%;overflow:hidden;border:1px solid rgba(199,154,78,.55);background:radial-gradient(circle at 50% 36%,#f7f2fc 0%,#ece3f7 72%,#dfd3f0 100%);box-shadow:0 0 0 4px rgba(228,218,244,.45);}
.luna-guide figure img{width:100%;height:100%;object-fit:cover;display:block;mix-blend-mode:multiply;}
/* 吹き出し本体・三角・ラベルは .luna-guide__bubble / .luna-guide__label で定義（Gutenbergのinner-containerラッパー対応・下部参照）。旧 .luna-guide > div は inner-container に誤マッチするため撤去。 */
.luna-guide p{margin:0;font-size:14.5px;line-height:1.95;color:var(--luna-ink);text-wrap:pretty;}

/* 記事下メタ（タグ＋日付） */
.luna-artfoot{margin-top:44px;padding-top:22px;border-top:1px solid var(--luna-line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 18px;}
.luna-tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0;}
.luna-tags a{position:relative;display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid rgba(43,37,64,.22);border-radius:999px;font-size:12.5px;letter-spacing:.08em;color:var(--luna-ink-soft);text-decoration:none;}
.luna-tags a::after{content:"";position:absolute;inset:-4px;}
.luna-artfoot > p{margin:0;font-size:12px;letter-spacing:.06em;color:var(--luna-ink-faint);display:flex;flex-wrap:wrap;gap:4px 16px;}
.luna-artfoot time{font-family:var(--luna-latin);font-size:14px;letter-spacing:.1em;color:var(--luna-ink-soft);}

/* ---------- サイドバー（section×3・順序入替可＝ウィジェット化想定） ---------- */
.luna-sidebar{margin-top:48px;display:flex;flex-direction:column;gap:22px;}
.luna-widget{background:var(--luna-paper);border:1px solid rgba(199,154,78,.38);border-radius:10px;padding:20px 18px 18px;}
.luna-widget > h2{margin:0 0 4px;padding:0 2px 11px;border-bottom:1px solid rgba(199,154,78,.45);font-family:var(--luna-serif);font-weight:600;font-size:15px;letter-spacing:.1em;color:#241f38;line-height:1.6;}
.luna-rows{list-style:none;margin:0;padding:0;}
.luna-rows li + li{border-top:1px solid rgba(43,37,64,.08);}
.luna-rows a{display:flex;align-items:center;gap:13px;padding:11px 2px;min-height:44px;color:inherit;text-decoration:none;}
.luna-rows img{flex:none;width:54px;height:54px;object-fit:cover;border-radius:6px;border:1px solid var(--luna-line-soft);}
.luna-rows span{display:block;min-width:0;font-size:12.5px;font-weight:500;line-height:1.6;}
.luna-rows small{display:block;margin-top:2px;font-size:11px;font-weight:400;letter-spacing:.02em;color:var(--luna-ink-faint);}
.luna-widget > a{display:flex;align-items:center;justify-content:center;min-height:46px;margin-top:12px;border:1px solid rgba(199,154,78,.65);border-radius:999px;font-size:12.5px;letter-spacing:.14em;color:#4a3f6e;text-decoration:none;}
.luna-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:14px 0 2px;padding:0;}
.luna-chips a{position:relative;display:inline-flex;align-items:center;min-height:34px;padding:0 13px;border:1px solid rgba(43,37,64,.22);border-radius:6px;font-size:12px;letter-spacing:.06em;color:var(--luna-ink-soft);text-decoration:none;}
.luna-chips a::after{content:"";position:absolute;inset:-5px;}

/* ---------- 下部「関連する占い」（クリーム面・1120px全幅） ---------- */
.luna-fortunes{max-width:1120px;margin:0 auto;padding:16px 20px 56px;}
.luna-fortunes > h2{display:flex;align-items:center;gap:18px;margin:0 0 20px;font-family:var(--luna-serif);font-weight:600;font-size:18px;letter-spacing:.2em;color:#241f38;}
.luna-fortunes > h2::before,.luna-fortunes > h2::after{content:"";height:1px;flex:1;background:rgba(199,154,78,.45);}
/* v1: 関連占い3枚（00 §6.5 OQ-23）。SP=1列・PC=3列。SP最終レイアウトは実装時に人間UI確認（OQ-23）。 */
.luna-fortunes ul{list-style:none;display:grid;grid-template-columns:repeat(1,1fr);gap:12px;margin:0;padding:0;}
.luna-fcard{position:relative;display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--luna-paper);border:1px solid rgba(199,154,78,.38);border-radius:12px;color:inherit;text-decoration:none;}
.luna-fcard img{width:100%;aspect-ratio:344/160;height:auto;object-fit:cover;display:block;}
.luna-fcard strong{padding:11px 12px 0;font-family:var(--luna-serif);font-weight:600;font-size:13.5px;line-height:1.5;color:#241f38;}
.luna-fcard span{padding:5px 12px 2px;font-size:11px;line-height:1.7;color:var(--luna-ink-soft);}
.luna-fcard > div{display:flex;align-items:center;gap:8px;margin:12px;margin-top:auto;padding-top:10px;}
.luna-fcard em{flex:1;display:flex;align-items:center;justify-content:center;min-height:36px;border:1px solid rgba(199,154,78,.65);border-radius:999px;font-style:normal;font-size:11.5px;letter-spacing:.12em;color:#4a3f6e;}
.luna-fcard i{flex:none;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(199,154,78,.5);border-radius:50%;color:var(--luna-gold);font-style:normal;font-size:14px;line-height:1;}

/* ---------- フッター（ダーク）＋SP下部固定ナビ ---------- */
.luna-footer{background:linear-gradient(180deg,#110d20 0%,#0d0a18 100%);border-top:1px solid rgba(199,154,78,.6);color:rgba(246,241,231,.75);}
.luna-footer-in{max-width:1120px;margin:0 auto;padding:44px 20px calc(30px + 58px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;}
.luna-footer-logo{margin:0;display:flex;align-items:center;gap:10px;}
.luna-footer-logo strong{font-family:var(--luna-serif);font-weight:600;font-size:19px;letter-spacing:.22em;color:#f6f1e7;}
.luna-footer-logo span{font-family:var(--luna-latin);font-size:10.5px;letter-spacing:.32em;color:rgba(199,154,78,.85);}
.luna-footer-tag{margin:2px 0 0;font-family:var(--luna-serif);font-size:11.5px;letter-spacing:.3em;color:rgba(246,241,231,.55);}
.luna-footer nav ul{display:flex;flex-wrap:wrap;justify-content:center;gap:0 2px;list-style:none;margin:10px 0 2px;padding:0;}
.luna-footer nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;font-size:12px;letter-spacing:.1em;color:rgba(246,241,231,.72);text-decoration:none;}
.luna-disclaimer{margin:4px 0 0;font-size:11.5px;line-height:2;letter-spacing:.04em;color:rgba(246,241,231,.55);max-width:36em;}
.luna-copy{margin:12px 0 0;font-family:var(--luna-latin);font-size:11px;letter-spacing:.18em;color:rgba(246,241,231,.45);}
/* フッターの LUNARIA ワードマーク（占い一覧/記事一覧/ホームと記載を揃える） */
.luna-footer-mark{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 6px;}
.luna-footer-rule{display:block;width:36px;height:1px;background:linear-gradient(90deg,transparent,rgba(199,154,78,.35));}
.luna-footer-rule + .luna-footer-word + .luna-footer-rule{background:linear-gradient(90deg,rgba(199,154,78,.35),transparent);}
.luna-footer-word{font-family:var(--luna-latin);font-size:11px;letter-spacing:.34em;color:rgba(199,154,78,.6);}
.luna-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:50;background:rgba(15,11,26,.97);border-top:1px solid rgba(199,154,78,.55);padding-bottom:env(safe-area-inset-bottom);}
.luna-tabbar ul{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0;padding:0;}
.luna-tabbar a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:56px;font-size:9.5px;letter-spacing:.06em;color:rgba(246,241,231,.62);text-decoration:none;}
.luna-tabbar svg{display:block;}
.luna-tabbar a[aria-current="page"]{color:#f6f1e7;}
.luna-tabbar a[aria-current="page"]::after{content:"";position:absolute;top:0;left:26%;right:26%;height:2px;background:var(--luna-gold);}

/* ---------- SP文字サイズ（900px未満のみ・全体を一段小さく／境界は900pxのまま） ---------- */
@media (max-width:899.98px){
  .luna-logo strong{font-size:17.5px;}
  .luna-logo span{font-size:10px;}
  .luna-menu nav a{font-size:12.5px;}
  .luna-bc{font-size:10.5px;}
  .luna-title{font-size:22px;}
  .luna-lead{font-size:12.5px;}
  .luna-body{font-size:13px;}
  .luna-body > h2{font-size:18.5px;}
  .luna-body h3{font-size:15.5px;}
  .luna-body blockquote cite{font-size:10.5px;}
  .luna-body figcaption{font-size:11px;}
  .luna-toc > p{font-size:13px;}
  .luna-toc a{font-size:12.5px;}
  .luna-toc ol ol a{font-size:12px;}
  .luna-callout{padding:14px 16px;}
  .luna-guide__label{font-size:10.5px;}
  .luna-guide p{font-size:12.5px;}
  .luna-relcard strong{font-size:13px;}
  .luna-relcard span{font-size:9.5px;}
  .luna-relcard em{font-size:11px;}
  .luna-tags a{font-size:11.5px;}
  .luna-artfoot > p{font-size:11px;}
  .luna-artfoot time{font-size:12.5px;}
  .luna-widget > h2{font-size:13px;}
  .luna-rows span{font-size:11.5px;}
  .luna-rows small{font-size:10px;}
  .luna-widget > a{font-size:11.5px;}
  .luna-chips a{font-size:11px;}
  .luna-fortunes > h2{font-size:15.5px;}
  .luna-fcard strong{font-size:12px;}
  .luna-fcard span{font-size:10px;}
  .luna-fcard em{font-size:10.5px;}
  .luna-footer-logo strong{font-size:16px;}
  .luna-footer-tag{font-size:10.5px;}
  .luna-footer nav a{font-size:11px;}
  .luna-disclaimer{font-size:10.5px;}
  .luna-copy{font-size:10px;}
}

/* ---------- hover（PCのみ・金線が濃くなる程度） ---------- */
@media (hover:hover){
  .luna-gnav a:hover{color:#ffffff;border-bottom-color:var(--luna-gold);}
  .luna-bc a:hover{text-decoration:underline;text-decoration-color:var(--luna-gold);text-underline-offset:3px;}
  .luna-body a:hover{text-decoration-thickness:2px;}
  .luna-toc a:hover{color:var(--luna-ink);}
  .luna-toc a:hover::after{color:var(--luna-gold-deep);}
  .luna-relcard:hover,.luna-widget > a:hover,.luna-fcard:hover{border-color:var(--luna-gold);}
  .luna-fcard:hover em{border-color:var(--luna-gold);}
  .luna-tags a:hover,.luna-chips a:hover{border-color:var(--luna-gold);color:var(--luna-ink);}
  .luna-rows a:hover span{text-decoration:underline;text-decoration-color:var(--luna-gold);text-underline-offset:3px;}
  .luna-menu nav a:hover,.luna-footer nav a:hover{color:#ffffff;}
}

/* ---------- PC（900px以上・境界はここだけ） ---------- */
@media (min-width:900px){
  .luna-header-in{max-width:none;padding:16px 44px 0;}
  .luna-menu{display:none;}
  .luna-gnav{display:block;}
  .luna-gnav ul{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0;}
  .luna-gnav a{display:inline-flex;align-items:center;min-height:44px;padding:0 13px;font-size:13.5px;letter-spacing:.12em;color:rgba(246,241,231,.86);text-decoration:none;border-bottom:1px solid transparent;}
  .luna-fv{min-height:380px;}
  .luna-fv-media{--luna-fvx:100%;}
  /* 題名ブロックは本文カラムと同じ中央軸に揃える（右の余白列＝サイドバー分） */
  .luna-fv-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,800px) minmax(300px,1fr);column-gap:44px;row-gap:13px;max-width:none;padding:100px 32px 34px;}
  .luna-fv-in > *{grid-column:2;justify-self:start;}
  .luna-bc{font-size:12px;}
  .luna-title{font-size:38px;line-height:1.45;}
  .luna-lead{font-size:15.5px;}
  /* 本文カラムをページ中央に置き、サイドバーはその右の隙間に配置 */
  .luna-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,800px) minmax(300px,1fr);column-gap:44px;align-items:start;max-width:none;padding:56px 32px 56px;}
  .luna-content{grid-column:2;}
  .luna-sidebar{grid-column:3;width:300px;max-width:100%;}
  .luna-body{font-size:16px;line-height:2;}
  .luna-body > h2{margin:56px 0 10px;font-size:26px;}
  .luna-body h3{font-size:20px;}
  .luna-toc{margin:56px 0;padding:26px 28px 16px;}
  .luna-toc a{font-size:15px;}
  .luna-sidebar{margin-top:0;gap:26px;}
  .luna-fortunes{padding:16px 32px 84px;}
  .luna-fortunes > h2{font-size:20px;margin-bottom:26px;}
  .luna-fortunes ul{grid-template-columns:repeat(3,1fr);gap:16px;}
  .luna-fcard strong{font-size:15px;}
  .luna-fcard span{font-size:11.5px;}
  .luna-guide{gap:16px;}
  .luna-guide > .wp-block-group__inner-container{gap:16px;}
  .luna-guide figure{width:88px;height:88px;}
  .luna-guide__bubble{padding:15px 20px 16px;}
  .luna-guide__bubble::before{top:30px;}
  .luna-guide__bubble::after{top:31.5px;}
  .luna-guide p{font-size:15px;}
  .luna-footer-in{padding:52px 32px 44px;}
  .luna-tabbar{display:none;}
}
/* WordPress/Gutenberg compatibility additions. TODO(OQ-7): If SWELL wraps the_content and breaks direct-child selectors, loosen .luna-body > h2 to .luna-body h2 after staging verification. */
.luna-body .wp-block-heading{max-width:none;}
.luna-body .wp-block-list{margin:1.3em 0;padding-left:1.5em;}
.luna-body .luna-callout .wp-block-list{list-style:none;margin:0;padding-left:0;}
.luna-body .wp-block-quote{box-sizing:border-box;}
.luna-body .wp-block-image{margin:2em 0;}
.luna-body .wp-element-caption{margin-top:8px;font-size:12px;letter-spacing:.06em;color:var(--luna-ink-faint);text-align:center;}
.luna-point::before{content:"";flex:none;margin-top:5px;width:26px;height:26px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.2 12.2a6 6 0 0 0-8.5-8.5L5 10.4V19h8.6Z' fill='none' stroke='%23c79a4e' stroke-width='1.3' stroke-linejoin='round'/%3E%3Cpath d='M16 8 2.5 21.5' fill='none' stroke='%23c79a4e' stroke-width='1.3' stroke-linecap='round'/%3E%3Cpath d='M17.5 15H9.2' fill='none' stroke='%23c79a4e' stroke-width='1.3' stroke-linecap='round'/%3E%3C/svg%3E");}
.luna-point > svg{display:none;}
.luna-guide > .wp-block-group__inner-container{display:flex;align-items:flex-start;gap:14px;width:100%;}
.luna-guide__bubble{position:relative;flex:1;min-width:0;padding:13px 18px 14px;background:var(--luna-paper);border:1px solid rgba(199,154,78,.45);border-radius:12px;}
.luna-guide__bubble::before{content:"";position:absolute;left:-9px;top:26px;border-style:solid;border-width:7px 9px 7px 0;border-color:transparent rgba(199,154,78,.5) transparent transparent;}
.luna-guide__bubble::after{content:"";position:absolute;left:-7px;top:27.5px;border-style:solid;border-width:5.5px 7px 5.5px 0;border-color:transparent var(--luna-paper) transparent transparent;}
.luna-guide__label{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-family:var(--luna-serif);font-size:11.5px;font-weight:600;letter-spacing:.22em;color:var(--luna-gold-deep);}
.luna-guide__label::before{content:"";width:14px;height:1px;background:var(--luna-gold);}
.luna-fv--center .luna-fv-media{--luna-fvx:50%;}
.luna-fv--center img.luna-fv-art{right:auto;left:50%;transform:translateX(-50%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);}
.luna-fv--left .luna-fv-media{--luna-fvx:0%;}
.luna-fv--left img.luna-fv-art{right:auto;left:0;-webkit-mask-image:linear-gradient(270deg,transparent 0,#000 9%);mask-image:linear-gradient(270deg,transparent 0,#000 9%);}

/* ============================================================
   収益記事：準備中アフィリCTA（必須3）＋恋の相談室戻り（必須4）
   新規クラスのみ・既存セレクタ上書きなし（加算方式）。
   ============================================================ */
.luna-affiliate-cta{margin:34px 0 6px;text-align:center;}
.luna-affiliate-cta__btn{display:inline-block;min-width:min(320px,82%);box-sizing:border-box;padding:14px 26px;border-radius:999px;border:1px solid var(--luna-gold-deep,#b07d2e);background:var(--luna-gold,#c79a4e);color:#1c1430;font-family:inherit;font-size:15px;font-weight:600;letter-spacing:.06em;line-height:1.4;text-align:center;text-decoration:none;cursor:pointer;transition:filter .16s ease;}
.luna-affiliate-cta__btn:hover{filter:brightness(1.06);}
.luna-affiliate-cta__btn:focus-visible{outline:2px solid var(--luna-gold-deep,#b07d2e);outline-offset:3px;}
.luna-affiliate-toast{position:fixed;left:50%;bottom:calc(88px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:120;max-width:86vw;padding:10px 20px;border-radius:999px;border:1px solid rgba(199,154,78,.4);background:rgba(21,15,40,.96);color:#f0ecf8;font-size:13px;letter-spacing:.06em;white-space:nowrap;box-shadow:0 10px 34px rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .2s ease;}
.luna-affiliate-toast.is-visible{opacity:1;}
@media (min-width:900px){.luna-affiliate-toast{bottom:32px;}}
.luna-soudan-back{margin:22px 0 4px;text-align:center;}
.luna-soudan-back__link{display:inline-block;padding:9px 22px;border-radius:999px;border:1px solid rgba(199,154,78,.4);color:var(--luna-gold-deep,#b07d2e);font-family:inherit;font-size:13.5px;letter-spacing:.04em;text-decoration:none;transition:background .16s ease;}
.luna-soudan-back__link:hover{background:rgba(199,154,78,.08);}
.luna-soudan-back__link:focus-visible{outline:2px solid var(--luna-gold-deep,#b07d2e);outline-offset:3px;}
