/* GovBase デザインDNA トークン（docs/design_dna.md 準拠・全ページ共通読込）
   色はここで定義した変数以外を使わない。ミントグリーン系は廃止。 */
:root {
  /* 色 */
  --ink: #1a1a1a;         /* 墨: 本文・見出し */
  --ink-2: #595959;       /* 墨の淡: 注記・補助ラベル */
  --paper: #fbfaf7;       /* 紙白: 背景(僅かに暖色) */
  --paper-2: #f4f2ec;     /* 紙の淡影: 表ヘッダ帯・ゼブラ */
  --rule: #d8d4cb;        /* 罫線グレー(hairline) */
  --rule-strong: #8c887f; /* 太罫: 表頭下・セクション区切り */
  --accent: #1e3a5f;      /* 紺: リンク・強調 */
  --mark: #b3261a;        /* 朱: アラート/プレミアム表示のみ・面積を絞る */

  /* タイポグラフィ */
  --font-serif: "Noto Serif JP", "Yu Mincho", "YuMincho", serif;
  --font-sans: "Noto Sans JP", "Yu Gothic", "YuGothic", system-ui, sans-serif;

  /* タイプスケール(本文15px未満禁止: design_dna.md。密度は罫線で作る、縮小で作らない)
     font-size はこの階梯以外の直値を書かない(色トークンと同じ規律) */
  --fs-caption: 12px;  /* 注記のみ・使用は最小限 */
  --fs-small: 13px;    /* ラベル・メタ情報のみ */
  --fs-body: 15px;     /* 本文・表・フォームの基準 */
  --fs-lg: 16px;       /* 行リストの件名・リード文 */
  --fs-h3: 18px;       /* h3(ゴシックbold) */
  --fs-stat: 21px;     /* 数表の主役数字 */
  --fs-h2: 21px;       /* h2(明朝bold紺) */
  --fs-h1: 30px;       /* h1(明朝bold) */
  --fs-masthead: 40px; /* 題字ロゴタイプ */

  /* 認証・登録チップのカテゴリ淡地色(彩度を抑えた和色)+同系罫線。文字は常に墨 */
  --cat-env: #eef2ec;       /* 環境系=深緑の淡色 */
  --cat-env-line: #a9b8a3;
  --cat-labor: #f5ebea;     /* 労働・両立系=臙脂の淡色 */
  --cat-labor-line: #c9a5a0;
  --cat-info: #eaeef4;      /* 情報・認定系=紺の淡色 */
  --cat-info-line: #a3b1c6;
  --cat-tax: #f1ede6;       /* 税務・資格系=灰茶の淡色 */
  --cat-tax-line: #bfb39f;
}

/* タイプスケールのグローバル既定(ページ個別指定に頼らない) */
body {
  font-size: var(--fs-body);
  line-height: 1.7;
}
table, input, select, textarea, button {
  font-size: var(--fs-body);
}

/* 数字: 金額・件数は tabular-nums + 右揃え + 3桁区切り(表示側で徹底) */
.num {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}

/* 見出し(明朝)の基本語彙。色は h1/h2/h3 のグローバル既定(base.html)に委ねる */
.dna-heading {
  font-family: var(--font-serif);
  font-weight: 600;
  letter-spacing: .02em;
}

/* 罫線区切りの基本語彙(影・カード浮きの代替) */
.dna-rule-top { border-top: 1px solid var(--rule); }
.dna-rule-bottom { border-bottom: 1px solid var(--rule); }
.dna-rule-strong-bottom { border-bottom: 2px solid var(--rule-strong); }

/* 共通UI語彙(検索/一覧系で共用) */
.btn-dna { display: inline-block; background: var(--accent); color: var(--paper); border: 1px solid var(--accent);
           border-radius: 2px; font-size: var(--fs-small); padding: 8px 20px; cursor: pointer; text-decoration: none; }
.btn-dna:hover { color: var(--paper); opacity: .9; text-decoration: none; }
.filter-chip { display: inline-block; background: var(--paper); border: 1px solid var(--rule-strong);
               border-radius: 2px; font-size: var(--fs-small); color: var(--ink); padding: 1px 10px; }
/* 一覧: 罫線区切りの行リスト(新聞の相場表) */
.result-row { display: flex; justify-content: space-between; align-items: flex-start;
              padding: 11px 2px; border-bottom: 1px solid var(--rule); color: var(--ink); text-decoration: none; }
.result-row:hover { background: var(--paper-2); text-decoration: none; color: var(--ink); }
.result-row .ttl { font-size:var(--fs-lg); font-weight: 500; color: var(--accent); }
.result-row .meta { font-size: var(--fs-small); color: var(--ink-2); }
.result-price { font-weight: 700; text-align: right; white-space: nowrap;
                font-variant-numeric: tabular-nums; }
.pg-btn, a.pg-btn { padding: 7px 14px; border: 1px solid var(--rule); border-radius: 2px;
          font-size: var(--fs-small); background: var(--paper); color: var(--ink); text-decoration: none; }
.pg-btn.current { background: var(--accent); border-color: var(--accent); color: var(--paper); font-weight: 500; }
.pg-btn.disabled { color: var(--rule-strong); }
