/* Shared Roseflow CTA language: filled primaries, outlined secondary actions. */
:root {
  --cta-purple: #9582c3;
  --cta-violet: #54498b;
  --cta-pink: #dc4ff5;
  --cta-hot-pink: #f65ed8;
  --cta-coral: #f6895e;
  --cta-light: #fffaff;
}

.nav-cta,
.button.primary,
.recognition-note,
.pain-cta {
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 13px;
  background: linear-gradient(110deg, var(--cta-violet), var(--cta-pink) 58%, var(--cta-hot-pink));
  box-shadow: 0 12px 28px rgba(220, 79, 245, .24);
  color: var(--cta-light);
  font-weight: 700;
  text-decoration: none;
  transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease, color .22s ease;
}

.nav-cta:hover,
.button.primary:hover,
.recognition-note:hover,
.recognition-note:focus-visible,
.pain-cta:hover {
  border-color: rgba(255, 255, 255, .46);
  background: linear-gradient(110deg, var(--cta-purple), var(--cta-pink) 52%, var(--cta-coral));
  box-shadow: 0 16px 34px rgba(220, 79, 245, .34);
  color: #fff;
  transform: translateY(-2px);
}

.button.secondary,
.thread-trigger,
.rf-roadmap-cta {
  border: 1px solid rgba(252, 144, 228, .56);
  border-radius: 13px;
  background: transparent;
  box-shadow: none;
  color: var(--cta-light);
  font-weight: 600;
  text-decoration: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease, color .22s ease;
}

.button.secondary:hover,
.rf-roadmap-cta:hover {
  border-color: rgba(255, 255, 255, .5);
  background: linear-gradient(110deg, var(--cta-violet), var(--cta-pink) 58%, var(--cta-hot-pink));
  box-shadow: 0 14px 30px rgba(220, 79, 245, .27);
  color: #fff;
  text-shadow: none;
  transform: translateY(-2px);
}

.thread-trigger:hover {
  border-color: rgba(255, 255, 255, .5);
  background: linear-gradient(110deg, var(--cta-violet), var(--cta-pink) 58%, var(--cta-hot-pink));
  box-shadow: 0 12px 26px rgba(220, 79, 245, .25);
  color: #fff;
  transform: translateX(-50%) translateY(-2px);
}

.thread-stage.is-resolved .thread-trigger { background: transparent; }

.rf-roadmap-cta::before { display: none; }

.nav-cta:focus-visible,
.button:focus-visible,
.recognition-note:focus-visible,
.pain-cta:focus-visible,
.thread-trigger:focus-visible,
.rf-roadmap-cta:focus-visible {
  outline: 3px solid #fbe8c8;
  outline-offset: 3px;
}

body.light-theme .nav-cta,
body.light-theme .button.primary,
body.light-theme .recognition-note,
body.light-theme .pain-cta {
  border-color: rgba(84, 73, 139, .22);
  color: #fff;
}

body.light-theme .button.secondary,
body.light-theme .thread-trigger,
body.light-theme .rf-roadmap-cta {
  border-color: rgba(84, 73, 139, .48);
  background: transparent;
  box-shadow: none;
  color: #54498b;
}

body.light-theme .thread-stage.is-resolved .thread-trigger { background: transparent; }

body.light-theme .button.secondary:hover,
body.light-theme .thread-trigger:hover,
body.light-theme .rf-roadmap-cta:hover {
  border-color: transparent;
  background: linear-gradient(110deg, var(--cta-violet), var(--cta-pink) 58%, var(--cta-hot-pink));
  box-shadow: 0 14px 30px rgba(84, 73, 139, .22);
  color: #fff;
}

@media (max-width: 510px) {
  .recognition-note {
    display: inline-flex;
    margin-left: 0;
    padding: .75rem 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nav-cta,
  .button,
  .recognition-note,
  .pain-cta,
  .thread-trigger,
  .rf-roadmap-cta { transition: none; }
}
