/* =========================================================
   Mother.N タロット：カード1枚ずつの解説ページ（card-page.php）
   色・フォントは style.css の変数（--accent など）をそのまま使います
   ========================================================= */
.card-article{max-width:860px;margin:0 auto}
.card-article>*+*{margin-top:24px}

/* はじめ：カード画像＋正逆キーワード */
.cp-intro{display:grid;grid-template-columns:200px minmax(0,1fr);gap:32px;align-items:center}
.cp-img{display:block;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:10px;box-shadow:0 12px 28px #5a2e292e}
.cp-img.is-reversed{transform:rotate(180deg)}
.cp-img-intro{width:200px}
.cp-intro .card-number{margin-top:0}
.cp-intro-name{margin-top:2px;font-size:28px;letter-spacing:.08em}
.cp-badges{display:grid;gap:8px;margin:16px 0 0}
.cp-badges>div{display:flex;align-items:center;gap:12px;margin:0}
.cp-badges dt{flex-shrink:0;padding:2px 14px;border-radius:50px;background:var(--accent);color:var(--btn-ink);font-size:14px;letter-spacing:.08em;text-shadow:0 1px 2px #9a4a4266}
.cp-badges .is-rev dt{background:#a48b88}
.cp-badges dd{margin:0;font-size:17px}
.cp-lead{margin-top:18px;font-size:16px;line-height:1.95}

/* 目次 */
.cp-toc{background:var(--theme);border-color:var(--line);box-shadow:none}
.cp-toc-title{text-align:center;font-family:"Zen Antique Soft",serif;font-size:20px;letter-spacing:.3em;color:var(--deep)}
.cp-toc-title::before,.cp-toc-title::after{content:"―";margin:0 10px;color:var(--accent)}
.cp-toc ol{list-style:none;margin:12px auto 0;padding:0;max-width:520px}
.cp-toc li+li{border-top:1px dashed var(--line)}
.cp-toc a{display:flex;gap:14px;padding:8px 4px;color:var(--ink);text-decoration:none;font-size:16px}
.cp-toc a:hover{color:var(--deep)}
.cp-toc-no{font-family:"Libre Baskerville",Georgia,serif;color:var(--accent);font-size:14px;padding-top:2px}

/* 見出し */
.cp-h2{position:relative;padding:0 0 12px 0;border-bottom:2px solid var(--line);font-size:25px;letter-spacing:.06em;line-height:1.5}
.cp-h2-no{display:block;font-family:"Libre Baskerville",Georgia,serif;font-size:14px;letter-spacing:.14em;color:var(--accent);line-height:1.4}
.cp-h3{margin-top:28px;padding-left:14px;border-left:4px solid var(--accent);font-size:19px;color:var(--deep)}
.cp-text{margin-top:20px}
.cp-text p{font-size:17px;line-height:2}

/* 基本の意味：真ん中にカード */
.cp-figure{margin:26px auto 4px;text-align:center}
.cp-img-center{width:240px;margin:0 auto}
.cp-figure figcaption{margin-top:12px;color:var(--muted);font-size:14px;letter-spacing:.08em}

/* 正位置・逆位置：カード＋キーワード＋点数 */
.cp-pos{display:grid;grid-template-columns:130px minmax(0,1fr);gap:26px;align-items:center;margin-top:22px;padding:22px 24px;border-radius:18px;background:var(--theme)}
.is-rev .cp-pos{background:#f4efea}
.cp-img-pos{width:130px}
.cp-pos-label{display:inline-block;padding:2px 14px;border-radius:50px;background:var(--accent);color:var(--btn-ink);font-size:14px;letter-spacing:.1em;text-shadow:0 1px 2px #9a4a4266}
.is-rev .cp-pos-label{background:#a48b88}
.cp-pos-keyword{margin-top:8px;font-family:"Zen Antique Soft",serif;font-size:24px;letter-spacing:.06em;line-height:1.5}
.cp-pos-score{margin-top:6px;color:var(--deep);font-size:15px;letter-spacing:.08em}
.cp-pos-score strong{margin-left:6px;font-family:"Zen Antique Soft",serif;font-size:34px;font-weight:400;line-height:1}
.cp-pos-score span{margin-left:2px;color:var(--muted)}
.cp-pos .score-meter{max-width:320px;margin-top:8px}

.cp-keywords{margin-top:24px;padding:18px 22px;border:1px solid var(--line);border-radius:16px;background:#fffffd}
.cp-keywords-title{color:var(--deep);font-size:15px;letter-spacing:.1em}
.cp-keywords ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:10px 0 0;padding:0}
.cp-keywords li{padding:3px 14px;border-radius:50px;background:var(--theme);font-size:15px;line-height:1.7}
.is-rev .cp-keywords li{background:#f4efea}

.cp-topics{display:grid;gap:12px;margin:16px 0 0}
.cp-topics>div{margin:0;padding:16px 20px;border:1px solid var(--line);border-radius:16px;background:#fffffd}
.cp-topics dt{color:var(--deep);font-weight:700;font-size:16px}
.cp-topics dt::before{content:"";display:inline-block;width:7px;height:7px;background:var(--accent);transform:rotate(45deg);margin-right:10px;vertical-align:2px}
.cp-topics dd{margin:6px 0 0;font-size:16px;line-height:1.9}

/* 人物 */
.cp-person{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:6px}
.cp-person ul{margin:12px 0 0;padding-left:1.3em;font-size:16px;line-height:1.9}
.cp-person li+li{margin-top:6px}
.cp-person li::marker{color:var(--accent)}

/* アドバイス */
.cp-advice{padding:22px 26px;border-radius:18px;background:var(--theme)}

/* よくある質問 */
.cp-faq{display:grid;gap:14px;margin:20px 0 0}
.cp-faq>div{margin:0;padding:18px 22px;border:1px solid var(--line);border-radius:16px;background:#fffffd}
.cp-faq dt,.cp-faq dd{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;line-height:1.9}
.cp-faq dt{font-weight:700;font-size:16px}
.cp-faq dd{margin:10px 0 0;font-size:16px}
.cp-faq dt>span,.cp-faq dd>span{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-family:"Libre Baskerville",Georgia,serif;font-size:14px;color:var(--btn-ink);background:var(--accent)}
.cp-faq dd>span{background:#a48b88}

/* まとめ */
.cp-summary{display:grid;gap:10px;list-style:none;margin:18px 0 0;padding:0}
.cp-summary li{padding:14px 18px;border-radius:14px;background:var(--theme);font-size:16px;line-height:1.9}
.cp-summary li.is-rev{background:#f4efea}
.cp-summary strong{display:inline-block;margin-right:12px;color:var(--deep)}
.cp-summary .is-rev strong{color:#6f5659}

/* 前後のカード */
.cp-pager{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cp-pager a{display:flex;align-items:center;gap:16px;padding:16px 20px;color:var(--ink);text-decoration:none;transition:transform .2s ease}
.cp-pager a:hover{transform:translateY(-3px)}
.cp-pager-next{flex-direction:row-reverse;text-align:right}
.cp-pager-img{display:block;width:56px;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:6px;box-shadow:0 6px 14px #5a2e292e}
.cp-pager small{display:block;color:var(--deep);font-size:13px;letter-spacing:.08em}
.cp-pager span{font-family:"Zen Antique Soft",serif;font-size:20px;line-height:1.5}

/* 大アルカナ一覧 */
.cp-list{text-align:center}
.cp-list h2{font-size:25px}
.cp-list .section-lead{margin-top:6px;font-size:15px}
.cp-list-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px 12px;list-style:none;margin:24px 0 0;padding:0}
.cp-list-grid a{display:block;color:var(--ink);text-decoration:none;transition:transform .2s ease}
.cp-list-grid a:hover{transform:translateY(-4px)}
.cp-list-img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:7px;box-shadow:0 6px 14px #5a2e2926}
.cp-list-no{display:block;margin-top:8px;font-family:"Libre Baskerville",Georgia,serif;font-size:12px;color:var(--deep);line-height:1.3}
.cp-list-name{display:block;font-size:14px;line-height:1.5}
.cp-list-grid .is-current .cp-list-img{outline:3px solid var(--accent);outline-offset:3px}
.cp-list-grid .is-current .cp-list-name{color:var(--deep);font-weight:700}

/* 画面幅ごとの調整 */
@media(max-width:700px){
  .cp-intro{grid-template-columns:minmax(0,1fr);gap:20px;text-align:center}
  .cp-img-intro{width:170px;margin:0 auto}
  .cp-intro-name{font-size:24px}
  .cp-badges{justify-items:center}
  .cp-lead{text-align:left;font-size:16px}
  .cp-h2{font-size:22px}
  .cp-text p{font-size:16px}
  .cp-img-center{width:190px}
  .cp-pos{grid-template-columns:92px minmax(0,1fr);gap:16px;padding:18px 16px}
  .cp-img-pos{width:92px}
  .cp-pos-keyword{font-size:19px}
  .cp-pos-score strong{font-size:28px}
  .cp-topics>div,.cp-faq>div{padding:16px}
  .cp-person{grid-template-columns:minmax(0,1fr)}
  .cp-advice{padding:18px}
  .cp-pager{gap:10px}
  .cp-pager a{gap:10px;padding:12px}
  .cp-pager-img{width:40px}
  .cp-pager span{font-size:16px}
  .cp-list-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 8px}
  .cp-list-name{font-size:12px;letter-spacing:0}
}
@media(max-width:380px){
  .cp-list-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* 大アルカナ22枚（cards.php）：解説ページへのボタン */
.card-more{margin-top:16px}
.card-more a{display:inline-block;padding:6px 18px;border:1px solid var(--accent);border-radius:50px;background:#fffffd;color:var(--deep);font-size:15px;text-decoration:none}
.card-more a:hover{background:var(--accent);color:var(--btn-ink)}

/* =========================================================
   今日のタロット（index.php）の下の読み物（index-guide.php）
   ========================================================= */
.page>.tg-section,.page>.cp-list,.page>.tg-guide{max-width:860px;margin:24px auto 0}
.tg-section .panel-head h2{font-size:25px}
.result-more{margin-top:28px}

/* 占い方の3ステップ */
.tg-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;margin:22px 0 0;padding:0;counter-reset:none}
.tg-steps li{padding:20px 20px 22px;border-radius:18px;background:var(--theme);text-align:center}
.tg-step-no{display:inline-block;padding:1px 14px;border-radius:50px;background:var(--accent);color:var(--btn-ink);font-family:"Libre Baskerville",Georgia,serif;font-size:12px;letter-spacing:.12em;text-shadow:0 1px 2px #9a4a4266}
.tg-steps h3{margin-top:10px;font-size:18px;color:var(--deep)}
.tg-steps p{margin-top:8px;font-size:15px;line-height:1.85;text-align:left}

/* お悩み別 */
.tg-themes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none;margin:22px 0 0;padding:0}
.tg-themes a{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;height:100%;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#fffffd;color:var(--ink);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.tg-themes a:hover{transform:translateY(-2px);box-shadow:0 8px 20px #b5605420}
.tg-themes img{display:block;width:44px;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:5px;box-shadow:0 4px 10px #5a2e2926}
.tg-theme-body strong{display:block;font-size:16px;line-height:1.6;color:var(--deep)}
.tg-theme-body small{display:block;margin-top:2px;font-size:13px;line-height:1.7;color:var(--muted)}
.tg-theme-arrow{color:var(--accent);font-size:22px}
.tg-themes+.more-cta{margin-top:22px}

/* 解説記事 */
.tg-toc{margin-top:22px;padding:18px 24px}
.tg-guide-part{margin-top:34px}
.tg-guide-part .cp-h2{font-family:"Zen Antique Soft","Hiragino Mincho ProN","Yu Mincho",serif;font-weight:400}
.tg-guide-cards{display:flex;justify-content:center;gap:14px;margin-top:22px}
.tg-guide-cards img{display:block;width:110px;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:8px;box-shadow:0 8px 20px #5a2e292e}
.tg-guide-cards img:nth-child(1){transform:rotate(-5deg)}
.tg-guide-cards img:nth-child(3){transform:rotate(5deg)}
.tg-guide-pos{display:flex;justify-content:center;gap:28px;margin-top:22px}
.tg-guide-pos figure{margin:0;text-align:center}
.tg-guide-pos img{display:block;width:110px;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:8px;box-shadow:0 8px 20px #5a2e292e}
.tg-guide-pos img.is-reversed{transform:rotate(180deg)}
.tg-guide-pos figcaption{margin-top:10px;display:inline-block;padding:1px 14px;border-radius:50px;background:var(--accent);color:var(--btn-ink);font-size:13px;letter-spacing:.1em}
.tg-guide-pos figure+figure figcaption{background:#a48b88}

@media(max-width:700px){
  .tg-steps{grid-template-columns:minmax(0,1fr);gap:12px}
  .tg-steps li{padding:16px 18px}
  .tg-themes{grid-template-columns:minmax(0,1fr)}
  .tg-section .panel-head h2{font-size:22px}
  .tg-toc{padding:14px 12px}
  .tg-guide-cards img,.tg-guide-pos img{width:84px}
}

/* =========================================================
   お悩み別タロット（situations.php）の下の読み物（situations-guide.php）
   ========================================================= */
.page>.tg-section:first-of-type{margin-top:32px}
.sg-themes{display:grid;gap:16px;margin-top:22px}
.sg-theme{padding:22px 24px;border:1px solid var(--line);border-radius:18px;background:#fffffd}
.sg-theme-en{font-family:"Libre Baskerville",Georgia,serif;font-size:12px;letter-spacing:.1em;color:var(--accent)}
.sg-theme h3{margin-top:2px;font-family:"Zen Antique Soft",serif;font-weight:400;font-size:21px}
.sg-theme h3 a{color:var(--ink);text-decoration:none}
.sg-theme h3 a:hover{color:var(--deep)}
.sg-theme dl{display:grid;gap:10px;margin:12px 0 0}
.sg-theme dl>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;margin:0}
.sg-theme dt{align-self:start;padding:1px 0;border-radius:50px;background:var(--theme);color:var(--deep);font-size:13px;text-align:center;letter-spacing:.06em}
.sg-theme dd{margin:0;font-size:15px;line-height:1.9}
.sg-levels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;list-style:none;margin:14px 0 0;padding:0}
.sg-levels li{padding:8px 6px;border-radius:10px;background:var(--theme);font-size:12px;line-height:1.5;text-align:center}
.sg-levels li:nth-child(1){background:#f1ebe7}
.sg-levels li:nth-child(5){background:#fbe3df}
.sg-levels span{display:block;font-family:"Libre Baskerville",Georgia,serif;color:var(--accent);font-size:12px}
.sg-theme-go{margin-top:14px;text-align:right}
.sg-theme-go a{display:inline-block;padding:4px 16px;border:1px solid var(--accent);border-radius:50px;background:#fffffd;color:var(--deep);font-size:14px;text-decoration:none}
.sg-theme-go a:hover{background:var(--accent);color:var(--btn-ink)}
@media(max-width:700px){
  .sg-theme{padding:18px 16px}
  .sg-theme dl>div{grid-template-columns:minmax(0,1fr);gap:4px}
  .sg-theme dt{justify-self:start;padding:1px 12px}
  .sg-levels{grid-template-columns:minmax(0,1fr);gap:4px}
  .sg-levels li{display:flex;gap:10px;align-items:center;text-align:left;padding:6px 12px}
  .sg-levels span{display:inline}
  .sg-theme-go{text-align:center}
}
