/* Court AI colour system: an editorial masthead, jurisdiction context and actions. */
:root {
  --brand: #59384c;
  --brand-hover: #402738;
  --jurisdiction: #173f70;
  --action: #124e38;
  --action-hover: #0b3828;
  --action-wash: #edf4ef;
  --action-border: #8da995;
  --focus: var(--action);
}

/* Colour is paired with existing borders, underlines and selected-state markers. */
a,
button { color: var(--action); }
a:hover { color: var(--action-hover); }
button:not(:disabled):hover { color: var(--action-hover); }
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 4px;
}
.skip-link,
.skip-link:hover { color: #fff; background: var(--action); }

.brand,
.brand-name,
.brand-stop { color: var(--brand); }
.brand:hover,
.brand:hover .brand-name,
.brand:hover .brand-stop { color: var(--brand-hover); }
.brand-mark,
.brand-icon { color: var(--brand); border-color: var(--brand); }
.brand-descriptor { color: var(--muted); }
.brand { display: grid; grid-template-columns: 38px auto; align-items: center; gap: 10px; }
.brand-emblem { display: block; width: 38px; height: 38px; }
.brand-wordmark { display: block; min-width: 0; }
.header-meta .site-beta {
  display: inline-block;
  padding: 4px 7px;
  border: 1px solid #b7a1ae;
  border-radius: 2px;
  background: #f6f0f3;
  color: var(--brand);
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 1px;
}
.header-meta .header-country { color: var(--jurisdiction); font-size: 10px; letter-spacing: .7px; }

.jurisdiction-path,
.jurisdiction-path span:last-child,
.jurisdiction-path strong,
.jurisdiction-path a,
.record-path { color: var(--jurisdiction); }
.jurisdiction-path [aria-hidden='true'],
.record-path > span { color: #8a9aae; }
.jurisdiction-path a:hover { color: #0d2c52; }
.jurisdiction-path { flex-wrap: wrap; }
.jurisdiction-selector { display: flex; align-items: center; gap: 10px; margin-left: auto; color: var(--muted); font-size: 11px; line-height: 1.5; }
.jurisdiction-selector select { max-width: 340px; min-height: 37px; padding: 8px 28px 8px 11px; border: 1px solid #aebdce; border-radius: 2px; background: var(--paper); color: var(--jurisdiction); font-size: 12px; }
.jurisdiction-selector select:hover { border-color: var(--jurisdiction); }

.header-nav button,
.rail-title button,
.clear-filters,
.rail-tabs button,
.quiet-button,
.text-button,
.record-title button,
button.record-title,
.source-link,
.source-health a,
.detail-tabs button,
.detail-topics button.topic-tag,
.comparison-instrument,
.comparison-court-links button,
.comparison-refs button,
.comparison-refs a,
.date-filters summary,
.comparison-scope summary,
.layout-controls button,
.bookmark-button,
.dialog-close { color: var(--action); }

.header-nav button:hover,
.quiet-button:hover,
.text-button:hover,
.record-title button:hover,
button.record-title:hover,
.detail-topics button.topic-tag:hover,
.comparison-court-links button:hover,
.comparison-refs button:hover,
.comparison-refs a:hover,
.bookmark-button:hover { color: var(--action-hover); }

.header-nav button.active,
.detail-tabs button.selected,
.detail-tabs button[aria-selected='true'] { color: var(--action-hover); font-weight: 600; }
.header-nav button.active::after,
.detail-tabs button.selected::after,
.detail-tabs button[aria-selected='true']::after { background: var(--action); }

.rail-tabs button:hover { background: var(--action-wash); }
.rail-tabs button.active {
  background: var(--action-wash);
  color: var(--action-hover);
  box-shadow: inset 2px 0 0 var(--action);
}
.rail-tabs button.active span:last-child { color: var(--action-hover); }
.rail-tabs button span:last-child { color: var(--muted); }
.record-title button,
button.record-title {
  text-decoration: underline;
  text-decoration-color: #bdd0c5;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
.record-title button:hover,
button.record-title:hover { text-decoration-color: currentColor; }
.comparison-refs button,
.comparison-refs a { text-decoration-color: #90b1a0; }
.comparison-refs button:hover,
.comparison-refs a:hover { text-decoration-color: currentColor; }

.search-field:focus-within { outline-color: var(--action); border-color: var(--action); }
.layout-controls button.active,
.layout-controls button[aria-pressed='true'] { color: var(--action-hover); background: var(--action-wash); }
.bookmark-button.active,
.bookmark-button.saved,
.bookmark-button[aria-pressed='true'] { color: var(--action-hover); }
.bookmark-button[aria-pressed='true'] svg { fill: #d6e7dc; }
.filter-group input[type='checkbox'],
.rail-group input[type='checkbox'],
.compare-court-choice input,
.compare-toggle input { accent-color: var(--action); }

.court-entry h2,
.court-entry h3,
.court-entry > svg,
.court-entry .court-record-count,
.related-record strong,
.register-stat strong,
.compare-prompt strong,
.compare-prompt > svg { color: var(--action); }
.court-entry:hover { border-color: var(--action-border); background: #f6f9f6; }
.court-entry:hover h2,
.court-entry:hover h3,
.related-record:hover strong { color: var(--action-hover); text-decoration: underline; text-underline-offset: 3px; }
.compare-court-choice { color: var(--action); }
.compare-court-choice:hover { border-color: var(--action-border); color: var(--action-hover); }
.compare-court-choice:has(input:checked) { border-color: var(--action); background: var(--action-wash); color: var(--action-hover); }
.compare-court-choice input:checked + span { color: var(--action-hover); }
.compare-court-choice:has(input:disabled) { color: var(--muted); border-color: var(--line); background: var(--paper); }
.detail-actions a:first-child { color: #fff; border-color: var(--action); background: var(--action); }
.detail-actions a:first-child:hover { color: #fff; background: var(--action-hover); border-color: var(--action-hover); }

/* Editorial catchwords are plain text, distinct from green interactive controls. */
.case-catchwords {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 3px 0;
  margin: 0 0 11px;
  padding: 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.65;
  list-style: none;
}
.case-catchword { display: inline; }
.case-catchword + .case-catchword::before { content: ' · '; color: var(--faint); padding: 0 6px; }
.detail-main .case-catchwords { margin-bottom: 25px; font-size: 13px; }
.detail-main .case-catchword { margin: 0; padding: 0; font-size: inherit; line-height: inherit; }

@media (max-width: 700px) {
  .jurisdiction-selector { flex-basis: 100%; display: block; margin: 6px 0 0; }
  .jurisdiction-selector select { display: block; width: 100%; max-width: none; margin-top: 6px; }
}
@media (max-width: 440px) {
  .site-header { column-gap: 12px; }
  .brand { grid-template-columns: 32px auto; gap: 9px; }
  .brand-emblem { width: 32px; height: 32px; }
  .brand-descriptor { font-size: 8px; letter-spacing: .9px; }
  .header-meta { display: flex; margin-left: auto; }
  .header-meta .site-beta { font-size: 9px; padding: 4px 6px; }
  .header-meta .header-country { display: none; }
}

@media print {
  a, button, .brand-name, .brand-stop, .jurisdiction-path, .jurisdiction-path strong,
  .record-path, button.record-title, .record-title button, .case-catchwords { color: #000; }
}
