@use 'variables' as *; // ─── Base Button ───────────────────────────────────────────────────────────── .btn { display: inline-flex; align-items: center; justify-content: center; gap: $space-2; padding: $space-2 $space-5; font-family: $font-family-base; font-size: $font-size-base; font-weight: $font-weight-medium; line-height: 1.4; border: none; border-radius: $radius-pill; cursor: pointer; text-decoration: none; transition: background-color $transition-fast, box-shadow $transition-fast, transform $transition-fast; white-space: nowrap; &:active { transform: translateY(1px); } &:focus-visible { outline: 2px solid $color-primary; outline-offset: 3px; } } // ─── Variants ──────────────────────────────────────────────────────────────── .btn-primary { background: linear-gradient(135deg, $color-accent-light, $color-accent); color: $color-white; box-shadow: $shadow-button; &:hover { background: linear-gradient(135deg, $color-accent, $color-accent-dark); box-shadow: 0 3px 12px rgba($color-accent, 0.45); } } .btn-secondary { background: transparent; color: $color-text-muted; padding-left: $space-3; padding-right: $space-3; &:hover { color: $color-text-dark; text-decoration: underline; } } .btn-ghost { background: rgba($color-white, 0.15); color: $color-white; border-radius: $radius-sm; padding: $space-1 $space-3; &:hover { background: rgba($color-white, 0.25); } }