/* SnipAlt — shared interaction & hover standards (single source of truth)
   Linked on every page so hover/focus behaviour stays consistent site-wide. */

a { cursor: pointer; }

header nav a, footer a, .btn-green, .btn-ghost, .btn-amber, button, summary, .cta,
.card, .post, .note, .short, details {
  transition: color .16s ease, border-color .16s ease, background-color .16s ease,
              box-shadow .16s ease, transform .16s ease, filter .16s ease;
}

/* Keyboard focus visibility (WCAG 2.4.7 — visible focus indicator) */
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible {
  outline: 2px solid #E8B83B;
  outline-offset: 3px;
  border-radius: 4px;
}

/* Nav + footer links: consistent amber hover on every page */
header nav a:hover { color: #E8B83B !important; }
footer a:hover { color: #E8B83B !important; }

/* Cards: lift + amber border (class-based, used across pages) */
.card:hover, .post:hover, .note:hover, .short:hover {
  border-color: #E8B83B !important;
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.35);
}

/* Chips / pills (inline #181818 → browser-normalized rgb(24, 24, 24)) */
[style*="rgb(24, 24, 24)"]:hover {
  border-color: #E8B83B !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.45);
}

/* FAQ disclosure rows */
details:hover { border-color: #E8B83B !important; }

/* Buttons — colour-appropriate hover.
   Inline hex is serialized by the browser to rgb(), so selectors match rgb(). */
a[style*="background: rgb(67, 217, 139)"] { display: inline-block; }
a[style*="background: rgb(67, 217, 139)"]:hover,
.btn-green:hover {
  filter: brightness(1.08);
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(67, 217, 139, 0.40);
}
a[style*="background: rgb(232, 184, 59)"]:hover,
.btn-amber:hover {
  filter: brightness(1.08);
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(232, 184, 59, 0.42);
}
a[style*="1px solid rgb(51, 51, 51)"]:hover,
.btn-ghost:hover {
  border-color: #E8B83B !important;
  color: #E8B83B !important;
  background: rgba(232, 184, 59, 0.10) !important;
  transform: translateY(-2px);
}

/* Billing toggle + generic buttons */
.bt:hover, button:hover { filter: brightness(1.08); }

/* Respect users who prefer reduced motion (accessibility standard) */
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; }
  .card:hover, .post:hover, .note:hover, .short:hover,
  [style*="rgb(24, 24, 24)"]:hover,
  a[style*="background: rgb(67, 217, 139)"]:hover,
  a[style*="background: rgb(232, 184, 59)"]:hover,
  a[style*="1px solid rgb(51, 51, 51)"]:hover,
  .btn-green:hover, .btn-amber:hover, .btn-ghost:hover {
    transform: none !important;
  }
}
