/* ============================================================
   base-reset.css — 全ページ共通の最小リセット＋外部CSS干渉ガード
   役割:
     A) 装飾なしの最小リセット（box-sizing / body margin / img）
     B) 親GeneratePress本体やプラグイン(VK Blocks等)が body 直下に
        出す .page{padding:...} 等の外部CSSで、ヘッダー/フッターが
        崩れる・上に空白が出る・ナビが2列に折り返す——を無害化。
   色・装飾は持たない。変数は tokens.css。
   ============================================================ */

/* A) 最小リセット */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; }
img { max-width: 100%; height: auto; }

/* ============================================================
   B) 外部CSS干渉ガード
   ------------------------------------------------------------
   ※ ヘッダー/フッターのスコープclassは2系統に両対応:
      ・このベース標準 chrome.css …… .site-header / .site-footer / .site-nav
      ・各サイト独自ヘッダー例 ……… header.site-chrome / footer.site-chrome
                                  / .util(上部バー) / nav.main(ナビ)
      別のclass名で貼る場合は、下のセレクタにその名前を足してください。
   ============================================================ */

/* B-1) ヘッダ/ナビの上に出る空白対策：
        body（.page 等）に外部が付ける上下パディングを打ち消す */
body.page,
body.wp-singular,
body.blog,
body.archive,
body.search,
body.error404,
body.home { padding-top: 0 !important; padding-bottom: 0 !important; }

/* B-2) ヘッダー/フッター/上部バーは常にフル幅。
        外部のコンテナ幅・float・サイドバー指定に縛られない */
.util,
.site-header, header.site-chrome,
.site-footer, footer.site-chrome { width: 100% !important; max-width: none !important; float: none !important; clear: both; }

/* B-3) グローバルナビが縮んで文字が2列に折り返すのを防ぐ
        （外部CSSで header の flex が圧縮されても1行を維持） */
.site-nav, header.site-chrome nav.main { flex-wrap: nowrap; flex-shrink: 0; }
.site-nav a, header.site-chrome nav.main a { white-space: nowrap; flex-shrink: 0; }

/* B-4) 素の <header>/<footer>（body直下・class無し）のサイト用ガード（handcarelab系）
        ※ body直下に限定するので、記事の <article><header class="entry-header"> には当たらない */
body > .util,
body > header,
body > footer { width: 100% !important; max-width: none !important; float: none !important; clear: both; }
body > header nav.main { flex-wrap: nowrap; flex-shrink: 0; }
body > header nav.main a { white-space: nowrap; flex-shrink: 0; }
