/*
 * keni-compat.css（take566/blog#3 T31）
 * 移行記事の本文（content ブロック）に残る WordPress / 賢威由来の要素を、Atomik 上で崩さないための最小 CSS。
 * 公開側の全ページで読み込む（CcBlog\Seo\HeadInjector::onBeforeRender）。gutter の補正以外は記事ページ
 * （.page-type-cc-blog-article）の中だけに効かせる。
 * 見た目を賢威に寄せるものではない。はみ出し・回り込み崩れを防ぐことだけが目的。
 */

/*
 * Atomik の .container は padding 12px（--bs-gutter-x 1.5rem）なのに .row は margin -15px（1.875rem）で、
 * 375px 幅で 3px はみ出す（実測 scrollWidth 378。トップ・カテゴリ・タグ・フッターも同じ）。
 * 全ページで container 側を row に合わせる（この CSS は HeadInjector が公開側の全ページで読み込む）
 */
.container {
  --bs-gutter-x: 1.875rem;
}

/* 本文の画像・埋め込みは親の幅を超えない（WP は width/height 属性付きで出す） */
.page-type-cc-blog-article .container img,
.page-type-cc-blog-article .container video {
  max-width: 100%;
  height: auto;
}
.page-type-cc-blog-article .container iframe,
.page-type-cc-blog-article .container embed,
.page-type-cc-blog-article .container object {
  max-width: 100%;
}

/* 長い URL・英数字の連続で横にはみ出さない */
.page-type-cc-blog-article .container {
  overflow-wrap: anywhere;
}
.page-type-cc-blog-article .container pre {
  max-width: 100%;
  overflow-x: auto;
  white-space: pre-wrap;
}

/* 表は枠の中で横スクロール */
.page-type-cc-blog-article .container table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}

/* WP の配置クラス */
.page-type-cc-blog-article .alignleft {
  float: left;
  margin: 0.25em 1em 1em 0;
}
.page-type-cc-blog-article .alignright {
  float: right;
  margin: 0.25em 0 1em 1em;
}
.page-type-cc-blog-article .aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.page-type-cc-blog-article .alignnone {
  margin: 0.25em 0 1em;
}
.page-type-cc-blog-article .ccm-block-content::after {
  content: "";
  display: table;
  clear: both;
}

/* キャプション（[caption] → div.wp-caption。style="width:NNNpx" が付く） */
.page-type-cc-blog-article .wp-caption {
  max-width: 100% !important;
  margin-bottom: 1em;
  text-align: center;
}
.page-type-cc-blog-article .wp-caption img {
  display: block;
  margin: 0 auto;
}
.page-type-cc-blog-article .wp-caption-text,
.page-type-cc-blog-article .wp-caption .wp-caption-text {
  margin: 0.4em 0 0;
  font-size: 0.875em;
  color: #666;
}

/* スマホ幅では回り込みをやめる（狭い幅で本文が細切れにならないように） */
@media (max-width: 600px) {
  .page-type-cc-blog-article .alignleft,
  .page-type-cc-blog-article .alignright {
    float: none;
    display: block;
    margin: 0.5em auto 1em;
  }
}

/* ツイート埋め込み（widgets.js が読めないときは blockquote のまま残る） */
.page-type-cc-blog-article blockquote.twitter-tweet {
  max-width: 550px;
  margin: 1em 0;
  padding: 0.75em 1em;
  border-left: 4px solid #1d9bf0;
  background: #f7f9fa;
  overflow-wrap: anywhere;
}
.page-type-cc-blog-article twitter-widget,
.page-type-cc-blog-article .twitter-tweet-rendered {
  max-width: 100% !important;
}

/* サイト名ヘッダー（concrete/bin/set-site-chrome.php が Global Area Navigation に置く。T37） */
.cc-blog-header {
  padding-top: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: 1rem;
}
.cc-blog-header__name {
  margin: 0;
  font-size: 1.5rem;
  font-weight: bold;
}
.cc-blog-header__name a {
  color: inherit;
  text-decoration: none;
}
.cc-blog-header__desc {
  margin: 0;
  font-size: 0.875rem;
  color: #6c757d;
}
