/**
 * @file
 * Environment-accent overrides for the Gin admin theme.
 *
 * Retints Gin's primary-color chain to the current environment indicator
 * color (published as `--ama-env-color` / `--ama-env-color-rgb` by
 * ama_admin_form_page_attachments_alter()) and applies the env color to the
 * admin toolbar bar.
 *
 * The `body[data-gin-accent]` selector has specificity (0,1,1) which beats
 * both Gin's static `[data-gin-accent]` rules and the JS-injected
 * `[data-gin-accent=custom]` override (both 0,1,0). It also auto-scopes to
 * every Gin-rendered page (admin + gin_login) and no-ops on front-end
 * pages rendered by ama_one, which never carry the attribute.
 */

/* ---- Light mode ---- */
body[data-gin-accent] {
  /* Primary color triplet — feeds all rgba() derivatives in Gin. */
  --gin-color-primary-rgb: var(--ama-env-color-rgb, 70, 22, 107);

  /* Button/link hover and active states — darken by 10% / 15%. */
  --gin-color-primary-hover: color-mix(in srgb, var(--ama-env-color, #46166B), black 10%);
  --gin-color-primary-active: color-mix(in srgb, var(--ama-env-color, #46166B), black 15%);

  /* Section/table header highlight — 15% env tint on white. */
  --gin-bg-header: color-mix(in srgb, var(--ama-env-color, #46166B) 15%, white);
}

/* ---- Dark mode ----
   Lighten the env color for readability on dark surfaces and mix
   header/sticky backgrounds against black instead of white. */
.gin--dark-mode body[data-gin-accent],
body.gin--dark-mode[data-gin-accent] {
  /* Lighten the primary so it's legible on dark backgrounds. */
  --gin-color-primary-rgb: var(--ama-env-color-rgb, 70, 22, 107);
  --gin-color-primary-hover: color-mix(in srgb, var(--ama-env-color, #46166B), white 20%);
  --gin-color-primary-active: color-mix(in srgb, var(--ama-env-color, #46166B), white 30%);

  /* Subtle tint against the dark app background instead of white. */
  --gin-bg-header: color-mix(in srgb, var(--ama-env-color, #46166B) 15%, #1b1b1d);
  --gin-color-sticky-rgb: var(--ama-env-color-rgb, 70, 22, 107);
}

/* ---- Dark mode: status messages ----
   Drupal's message banners keep their light backgrounds in dark mode,
   clashing with the surrounding dark chrome. Re-skin them to match. */
.gin--dark-mode .messages,
body.gin--dark-mode .messages {
  color: #d2d3d3;
}

.gin--dark-mode .messages a,
body.gin--dark-mode .messages a {
  color: #90aef0;
}

.gin--dark-mode .messages--error,
body.gin--dark-mode .messages--error {
  background: #3d2020;
  border-color: #6b3333;
  color: #f0b0b0;
}

.gin--dark-mode .messages--warning,
body.gin--dark-mode .messages--warning {
  background: #3d3418;
  border-color: #6b5c28;
  color: #e8d185;
}

.gin--dark-mode .messages--status,
body.gin--dark-mode .messages--status {
  background: #1a3d2a;
  border-color: #2a6b44;
  color: #8bd3b1;
}

.gin--dark-mode .messages--info,
body.gin--dark-mode .messages--info {
  background: #1a2a3d;
  border-color: #2a4a6b;
  color: #8bbde0;
}

/* Admin toolbar bar + active tab highlights — only present when the toolbar
   is rendered, so safe to ship on every request. */
.toolbar .toolbar-bar {
  background-color: var(--ama-env-color);
}

.toolbar .toolbar-tab > a:hover,
.toolbar .toolbar-tab > a:focus {
  background-color: var(--ama-env-color);
}
