/* ============================================================================
   @fgl/vituno buttons (Story 1.2.1).
   Census: expeal `.btn`/`.btn--primary`, lawcuments `.btn--quiet`/`.btn--small`,
   kitchenbridget bespoke button classes (consolidate at its adoption).
   Donor shape kept: `.btn` is the structural base; skins are variants.
   TOKENS ONLY (structural markers audited by test/components.test.mjs).
   ============================================================================ */

.btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: 48px; /* structural: WCAG tap-target floor */ padding-inline: var(--space-4); border: 1px solid transparent; /* structural: hairline placeholder keeps variant geometry stable */ border-radius: var(--radius-md); font-family: var(--font); font-size: var(--fs-body); font-weight: var(--fw-bold); line-height: var(--lh-h4); text-decoration: none; cursor: pointer; transition: background-color var(--dur-hover) var(--ease-out), color var(--dur-hover) var(--ease-out), border-color var(--dur-hover) var(--ease-out); }

/* Primary — the brand CTA. Interaction darkens, never tints or transforms. */
.btn--primary { background: var(--brand-primary); color: var(--surface-elevated); }
.btn--primary:hover { background: var(--brand-primary-hover); }
.btn--primary:active { background: var(--brand-primary-active); }

/* Quiet — bordered, transparent bg (lawcuments' pattern, tokenized). */
.btn--quiet { background: transparent; color: var(--brand-primary); border-color: var(--border-strong); }
.btn--quiet:hover { color: var(--brand-primary-hover); border-color: var(--brand-primary-hover); }
.btn--quiet:active { color: var(--brand-primary-active); border-color: var(--brand-primary-active); }

/* Small — compact nav-context button (lawcuments' `.btn--small`). */
.btn--small { min-height: 36px; /* structural: compact nav-context target, still above 24px minimum */ padding-inline: var(--space-3); font-size: var(--fs-caption); }
