/* Evolver shared controls. Canonical source for Astro, React and dashboard.
   Extracted from components/ui/Button.astro and styles/forms.css, not a new theme. */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 999px;
  font-family: 'Manrope', sans-serif;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  border: 1px solid transparent;
  transition: background 200ms ease, border-color 200ms ease, color 200ms ease, transform 200ms ease, box-shadow 200ms ease;
}
.btn--sm { font-size: 12px; padding: 8px 18px; }
.btn--md { font-size: 13px; padding: 12px 26px; }
.btn--lg { font-size: 15px; padding: 16px 36px; }
.btn--green { background: var(--green); color: var(--navy); }
.btn--green:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 10px 32px var(--green-line); }
.btn--ghost { color: var(--text); border-color: var(--line-2); background: transparent; }
.btn--ghost:hover:not(:disabled) { border-color: var(--green); color: var(--green); }
.btn--ghost-green { color: var(--green); border-color: var(--green-line); background: transparent; }
.btn--ghost-green:hover:not(:disabled) { background: var(--green-soft); }
.btn--danger { color: var(--danger); border-color: var(--danger-line); background: transparent; }
.btn--danger:hover:not(:disabled) { background: var(--danger-soft); border-color: var(--danger); }
.btn--text { color: var(--green); background: transparent; border-color: transparent; padding: 6px 0; letter-spacing: 0; text-decoration: underline; text-underline-offset: 4px; }
.btn--text:hover:not(:disabled) { color: var(--text); }
.btn--icon { width: 44px; height: 44px; padding: 10px; flex-shrink: 0; }
.btn:disabled { opacity: 0.5; cursor: not-allowed; }
.btn svg { flex-shrink: 0; }
.theme-toggle { color: var(--muted); border-color: var(--line-2); background: transparent; }
.theme-toggle:hover { color: var(--green); border-color: var(--green-line); }
.theme-toggle__sun { display: none; }
[data-theme='light'] .theme-toggle__sun { display: block; }
[data-theme='light'] .theme-toggle__moon { display: none; }
@media (prefers-reduced-motion: reduce) {
  .btn { transition: none; }
  .btn:hover { transform: none; }
}
