/* -------------------------------------------------------------
   kadenokoku.com - Performance CSS (Replace All)
   目的: 見た目は維持しつつ CLS/LCP/TBT を安定化
   対象: Cocoon 子テーマ / AdSense 自動広告 / CF7 / Shortcodes Ultimate
   注意: 既存デザインを壊さないよう low specificity(:where) を多用
--------------------------------------------------------------*/

/* =========== 0) 基本安定化 =========== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
img,svg,video,canvas,iframe{display:block;max-width:100%;height:auto}
img{image-rendering:auto}
figure{margin:0}
.wp-caption,figure.wp-caption{max-width:100%}

/* =========== 1) 画像・メディアのレイアウト確保（CLS対策） =========== */
/* ブロックエディタ埋め込み（YouTube 等）を16:9で先取り */
.wp-block-embed.is-provider-youtube .wp-block-embed__wrapper,
.wp-block-embed.is-provider-vimeo .wp-block-embed__wrapper,
.wp-block-embed.is-type-video .wp-block-embed__wrapper,
.video-container,
.embed-responsive{position:relative;overflow:hidden;width:100%}
.wp-block-embed.is-provider-youtube .wp-block-embed__wrapper::before,
.wp-block-embed.is-provider-vimeo .wp-block-embed__wrapper::before,
.wp-block-embed.is-type-video .wp-block-embed__wrapper::before,
.video-container::before,
.embed-responsive::before{content:"";display:block;padding-top:56.25%}
.wp-block-embed.is-provider-youtube .wp-block-embed__wrapper iframe,
.wp-block-embed.is-provider-vimeo .wp-block-embed__wrapper iframe,
.wp-block-embed.is-type-video .wp-block-embed__wrapper iframe,
.video-container iframe,
.embed-responsive iframe{position:absolute;inset:0;width:100%;height:100%}

/* Cocoon のサムネ/本文画像の比率保持（幅高さ属性がある場合に高さ自動）*/
img[width][height]{height:auto}

/* =========== 2) 自動広告プレースホルダの最小高（CLS大幅低減） =========== */
/* 自動広告（auto）、インフィード/フルード、Multiplex（autorelaxed） */
ins.adsbygoogle{display:block;width:100%;min-height:180px;margin:1.25rem auto}
ins.adsbygoogle[data-ad-format="fluid"]{min-height:280px}
ins.adsbygoogle[data-ad-format="autorelaxed"]{min-height:320px}
@media (min-width:768px){
  ins.adsbygoogle{min-height:250px}
  ins.adsbygoogle[data-ad-format="fluid"]{min-height:320px}
  ins.adsbygoogle[data-ad-format="autorelaxed"]{min-height:360px}
}

/* Google 広告が初期非表示時に高さ0にならないよう保険 */
ins.adsbygoogle:empty{min-height:inherit}

/* =========== 3) reCAPTCHA/フォーム周辺 =========== */
/* バッジのレイアウト影響を無くす（同ページ内で規約リンク等を明示） */
.grecaptcha-badge{visibility:hidden}

/* CF7 の検証時に急なシフトが出ないようメッセージ領域を確保 */
.wpcf7 form .wpcf7-response-output{min-height:2.5em}

/* =========== 4) サイドバー/ウィジェットの初期シフト抑制 =========== */
.sidebar .widget{min-height:1px} /* 高さ0→出現のわずかな揺れを抑制 */
.sidebar .widget img{height:auto}

/* =========== 5) テーブル・コードブロックのはみ出し保険（横スクロール） =========== */
.entry-content table{width:100%;border-collapse:collapse}
.entry-content table{overflow:auto;display:block}
.entry-content pre, .entry-content code{word-wrap:normal;white-space:pre}
.entry-content pre{overflow:auto}

/* =========== 6) Cocoon互換の細かな安定化 =========== */
/* 目次など折りたたみ系が描画直後に高さ変化しないよう余白を緩く維持 */
.toc, .toc-list, .toc-content{min-height:1px}

/* アイキャッチ/本文先頭画像のにじみ防止だけ（見た目変更なし） */
.eyecatch img, .eye-catch img{width:100%;height:auto}

/* =========== 7) Shortcodes Ultimate 安全策（影響最小化） =========== */
:where(.su-button), :where(.su-spoiler), :where(.su-note){line-height:inherit}

/* =========== 8) 省アニメ（TBT安定） =========== */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;scroll-behavior:auto !important}
}

/* =========== 9) 印刷・アクセシビリティ微調整（任意、表示には影響なし） =========== */
@media print{
  a[href]::after{content:""} /* 印刷でリンクURLを追記しない */
}
