/* AI Article Factory — フロント側の最小スタイル
   テーマ「連携テーマ」使用時はテーマ側の変数を継承します。
   単体で使う場合のフォールバックもテーマと同じ配色にしてあります。 */
.oaf-event-card,
.oaf-cta{
  --oaf-white: var(--om-white, #ffffff);
  --oaf-ink:   var(--om-ink, #141013);
  --oaf-text:  var(--om-text, #3a3238);
  --oaf-sub:   var(--om-muted, #6e6570);
  --oaf-pink:  var(--om-pink, #f2a6d1);
  --oaf-hot:   var(--om-hot, #e0479b);
  --oaf-cream: var(--om-cream, #fff6f2);
}

/* 関連イベントカード */
.oaf-event-card{
  display:block; max-width:720px; margin:2.4em 0; padding:18px 22px;
  background:var(--oaf-white);
  border:2px solid var(--oaf-ink);
  border-left:8px solid var(--oaf-pink);
  border-radius:10px;
}
.oaf-event-card__label{
  display:block; margin-bottom:8px;
  font-size:11.5px; font-weight:800; letter-spacing:.1em; color:var(--oaf-ink);
}
.oaf-event-card__title{
  display:block; font-size:1.02rem; font-weight:800; line-height:1.65;
  color:var(--oaf-ink); text-decoration:underline; text-underline-offset:3px;
}
.oaf-event-card__title:hover{ color:var(--oaf-hot); }
.oaf-event-card__note{
  display:block; margin-top:8px; font-size:.83rem; line-height:1.8; color:var(--oaf-sub);
}

/* 記事末尾のCTA（テーマ未使用時のフォールバック）
   テーマ「連携テーマ」が有効な場合、このブロックはテーマ側が描画するため出力されません。 */
.oaf-cta{
  max-width:720px; margin:2.8em 0 1em; padding:28px;
  background:var(--oaf-ink); color:#fff;
  border:3px solid var(--oaf-ink);
  border-radius:16px;
  box-shadow:7px 7px 0 var(--oaf-hot);
}
.oaf-cta__label{
  display:inline-block; margin-bottom:12px; padding:4px 13px; border-radius:99px;
  background:var(--oaf-pink); color:var(--oaf-ink);
  font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase;
}
.oaf-cta__title{
  font-size:1.28rem; font-weight:800; line-height:1.5; margin:0 0 12px; color:#fff;
}
.oaf-cta__body{ font-size:.94rem; line-height:1.9; color:rgba(255,255,255,.84); margin:0 0 22px; }
.oaf-cta__btn{
  display:inline-block; padding:15px 32px; border-radius:99px;
  background:var(--oaf-hot); color:var(--oaf-ink);
  font-weight:800; font-size:16px; text-decoration:none;
  border:3px solid #fff; box-shadow:4px 4px 0 rgba(255,255,255,.3);
}
.oaf-cta__btn:hover{ color:var(--oaf-ink); text-decoration:none; transform:translate(2px,2px); box-shadow:1px 1px 0 rgba(255,255,255,.3); }

@media (max-width:600px){
  .oaf-cta{ padding:22px 20px; box-shadow:5px 5px 0 var(--oaf-hot); }
  .oaf-cta__btn{ display:block; text-align:center; }
  .oaf-event-card{ padding:15px 18px; }
}

/* 記事末の「参考にした情報」（設定でオンにしたときだけ出力されます） */
.oaf-sources{
  max-width:720px; margin:2.4em 0 1em; padding:16px 20px;
  background:#faf8f9; border:1px solid #e6e0e4; border-radius:8px;
  font-size:.86rem; line-height:1.9;
}
.oaf-sources__title{
  margin:0 0 8px; font-weight:800; font-size:.8rem;
  letter-spacing:.06em; color:#6e6570;
}
.oaf-sources ul{ margin:0; padding-left:1.2em; }
.oaf-sources li{ list-style:disc; margin:0 0 4px; }
.oaf-sources a{ color:#3a3238; text-underline-offset:3px; }

/* 内部リンクの補強で記事末に足すカード
   （設定「置ける箇所が無かったとき」をカードにした場合のみ） */
.oaf-linkcard{
  display:block; max-width:720px; margin:2em 0; padding:14px 18px;
  background:#fff; border:1px solid #e0dade; border-left:5px solid #f2a6d1;
  border-radius:8px; text-decoration:none;
}
.oaf-linkcard__label{
  display:block; margin-bottom:4px;
  font-size:11px; font-weight:800; letter-spacing:.08em; color:#6e6570;
}
.oaf-linkcard__title{
  display:block; font-weight:700; line-height:1.7; color:#141013;
  text-decoration:underline; text-underline-offset:3px;
}
.oaf-linkcard:hover .oaf-linkcard__title{ color:#e0479b; }

/* 出典リンク（句点の後ろに置く「（参照：…）」） */
.oaf-cite{
  font-size:.86em;
}
.oaf-cite a{
  color:#6e6570;
  text-decoration:underline;
  text-underline-offset:2px;
  text-decoration-thickness:1px;
}
.oaf-cite a:hover{ color:#e0479b; }

/* 商品リンク */
.oaf-product-link{font-weight:600;}

/* よくある質問（テーマ側にスタイルが無い場合のフォールバック）
   連携テーマが .om-faq を独自に描画する場合は、そちらが優先されます。 */
.om-faq__item{margin:0 0 1.2em;}
.om-faq__q{font-size:1.05em;font-weight:700;margin:0 0 .4em;line-height:1.5;}
.om-faq__q::before{content:"Q. ";font-weight:700;}
.om-faq__a{margin:0;padding-left:1.4em;position:relative;}
.om-faq__a::before{content:"A. ";font-weight:700;position:absolute;left:0;}

/* 本文の読みやすさのフォールバック
   このプラグインが生成・整形した記事本文向けの最小限のタイポグラフィです。
   :where() で読み込むため特異性（specificity）はゼロで、テーマ側に同じ指定があれば必ずテーマが優先されます。
   （テーマが line-height を指定していない場合にだけ効き、詰まった行間を防ぎます） */
:where(.oaf-generated) p{
  line-height: 1.9;
  margin: 0 0 1.5em;
}
:where(.oaf-generated) h2,
:where(.oaf-generated) h3{
  line-height: 1.5;
}
:where(.oaf-generated) li{
  line-height: 1.9;
}
