/* ==========================================================================
   ボタン装飾の共通受け皿（D類スタイル欠落の補修・2026-07-22）

   目的:
   テーマのボタンは地色・文字色をページ別 CSS が各自で持つ構造のため、
   定義を持たないページではクラスが指定されていても装飾が一切当たらず、
   ブラウザ既定の青い下線リンク／灰色ボタンとして描画される箇所があった。
   その土台をここで一括して供給する。

   設計（すでに正しく出ている箇所を1pxも変えないための3条件）:
   1. 全セレクタを :where() で包み詳細度 0-0-0 にする。
      → 既存のページ別定義が「宣言しているプロパティ」では必ず負ける。
      → ただし既存が宣言していないプロパティにはここが当たる。
         そのため全数差分検査（実装前の注入シミュレーション）が唯一の担保。
   2. 到達スコープを div.page-content / .register-success-container に限定する。
      page.php は <article ... post_class('page-content')> を出すため、
      運営が管理画面で作成した汎用固定ページ（本文がリポジトリ外）を型で除外できる。
      ヘッダー・フッター・プラグイン配下の全画面は page-content を使っておらず非到達。
   3. 対象要素を a / button / input に限定する。
      → label（証拠ファイル添付ボタン等）は構造的に対象外。

   :hover も :where(:hover) で包む（素の :hover は 0-2-0 になり既存を後勝ちで奪う）。
   押下不可（disabled）の見た目は意図的に持たない
   （透明度を宣言していない既存の押下不可ボタンが在り、承認外の変更になるため）。
   carve-out トークン（--bb-accent-text-color / --bb-main-color）は参照しない。

   @supports で全体を包む: :where() 非対応環境では1つも適用しない（全か無か）。
   ========================================================================== */

@supports selector(:where(a)) {

  /* 基底（形） */
  :where(div.page-content, .register-success-container)
  :where(a, button, input):where(.btn, .button) {
    display: inline-block;
    padding: 12px 24px;
    border: 2px solid transparent;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1em;
    text-decoration: none;
    cursor: pointer;
    transition: all .3s ease;
  }

  /* 主ボタン */
  :where(div.page-content, .register-success-container)
  :where(a, button, input):where(.btn, .button):where(.btn-primary, .button-primary) {
    background: var(--bb-sub-color, #282800);
    color: #fff;
    border-color: var(--bb-sub-color, #282800);
  }

  /* 副ボタン */
  :where(div.page-content, .register-success-container)
  :where(a, button, input):where(.btn, .button):where(.btn-secondary, .button-secondary) {
    background: #fff;
    color: var(--bb-sub-color, #282800);
    border-color: var(--bb-sub-color, #282800);
  }

  /* 輪郭ボタン */
  :where(div.page-content, .register-success-container)
  :where(a, button, input):where(.btn, .button):where(.btn-outline) {
    background: transparent;
    color: var(--bb-sub-color, #282800);
    border-color: var(--bb-sub-color, #282800);
  }

  /* 小サイズ */
  :where(div.page-content, .register-success-container)
  :where(a, button, input):where(.btn, .button):where(.btn-sm) {
    padding: 6px 14px;
    font-size: .875em;
  }

  /* ホバーの共通規則は意図的に持たない。
     既存のページ別 CSS はホバーで地色・文字色・浮き上がり・影を宣言する一方、
     不透明度だけはどのボタンも宣言していない。そのため詳細度0でも
     「すでに正しく装飾されているボタン」に必ず当たってしまい、
     承認範囲外（本番稼働中のオリジナル・エドモンド）のホバー見た目が変わる。
     静止状態の全数採寸では原理的に検出できない差のため、規則ごと置かない。
     （runチームの原人・コードレビュ美が独立に検出・2026-07-22 削除） */

  /* --------------------------------------------------------------------
     個別対処1: 登録完了ページの「マイページに移動」
     css/pages/register-success.css の .btn が border: 2px solid transparent を
     より高い詳細度で宣言しており、載っているカードの地色も白のため、
     受け皿の副ボタン（地色 #fff）を当てても白地に透明枠＝ボタンに見えない。
     この1件のみ詳細度を持たせて枠と地色を出す。
     -------------------------------------------------------------------- */
  .register-success-container .action-buttons .btn.btn-secondary {
    background: #fff;
    color: var(--bb-sub-color, #282800);
    border: 2px solid var(--bb-sub-color, #282800);
  }

  /* --------------------------------------------------------------------
     個別対処2: 請求履歴行の「表示」
     css/pages/billing.css の .btn-outline は .support-actions 配下に
     スコープされており請求履歴行には届かない。
     .billing-actions a（0-1-1）/ .billing-actions a:hover（0-2-1）に勝つ詳細度で書く。
     -------------------------------------------------------------------- */
  .billing-actions .btn-outline {
    background: transparent;
    color: var(--bb-sub-color, #282800);
    border: 2px solid var(--bb-sub-color, #282800);
    text-decoration: none;
  }

  /* ホバー時も枠を保つ。border を書かないと、既存の
     css/pages/billing.css:267-271 の .billing-actions a:hover（0-2-1）が
     非ホバー側の個別規則（0-2-0）に勝って 1px の青枠に化け、
     枠幅が 2px→1px に減るぶんボタンがガタつく。
     border-color だけでは幅指定が残るため shorthand で上書きする。
     （2026-07-26: 請求履歴欄の再実装でCSSの行位置がずれたためコメントの行番号のみ追従。
     このルール自体・.billing-actions の依存関係は無変更） */
  .billing-actions .btn-outline:hover {
    background: var(--bb-sub-color, #282800);
    color: #fff;
    border: 2px solid var(--bb-sub-color, #282800);
    text-decoration: none;
  }

}
