sp-tooltip {
  --mod-tooltip-background-color-default: var(--color-gray-800-variant);
  --mod-tooltip-content-color: var(--color-white);
  --mod-tooltip-font-size: var(--spectrum-font-size-75);
  --mod-tooltip-line-height: var(--spectrum-line-height-100);
  --mod-tooltip-spacing-inline: var(--spectrum-component-top-to-text-200);
  --mod-tooltip-spacing-block-start: var(--spectrum-component-top-to-text-75);
  --mod-tooltip-spacing-block-end: var(--spectrum-component-top-to-text-75);
  --mod-tooltip-max-inline-size: 200px;
  --mod-tooltip-border-radius: var(--spacing-75);
  font-family: var(--body-font-family);
  word-wrap: break-word;
  z-index: 10001;
}

sp-tooltip[data-preserve-line-breaks="true"] {
  white-space: pre-line;
}

sp-tooltip::part(tip) {
  background-color: var(--color-gray-800-variant);
}

/* ── Informative variant ──────────────────────────────────────────── */

sp-tooltip[variant="info"] {
  --mod-tooltip-background-color-informative: var(--color-info-accent);
}

sp-tooltip[variant="positive"] {
  --mod-tooltip-background-color-positive: var(--color-green-800);
}

sp-tooltip[variant="negative"] {
  --mod-tooltip-background-color-negative: var(--color-error-red);
}

/* ── Accessibility ────────────────────────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
  sp-tooltip {
    transition: none !important;
    animation: none !important;
  }
}

@media (prefers-contrast: high) {
  sp-tooltip {
    border: var(--spectrum-border-width-100) solid var(--color-white);
  }
}
