@layer components {
    .button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.5em;
        padding: 0.85em 1.6em;
        border-radius: var(--radius-full);
        font-weight: 600;
        text-decoration: none;
        text-align: center;
        border: 1px solid transparent;
        cursor: pointer;
        transition: transform 0.2s var(--ease-out), box-shadow 0.2s var(--ease-out), opacity 0.2s var(--ease-out), background 0.2s var(--ease-out);

        &:hover {
            transform: translateY(-2px);
        }

        &:active {
            transform: translateY(0);
        }

        &[data-variant="primary"] {
            background: var(--gradient-brand-strong);
            color: var(--color-on-brand);
            box-shadow: var(--shadow-glow);

            &:hover {
                filter: brightness(1.06);
            }
        }

        &[data-variant="secondary"] {
            background: var(--color-surface);
            color: var(--color-text);
            border-color: var(--color-border);

            &:hover {
                border-color: var(--color-accent);
                color: var(--color-accent-strong);
            }
        }
    }
}
