/* Только переменные --emax-* из @emax/design-system (CLAUDE.md). Свои цвета не задаём. */
body {
  margin: 0;
  background: var(--emax-bg);
  color: var(--emax-text);
  font-family: var(--emax-font-body);
}
a { color: inherit; }
.site-header, .page, .site-footer { max-width: 1100px; margin: 0 auto; padding: 16px; }
.site-header { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.logo { font-family: var(--emax-font-display); font-weight: 700; text-decoration: none; }
.rubrics { display: flex; flex-wrap: wrap; gap: 12px; }
.rubrics a { text-decoration: none; }
.theme-toggle { margin-left: auto; background: none; border: 1px solid currentColor; border-radius: var(--emax-radius-button); color: inherit; }
.top-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.rates-block { background: var(--emax-surface); border-radius: var(--emax-radius-card); padding: 16px; margin: 16px 0; }
.rates-block h2 { margin: 0 0 8px; font-family: var(--emax-font-display); font-size: 1rem; }
.rates-list { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0; padding: 0; list-style: none; }
.rates-list a { text-decoration: none; white-space: nowrap; }
.rates-list strong { font-family: var(--emax-font-display); }
.rates-source { margin: 8px 0 0; color: var(--emax-muted); font-size: 0.8rem; }
.rates-source a { color: var(--emax-teal); }
.card { background: var(--emax-surface); border-radius: var(--emax-radius-card); padding: 16px; margin-bottom: 12px; }
.card-rubric { color: var(--emax-teal); font-size: 0.8rem; text-transform: uppercase; text-decoration: none; }
.card-title { font-family: var(--emax-font-display); margin: 6px 0; }
.card-title a { text-decoration: none; }
.card-meta, .card-lead { color: var(--emax-muted); }
.article { max-width: 720px; }
.article-lead { font-size: 1.15rem; }
.registry-label { color: var(--emax-muted); font-style: normal; }
.pager { margin: 24px 0; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.breadcrumbs { color: var(--emax-muted); font-size: 0.9rem; }
.site-footer { border-top: 1px solid var(--emax-border); color: var(--emax-muted); font-size: 0.9rem; }
.footer-links { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-bottom: 8px; }
.age-mark { border: 1px solid currentColor; border-radius: var(--emax-radius-input); padding: 0 4px; }
.cookie-banner { position: fixed; left: 16px; right: 16px; bottom: 16px; max-width: 640px; margin: 0 auto; padding: 16px;
  background: var(--emax-surface); color: var(--emax-text); border: 1px solid var(--emax-border); border-radius: var(--emax-radius-card); }
.cookie-banner button { margin: 8px 8px 0 0; padding: 8px 14px; border-radius: var(--emax-radius-button); border: 1px solid var(--emax-teal); }
.cookie-banner [data-cookie-accept] { background: var(--emax-teal); color: var(--emax-on-accent); }
.cookie-banner [data-cookie-decline] { background: transparent; color: var(--emax-text); }
.legal { max-width: 760px; }
.legal h2 { font-family: var(--emax-font-display); margin-top: 2em; }
