/* One page accent, selected only by the confirmed session in session-nav.js.
   Dark text and pale surfaces are shades of that accent, never extra palettes. */
html {
  --accent: #47765c;
  --accent-hover: #386e50;
  --accent-ink: #386e50;
  --accent-soft: #edf5ef;
  --accent-contrast: #fff;
  --account-button: var(--accent);
  --account-button-hover: var(--accent-hover);
}
html[data-account-theme="bronze"] {
  --accent: #bf8a60; --accent-hover: #b5825b; --accent-ink: #80502c; --accent-soft: #faf2eb; --accent-contrast: #24262a;
}
html[data-account-theme="silver"] {
  --accent: #a6b1bc; --accent-hover: #99a4af; --accent-ink: #535e6c; --accent-soft: #f0f3f6; --accent-contrast: #24262a;
}
html[data-account-theme="gold"] {
  --accent: #c6a24a; --accent-hover: #b89744; --accent-ink: #80600d; --accent-soft: #fbf6e8; --accent-contrast: #24262a;
}
html[data-account-theme="diamond"] {
  --accent: #8ec9ed; --accent-hover: #80badf; --accent-ink: #21638a; --accent-soft: #eef7fc; --accent-contrast: #24262a;
}
html[data-account-theme="purple"] {
  --accent: #c6a6ee; --accent-hover: #b795e2; --accent-ink: #683c99; --accent-soft: #f7f1fd; --accent-contrast: #24262a;
}

html.street-page[data-appearance=modern] body.grid-site.street-site .full-stop { color: var(--accent); }
html.street-page[data-appearance=modern] ::selection { background: var(--accent-soft); color: var(--accent-ink); }
html.street-page[data-appearance=modern] body.grid-site.street-site :is(input,textarea) { caret-color: var(--accent-ink); }
html.street-page[data-appearance=modern] body.grid-site.street-site :is(.eyebrow,.back-eyebrow) { color: var(--accent-ink); }
html.street-page[data-appearance=modern] body.grid-site.street-site :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 3px solid var(--accent-ink); outline-offset: 4px;
}
html.street-page[data-appearance=modern] body.grid-site.street-site :is(input[type=checkbox],input[type=radio],input[type=range],progress) {
  accent-color: var(--accent-ink);
}
html.street-page[data-appearance=modern] body.grid-site.street-site main a,
html.street-page[data-appearance=modern] body.grid-site.street-site footer a:not(.footer-brand) { color: var(--accent-ink); }
html.street-page[data-appearance=modern] body.grid-site.street-site .primary-nav a[aria-current=page] {
  color: var(--accent-ink); text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: .45rem;
}
html.street-page[data-appearance=modern] body.grid-site.street-site .page-menu nav a[aria-current=page] {
  background: var(--accent-soft); color: var(--accent-ink); box-shadow: inset 3px 0 0 var(--accent);
}
html.street-page[data-appearance=modern] body.grid-site.street-site :is(button[aria-pressed=true],button.active,.save-button[aria-pressed=true],.task-links a[aria-current=true]) {
  background: var(--accent-soft); border-color: var(--accent-ink); color: var(--accent-ink);
}
html.street-page[data-appearance=modern] body.grid-site.street-site .home-search-paths a,
html.street-page[data-appearance=modern] body.grid-site.street-site .home-actions #home-locate,
html.street-page[data-appearance=modern] body.grid-site.street-site .account-page form > button[type=submit],
html.street-page[data-appearance=modern] body.grid-site.street-site .map-search button[type=submit],
html.street-page[data-appearance=modern] body.grid-site.street-site #available-near {
  background-color: var(--accent); border-color: var(--accent); color: var(--accent-contrast);
}
html.street-page[data-appearance=modern] body.grid-site.street-site .home-search-paths a:hover,
html.street-page[data-appearance=modern] body.grid-site.street-site .home-actions #home-locate:hover,
html.street-page[data-appearance=modern] body.grid-site.street-site .account-page form > button[type=submit]:hover,
html.street-page[data-appearance=modern] body.grid-site.street-site .map-search button[type=submit]:hover,
html.street-page[data-appearance=modern] body.grid-site.street-site #available-near:hover {
  background-color: var(--accent-hover); border-color: var(--accent-hover); color: var(--accent-contrast);
}
html.street-page[data-appearance=modern] body.grid-site.street-site .home-shortcut-icon {
  background: var(--accent-soft); border-color: var(--accent); color: var(--accent-ink);
}
html.street-page[data-appearance=modern] body.grid-site.street-site .map-pin {
  background: var(--accent); color: var(--accent-contrast);
}
html.street-page[data-appearance=modern] body.grid-site.street-site .admin-design-preview {
  background: var(--accent-soft); border-color: var(--accent); color: var(--accent-ink);
}

/* System colours remain authoritative in high-contrast mode. */
@media (forced-colors: active) {
  html, html[data-account-theme] {
    --accent: Highlight; --accent-hover: Highlight; --accent-ink: LinkText;
    --accent-soft: Canvas; --accent-contrast: HighlightText;
  }
  html.street-page[data-appearance=modern] body.grid-site.street-site :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline-color: Highlight; }
  html.street-page[data-appearance=modern] body.grid-site.street-site .home-search-paths a,
  html.street-page[data-appearance=modern] body.grid-site.street-site .home-search-paths a:hover,
  html.street-page[data-appearance=modern] body.grid-site.street-site .home-actions #home-locate,
  html.street-page[data-appearance=modern] body.grid-site.street-site .home-actions #home-locate:hover,
  html.street-page[data-appearance=modern] body.grid-site.street-site .account-page form > button[type=submit],
  html.street-page[data-appearance=modern] body.grid-site.street-site .account-page form > button[type=submit]:hover,
  html.street-page[data-appearance=modern] body.grid-site.street-site .map-search button[type=submit],
  html.street-page[data-appearance=modern] body.grid-site.street-site .map-search button[type=submit]:hover,
  html.street-page[data-appearance=modern] body.grid-site.street-site #available-near,
  html.street-page[data-appearance=modern] body.grid-site.street-site #available-near:hover {
    border-color: ButtonText; background: ButtonFace; color: ButtonText;
  }
  html.street-page[data-appearance=modern] body.grid-site.street-site :is(button[aria-pressed=true],button.active,.save-button[aria-pressed=true],.task-links a[aria-current=true]) {
    border-color: Highlight; background: Highlight; color: HighlightText;
  }
}
