:root {
  --site-ink: #0f2b5c;
  --site-surface: #f8f9fc;
  --site-control: #eff1f4;
  --site-border: #dfe5ec;
  --site-font: 'Noto Sans SC', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Plus Jakarta Sans', sans-serif;
}

body.site-unified,
body.site-unified .font-body-md,
body.site-unified .font-body-sm,
body.site-unified .font-label-sm,
body.site-unified .font-label-md,
body.site-unified .font-label-lg,
body.site-unified .font-headline-sm,
body.site-unified .font-headline-md {
  font-family: var(--site-font);
}

body.site-unified #region-filter,
body.site-unified #type-filter {
  box-sizing: border-box;
  height: 48px;
  min-height: 48px;
  padding: 0 16px;
  border: 1px solid var(--site-border) !important;
  border-radius: 12px !important;
  background-color: var(--site-control) !important;
  color: var(--site-ink);
  font-family: var(--site-font);
  font-size: 14px !important;
  font-weight: 600;
  box-shadow: none;
  transition: background-color .2s, border-color .2s, box-shadow .2s;
}
body.site-unified #region-filter:hover,
body.site-unified #type-filter:hover { background-color: #e8edf3 !important; border-color: #a9bdd2 !important; }
body.site-unified #region-filter:focus-visible,
body.site-unified #type-filter:focus-visible {
  outline: 2px solid var(--site-ink);
  outline-offset: 2px;
  box-shadow: none;
}
body.site-unified.home-page #region-filter,
body.site-unified.home-page #type-filter { padding-right: 36px; }
body.site-unified.result-page [data-filter-label] { color: var(--site-ink); }
body.site-unified.result-page #region-filter > span,
body.site-unified.result-page #type-filter > span { color: var(--site-ink); transition: color .2s; }
body.site-unified.result-page #region-filter:hover,
body.site-unified.result-page #type-filter:hover { background-color: #fff7f2 !important; border-color: #ff4d26 !important; }
body.site-unified.result-page #region-filter:hover > span,
body.site-unified.result-page #type-filter:hover > span { color: #ff4d26; }

body.site-unified #collections-section h3,
body.site-unified #school-results article h3 {
  color: var(--site-ink);
  font-family: var(--site-font);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.45;
}

body.site-unified .school-card-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  box-sizing: border-box;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--site-ink);
  font-family: var(--site-font);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: none;
  transition: color .2s;
}
body.site-unified .school-card-action:hover {
  background: transparent;
  border-color: transparent;
  color: #df5638;
  box-shadow: none;
}
body.site-unified .school-card-action:focus-visible { outline: 2px solid var(--site-ink); outline-offset: 2px; }
body.site-unified .school-card-action .material-symbols-outlined { color: currentColor; font-size: 16px; line-height: 1; }

@media (max-width: 640px) {
  body.site-unified #collections-section h3,
  body.site-unified #school-results article h3 { font-size: 18px; line-height: 1.45; }
}
