/* ============================================================
   CONFIDE — BASE & INTERACTIVE STATES
   Hover / focus / press behaviour for component classNames.
   Motion is subtle: opacity + color shifts, tiny lifts. No bounce.
   ============================================================ */

/* Links — always define, even before links exist on a page */
a { color: var(--text-link); text-decoration: none; }
a:hover { color: var(--text-link-hover); }

/* Focus visibility — green ring, never removed */
:where(a, button, input, textarea, select, [tabindex]):focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
  border-radius: var(--radius-sm);
}

/* Buttons */
.confide-btn:hover:not([aria-disabled="true"]) { filter: brightness(0.94); }
.confide-btn:active:not([aria-disabled="true"]) { transform: translateY(1px); }

/* Inputs */
.confide-input::placeholder { color: var(--grey-400); }
.confide-input:focus {
  border-color: var(--green-600);
  box-shadow: var(--focus-ring);
}

/* Cards that behave as links — quiet, structural; no lift/bounce.
   Serious professional-services sites use borders & rules, not motion. */
.confide-service-card:hover,
.confide-pathway-card:hover {
  border-color: var(--navy-400);
  box-shadow: var(--shadow-sm);
}
.confide-service-card:hover { border-color: var(--navy-400); }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  * { transition-duration: 0.001ms !important; animation-duration: 0.001ms !important; }
}
