/* =============================================================================
 * HIME Search — 公共パレット上書き(customer/ 配下のみ適用)
 * =============================================================================
 * 方針:
 *   - 桜色・フルール色を顧客検索画面から排除
 *   - HOKKAIDO SEARCH の公共性・中立性に準拠
 *   - 業種色は役割識別用の中立色のみ
 *   - キャラクター(さくら/みなと等)の人格化を排除
 * ============================================================================= */

:root {
  /* 公共パレット */
  --c-brand:       #1a365d;  /* 濃紺(行政色) */
  --c-brand-mid:   #2c5282;
  --c-brand-light: #4299e1;
  --c-accent:      #2563eb;  /* 主アクション青 */
  --c-bg:          #f7f8fa;
  --c-surface:     #ffffff;
  --c-ink:         #1a202c;
  --c-ink-sub:     #4a5568;
  --c-ink-faint:   #718096;
  --c-line:        #cbd5e0;
  --c-line-faint:  #e2e8f0;

  /* 役割色(中立、人名ではない) */
  --c-urgent:  #c53030;  /* 緊急 */
  --c-admin:   #2b6cb0;  /* 行政 */
  --c-medical: #2f855a;  /* 医療 */
  --c-daily:   #6b46c1;  /* 暮らし */
  --c-consult: #c05621;  /* 相談 */
  --c-culture: #2c7a7b;  /* 学び・文化 */
}

body {
  background: var(--c-bg);
  color: var(--c-ink);
}

/* ヘッダ */
header.top h1 {
  color: var(--c-brand);
}
header.top h1::before {
  content: "▸" !important;
  color: var(--c-accent);
}
header.top .tagline {
  color: var(--c-ink-faint);
}

/* 検索ヒーロー */
.search-hero {
  border-color: var(--c-brand-mid);
}
.search-hero .search-input:focus {
  outline: 2px solid var(--c-accent);
  border-color: var(--c-accent);
}

/* 主要ボタン:公共の青 */
.primary,
button.primary {
  background: var(--c-brand) !important;
  border-color: var(--c-brand) !important;
  color: white !important;
}
button.primary:hover {
  background: var(--c-brand-mid) !important;
}

/* 予約コード表示:桜色背景を公共色に */
.reservation-code {
  background: #edf2f7;
  border-color: var(--c-line);
  color: var(--c-ink);
}

/* テーブルホバー:公共の淡青 */
.result-table tbody tr:hover {
  background: #ebf4ff !important;
}

/* ファセットアクティブ:公共の青縁 */
.facet-item.active {
  background: #ebf4ff !important;
  border-left-color: var(--c-brand) !important;
}
.facet-label .clear {
  color: var(--c-brand) !important;
}

/* Use-case 6セクション横断 */
.uc-sections {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.uc-section {
  display: flex;
  gap: 6px;
  align-items: flex-start;
  padding: 4px 0;
  border-bottom: 1px solid var(--c-line-faint);
}
.uc-section:last-child { border-bottom: none; }

.uc-section-label {
  width: 110px;
  flex-shrink: 0;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.03em;
  padding: 3px 8px;
  border-radius: 2px;
  color: white;
  text-align: center;
}
.uc-section[data-section="urgent"]  .uc-section-label { background: var(--c-urgent); }
.uc-section[data-section="admin"]   .uc-section-label { background: var(--c-admin); }
.uc-section[data-section="medical"] .uc-section-label { background: var(--c-medical); }
.uc-section[data-section="daily"]   .uc-section-label { background: var(--c-daily); }
.uc-section[data-section="consult"] .uc-section-label { background: var(--c-consult); }
.uc-section[data-section="culture"] .uc-section-label { background: var(--c-culture); }

.uc-items {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  flex: 1;
}
.uc-items .use-case {
  background: white;
  border: 1px solid var(--c-line);
  color: var(--c-ink);
}
.uc-items .use-case:hover {
  background: #ebf4ff;
  border-color: var(--c-brand-mid);
  color: var(--c-brand);
}

/* 公共通知欄を引き締める */
.notices-compact {
  background: #fff5f5;
  border-color: var(--c-urgent);
  color: var(--c-ink);
}
.notices-compact strong {
  color: var(--c-urgent) !important;
}

/* フッタ:公共表記 */
footer a { color: var(--c-brand); }

/* 補助情報バー(ステータス) */
.pub-meta {
  font-size: 10.5px;
  color: var(--c-ink-faint);
  padding: 4px 0;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  border-top: 1px solid var(--c-line-faint);
  margin-top: 8px;
}
.pub-meta span::before {
  content: "✓ ";
  color: var(--c-medical);
  margin-right: 2px;
}

/* 結果行の名前リンクは公共の中性色 */
.result-table .name {
  color: var(--c-brand);
}

/* アイコン文字の色を中立化 */
.industry-icon {
  color: var(--c-ink-sub);
}
