/* ============ WordPress 固有上書き ============
 * 設計CSS(homepage.css / articles.css / components.css)はプロトタイプから流用しているため、
 * WP 出力(`.wp-block-*`, `.post-*`, `.entry-*`)や管理バー干渉はこのファイルで吸収する。
 */

/* 管理バー表示時のヘッダ追従 */
body.admin-bar .site-header.sticky { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar .site-header.sticky { top: 46px; }
}

/* Gutenberg 標準ブロックを本文の型と揃える */
.article-body .wp-block-image { margin: 24px 0; }
.article-body .wp-block-image img { width: 100%; height: auto; border-radius: var(--radius-card); border: 1px solid var(--border); }
.article-body .wp-block-image figcaption { margin-top: 8px; font-size: 12px; color: var(--fg-meta); text-align: center; }

.article-body .wp-block-quote {
  margin: 24px 0;
  padding: 16px 20px;
  border-left: 3px solid var(--primary);
  background: var(--bg-soft);
  color: var(--fg);
}
.article-body .wp-block-quote p { margin: 0; }
.article-body .wp-block-quote cite {
  display: block;
  margin-top: 8px;
  font-size: 12px;
  color: var(--fg-meta);
  font-style: normal;
}

.article-body .wp-block-table { margin: 24px 0; }
.article-body .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
  font-size: 14px;
}
.article-body .wp-block-table th,
.article-body .wp-block-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--border);
  text-align: left;
}
.article-body .wp-block-table thead th {
  border-bottom: 1px solid var(--border-strong);
  background: var(--bg-soft);
  font-weight: 600;
  font-size: 13px;
}

.article-body .wp-block-code {
  margin: 24px 0;
  padding: 16px;
  border-radius: var(--radius-card);
  border: 1px solid var(--border);
  background: var(--bg-soft);
  font-family: var(--font-num);
  font-size: 13px;
  overflow-x: auto;
}

.article-body .wp-block-separator {
  margin: 32px 0;
  border: 0;
  border-top: 1px solid var(--border);
}

/* ページネーション(WP post navigation) */
.post-navigation .nav-links {
  display: flex;
  gap: 12px;
  margin-top: 32px;
}

/* コメントエリア(使う場合のみ) */
.comments-area {
  max-width: 720px;
  margin: 48px auto 0;
  padding-top: 32px;
  border-top: 1px solid var(--border);
}
.comments-title { font-size: 17px; font-weight: 700; margin-bottom: 16px; }

/* アラインメント */
.alignwide { max-width: 960px; margin-left: auto; margin-right: auto; }
.alignfull { max-width: none; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }

/* スクリーンリーダーテキスト */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

/* 記事本文エントリーラッパー */
.entry-content > *:not(:last-child) { margin-bottom: 16px; }
