/* RenewalKit — cross-cutting polish shared by every page.
   Layers on top of each template's inline styles; only adds, never overrides. */

/* Branded text selection */
::selection { background: rgba(249, 115, 22, 0.30); color: #fff; }

/* Keyboard focus ring on every interactive element.
   Mouse clicks don't trigger :focus-visible, so this stays invisible until you Tab. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid #f97316;
  outline-offset: 2px;
  border-radius: 6px;
  box-shadow: 0 0 0 4px rgba(249, 115, 22, 0.18);
}
/* Inputs/selects already paint their own focus ring — let theirs win to avoid a double ring. */
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.18);
}

/* Themed thin scrollbars to match the dark UI */
* {
  scrollbar-width: thin;
  scrollbar-color: #2a2a2e transparent;
}
::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: #2a2a2e;
  border-radius: 8px;
  border: 2px solid transparent;
  background-clip: padding-box;
}
::-webkit-scrollbar-thumb:hover { background: #3a3a40; background-clip: padding-box; }

/* Respect reduced-motion preferences */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  body { opacity: 1 !important; }
}
