/**
 * お知らせ詳細（single / template-fcm-news）
 * 余白はブロック単体ではなく要素の組み合わせで制御（デザイン pages.css 準拠）
 */

body.fcm-news-single {
  background: var(--fcm-color-bg-cream);
}

/* ----- レイアウト ----- */
body.fcm-news-single .l-mainContent {
  padding-top: var(--fcm-space-lg);
  padding-bottom: var(--fcm-space-xl);
}

body.fcm-news-single .p-breadcrumb,
body.fcm-news-single .l-mainContent__inner {
  max-width: var(--fcm-content);
}

body.fcm-news-single .p-breadcrumb {
  margin-bottom: var(--fcm-space-md) !important;
}

body.fcm-news-single .fcm-newsSingle__article {
  padding-bottom: 0;
}

/* ----- 記事ヘッダー（タイトル → メタ → 本文） ----- */
body.fcm-news-single .fcm-newsSingle__header {
  margin-bottom: 0;
}

body.fcm-news-single .fcm-newsSingle__title.c-pageTitle {
  margin: 0 0 0.5rem !important;
  font-size: clamp(2.25rem, 5vw, 3.25rem) !important;
  font-weight: 700 !important;
  line-height: 1.35;
  letter-spacing: 0.02em;
}

body.fcm-news-single .fcm-newsSingle__meta {
  margin: 0 0 1.75rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--fcm-color-text-muted);
}

/* ----- 本文：ブロック既定余白をリセット ----- */
body.fcm-news-single .fcm-newsSingle__body {
  font-size: 0.9375rem;
  line-height: 1.85;
  color: var(--fcm-color-text);
}

body.fcm-news-single .fcm-newsSingle__body > * {
  margin-top: 0;
  margin-bottom: 0;
}

body.fcm-news-single .fcm-newsSingle__body > :first-child {
  margin-top: 0 !important;
}

/* 段落・リスト・引用・画像など → 同種ブロック */
body.fcm-news-single .fcm-newsSingle__body > :is(
  p,
  ul,
  ol,
  blockquote,
  figure,
  .wp-block-paragraph,
  .wp-block-list,
  .wp-block-quote,
  .wp-block-image,
  .wp-block-gallery,
  .wp-block-embed,
  .wp-block-table,
  .wp-block-buttons
) + :is(
  p,
  ul,
  ol,
  blockquote,
  figure,
  .wp-block-paragraph,
  .wp-block-list,
  .wp-block-quote,
  .wp-block-image,
  .wp-block-gallery,
  .wp-block-embed,
  .wp-block-table,
  .wp-block-buttons
) {
  margin-top: 1.25em;
}

/* 任意のブロック → 見出し2 */
body.fcm-news-single .fcm-newsSingle__body > * + :is(h2, h2.wp-block-heading) {
  margin-top: 2.25rem;
}

/* 見出し2 → 後続ブロック */
body.fcm-news-single .fcm-newsSingle__body > :is(h2, h2.wp-block-heading) + * {
  margin-top: 0.85rem;
}

body.fcm-news-single .fcm-newsSingle__body > :is(h2, h2.wp-block-heading) {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1.45;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--fcm-color-bg-mint);
  color: var(--fcm-color-text);
  background: none !important;
}

/* 任意のブロック → 見出し3 */
body.fcm-news-single .fcm-newsSingle__body > * + :is(h3, h3.wp-block-heading, h4, h4.wp-block-heading) {
  margin-top: 1.5rem;
}

/* 見出し3 → 後続ブロック */
body.fcm-news-single .fcm-newsSingle__body > :is(h3, h3.wp-block-heading, h4, h4.wp-block-heading) + * {
  margin-top: 0.5rem;
}

body.fcm-news-single .fcm-newsSingle__body > :is(h3, h3.wp-block-heading) {
  margin: 0;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--fcm-color-text);
  background: none !important;
  border: none;
  padding: 0;
}

/* 区切り線 */
body.fcm-news-single .fcm-newsSingle__body > * + :is(hr, .wp-block-separator) {
  margin-top: 2rem;
}

body.fcm-news-single .fcm-newsSingle__body > :is(hr, .wp-block-separator) + * {
  margin-top: 2rem;
}

body.fcm-news-single .fcm-newsSingle__body > :is(hr, .wp-block-separator, .wp-block-separator.c-hr) {
  border: none;
  border-top: 1px solid var(--fcm-color-border);
  max-width: none;
}

/* リスト */
body.fcm-news-single .fcm-newsSingle__body :is(ul, ol) {
  padding-left: 1.35em;
}

body.fcm-news-single .fcm-newsSingle__body li + li {
  margin-top: 0.35em;
}

/* リンク */
body.fcm-news-single .fcm-newsSingle__body a:not(.wp-block-button__link) {
  color: var(--fcm-color-primary);
}

/* SWELL 本文の余計な padding を除去 */
body.fcm-news-single .post_content,
body.fcm-news-single .entry-content {
  padding: 0 !important;
}

/* ----- 戻るボタン ----- */
body.fcm-news-single .fcm-newsSingle__back {
  margin: 2.5rem 0 0;
  padding-top: 0;
}

body.fcm-news-single .fcm-newsSingle__back .c-btn {
  background: transparent;
  border: 2px solid var(--fcm-color-primary);
  color: var(--fcm-color-primary);
}

body.fcm-news-single .fcm-newsSingle__back .c-btn:hover {
  background: var(--fcm-color-primary);
  color: #fff;
  border-color: var(--fcm-color-primary);
}
